Ported dataprotol to 0.9.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-07-05  Wim Taymans  <wim@fluendo.com>
2
3         * configure.ac:
4         * libs/gst/dataprotocol/Makefile.am:
5         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
6         * libs/gst/dataprotocol/dataprotocol.h:
7         * pkgconfig/Makefile.am:
8         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
9         * pkgconfig/gstreamer-dataprotocol.pc.in:
10         Ported dataprotol to 0.9. 
11         Added pkgconfig files.
12
13 2005-07-05  Andy Wingo  <wingo@pobox.com>
14
15         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
16         Default to returning TRUE for the case when tranform_caps returns
17         a fixed caps, like for identity or volume.
18
19         * check/gst/gstbus.c (pound_bus_with_messages): 
20         * check/gst/gstmessage.c (START_TEST): 
21         * check/pipelines/simple_launch_lines.c (got_handoff): Application
22         message API change.
23
24         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
25         logic weaks here: always run transform_caps, trying passthrough
26         operation only if the original caps intersects with the transform.
27
28         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
29         source and sink caps.
30
31         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
32         Intersect the peer caps with the pad template before going into
33         transform_caps.
34         (gst_base_transform_transform_caps): More debugging.
35
36         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
37         src argument.
38
39 2005-07-04  Edward Hervey  <edward@fluendo.com>
40
41         * gst/gstutils.c:
42         * gst/gstutils.h:
43         (gst_pad_add_*_probe): now returns the signal id for better wrapping
44         in bindings.
45
46 2005-07-04  Andy Wingo  <wingo@pobox.com>
47
48         * check/gst/gstpad.c: Only set explicit caps on pads.
49
50 2005-07-01  Andy Wingo  <wingo@pobox.com>
51
52         * tests/network-clock.scm: Commentary update.
53
54         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
55         Didn't really make sense, not implementable with basetransform,
56         etc.
57         (gst_identity_transform): Unref inbuf via make_writable. Feeble
58         attempt at implementing the sync property, needs an unlock method.
59
60         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
61         New func, by default returns the same caps (the identity
62         transformation).
63         (gst_base_transform_getcaps): Uses transform_caps to return
64         something sensible.
65         (gst_base_transform_setcaps): Complicated logic to get caps on
66         both pads, even if they are different, and to call set_caps once
67         for every time both pads get their caps set.
68         (gst_base_transform_handle_buffer): Give the ref to the transform
69         function. Allows in-place modification of the buffer.
70
71         * gst/base/gstbasetransform.h (transform_caps): New class method.
72         Given caps on one side, what can I do on the other.
73         (set_caps): Take two caps, one for each side of the element.
74
75         * gst/gstpad.h:
76         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
77         caps in place. This is safe because we can check the mutability of
78         the caps, and a good idea because fixate functions are just called
79         as a matter of last resort. (Not actually implemented.)
80         (gst_pad_set_caps): If the caps we're setting is actually the same
81         as the existing pad caps, just update the pointer without calling
82         setcaps. Assert that caps is either NULL or fixed, as per the
83         docs.
84
85         * gst/gstghostpad.c: Update for fixate changes.
86
87 2005-07-02  Andy Wingo  <wingo@pobox.com>
88
89         * gst/gstcaps.c:
90         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
91         two refcounts makes it immutable, which is enough. Doc more.
92
93 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
94
95         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
96           Put the mini_object into GValue as a mini_object,
97           not a gpointer, since that's how we declared
98           the signal.
99
100 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
101
102         * examples/pwg/Makefile.am:
103           Fix buildbot again.
104
105 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
106
107         * docs/pwg/building-testapp.xml:
108           Add extra check.
109         * examples/pwg/Makefile.am:
110           Fix buildbot.
111
112 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
113
114         * configure.ac:
115         * examples/Makefile.am:
116         * examples/pwg/Makefile.am:
117         * examples/pwg/extract.pl:
118           Enable building the PWG examples.
119         * docs/pwg/advanced-interfaces.xml:
120           Add URI interface stub.
121         * docs/pwg/advanced-types.xml:
122         * docs/pwg/other-autoplugger.xml:
123         * docs/pwg/appendix-porting.xml:
124         * docs/pwg/pwg.xml:
125           Add porting guide (mostly stubs), remove autoplugging (see ADM).
126         * docs/pwg/building-boiler.xml:
127         * docs/pwg/building-chainfn.xml:
128         * docs/pwg/building-pads.xml:
129         * docs/pwg/building-props.xml:
130         * docs/pwg/building-state.xml:
131         * docs/pwg/building-testapp.xml:
132           Update the building-*.xml parts for 0.9 changes. All examples
133           code blocks compile in examples/pwg/*.
134
135 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
136
137         * docs/manual/advanced-autoplugging.xml:
138         * docs/manual/appendix-checklist.xml:
139         * docs/manual/appendix-integration.xml:
140         * docs/manual/highlevel-components.xml:
141           Fix playbin/decodebin examples, update docs a bit, mention bus
142           instead of signals in various places, mention kmplayer and
143           kaffeine since they have a working GStreamer backend in the KDE
144           section.
145
146 2005-06-30  Wim Taymans  <wim@fluendo.com>
147
148         * CHANGES-0.9:
149         * docs/design/draft-ghostpads.txt:
150         * docs/design/draft-push-pull.txt:
151         * docs/design/draft-query.txt:
152         * docs/design/part-TODO.txt:
153         * docs/design/part-query.txt:
154         Added CHANGES-0.9 doc, updated status of other docs.
155         
156         * gst/gstquery.h:
157         Remove "hmm" macro
158
159 2005-06-30  Wim Taymans  <wim@fluendo.com>
160
161         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
162         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
163         (gst_base_sink_change_state):
164         * gst/base/gstbasesink.h:
165         Some tweaks, only EOS and a buffer complete a preroll.
166
167 2005-06-30  Andy Wingo  <wingo@pobox.com>
168
169         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
170         activate_push down to the internal pad as well.
171
172 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
173
174         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
175
176         * gst/gsttaginterface.c:
177           Some documentation fixes (#307394 and #307397).
178
179 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
180
181         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
182
183         * gst/gstvalue.c: (gst_value_intersect_list):
184           Fix memleak (#309125).
185
186 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
187
188         * docs/manual/advanced-dataaccess.xml:
189           Fix fakesrc example to compile; doesn't work, bug somewhere...?
190         * docs/manual/basics-pads.xml:
191           Add reference for filtered caps to above chapter.
192
193 2005-06-30  Wim Taymans  <wim@fluendo.com>
194
195         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
196         (gst_bin_change_state):
197         Probes are gone.
198         Lame attempt at making the state change function a bit
199         more readable.
200
201 2005-06-30  Wim Taymans  <wim@fluendo.com>
202
203         * docs/design/part-clocks.txt:
204         * docs/design/part-element-sink.txt:
205         * docs/design/part-events.txt:
206         * docs/design/part-preroll.txt:
207         * docs/design/part-states.txt:
208         Some more tweeks and additions to the docs.
209
210 2005-06-30  Wim Taymans  <wim@fluendo.com>
211
212         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
213         (default_have_data), (gst_pad_class_init), (gst_pad_init),
214         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
215         (gst_pad_check_pull_range), (gst_pad_get_range),
216         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
217         * gst/gstpad.h:
218         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
219         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
220         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
221         (gst_pad_remove_buffer_probe):
222         Removed atomic operations, use existing LOCK.
223         Move exception handling out of main code path.
224
225 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
226
227         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
228         (silly_return_true_function), (gst_pad_class_init),
229         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
230         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
231         (gst_pad_send_event):
232           Fix accumulator, add default value by using _emitv() instead
233           of _emit() for signal emission.
234
235 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
236
237         * docs/manual/advanced-dataaccess.xml:
238         * examples/manual/Makefile.am:
239           Add probe example.
240         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
241           Make work (??).
242
243 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
244
245         * gst/elements/gstfilesink.c: (gst_filesink_render):
246           Simplify code so that we don't have to handle short
247           writes and return GST_FLOW_ERROR if an error occured.
248
249 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
250
251         * docs/gst/gstreamer-docs.sgml:
252           Remove probes more.
253
254 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
255
256         * docs/gst/gstreamer-sections.txt:
257         * docs/gst/tmpl/gstpad.sgml:
258         * docs/gst/tmpl/gstprobe.sgml:
259         * gst/Makefile.am:
260         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
261         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
262         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
263         (gst_pad_push_event), (gst_pad_send_event):
264         * gst/gstpad.h:
265         * gst/gstutils.c: (gst_pad_add_data_probe),
266         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
267         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
268         (gst_pad_remove_buffer_probe):
269         * gst/gstutils.h:
270           Remove old probes, add new g-signal-based probes and some utility
271           functions.
272
273 2005-06-29  Edward Hervey  <edward@fluendo.com>
274
275         * gst/gstelementfactory.c:
276         * gst/gstutils.h:
277         * gst/gstutils.c:
278         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
279         the definition to the header file.
280
281 2005-06-29  Andy Wingo  <wingo@pobox.com>
282
283         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
284         plugins from the source directory.
285
286 2005-06-29  Wim Taymans  <wim@fluendo.com>
287
288         * docs/gst/tmpl/gstbuffer.sgml:
289         * docs/gst/tmpl/gstclock.sgml:
290         Some fixings for blantently wrong text.
291
292 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
293
294         * check/Makefile.am:
295         * gst/gst.c: (add_path_func), (init_pre):
296         * gst/gstregistry.c: (gst_registry_add_path):
297           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
298           only scan the GST_PLUGIN_PATH locations, and not add
299           system locations
300
301 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
302
303         * docs/gst/gstreamer-sections.txt:
304         * docs/gst/tmpl/gstbasesrc.sgml:
305         * gst/gstelement.c:
306         * gst/gstelement.h:
307         * gst/gstevent.c:
308         * gst/gstutils.c:
309           doc fixes
310
311 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
312
313         * docs/manual/advanced-autoplugging.xml:
314           Fix autoplugging example.
315
316 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
317
318         * docs/manual/advanced-autoplugging.xml:
319         * docs/manual/mime-world.fig:
320           Try to get autoplugging working, fix type detection. Fix text
321           in hello-world image.
322
323 2005-06-29  Wim Taymans  <wim@fluendo.com>
324
325         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
326         (gst_base_sink_change_state):
327         Small debug line.
328
329         * gst/gstclock.h:
330         map SIGNAL and BROADCAST to the right function.
331
332         * gst/gstobject.h:
333         Remove redundant braces.
334
335         * gst/gstpad.c: (gst_pad_set_caps):
336         Don't call setcaps function when reseting caps to NULL.
337
338         * gst/gstsystemclock.c: (gst_system_clock_dispose),
339         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
340         (gst_system_clock_id_unschedule):
341         Use BROADCAST as this is what we do.
342
343 2005-06-29  Wim Taymans  <wim@fluendo.com>
344
345         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
346         We are actually prerolling before commiting the state
347         change. 
348
349 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
350
351         * docs/manual/advanced-clocks.xml:
352         * docs/manual/advanced-interfaces.xml:
353         * docs/manual/advanced-metadata.xml:
354         * docs/manual/advanced-position.xml:
355         * docs/manual/advanced-schedulers.xml:
356         * docs/manual/advanced-threads.xml:
357         * docs/manual/appendix-porting.xml:
358         * docs/manual/basics-bins.xml:
359         * docs/manual/basics-bus.xml:
360         * docs/manual/basics-elements.xml:
361         * docs/manual/basics-helloworld.xml:
362         * docs/manual/basics-pads.xml:
363         * docs/manual/highlevel-components.xml:
364         * docs/manual/manual.xml:
365         * docs/manual/thread.fig:
366           Update (until threads/scheduling) Application Development Manual;
367           remove GstThread, add GstBus, add simple porting checklist, add
368           documentation for tag writing, clocks, make all examples until this
369           part compile and run.
370         * examples/manual/Makefile.am:
371           Update from changes to Application Development Manual; add bus
372           example, remove thread example.
373
374 2005-06-28  Wim Taymans  <wim@fluendo.com>
375
376         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
377         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
378         (gst_bus_source_dispatch):
379         Add debugging messages.
380         Make internal methods static.
381         Handle the case where the bus is flushed in the handler.
382         
383         * gst/gstelement.c: (gst_element_get_bus):
384         Fix refcount in _get_bus();
385
386         * gst/gstpipeline.c: (gst_pipeline_change_state),
387         (gst_pipeline_get_clock_func):
388         Clock refcounting fixes.
389         Handle the case where preroll timed out more gracefully.
390         
391         * gst/gstsystemclock.c: (gst_system_clock_dispose):
392         Clean up the internal thread in dispose. This is needed
393         for subclasses that actually get disposed.
394         
395         * gst/schedulers/threadscheduler.c:
396         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
397         (gst_thread_scheduler_dispose):
398         Free thread pool in dispose.
399
400 2005-06-28  Andy Wingo  <wingo@pobox.com>
401
402         * tests/network-clock-utils.scm (debug, print-event): New utils.
403
404         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
405         (*packet-loss*): Unified loss probability.
406         (network-time): Report out-of-band events.
407
408         * tests/plot-data: Add support for out-of-band events. Hack it
409         into this script instead of passing it down the pipe; should fix
410         this later.
411
412 2005-06-28  Wim Taymans  <wim@fluendo.com>
413
414         * docs/gst/gstreamer.types:
415         * docs/gst/tmpl/gstbasesrc.sgml:
416         * docs/gst/tmpl/gstpad.sgml:
417         Docs fixes.
418
419 2005-06-28  Wim Taymans  <wim@fluendo.com>
420
421         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
422         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
423         (gst_proxy_pad_do_fixatecaps):
424         Correctly proxy the check_pull_range function.
425
426 2005-06-28  Andy Wingo  <wingo@pobox.com>
427
428         * tests/network-clock.scm: Removed need for slib.
429         
430 2005-06-28  Wim Taymans  <wim@fluendo.com>
431
432         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
433         (gst_basesink_preroll_queue_flush):
434         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
435         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
436         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
437         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
438         (gst_proxy_pad_set_property):
439         * gst/gstpad.c:
440         * gst/gstpad.h:
441         * gst/gstqueue.c: (gst_queue_init):
442         The deprecated pad loop function is removed now.
443
444 2005-06-28  Andy Wingo  <wingo@pobox.com>
445
446         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
447         New parameters, simulate network packet loss.
448
449         * tests/network-clock-utils.scm: Initialize the RNG.
450
451 2005-06-28  Wim Taymans  <wim@fluendo.com>
452
453         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
454         (gst_basesink_event), (gst_basesink_deactivate):
455         Flushing the preroll queue always needs to unlock the waiters.
456
457 2005-06-28  Edward Hervey  <edward@fluendo.com>
458
459         * gst/gstpipeline.c: (gst_pipeline_send_event): 
460         Wheen a seek was successful on a pipeline, set the stream_time to the
461         seek offset in order to have a synchronized stream_time.
462
463 2005-06-28  Wim Taymans  <wim@fluendo.com>
464
465         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
466         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
467         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
468         (gst_proxy_pad_do_fixatecaps):
469         Call wrapper function instead of just calling the function
470         pointers. This takes care of any locking and whatmore.
471
472 2005-06-28  Wim Taymans  <wim@fluendo.com>
473
474         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
475         (gst_pad_pull_range):
476         * gst/gstpad.h:
477         CONNECTED -> LINKED.
478
479 2005-06-28  Andy Wingo  <wingo@pobox.com>
480
481         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
482         source-munging commit!!!
483
484         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
485         (gst_object_sink): Take gpointer arguments, not GstObject --
486         avoids casts. Like GLib.
487
488         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
489         activate.
490
491 2005-06-27  Andy Wingo  <wingo@pobox.com>
492
493         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
494         remaining buffer.
495
496         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
497         returns a sorted copy of the trace list.
498         (gst_alloc_trace_print_live): New API, only prints traces with
499         live objects. Sort the list.
500         (gst_alloc_trace_print_all): Sort the list.
501         (gst_alloc_trace_print): Align columns.
502
503         * gst/elements/gstttypefindelement.c:
504         * gst/elements/gsttee.c:
505         * gst/base/gstbasesrc.c:
506         * gst/base/gstbasesink.c:
507         * gst/base/gstbasetransform.c:
508         * gst/gstqueue.c: Adapt for pad activation changes.
509
510         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
511         sched.
512         (gst_pipeline_dispose): Drop ref on sched.
513
514         * gst/gstpad.c (gst_pad_init): Set the default activate func.
515         (gst_pad_activate_default): Push mode by default.
516         (pre_activate_switch, post_activate_switch): New stubs, things to
517         do before and after switching activation modes on pads.
518         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
519         the pad's activate function to choose which mode to activate.
520         Shortcut on deactivation and call the right function directly.
521         (gst_pad_activate_pull): New API, (de)activates a pad in pull
522         mode.
523         (gst_pad_activate_push): New API, same for push mode.
524         (gst_pad_set_activate_function) 
525         (gst_pad_set_activatepull_function) 
526         (gst_pad_set_activatepush_function): Setters for new API.
527
528         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
529         Trace all miniobjects.
530         (gst_mini_object_make_writable): Unref the arg if we copy, like
531         gst_caps_make_writable.
532
533         * gst/gstmessage.c (_gst_message_initialize): No trace init.
534
535         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
536         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
537         Adapt for new pad API.
538
539         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
540
541         * gst/gstelement.h:
542         * gst/gstelement.c (gst_element_iterate_src_pads) 
543         (gst_element_iterate_sink_pads): New API functions.
544         
545         * gst/gstelement.c (iterator_fold_with_resync): New utility,
546         should fold into gstiterator.c in some form.
547         (gst_element_pads_activate): Simplified via use of fold and
548         delegation of decisions to gstpad->activate.
549
550         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
551         help in debugging.
552
553         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
554         class once in init, like gstmessage. Didn't run into this issue
555         but it seems correct. Don't initialize a trace, gstminiobject does
556         that.
557
558         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
559         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
560         to the bus.
561         (assert_live_count): New util function, uses alloc traces to check
562         cleanup.
563
564         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
565         To be modified when unlink drops the internal pad.
566
567 2005-06-27  Wim Taymans  <wim@fluendo.com>
568
569         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
570         (gst_bin_change_state):
571         Cleanup the get_state() function a little, make sure it
572         iterates the same set of elements.
573         Added stub iterate_state_order().
574
575 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
576
577         * docs/gst/gstreamer-docs.sgml:
578         * docs/gst/gstreamer-sections.txt:
579         * docs/gst/gstreamer.types:
580         * docs/gst/tmpl/gstbasesink.sgml:
581         * docs/gst/tmpl/gstbasesrc.sgml:
582         * docs/gst/tmpl/gstbasetransform.sgml:
583         * docs/gst/tmpl/gstelement.sgml:
584         * docs/gst/tmpl/gstiterator.sgml:
585         * gst/base/gstbasesrc.c:
586         * gst/base/gstbasesrc.h:
587         * gst/base/gstbasetransform.h:
588         * gst/gstelement.c:
589         * gst/gstiterator.h:
590           adding basetransform and iterator docs
591
592 2005-06-27  Andy Wingo  <wingo@pobox.com>
593
594         * docs/design/part-activation.txt: Notes on how activation should
595         work -- not quite implemented yet.
596
597 2005-06-25  Wim Taymans  <wim@fluendo.com>
598
599         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
600         At least get the chain function correct, needs more
601         fixing.
602
603 2005-06-25  Wim Taymans  <wim@fluendo.com>
604
605         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
606         (gst_basesink_handle_object), (gst_basesink_event),
607         (gst_basesink_do_sync), (gst_basesink_handle_event),
608         (gst_basesink_change_state):
609         * gst/gsttask.h:
610         Right, two problems here: ghostpads don't take locks and
611         glib _rec_mutex_lock_full() with depth==0 still locks.
612         Catch illegal locking and g_warn them.
613
614 2005-06-25  Wim Taymans  <wim@fluendo.com>
615
616         * check/states/sinks.c: (START_TEST), (gst_object_suite):
617         Have to check for completion now...
618
619 2005-06-25  Wim Taymans  <wim@fluendo.com>
620
621         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
622         (gst_basesink_handle_object), (gst_basesink_event),
623         (gst_basesink_do_sync), (gst_basesink_handle_event),
624         (gst_basesink_change_state):
625         * gst/gstpad.h:
626         Unlock STREAM_LOCK whatever the recursion was.
627
628 2005-06-25  Wim Taymans  <wim@fluendo.com>
629
630         * gst/base/gstbasesink.c: (gst_basesink_set_property),
631         (gst_basesink_preroll_queue_empty),
632         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
633         (gst_basesink_event), (gst_basesink_do_sync),
634         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
635         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
636         (gst_basesink_change_state):
637         Reworked the base sink, handle event and buffer serialisation
638         correctly and removed possible deadlock.
639         Handle EOS correctly.
640
641 2005-06-25  Wim Taymans  <wim@fluendo.com>
642
643         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
644         (gst_pipeline_change_state):
645         * tools/gst-launch.c: (check_intr), (event_loop), (main):
646         Allow elements to post EOS in the state change function.
647         Fix up -launch, make it exit the poll loop when the
648         pipeline actually changed state.
649         Fix up warning parsing in -launch.
650
651 2005-06-25  Wim Taymans  <wim@fluendo.com>
652
653         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
654         (gst_tee_sink_activate):
655         Core takes STREAM_LOCK for us now.
656
657 2005-06-25  Wim Taymans  <wim@fluendo.com>
658
659         * gst/gstelement.c: (gst_element_get_state_func),
660         (gst_element_set_state):
661         * gst/gstelement.h:
662         * gst/gstmessage.c: (gst_message_parse_error),
663         (gst_message_parse_warning):
664         Keep track of current target state while performing a state
665         change so that subclasses can do something interesting.
666         Fix parsing of warning/error messages when GError is NULL.
667
668 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
669
670         * docs/gst/Makefile.am:
671         * docs/gst/gstreamer-docs.sgml:
672         * docs/gst/gstreamer-sections.txt:
673         * docs/gst/gstreamer.types:
674         * docs/gst/tmpl/gstbasesink.sgml:
675         * docs/gst/tmpl/gstbasesrc.sgml:
676         * docs/gst/tmpl/gstbin.sgml:
677         * docs/gst/tmpl/gstcompat.sgml:
678         * docs/gst/tmpl/gstfakesink.sgml:
679         * docs/gst/tmpl/gstfakesrc.sgml:
680         * docs/gst/tmpl/gstfilesink.sgml:
681         * docs/gst/tmpl/gstfilesrc.sgml:
682         * docs/gst/tmpl/gstindex.sgml:
683         * docs/manual/appendix-quotes.xml:
684         * gst/base/gstbasesrc.h:
685         * gst/elements/gstfakesrc.h:
686         * gst/gstmessage.h:
687           start pulling in base classes and elements in our docs
688
689 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
690
691         * docs/gst/Makefile.am:
692         * docs/libs/Makefile.am:
693           fixed make distcheck with gtk-doc 1.3
694
695 2005-06-23  Wim Taymans  <wim@fluendo.com>
696
697         * gst/gstelement.c: (gst_element_get_state_func),
698         (gst_element_set_state), (gst_element_change_state):
699         When the state did not change, also report NO_PREROLL
700         when it matters.
701
702 2005-06-23  Wim Taymans  <wim@fluendo.com>
703
704         * gst/gstpad.c: (gst_pad_event_default):
705         * gst/gstqueue.c: (gst_queue_loop):
706         No unsafe task pausing please.
707
708 2005-06-23  Wim Taymans  <wim@fluendo.com>
709
710         * gst/schedulers/threadscheduler.c:
711         (gst_thread_scheduler_task_start),
712         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
713         Ref the task before pushing it on the threadpool. This
714         makes sure that we have a ref when the threadfunction is
715         actually called.
716
717 2005-06-23  Andy Wingo  <wingo@pobox.com>
718
719         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
720         offset is greater than the file's size.
721
722         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
723         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
724         * gst/gstobject.c (gst_object_class_init): Make the class lock
725         recursive. Wim won't let me drop deep_notify. Decodebin works
726         again, whoopdy doo.
727
728         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
729         internal pad, and hacks accordingly. Doesn't do it on the target
730         pad because we change its caps. Probably catches all cases of
731         interest tho.
732         (gst_ghost_pad_set_property): Connect to notify::caps as
733         appropritate.
734
735         * tests/network-clock.scm (plot-simulation): Pipe data to the
736         elite python skript.
737
738         * tests/network-clock-utils.scm (define-parameter): New macro,
739         defines a parameter that can be set via the command line.
740         (set-parameter!, parse-parameter-arguments): Command line args
741         parser.
742
743         * tests/plot-data: Simple matplotlib-based plotter, takes input on
744         stdin.
745
746 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
747
748         * gst/elements/gsttypefindelement.c:
749         (gst_type_find_element_handle_event):
750           Don't restart typefinding on a discont.
751         * gst/gstelement.c: (gst_element_set_state):
752           Debug spelling fix.
753         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
754           Allow changing mode of an active pad.
755           Debug output fixes.
756         * gst/registries/gstlibxmlregistry.c: (load_feature):
757           Don't cast a static pad template to a normal pad template.
758
759 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
760
761         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
762         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
763           remove gst_strtoll completely, since it didn't actually do
764           anything more than what g_ascii_strtoull already does.
765           check for range errors when deserializing
766           do a cast for the unsigned cases; but further fixing needs
767           a decision on what the interpretation of "(int)" and
768           deserialization should be for values that fall outside the
769           type's boundaries (ie, refuse, or interpret as casting)
770
771 2005-06-23  Wim Taymans  <wim@fluendo.com>
772
773         * check/Makefile.am:
774         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
775         * docs/design/part-live-source.txt:
776         * docs/design/part-states.txt:
777         * gst/base/gstbasesrc.c: (gst_basesrc_init),
778         (gst_basesrc_set_live), (gst_basesrc_is_live),
779         (gst_basesrc_get_range), (gst_basesrc_activate),
780         (gst_basesrc_change_state):
781         * gst/base/gstbasesrc.h:
782         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
783         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
784         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
785         * gst/gstelement.c: (gst_element_get_state_func),
786         (gst_element_set_state):
787         * gst/gstelement.h:
788         * gst/gsttypes.h:
789         * tools/gst-launch.c: (event_loop), (main):
790         Added support for live sources and other elements that
791         cannot do preroll.
792         Updated design docs, added live-source design doc.
793         Implemented live source functionality in basesrc
794         Fix error condition in _bin_get_state()
795         Implement live source handling in -launch.
796         Added check for live sources.
797         Fixed case in GstBin where elements were changed state
798         multiple times.
799
800
801 2005-06-23  Andy Wingo  <wingo@pobox.com>
802
803         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
804         borken refcounting.
805
806         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
807         gst_caps_replace takes care of this for us.
808
809         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
810         gst_pad_set_caps on the target, not just its setcaps() function.
811
812         * tests/network-clock.scm: 
813         * tests/network-clock-utils.scm: A network clock simulator.
814         Something of an algorithmic testbed before doing something in C.
815
816 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
817
818         * check/Makefile.am:
819         * check/gst/capslist.h:
820           copy over from 0.8, and add two with bitmasks specified with
821           (int) 0xFF...
822         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
823           add test to parse everything from capslist.h
824         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
825         (main):
826           add test for structure deserialization
827         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
828           add tests for deserialization of strings to int types
829         * gst/gststructure.c: (gst_structure_nth_field_name):
830         * gst/gststructure.h:
831           add a way to get the name of a field referenced by index
832         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
833           instead of checking if the resulting long long lies between
834           min and max, we check if the long long would fit into
835           a number of bytes for the final type.
836           This fixes cases where a string represents 2^32 - 1, which
837           when cast to int would be the (valid) -1, but is bigger than
838           G_MAXINT
839
840 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
841
842         * gst/parse/grammar.y:
843           add a log line for type deserialization
844
845 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
846
847         * check/gst/gstvalue.c: (START_TEST):
848         * gst/gstvalue.c: (gst_value_deserialize):
849           return long long, not int, so gint64 deserialization actually
850           works.  Is there any flag that makes the compiler check this ?
851           Fixes #308559
852
853 2005-06-22  Wim Taymans  <wim@fluendo.com>
854
855         * gst/gstbuffer.h:
856         Added convenience macros for setting buffers in GValue.
857
858 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
859
860         * check/gst/.cvsignore:
861         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
862           add a test deserializing int64, and comment part out because
863           it fails, yay !
864
865 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
866
867         * check/Makefile.am:
868         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
869         * testsuite/Makefile.am:
870         * testsuite/caps/Makefile.am:
871         * testsuite/caps/value_serialize.c:
872         * testsuite/test_gst_init.c:
873           move a value_serialize test over
874
875 2005-06-20  Wim Taymans  <wim@fluendo.com>
876
877         * gst/gstpad.c:
878         Small doc updates.
879         
880         * gst/gstvalue.c: (gst_value_compare_buffer),
881         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
882         (gst_value_compare_flags), (gst_value_serialize_flags),
883         (gst_value_deserialize_flags), (_gst_value_initialize):
884         Fix serialisation of buffers, they are not boxed types anymore
885
886 2005-06-20  Wim Taymans  <wim@fluendo.com>
887
888         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
889         Testcase to show error in buffer-on-caps serialisation.
890
891 2005-06-20  Andy Wingo  <wingo@pobox.com>
892
893         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
894         will be adding to later.
895
896         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
897         if its socks fill with rocks.
898         (gst_system_clock_obtain): Set the name on object construction.
899         Avoid double-checked locking.
900
901 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
902
903         * gst/gsturi.c: (gst_element_make_from_uri):
904           Fix potential endless loop.
905
906 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
907
908         * check/Makefile.am:
909           add gsttag
910         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
911         (main):
912           move over from testsuite dir and clean up
913         * configure.ac:
914         * gst/gsttag.c:
915         * testsuite/Makefile.am:
916         * testsuite/tags/.cvsignore:
917         * testsuite/tags/Makefile.am:
918         * testsuite/tags/merge.c:
919           remove testsuite/tags
920
921 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
922
923         * docs/gst/gstreamer-sections.txt:
924         * docs/gst/tmpl/gstenumtypes.sgml:
925         * win32/gstenumtypes.c:
926           clean up documentation build a little
927
928 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
929
930         * check/gstcheck.h:
931           add macros for checking refcounts on objects and caps
932         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
933           add some more unit tests
934         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
935         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
936           fix leaked refcounts (I hope :)) so unittest works
937         * gst/gstpad.h:
938           whitespace removal
939
940 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
941
942         * configure.ac: back to HEAD
943
944 === release 0.9.1 ===
945
946 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
947
948         * NEWS:
949         * RELEASE:
950           updated
951
952 2005-06-17  Andy Wingo  <wingo@pobox.com>
953
954         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
955         assert; it's always possible that the pad gets deactivated in
956         between the checks in gstpad.c and the implementation. Rely on
957         finish_preroll() to return a FLUSHING or similar instead of on the
958         assert.
959         
960         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
961         clock and post an EOS message if we come out of finish_preroll in
962         the playing state.
963
964 2005-06-16  David Schleef  <ds@schleef.org>
965
966         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
967         (gst_capsfilter_set_property): Allow NULL as possible value
968         for filter_caps property, indicating GST_CAPS_ANY.
969
970 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
971
972         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
973           fix debug output
974         * gst/schedulers/Makefile.am:
975           use libgst prefix
976         * gstreamer.spec.in:
977           fix spec for it
978
979 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
980
981         * gstreamer.spec.in:
982           clean up
983
984 2005-06-08  Andy Wingo  <wingo@pobox.com>
985
986         * gst/gstutils.c: RPAD fixes all around.
987         (gst_element_link_pads): Refcounting fixes.
988
989         * tools/gst-inspect.c:
990         * tools/gst-xmlinspect.c:
991         * parse/grammar.y:
992         * gst/base/gsttypefindhelper.c:
993         * gst/base/gstbasesink.c:
994         * gst/gstqueue.c: RPAD fixes.
995
996         * gst/gstghostpad.h:
997         * gst/gstghostpad.c: New ghost pad implementation as full proxy
998         pads. The tricky thing is they provide both source and sink
999         interfaces, since they proxy the internal pad for the external
1000         pad, and vice versa. Implement with lower-level ProxyPad objects,
1001         with the interior proxy pad as a child of the exterior ghost pad.
1002         Should write a doc on this.
1003         
1004         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
1005         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
1006         gst_object API.
1007         
1008         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
1009         pads are real pads. No ghost pads in this file. Not documenting
1010         the myriad s/RPAD/PAD/ and REALIZE fixes.
1011         (gst_pad_class_init): Add properties for "direction" and
1012         "template". Both are construct-only, so they can't change during
1013         the life of the pad. Fixes properly deriving from GstPad.
1014         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
1015         derived objects, just set properties when creating the objects via
1016         g_object_new.
1017         (gst_pad_get_parent): Implement as a function, return NULL if the
1018         parent is not an element.
1019         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
1020         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
1021         
1022         * gst/gstobject.c (gst_object_class_init): Make name a construct
1023         property. Don't set it in the object init.
1024
1025         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
1026         with UNKNOWN direction.
1027         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
1028         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
1029         (gst_element_remove_pad): Remove ghost-pad special cases.
1030         (gst_element_pads_activate): Remove rpad cruft.
1031
1032         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
1033         catch the pad's-parent-not-an-element case.
1034
1035         * gst/gst.h: Include gstghostpad.h.
1036
1037         * gst/gst.c (init_post): No more real, ghost pads.
1038
1039         * gst/Makefile.am: Add gstghostpad.[ch].
1040
1041         * check/Makefile.am:
1042         * check/gst/gstbin.c:
1043         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
1044         into a bin creates ghost pads, and that the refcounts are right.
1045         Partly moved from gstbin.c.
1046
1047 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1048
1049         * check/gst-libs/.cvsignore:
1050         * check/gst/.cvsignore:
1051         * check/pipelines/.cvsignore:
1052           ignore more
1053         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
1054         (START_TEST), (cleanup_suite), (main):
1055           add some tests related to cleanup after running pipelines
1056
1057 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1058
1059         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
1060           add a testsuite for GstBuffer
1061
1062 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1063
1064         * gst/gstminiobject.h:
1065           add defines for accessing the refcount
1066
1067 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
1068
1069         * Makefile.am: added support for html unit test coverage reports
1070
1071 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
1072
1073         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
1074           Free existing caps if the capsfilter changes. Add a FIXME about
1075           setting those caps on the pads.
1076
1077         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
1078           Before adding a ghost pad to a parent bin, check that there isn't
1079           already one for the element on the bin. Prevents infinite recursion
1080           when using decodebin in parse pipelines. Andy says he'll rewrite the
1081           way this works anyway, so ignore the hack.
1082
1083 2005-06-02  Andy Wingo  <wingo@pobox.com>
1084
1085         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
1086         file size, pass it on to the type find helper.
1087
1088         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
1089         segment_start and segment_end properly according to the seek
1090         method. Segment_end is still a bit flaky because offset can be
1091         negative for CUR and END cases, but it takes -1 as an "unset"
1092         value.
1093
1094 2005-06-02  Wim Taymans  <wim@fluendo.com>
1095
1096         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
1097         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
1098         (gst_basesink_activate):
1099         * gst/base/gstbasesink.h:
1100         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
1101         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
1102         (gst_pad_query), (gst_pad_start_task):
1103         * gst/gstpad.h:
1104         * gst/gstqueue.c: (gst_queue_bufferalloc),
1105         (gst_queue_handle_sink_event), (gst_queue_chain):
1106         Bufferalloc: return GstFlowReturn to more accuratly report
1107         why allocation failed.
1108
1109 2005-06-02  Wim Taymans  <wim@fluendo.com>
1110
1111         * gst/gstpipeline.c: (gst_pipeline_send_event):
1112         Take snapshot of state without blocking.
1113
1114 2005-06-02  Wim Taymans  <wim@fluendo.com>
1115
1116         * docs/design/part-TODO.txt:
1117         * docs/design/part-caps.txt:
1118         * docs/design/part-clocks.txt:
1119         * docs/design/part-negotiation.txt:
1120         * docs/design/part-preroll.txt:
1121         Small doc updates 
1122
1123 2005-05-30  Wim Taymans  <wim@fluendo.com>
1124
1125         * gst/elements/gstidentity.c: (gst_identity_event),
1126         (gst_identity_transform), (gst_identity_get_property):
1127         Protect last_message property as it is accessed from
1128         multiple threads.
1129
1130 2005-05-30  Wim Taymans  <wim@fluendo.com>
1131
1132         * gst/gstelement.c: (gst_element_init),
1133         (gst_element_pads_activate), (gst_element_change_state):
1134         Slicker pad activation code.
1135
1136 2005-05-30  Wim Taymans  <wim@fluendo.com>
1137
1138         * gst/Makefile.am:
1139         * gst/gstelement.h:
1140         * gst/gstelementfactory.h:
1141         * gst/gsttypes.h:
1142         Move elementfactory methods to separate .h file.
1143
1144 2005-05-30  Wim Taymans  <wim@fluendo.com>
1145
1146         * docs/design/part-overview.txt:
1147         * gst/gstsystemclock.h:
1148         Small typo fixes, doc updates.
1149
1150 2005-05-30  Wim Taymans  <wim@fluendo.com>
1151
1152         * gst/gst.c: (gst_init_get_popt_table), (init_post),
1153         (init_popt_callback):
1154         Remove cpu-opt flag.
1155
1156 2005-05-30  Wim Taymans  <wim@fluendo.com>
1157
1158         * gst/gstbuffer.c: (gst_subbuffer_finalize),
1159         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
1160         * gst/gstbuffer.h:
1161         Avoid typechecking in places where not needed.
1162         Added accessor for malloc_data.
1163
1164 2005-05-30  Wim Taymans  <wim@fluendo.com>
1165
1166         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
1167         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
1168         (gst_pad_configure_sink), (gst_pad_configure_src),
1169         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
1170         (gst_pad_start_task):
1171         Propagate errors from _set_caps() in configure_src/sink
1172         functions instead of returning TRUE.
1173         FLUSH events can travel up and downstream
1174
1175
1176 2005-05-30  Wim Taymans  <wim@fluendo.com>
1177
1178         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
1179         (gst_basesink_activate):
1180         Handle EOS in preroll.
1181
1182 2005-05-30  Wim Taymans  <wim@fluendo.com>
1183
1184         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1185         (gst_queue_loop), (gst_queue_handle_src_event):
1186         Remove old pieces of code
1187         Flushing the queue in an upstream event is a very bad idea.
1188
1189 2005-05-26  Andy Wingo  <wingo@pobox.com>
1190
1191         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
1192         gst_value_set_mini_object so as to add a ref on the object (which
1193         will be removed when the value is unset).
1194
1195         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
1196         arg type in ::handoff.
1197
1198         * gst/gstelement.c (gst_element_change_state): Also deactivate
1199         pads in READY->NULL, just in case the element didn't make it to
1200         PAUSED. Wingo tested, Wim approved.
1201
1202 2005-05-26  Wim Taymans  <wim@fluendo.com>
1203
1204         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
1205         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
1206         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
1207         A flushing pad cannot be used to alloc_buffer from.
1208
1209 2005-05-26  Wim Taymans  <wim@fluendo.com>
1210
1211         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
1212         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
1213         (gst_bus_source_dispatch), (gst_bus_source_finalize),
1214         (gst_bus_create_watch), (gst_bus_add_watch_full):
1215         * gst/gstbus.h:
1216         Implement a real GSource and use g_main_context_wakeup() to
1217         signal new messages instead of the socketpair.
1218
1219 2005-05-25  Wim Taymans  <wim@fluendo.com>
1220
1221         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
1222         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
1223         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
1224         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
1225         (gst_pad_send_event), (gst_pad_start_task):
1226         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
1227         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
1228         (gst_queue_sink_activate), (gst_queue_src_activate),
1229         (gst_queue_change_state):
1230         * gst/gstqueue.h:
1231         Fix state changes for non sinks. We now change sinks, then elements
1232         with unconnected srcpads, then the rest.
1233         More efficient queue unlocking in flush and state changes.
1234         Set the pad activate mode even if it does not have an activate
1235         function.
1236
1237 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1238
1239         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
1240           Don't go in pull mode for non-seekable sources.
1241         * gst/elements/gsttypefindelement.h:
1242         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
1243         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
1244         (free_entry), (stop_typefinding),
1245         (gst_type_find_element_handle_event), (find_peek),
1246         (gst_type_find_element_chain), (do_pull_typefind),
1247         (gst_type_find_element_change_state):
1248           Allow typefinding (w/o seeking) in push-mode, simplified version
1249           of what was in 0.8.
1250         * gst/gstutils.c: (gst_buffer_join):
1251         * gst/gstutils.h:
1252           gst_buffer_join() from 0.8.
1253
1254 2005-05-25  Wim Taymans  <wim@fluendo.com>
1255
1256         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
1257         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
1258         (gst_pad_send_event), (gst_pad_start_task):
1259         Disable attempt at mode switching until it is figured out.
1260
1261 2005-05-25  Wim Taymans  <wim@fluendo.com>
1262
1263         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
1264         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
1265         (gst_basesink_finish_preroll), (gst_basesink_chain),
1266         (gst_basesink_loop), (gst_basesink_activate),
1267         (gst_basesink_change_state):
1268         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
1269         (gst_basesrc_get_range), (gst_basesrc_loop),
1270         (gst_basesrc_activate):
1271         * gst/elements/gsttee.c: (gst_tee_sink_activate):
1272         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
1273         (gst_real_pad_init), (gst_real_pad_set_property),
1274         (gst_real_pad_get_property), (gst_pad_set_active),
1275         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
1276         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
1277         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
1278         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
1279         (gst_pad_event_default_dispatch), (gst_pad_event_default),
1280         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
1281         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
1282         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
1283         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
1284         (gst_pad_stop_task):
1285         * gst/gstpad.h:
1286         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1287         (gst_queue_loop), (gst_queue_src_activate):
1288         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
1289         (gst_task_get_state):
1290         * gst/gsttask.h:
1291         * gst/schedulers/threadscheduler.c:
1292         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
1293         Implement gst_pad_pause/start/stop_task(), take STREAM lock
1294         in task function.
1295         Remove ACTIVE pad flag, use FLUSHING everywhere
1296         Added _pad_chain(), _pad_get_range() to call chain/getrange 
1297         functions.
1298         Add locks around IS_FLUSHING when reading.
1299         Take STREAM lock in chain(), get_range() functions so plugins
1300         don't need to take it anymore.
1301         
1302
1303
1304 2005-05-25  Wim Taymans  <wim@fluendo.com>
1305
1306         * tools/gst-launch.c: (event_loop):
1307         Unref message after using its contents instead of
1308         before.
1309
1310 2005-05-24  Wim Taymans  <wim@fluendo.com>
1311
1312         * docs/design/draft-ghostpads.txt:
1313         * docs/design/draft-push-pull.txt:
1314         * docs/design/draft-query.txt:
1315         * docs/design/part-overview.txt:
1316         Docs updates, added general overview doc.
1317
1318 2005-05-21  David Schleef  <ds@schleef.org>
1319
1320         * docs/gst/tmpl/old/GstBin.sgml:
1321         * docs/gst/tmpl/old/GstBuffer.sgml:
1322         * docs/gst/tmpl/old/GstCaps.sgml:
1323         * docs/gst/tmpl/old/GstClock.sgml:
1324         * docs/gst/tmpl/old/GstCompat.sgml:
1325         * docs/gst/tmpl/old/GstData.sgml:
1326         * docs/gst/tmpl/old/GstElement.sgml:
1327         * docs/gst/tmpl/old/GstEvent.sgml:
1328         * docs/gst/tmpl/old/GstIndex.sgml:
1329         * docs/gst/tmpl/old/GstStructure.sgml:
1330         * docs/gst/tmpl/old/GstTag.sgml:
1331         * docs/gst/tmpl/old/cothreads.sgml:
1332         * docs/gst/tmpl/old/cothreads_compat.sgml:
1333         * docs/gst/tmpl/old/gettext.sgml:
1334         * docs/gst/tmpl/old/gobject2gtk.sgml:
1335         * docs/gst/tmpl/old/grammar.tab.sgml:
1336         * docs/gst/tmpl/old/gst-i18n-app.sgml:
1337         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
1338         * docs/gst/tmpl/old/gst_private.sgml:
1339         * docs/gst/tmpl/old/gstaggregator.sgml:
1340         * docs/gst/tmpl/old/gstarch.sgml:
1341         * docs/gst/tmpl/old/gstatomic_impl.sgml:
1342         * docs/gst/tmpl/old/gstbufferstore.sgml:
1343         * docs/gst/tmpl/old/gstdata_private.sgml:
1344         * docs/gst/tmpl/old/gstdisksink.sgml:
1345         * docs/gst/tmpl/old/gstdisksrc.sgml:
1346         * docs/gst/tmpl/old/gstelementfactory.sgml:
1347         * docs/gst/tmpl/old/gstextratypes.sgml:
1348         * docs/gst/tmpl/old/gstfakesink.sgml:
1349         * docs/gst/tmpl/old/gstfakesrc.sgml:
1350         * docs/gst/tmpl/old/gstfdsink.sgml:
1351         * docs/gst/tmpl/old/gstfdsrc.sgml:
1352         * docs/gst/tmpl/old/gstfilesink.sgml:
1353         * docs/gst/tmpl/old/gstfilesrc.sgml:
1354         * docs/gst/tmpl/old/gsthttpsrc.sgml:
1355         * docs/gst/tmpl/old/gstidentity.sgml:
1356         * docs/gst/tmpl/old/gstindexfactory.sgml:
1357         * docs/gst/tmpl/old/gstmarshal.sgml:
1358         * docs/gst/tmpl/old/gstmd5sink.sgml:
1359         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
1360         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
1361         * docs/gst/tmpl/old/gstpadtemplate.sgml:
1362         * docs/gst/tmpl/old/gstpipefilter.sgml:
1363         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
1364         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
1365         * docs/gst/tmpl/old/gstshaper.sgml:
1366         * docs/gst/tmpl/old/gstspider.sgml:
1367         * docs/gst/tmpl/old/gstspideridentity.sgml:
1368         * docs/gst/tmpl/old/gststatistics.sgml:
1369         * docs/gst/tmpl/old/gsttee.sgml:
1370         * docs/gst/tmpl/old/gsttimecache.sgml:
1371         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
1372         * docs/gst/tmpl/old/gstxmlregistry.sgml:
1373         * docs/gst/tmpl/old/gthread-cothreads.sgml:
1374         * docs/gst/tmpl/old/types.sgml:
1375           I didn't intend to add these or check them in.
1376
1377 2005-05-19  David Schleef  <ds@schleef.org>
1378
1379         * configure.ac: Use -no-common everywhere.  In a sane world, it
1380           would be the default in libtool, because without it, you can't
1381           build DLLs on Windows.
1382         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
1383         * docs/gst/gstreamer-sections.txt:
1384         * docs/gst/tmpl/gstcpu.sgml:
1385         * docs/gst/tmpl/gstdata.sgml:
1386         * docs/gst/tmpl/gstthread.sgml:
1387
1388 2005-05-19  David Schleef  <ds@schleef.org>
1389
1390         * gst/gstminiobject.c: (gst_value_set_mini_object),
1391         (gst_value_take_mini_object), (gst_value_get_mini_object):
1392         * gst/gstminiobject.h: Add GValue set/get functions.
1393
1394 2005-05-19  Wim Taymans  <wim@fluendo.com>
1395
1396         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
1397         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
1398         (gst_subbuffer_init), (gst_buffer_is_span_fast):
1399         * gst/gstbuffer.h:
1400         * gst/gstbus.c: (gst_bus_post):
1401         * gst/gstelement.c: (gst_element_get_random_pad):
1402         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
1403         Make subbufer unref the parent in finalize.
1404         some more debugging info.
1405
1406
1407 2005-05-19  Wim Taymans  <wim@fluendo.com>
1408
1409         * gst/base/gstbasesink.c: (gst_basesink_class_init),
1410         (gst_basesink_init), (gst_basesink_finalize),
1411         (gst_basesink_activate), (gst_basesink_change_state):
1412         Don't free preroll queue too early.
1413
1414 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1415
1416         * gst/Makefile.am:
1417         * gst/ROADMAP:
1418           Hi, I'm outdated. Please shoot me.
1419
1420 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1421
1422         * gst/gstpipeline.c: (gst_pipeline_send_event):
1423           Do not access variables after they have been deleted.
1424
1425 2005-05-19  Wim Taymans  <wim@fluendo.com>
1426
1427         * tools/gst-inspect.c: (print_plugin_features):
1428         A plugin feature does unfortunatly not use the
1429         object name yet...
1430
1431 2005-05-18  Wim Taymans  <wim@fluendo.com>
1432
1433         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
1434         Port _span() functions to new subbuffers.
1435
1436 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1437
1438         * gst/gstbin.c: (gst_bin_add_func):
1439           Fix clock settery in bins when adding kids after the clock has
1440           been selected.
1441
1442 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1443
1444         * gst/elements/gstidentity.c: (gst_identity_class_init):
1445           Workaround until signals support GstMiniObject.
1446
1447 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
1448
1449         * gst/gstbuffer.c:
1450         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
1451
1452 2005-05-18  Wim Taymans  <wim@fluendo.com>
1453
1454         * gst/base/Makefile.am:
1455         * gst/base/gstadapter.c: (gst_adapter_base_init),
1456         (gst_adapter_class_init), (gst_adapter_init),
1457         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
1458         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
1459         (gst_adapter_flush), (gst_adapter_available),
1460         (gst_adapter_available_fast):
1461         * gst/base/gstadapter.h:
1462         Ported and added adapter to the base classes.
1463
1464 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1465
1466         * gst/gst.c:
1467         * gst/gstmessage.c:
1468           Make sure the class is reffed/unreffed once before threads can be
1469           used.  Fixes #304551.
1470
1471 2005-05-17  Wim Taymans  <wim@fluendo.com>
1472
1473         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
1474         (gst_basesink_chain_unlocked), (gst_basesink_activate):
1475         * gst/gstminiobject.c: (gst_mini_object_get_type),
1476         (gst_mini_object_free):
1477         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
1478         (gst_pad_push), (gst_pad_push_event):
1479         * gst/gstqueue.c: (gst_queue_change_state):
1480         Don't queue buffers in basesink when we are flushing.
1481         Unref buffer when flushing in basesink.
1482         Flush queue when going to READY
1483         Unref buffer when _push() returns an error.
1484         Don't free MiniObject instance when refcount is incremented
1485         in _finalize() so that we can recover objects.
1486
1487 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1488
1489         * docs/manual/advanced-schedulers.xml:
1490         * docs/manual/appendix-checklist.xml:
1491         * docs/pwg/advanced-clock.xml:
1492         * docs/pwg/advanced-interfaces.xml:
1493         * docs/pwg/advanced-request.xml:
1494         * docs/pwg/advanced-types.xml:
1495         * docs/pwg/intro-preface.xml:
1496         * examples/plugins/example.c: (gst_example_get_type),
1497         (gst_example_class_init), (gst_example_chain),
1498         (gst_example_set_property), (gst_example_get_property),
1499         (gst_example_change_state), (plugin_init):
1500         * examples/plugins/example.h:
1501           small doc fixes
1502
1503 2005-05-17  Wim Taymans  <wim@fluendo.com>
1504
1505         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
1506         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
1507         * gst/gstqueue.c: (gst_queue_change_state):
1508         Clear queue when going to READY.
1509         Remove IN_SETCAPS flag too.
1510
1511 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
1512
1513         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
1514           Remove implicit cast from gboolean to GstElementStateReturn;
1515           make sure we still return failure in paused => ready case if
1516           the parent class fails to change state and our own stop 
1517           vfunc succeeds.
1518
1519 2005-05-17  Wim Taymans  <wim@fluendo.com>
1520
1521         * tools/gst-launch.c: (event_loop):
1522         Message was unreffed too soon.
1523
1524 2005-05-16  Andy Wingo  <wingo@pobox.com>
1525
1526         * gst/gstbin.c (sink_iterator_filter): Err... um...
1527
1528         * check/gst/gstbin.c (test_ghost_pads): New test for the
1529         ghosting-if-elements-not-in-same-bin behavior.
1530
1531 2005-05-16  David Schleef  <ds@schleef.org>
1532
1533         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
1534         accessing refcount directly.
1535
1536 2005-05-15  David Schleef  <ds@schleef.org>
1537
1538         * check/Makefile.am: remove GstData checks
1539         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
1540         * gst/Makefile.am: add miniobject, remove data
1541         * gst/gst.h: add miniobject, remove data
1542         * gst/gstdata.c: remove
1543         * gst/gstdata.h: remove
1544         * gst/gstdata_private.h: remove
1545         * gst/gsttypes.h: remove GstEvent and GstMessage
1546         * gst/gstelement.c: (gst_element_post_message): fix for API changes
1547         * gst/gstmarshal.list: change BOXED -> OBJECT
1548
1549         Implement GstMiniObject.
1550         * gst/gstminiobject.c:
1551         * gst/gstminiobject.h:
1552
1553         Modify to be subclasses of GstMiniObject.
1554         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
1555         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
1556         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
1557         (gst_subbuffer_get_type), (gst_subbuffer_init),
1558         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
1559         (gst_buffer_span):
1560         * gst/gstbuffer.h:
1561         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
1562         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
1563         (_gst_event_copy), (gst_event_new):
1564         * gst/gstevent.h:
1565         * gst/gstmessage.c: (_gst_message_initialize),
1566         (gst_message_get_type), (gst_message_class_init),
1567         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
1568         (gst_message_new), (gst_message_new_error),
1569         (gst_message_new_warning), (gst_message_new_tag),
1570         (gst_message_new_state_changed), (gst_message_new_application):
1571         * gst/gstmessage.h:
1572         * gst/gstprobe.c: (gst_probe_perform),
1573         (gst_probe_dispatcher_dispatch):
1574         * gst/gstprobe.h:
1575         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
1576         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
1577         (_gst_query_copy), (gst_query_new):
1578
1579         Update elements for GstData -> GstMiniObject changes
1580         * gst/gstquery.h:
1581         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
1582         (gst_queue_chain), (gst_queue_loop):
1583         * gst/elements/gstbufferstore.c:
1584         (gst_buffer_store_add_buffer_func),
1585         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
1586         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1587         (gst_fakesink_render):
1588         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
1589         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
1590         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
1591         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
1592         (gst_filesrc_create_read):
1593         * gst/elements/gstidentity.c: (gst_identity_class_init):
1594         * gst/elements/gsttypefindelement.c:
1595         (gst_type_find_element_src_event), (free_entry_buffers),
1596         (gst_type_find_element_handle_event):
1597         * libs/gst/dataprotocol/dataprotocol.c:
1598         (gst_dp_header_from_buffer):
1599         * libs/gst/dataprotocol/dataprotocol.h:
1600         * libs/gst/dataprotocol/dp-private.h:
1601
1602 2005-05-15  David Schleef  <ds@schleef.org>
1603
1604         * gst/elements/gstelements.c: Don't include headers that were
1605         just removed.
1606
1607 2005-05-15  David Schleef  <ds@schleef.org>
1608
1609         * gst/elements/Makefile.am: Remove some elements that don't
1610         need to be in the core (or even exist at all).
1611         * gst/elements/gstaggregator.c:
1612         * gst/elements/gstaggregator.h:
1613         * gst/elements/gstmd5sink.c:
1614         * gst/elements/gstmd5sink.h:
1615         * gst/elements/gstmultifilesrc.c:
1616         * gst/elements/gstmultifilesrc.h:
1617         * gst/elements/gstpipefilter.c:
1618         * gst/elements/gstpipefilter.h:
1619         * gst/elements/gstshaper.c:
1620         * gst/elements/gstshaper.h:
1621         * gst/elements/gststatistics.c:
1622         * gst/elements/gststatistics.h:
1623         * po/POTFILES.in: Remove above files.
1624
1625 2005-05-14  Andy Wingo  <wingo@pobox.com>
1626
1627         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
1628         so as to get the refs right.
1629         (sink_iterator_filter): New function, wraps bin_element_is_sink,
1630         unreffing objects that don't pass the filter.
1631
1632         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
1633         gst_element_set_bus.
1634         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
1635         normal cases, this will destroy the bus.
1636
1637         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
1638         object.
1639
1640         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
1641         has no sinks.
1642
1643 2005-05-13  Andy Wingo  <wingo@pobox.com>
1644
1645         * gst/gstutils.c (gst_element_link_pads): Instead of calling
1646         gst_pad_link, call pad_link_maybe_ghosting,
1647         (pad_link_maybe_ghosting): Links pads, making sure that the
1648         elements being linked are in the same bin.
1649         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
1650         Helpers for pad_link_maybe_ghosting.
1651
1652 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1653
1654         * configure.ac:
1655           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
1656
1657 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1658
1659         * docs/design/part-element-source.txt:
1660           Mention GstPushSrc
1661
1662 2005-05-12  Wim Taymans  <wim@fluendo.com>
1663
1664         * gst/base/gstbasesink.c: (gst_basesink_init),
1665         (gst_basesink_activate):
1666         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
1667         (gst_basesrc_is_seekable):
1668         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1669         (bin_element_is_sink), (gst_bin_change_state):
1670         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
1671         * gst/gstelement.h:
1672         Identify sinks by their flag to avoid overly complicated
1673         checks (fow now).
1674         Do state changes even for elements not reachable from the
1675         sinks.
1676         BaseSink is a sink now :)
1677         Some more debugging info in the basesrc.
1678
1679
1680 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1681
1682         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
1683           Implement _query on a bin, similar to _send_event.
1684
1685 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1686
1687         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
1688           Discont event offset format should be GST_FORMAT_BYTES,
1689           not GST_FORMAT_TIME.
1690
1691 2005-05-12  Wim Taymans  <wim@fluendo.com>
1692
1693         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
1694         Same fix as Ronald's but without the signal. 
1695
1696 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1697
1698         * gst/gstutils.c: (gst_element_query_position):
1699           No, an element is not a pad.
1700
1701 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1702
1703         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
1704         (gst_bin_get_state):
1705           If a child is removed from a bin while we remove the child from
1706           the bin and while we're retrieving its state, signal this to the
1707           get_state function so we abort the wait (instead of waiting for
1708           a timeout) and can immediately re-iterate over all other elements.
1709
1710 2005-05-12  Wim Taymans  <wim@fluendo.com>
1711
1712         * gst/base/Makefile.am:
1713         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
1714         (gst_basesrc_start):
1715         * gst/base/gstbasesrc.h:
1716         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
1717         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
1718         (gst_pushsrc_init), (gst_pushsrc_create):
1719         * gst/base/gstpushsrc.h:
1720         Added is_seekable to BaseSrc
1721         Added simple PushSrc.
1722
1723 2005-05-11  Wim Taymans  <wim@fluendo.com>
1724
1725         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
1726         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1727         (gst_element_link_pads), (gst_element_query_position),
1728         (gst_element_query_convert), (intersect_caps_func),
1729         (gst_pad_query_position), (gst_pad_query_convert):
1730         Fix refcounting in utils function.
1731         No point in trying to activate a pad when it's added, it could
1732         be added from the state change function and then we deadlock, the
1733         element has to decide what to do.
1734
1735 2005-05-10  Andy Wingo  <wingo@pobox.com>
1736
1737         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
1738         *all* the arguments.
1739
1740         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
1741         stream lock if it's a FLUSH_DONE; normal flushes don't get the
1742         lock (according to the docs -- if this is wrong change the docs).
1743
1744         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
1745         flush messages in the NULL state.
1746
1747         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
1748         message immediately and return.
1749         (gst_bus_set_flushing): New function. If a bus is flushing, it
1750         flushes out any queued messages and immediately unrefs new
1751         messages. This is so when an element goes to NULL, all of the
1752         unhandled messages coming from it can be freed, and their
1753         references to the element dropped. In other words: message source
1754         ref considered harmful :P
1755
1756         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
1757         we're finished with it.
1758
1759         * gst/gstmessage.c (gst_message_new_state_changed): 
1760
1761 2005-05-10  Wim Taymans  <wim@fluendo.com>
1762
1763         * gst/gstvalue.c: (gst_value_compare_flags),
1764         (gst_value_serialize_flags), (gst_value_deserialize_flags),
1765         (_gst_value_initialize):
1766         Added flags serialize/deserialize/compare code.
1767
1768 2005-05-09  Andy Wingo  <wingo@pobox.com>
1769
1770         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
1771         Intersect the peer's caps with our caps.
1772
1773 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1774
1775         * gst/base/gsttypefindhelper.c: (helper_find_peek):
1776         * gst/elements/gsttypefindelement.c: (find_peek):
1777           Handle negative offsets better. Fixes decodebin.
1778
1779 2005-05-09  Wim Taymans  <wim@fluendo.com>
1780
1781         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
1782         (gst_base_transform_event):
1783         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
1784         Implement accept_caps.
1785         Fix silly lock/unlock mismatch in base class.
1786
1787 2005-05-09  Wim Taymans  <wim@fluendo.com>
1788
1789         * docs/design/draft-push-pull.txt:
1790         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
1791         * gst/elements/gstfilesink.c: (gst_filesink_init),
1792         (gst_filesink_query):
1793         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
1794         (gst_type_find_handle_src_query), (find_element_get_length):
1795         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
1796         * gst/gstelement.h:
1797         * gst/gstmessage.c:
1798         * gst/gstmessage.h:
1799         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
1800         (gst_real_pad_get_caps_unlocked),
1801         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
1802         (gst_pad_event_default_dispatch), (gst_pad_event_default),
1803         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
1804         (gst_real_pad_dispose), (gst_real_pad_finalize),
1805         (gst_pad_load_and_link), (gst_pad_save_thyself),
1806         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
1807         (gst_pad_check_pull_range), (gst_pad_pull_range),
1808         (gst_pad_template_get_type), (gst_pad_template_class_init),
1809         (gst_pad_template_init), (gst_pad_template_dispose),
1810         (name_is_valid), (gst_static_pad_template_get),
1811         (gst_pad_template_new), (gst_static_pad_template_get_caps),
1812         (gst_pad_template_get_caps), (gst_pad_set_element_private),
1813         (gst_pad_get_element_private), (gst_pad_start_task),
1814         (gst_pad_pause_task), (gst_pad_stop_task),
1815         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
1816         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
1817         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
1818         (gst_ghost_pad_new):
1819         * gst/gstpad.h:
1820         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
1821         (gst_query_new_position), (gst_query_set_position),
1822         (gst_query_parse_position), (gst_query_new_convert),
1823         (gst_query_set_convert), (gst_query_parse_convert):
1824         * gst/gstquery.h:
1825         * gst/gstqueryutils.c:
1826         * gst/gstqueryutils.h:
1827         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
1828         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
1829         (gst_queue_handle_src_query):
1830         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1831         (gst_element_query_position), (gst_element_query_convert),
1832         (intersect_caps_func), (gst_pad_query_position),
1833         (gst_pad_query_convert):
1834         * gst/gstutils.h:
1835         * tools/gst-inspect.c: (print_pad_info):
1836         * tools/gst-xmlinspect.c: (print_element_info):
1837         Remove old query functions. Ported old code.
1838         Added position/convert helper functions to gstutils.
1839         Reordered gstpad.c code, grouping relevant things.
1840         Remove gst_message_new(), always need to speficy a specific
1841         message.
1842
1843
1844 2005-05-09  Andy Wingo  <wingo@pobox.com>
1845
1846         * gst/gstiterator.h: Add some includes.
1847
1848         * gst/gstqueryutils.h: Include more headers.
1849
1850         * gst/gstpad.h:
1851         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
1852         some uses of gst_pad_query.
1853
1854         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
1855         NULL out parameters.
1856         (gst_query_new_position): New proc, allocates a new position
1857         query.
1858
1859         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
1860         gstqueryutils.c to the build.
1861
1862         * gst/gststructure.c (gst_structure_set_valist): Implement with
1863         the generic G_VALUE_COLLECT.
1864         
1865 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
1866
1867         * gst/Makefile.am: (gst_headers):
1868         Added gstqueryutils.h to the list of headers to install, that was
1869         a 'nachty' move wingo :)
1870
1871 2005-05-06  Andy Wingo  <wingo@pobox.com>
1872
1873         * gst/gstquery.h
1874         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
1875         GstData, init a memchunk.
1876         (standard_definitions): Add a few query types, deprecate a few.
1877         (gst_query_get_type): New proc.
1878         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
1879         implementation.
1880         (gst_query_new_application, gst_query_get_structure): New public
1881         procs.
1882
1883         * docs/design/draft-query.txt: Removed LINKS from the query types,
1884         because all the rest can be dispatched to other pads -- seemed
1885         ugly to have a query that couldn't be dispatched. internal_links
1886         is fine as a pad method.
1887
1888         * gst/gstpad.h: Add query2 as a pad method, add the new functions
1889         in gstpad.c, but maintain binary compatibility for the moment.
1890         Will fix before 0.9 is out.
1891
1892         * gst/gstqueryutils.c: 
1893         * gst/gstqueryutils.h: New files, implement 3 methods for each
1894         query type: parse_query, parse_response, and set. Probably need an
1895         allocator as well.
1896
1897         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
1898
1899         * gst/elements/gstfilesink.c (gst_filesink_query2):
1900         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
1901         query_types, and formats methods.
1902
1903         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
1904         (gst_pad_set_query2_function): New functions.
1905         (gst_real_pad_init): Set query2_default as the default query2
1906         function. Basically just dispatches to internally linked pads.
1907
1908         Needs review!
1909         
1910         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
1911         without using the atomic operations. Only one thread can possibly
1912         be accessing the data at this point. Changed so as to avoid
1913         gst_atomic operations.
1914
1915 2005-05-06  Wim Taymans  <wim@fluendo.com>
1916
1917         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
1918         Also set caps if we use the fallback buffer alloc.
1919
1920 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
1921
1922         * docs/gst/Makefile.am:
1923         * docs/gst/gstreamer-docs.sgml:
1924         * docs/gst/gstreamer-sections.txt:
1925         * docs/gst/tmpl/gstatomic.sgml:
1926         * docs/gst/tmpl/gstmemchunk.sgml:
1927         * testsuite/elements/struct_i386.h:
1928         * win32/GStreamer.vcproj:
1929         * win32/Makefile:
1930           Purge GstAtomic stuff from docs and win32 makefiles as well
1931
1932 2005-05-06  Wim Taymans  <wim@fluendo.com>
1933
1934         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
1935         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
1936         * gst/gstpad.c: (gst_pad_peer_get_caps):
1937         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
1938         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
1939         (gst_queue_src_activate), (gst_queue_change_state):
1940         * gst/gstqueue.h:
1941         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1942         (intersect_caps_func):
1943         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
1944         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
1945         Some fixes for the peer_get_caps() change.
1946
1947 2005-05-06  Wim Taymans  <wim@fluendo.com>
1948
1949         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1950         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
1951         (gst_basesink_activate):
1952         Actually do something with error codes returned from the push
1953         functions.
1954
1955 2005-05-06  Wim Taymans  <wim@fluendo.com>
1956
1957         * docs/design/part-element-sink.txt:
1958         * docs/design/part-element-source.txt:
1959         * gst/base/gstbasesink.c: (gst_basesink_class_init),
1960         (gst_basesink_event), (gst_basesink_activate):
1961         * gst/base/gstbasesink.h:
1962         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
1963         (gst_basesrc_activate):
1964         * gst/base/gstbasesrc.h:
1965         * gst/gstelement.c: (gst_element_pads_activate):
1966         Some more documentation.
1967         Fixed scheduling decision in _pads_activate().
1968
1969 2005-05-05  Andy Wingo  <wingo@pobox.com>
1970
1971         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
1972         the test suite.
1973
1974 2005-05-05  Wim Taymans  <wim@fluendo.com>
1975
1976         * gst/base/Makefile.am:
1977         * gst/base/gstbasesink.h:
1978         * gst/base/gstbasesrc.c: (gst_basesrc_init),
1979         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
1980         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
1981         (gst_collectpads_class_init), (gst_collectpads_init),
1982         (gst_collectpads_finalize), (gst_collectpads_new),
1983         (gst_collectpads_set_function), (gst_collectpads_add_pad),
1984         (find_pad), (gst_collectpads_remove_pad),
1985         (gst_collectpads_is_active), (gst_collectpads_collect),
1986         (gst_collectpads_collect_range), (gst_collectpads_start),
1987         (gst_collectpads_stop), (gst_collectpads_peek),
1988         (gst_collectpads_pop), (gst_collectpads_available),
1989         (gst_collectpads_read), (gst_collectpads_flush),
1990         (gst_collectpads_chain):
1991         * gst/base/gstcollectpads.h:
1992         * gst/elements/Makefile.am:
1993         * gst/elements/gstelements.c:
1994         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1995         (gst_fakesink_get_times), (gst_fakesink_event),
1996         (gst_fakesink_preroll), (gst_fakesink_render):
1997         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1998         (gst_filesink_init), (gst_filesink_set_location),
1999         (gst_filesink_open_file), (gst_filesink_close_file),
2000         (gst_filesink_pad_query), (gst_filesink_event),
2001         (gst_filesink_render), (gst_filesink_change_state):
2002         * gst/elements/gstfilesink.h:
2003         Added object to help in making collect pad based elements.
2004         Ported filesink.
2005         Make event function in sink baseclass return gboolean.
2006
2007 2005-05-05  Wim Taymans  <wim@fluendo.com>
2008
2009         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
2010         (gst_bin_get_by_name):
2011         * gst/gstbuffer.h:
2012         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
2013         (gst_clock_finalize):
2014         * gst/gstdata.c: (gst_data_replace):
2015         * gst/gstdata.h:
2016         * gst/gstelement.c: (gst_element_request_pad),
2017         (gst_element_pads_activate):
2018         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
2019         (gst_object_unref):
2020         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2021         (gst_pad_set_checkgetrange_function),
2022         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
2023         (gst_pad_check_pull_range), (gst_pad_pull_range),
2024         (gst_static_pad_template_get_caps), (gst_pad_start_task),
2025         (gst_pad_pause_task), (gst_pad_stop_task):
2026         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2027         (gst_element_request_pad), (gst_pad_proxy_getcaps):
2028         Fix name lookup in GstBin.
2029         Added _data_replace() function and _buffer_replace()
2030         Use finalize method to clean up clock.
2031         Fix refcounting on request pads.
2032         Fix pad schedule mode error.
2033         Some more object refcounting debug info,
2034
2035
2036 2005-05-04  Andy Wingo <wingo@pobox.com>
2037
2038         * check/Makefile.am:
2039         * docs/gst/tmpl/gstatomic.sgml:
2040         * docs/gst/tmpl/gstplugin.sgml:
2041         * gst/base/gstbasesink.c: (gst_basesink_activate):
2042         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
2043         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
2044         (gst_basesrc_query), (gst_basesrc_set_property),
2045         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
2046         (gst_basesrc_activate):
2047         * gst/base/gstbasesrc.h:
2048         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
2049         (gst_base_transform_src_activate):
2050         * gst/elements/gstelements.c:
2051         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2052         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
2053         * gst/elements/gsttee.c: (gst_tee_sink_activate):
2054         * gst/elements/gsttypefindelement.c: (find_element_get_length),
2055         (gst_type_find_element_checkgetrange),
2056         (gst_type_find_element_activate):
2057         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
2058         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
2059         (gst_caps_load_thyself):
2060         * gst/gstelement.c: (gst_element_pads_activate),
2061         (gst_element_save_thyself), (gst_element_restore_thyself):
2062         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
2063         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
2064         * gst/gstpad.h:
2065         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
2066         (gst_xml_parse_file), (gst_xml_parse_memory),
2067         (gst_xml_get_element), (gst_xml_make_element):
2068         * gst/indexers/gstfileindex.c: (gst_file_index_load),
2069         (_file_index_id_save_xml), (gst_file_index_commit):
2070         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
2071         (read_enum), (load_pad_template), (load_feature), (load_plugin),
2072         (load_paths):
2073         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
2074         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
2075         * tools/gst-complete.c: (main):
2076         * tools/gst-compprep.c: (main):
2077         * tools/gst-inspect.c: (print_element_properties_info):
2078         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
2079         * tools/gst-xmlinspect.c: (print_element_properties):
2080         GCC 4 fixen.
2081         
2082 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2083
2084         * gst/gstplugin.c: (gst_plugin_check_module),
2085         (gst_plugin_check_file), (gst_plugin_load_file):
2086             apply patch from #172526 to make register work on MacOSX
2087
2088 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2089
2090         * docs/gst/tmpl/gstconfig.sgml:
2091         * gst/gstconfig.h.in:
2092           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
2093         * testsuite/debug/printf_extension.c: (main):
2094           Do not use GST_PTR_FORMAT on pointers to types with
2095           sizeof < sizeof(gpointer).  Fixes test on 64-bit
2096         * testsuite/elements/property.h:
2097           use correct printf format
2098
2099 2005-05-02  Wim Taymans  <wim@fluendo.com>
2100
2101         * docs/design/draft-push-pull.txt:
2102         * docs/design/draft-query.txt:
2103         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
2104         (gst_basesrc_start):
2105         Added draft for new query API.
2106         Added draft for better selecting scheduling methods.
2107         Make basesrc ignore length if the subclass does not support
2108         it.
2109
2110 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2111
2112         * gst/Makefile.am:
2113           possible fixes for automake-1.5 - _LIBADD is reserved
2114
2115 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2116
2117         * docs/faq/Makefile.am:
2118         * docs/manual/Makefile.am:
2119         * docs/manuals.mak:
2120         * docs/pwg/Makefile.am:
2121         * gst/Makefile.am:
2122           possible fixes for automake-1.5
2123
2124 2005-04-28  Wim Taymans  <wim@fluendo.com>
2125
2126         * gst/base/gstbasesink.c: (gst_basesink_base_init),
2127         (gst_basesink_pad_getcaps), (gst_basesink_init),
2128         (gst_basesink_do_sync):
2129         * gst/gstclock.c: (gst_clock_entry_new):
2130         * gst/gstevent.c: (gst_event_discont_get_value):
2131         * gst/gstpipeline.c: (pipeline_bus_handler),
2132         (gst_pipeline_change_state):
2133         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
2134         Better debugging of clocking info.
2135         Allow NULL values when getting discont values.
2136
2137 2005-04-27  Wim Taymans  <wim@fluendo.com>
2138
2139         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
2140         * check/gst/gstpad.c: (gst_pad_suite):
2141         Increase timeout for checks.
2142
2143 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2144
2145         * check/Makefile.am:
2146           fix the broken rule for cleanup.  Apparently this rule is
2147           only needed on FC2, so maybe this warrants further autotool
2148           inspection.
2149
2150 2005-04-26  Wim Taymans  <wim@fluendo.com>
2151
2152         * gst/gsttrashstack.h:
2153         Ooohh. a nasty one! After having a failed pop() from the stack,
2154         it's possible that the stack is empty. In that case, don't
2155         follow the NULL pointer.
2156
2157 2005-04-25  Wim Taymans  <wim@fluendo.com>
2158
2159         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2160         (gst_pad_set_checkgetrange_function),
2161         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
2162         (gst_pad_check_pull_range), (gst_pad_pull_range),
2163         (gst_static_pad_template_get_caps), (gst_pad_start_task),
2164         (gst_pad_pause_task), (gst_pad_stop_task):
2165         * gst/gstplugin.c: (gst_plugin_load):
2166         * gst/gstplugin.h:
2167         Remove gst_library_load as it does more harm than good with
2168         the new g_module flags.
2169         Revert bogus caps template check in pad linking, pad caps
2170         are important when linking not the template, which is more
2171         general than the current caps.
2172
2173 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2174
2175         * gst/autoplug/.cvsignore:
2176         * gst/autoplug/Makefile.am:
2177         * gst/autoplug/gstsearchfuncs.c:
2178         * gst/autoplug/gstsearchfuncs.h:
2179         * gst/autoplug/gstspider.c:
2180         * gst/autoplug/gstspider.h:
2181         * gst/autoplug/gstspideridentity.c:
2182         * gst/autoplug/gstspideridentity.h:
2183         * gst/autoplug/spidertest.c:
2184           Die, spider, die.
2185
2186 2005-04-25  Wim Taymans  <wim@fluendo.com>
2187
2188         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2189         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
2190         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
2191         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
2192         * gst/gstpad.h:
2193         Added stubs for unimplemented functions. 
2194
2195 2005-04-24  David Schleef  <ds@schleef.org>
2196
2197         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
2198         please fix.
2199
2200 2005-04-24  David Schleef  <ds@schleef.org>
2201
2202         Convert everything from GstAtomicInt to g_atomic_int_*, and
2203         remove gstatomic.
2204         * gst/Makefile.am:
2205         * gst/gstatomic.c:
2206         * gst/gstatomic.h:
2207         * gst/gstatomic_impl.h:
2208         * gst/gstbuffer.c:
2209         * gst/gstcaps.c:
2210         * gst/gstcaps.h:
2211         * gst/gstclock.c:
2212         * gst/gstclock.h:
2213         * gst/gstdata.c:
2214         * gst/gstdata.h:
2215         * gst/gstdata_private.h:
2216         * gst/gstevent.c:
2217         * gst/gstinfo.c:
2218         * gst/gstinfo.h:
2219         * gst/gstmessage.c:
2220         * gst/gstobject.c:
2221         * gst/gstobject.h:
2222         * gst/gststructure.c:
2223         * gst/gststructure.h:
2224         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
2225         * gst/gstutils.h:
2226
2227 2005-04-24  David Schleef  <ds@schleef.org>
2228
2229         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
2230         make the regressions tests work.  Remove some code that is no
2231         longer true.
2232         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
2233         Disable warning for pads without templates.
2234
2235 2005-04-24  David Schleef  <ds@schleef.org>
2236
2237         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
2238         functions that handle filtered links.
2239         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
2240         removed functions.
2241         * gst/gstutils.c: Fix/remove utility functions that handle
2242         filtered caps.
2243         * gst/gstutils.h:
2244         * gst/gstvalue.c: Add serialization/deserialization of caps
2245         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
2246         requires fixing so that the filter caps notation creates
2247         a capsfilter element and sets the filter_caps property.  I
2248         think everyone probably wants to keep the shorthand notation.
2249         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
2250         * docs/gst/tmpl/gstpad.sgml:
2251
2252         * gst/elements/gstelements.c: Register capsfilter element.
2253         * gst/Makefile.am: fix spacing
2254         * docs/random/ds/0.9-suggested-changes: random
2255
2256 2005-04-23  David Schleef  <ds@schleef.org>
2257
2258         * gst/elements/Makefile.am:
2259         * gst/elements/gstcapsfilter.c: New element that acts like an
2260         identity, but filters caps.  Will eventually replace filtered
2261         caps in pad linking.
2262         * gst/gstutils.c: (gst_element_create_all_pads): New function
2263         to create all the ALWAYS pads that are registered with an
2264         element class.  This functionality should eventually be
2265         merged in with GstElement initialization.
2266         * gst/gstutils.h:
2267         * testsuite/trigger/README: part of trigger test code that should
2268         have been checked in a long time ago.
2269
2270 2005-04-23  David Schleef  <ds@schleef.org>
2271
2272         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
2273         needed with new versions of libtool (nobody will confirm this),
2274         and hard to carry around.
2275         * gst/autoplug/Makefile.am:
2276         * gst/base/Makefile.am:
2277         * gst/elements/Makefile.am:
2278         * gst/indexers/Makefile.am:
2279         * gst/schedulers/Makefile.am:
2280         * libs/gst/bytestream/Makefile.am:
2281         * libs/gst/control/Makefile.am:
2282         * libs/gst/dataprotocol/Makefile.am:
2283         * libs/gst/getbits/Makefile.am:
2284
2285 2005-04-21  Wim Taymans  <wim@fluendo.com>
2286
2287         * docs/design/draft-push-pull.txt:
2288         * docs/design/part-MT-refcounting.txt:
2289         * docs/design/part-TODO.txt:
2290         * docs/design/part-caps.txt:
2291         * docs/design/part-events.txt:
2292         * docs/design/part-gstbus.txt:
2293         * docs/design/part-gstpipeline.txt:
2294         * docs/design/part-messages.txt:
2295         * docs/design/part-push-pull.txt:
2296         * docs/design/part-query.txt:
2297         Some more docs.
2298
2299 2005-04-21  Wim Taymans  <wim@fluendo.com>
2300
2301         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
2302         (gst_message_new), (gst_message_new_error),
2303         (gst_message_new_warning), (gst_message_new_tag),
2304         (gst_message_new_state_changed), (gst_message_new_application),
2305         (gst_message_get_structure):
2306         * gst/gstmessage.h:
2307         * gst/gststructure.c: (gst_structure_set_parent_refcount),
2308         (gst_structure_copy_conditional):
2309         Use parent refcount in GstMessage to ensure GstStructure
2310         consistency.
2311         Cleaned up headers a bit.
2312         
2313
2314 2005-04-20  Wim Taymans  <wim@fluendo.com>
2315
2316         * gst/base/gstbasesink.c: (gst_basesink_base_init),
2317         (gst_basesink_pad_getcaps), (gst_basesink_init),
2318         (gst_basesink_chain_unlocked):
2319         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
2320         (gst_type_find_helper):
2321         * gst/elements/gsttypefindelement.c:
2322         (gst_type_find_element_have_type), (gst_type_find_element_init),
2323         (stop_typefinding), (gst_type_find_element_handle_event),
2324         (find_suggest), (gst_type_find_element_chain),
2325         (gst_type_find_element_checkgetrange),
2326         (gst_type_find_element_getrange), (do_typefind),
2327         (gst_type_find_element_activate):
2328         * gst/gstbuffer.c: (_gst_buffer_sub_free),
2329         (gst_buffer_default_free), (gst_buffer_default_copy),
2330         (gst_buffer_set_caps):
2331         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
2332         (gst_caps_replace):
2333         * gst/gstmessage.c: (gst_message_new),
2334         (gst_message_new_state_changed):
2335         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2336         (gst_pad_set_checkgetrange_function),
2337         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
2338         (gst_pad_set_caps), (gst_pad_check_pull_range),
2339         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
2340         * gst/gstpad.h:
2341         * gst/gsttypefind.c: (gst_type_find_register):
2342         Make gst_caps_replace() work like other _replace() functions.
2343         Use _caps_replace() where possible.
2344         Make sure _message_new() initialises its field.
2345         Add gst_static_pad_template_get_caps()
2346
2347
2348 2005-04-18  Andy Wingo  <wingo@pobox.com>
2349
2350         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
2351         on the peer, not the pad. I think that was a typo. Pass an extra
2352         arg to see if random access is possible. Activate the pads as
2353         PULL_RANGE if possible.
2354
2355         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
2356
2357         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
2358         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
2359         to PROP_....
2360
2361 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2362
2363         * docs/faq/using.xml:
2364           Add note on gstreamer-properties (#154996).
2365
2366 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2367
2368         * docs/random/bbb/optional-properties:
2369           Some analysis on optional properties.
2370
2371 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2372
2373         * docs/gst/tmpl/gstelementfactory.sgml:
2374         * gst/gstelement.h:
2375         * gst/gstelementfactory.c: (gst_element_factory_init),
2376         (gst_element_factory_cleanup), (gst_element_register),
2377         (__gst_element_factory_add_static_pad_template),
2378         (gst_element_factory_get_static_pad_templates),
2379         (gst_element_factory_can_src_caps),
2380         (gst_element_factory_can_sink_caps):
2381         * gst/registries/Makefile.am:
2382         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
2383         (gst_xml_registry_class_init), (gst_xml_registry_init),
2384         (gst_xml_registry_new), (gst_xml_registry_set_property),
2385         (gst_xml_registry_get_property), (get_time), (make_dir),
2386         (gst_xml_registry_get_perms_func),
2387         (plugin_times_older_than_recurse), (plugin_times_older_than),
2388         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
2389         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
2390         (add_to_char_array), (read_string), (read_uint), (read_enum),
2391         (load_pad_template), (load_feature), (load_plugin), (load_paths),
2392         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
2393         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
2394         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
2395         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
2396         (gst_xml_registry_rebuild):
2397         * gst/registries/gstlibxmlregistry.h:
2398         * tools/gst-compprep.c: (main):
2399         * tools/gst-inspect.c: (print_pad_templates_info):
2400         * tools/gst-xmlinspect.c: (print_element_info):
2401           Use libxml2 for registry parsing, use staticpadtemplates in
2402           elementfactories. Makes gst_init() +/- 10x faster.
2403
2404 2005-04-12  Wim Taymans  <wim@fluendo.com>
2405
2406         * gst/base/Makefile.am:
2407         * gst/base/gstbasesink.c: (gst_basesink_base_init),
2408         (gst_basesink_pad_getcaps), (gst_basesink_init),
2409         (gst_basesink_event), (gst_basesink_change_state):
2410         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
2411         (gst_basesrc_init), (gst_basesrc_query),
2412         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
2413         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
2414         (gst_basesrc_check_get_range), (gst_basesrc_loop),
2415         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
2416         (gst_basesrc_stop), (gst_basesrc_activate),
2417         (gst_basesrc_change_state):
2418         * gst/base/gsttypefindhelper.c: (helper_find_peek),
2419         (helper_find_suggest), (gst_type_find_helper):
2420         * gst/base/gsttypefindhelper.h:
2421         * gst/elements/Makefile.am:
2422         * gst/elements/gstelements.c:
2423         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
2424         (gst_fakesink_get_times), (gst_fakesink_event),
2425         (gst_fakesink_preroll), (gst_fakesink_render):
2426         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2427         (gst_fakesrc_init), (gst_fakesrc_event_handler),
2428         (gst_fakesrc_get_property), (gst_fakesrc_create),
2429         (gst_fakesrc_start), (gst_fakesrc_stop):
2430         * gst/elements/gstfakesrc.h:
2431         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
2432         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
2433         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
2434         (gst_filesrc_create_read), (gst_filesrc_create),
2435         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
2436         (gst_filesrc_start):
2437         * gst/elements/gsttypefindelement.c:
2438         (gst_type_find_element_have_type), (gst_type_find_element_init),
2439         (start_typefinding), (stop_typefinding), (push_buffer_store),
2440         (gst_type_find_element_handle_event),
2441         (gst_type_find_element_chain),
2442         (gst_type_find_element_checkgetrange),
2443         (gst_type_find_element_getrange), (do_typefind),
2444         (gst_type_find_element_activate),
2445         (gst_type_find_element_change_state):
2446         * gst/elements/gsttypefindelement.h:
2447         * gst/gstpipeline.c: (pipeline_bus_handler):
2448         Added typefind helper.
2449         Small preroll fix in the base sink.
2450         Disable typefind code in basesrc.
2451         Crude port of typefindelement.
2452         Fakesrc cleanups.
2453
2454
2455 2005-04-11  Wim Taymans  <wim@fluendo.com>
2456
2457         * check/gst/gstbus.c: (gstbus_suite):
2458         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
2459         * check/gstcheck.h:
2460           Fix up the timeout so that the test does not fail.
2461
2462 2005-04-06  Wim Taymans  <wim@fluendo.com>
2463
2464         * gst/base/README:
2465         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
2466         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
2467         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
2468         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
2469         (gst_basesrc_check_get_range), (gst_basesrc_loop),
2470         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
2471         (gst_basesrc_stop), (gst_basesrc_activate),
2472         (gst_basesrc_change_state), (basesrc_find_peek),
2473         (basesrc_find_suggest), (gst_basesrc_type_find):
2474         * gst/base/gstbasesrc.h:
2475         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
2476         (gst_filesrc_class_init), (gst_filesrc_init),
2477         (gst_filesrc_finalize), (gst_filesrc_set_location),
2478         (gst_filesrc_set_property), (gst_filesrc_get_property),
2479         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
2480         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
2481         (gst_filesrc_create_read), (gst_filesrc_create),
2482         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
2483         * gst/elements/gstfilesrc.h:
2484         * gst/gstelement.c: (gst_element_get_state_func),
2485         (gst_element_lost_state), (gst_element_pads_activate):
2486         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2487         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
2488         (gst_pad_pull_range):
2489         * gst/gstpad.h:
2490         More work on the generic source base class, implement seeking,
2491         query.
2492         Make filesrc extend the base source class.
2493         Added gst_pad_set_checkgetrange_function to GstPad.
2494
2495 2005-04-06  Andy Wingo  <wingo@pobox.com>
2496
2497         * pkgconfig/gstreamer-base.pc.in:
2498         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
2499
2500         * pkgconfig/Makefile.am:
2501         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
2502
2503 2005-04-04  Wim Taymans  <wim@fluendo.com>
2504
2505         * gst/base/Makefile.am:
2506         * gst/base/README:
2507         * gst/base/gstbasesink.c: (gst_basesink_base_init),
2508         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
2509         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
2510         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
2511         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
2512         (gst_basesrc_base_init), (gst_basesrc_class_init),
2513         (gst_basesrc_init), (gst_basesrc_get_formats),
2514         (gst_basesrc_get_query_types), (gst_basesrc_query),
2515         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
2516         (gst_basesrc_set_property), (gst_basesrc_get_property),
2517         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
2518         (gst_basesrc_loop), (gst_basesrc_activate),
2519         (gst_basesrc_change_state):
2520         * gst/base/gstbasesrc.h:
2521         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
2522         (gst_fakesrc_class_init), (gst_fakesrc_init),
2523         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
2524         (gst_fakesrc_get_property), (gst_fakesrc_create):
2525         * gst/elements/gstfakesrc.h:
2526         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
2527         (gst_filesrc_open_file), (gst_filesrc_loop),
2528         (gst_filesrc_activate), (filesrc_find_peek),
2529         (gst_filesrc_type_find):
2530         Made base source class, make fakesrc extend it.
2531         Add comments to basesink class.
2532         Some filesrc cleanup.
2533
2534 2005-03-31  David Schleef  <ds@schleef.org>
2535
2536         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
2537         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
2538         expected to link against libgstreamer.
2539         * gst/base/Makefile.am: link against libgstreamer
2540         * gst/elements/Makefile.am: same
2541
2542 2005-03-31  Andy Wingo  <wingo@pobox.com>
2543
2544         * tests/instantiate/Makefile.am:
2545         * tests/instantiate/caps.c: Add test to test speed of caps copy
2546         and free.
2547
2548         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
2549         GMemChunk to be fair.
2550
2551         * gst/gsttrashstack.h: Remove warning about using the fallback
2552         trash stack implementation, it's still faster than malloc.
2553
2554 2005-03-30  Andy Wingo  <wingo@pobox.com>
2555
2556         * tests/complexity.c: Add a copyright.
2557
2558 2005-03-31  Wim Taymans  <wim@fluendo.com>
2559
2560         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
2561         (gst_base_transform_class_init), (gst_base_transform_init),
2562         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
2563         (gst_base_transform_get_property),
2564         (gst_base_transform_sink_activate),
2565         (gst_base_transform_src_activate),
2566         (gst_base_transform_change_state):
2567         * gst/base/gstbasetransform.h:
2568         * gst/elements/gstidentity.c: (gst_identity_class_init),
2569         (gst_identity_event), (gst_identity_check_perfect),
2570         (gst_identity_transform), (gst_identity_start),
2571         (gst_identity_stop):
2572         Added start/stop methods to transform base class so subclasses 
2573         don't need to deal with state changes even.
2574
2575 2005-03-31  Wim Taymans  <wim@fluendo.com>
2576
2577         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
2578         (gst_event_new_discontinuous), (gst_event_discont_get_value):
2579         * gst/gstevent.h:
2580         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2581         (gst_pad_pull_range):
2582         Added rate to the discont event to prepare for variable speed
2583         and reverse playback.
2584
2585 2005-03-29  David Schleef  <ds@schleef.org>
2586
2587         * configure.ac:
2588         * testsuite/trigger/Makefile.am:
2589         * testsuite/trigger/trigger.c: A little example program to show
2590         how trigger-based elements can work.
2591
2592 2005-03-29  Wim Taymans  <wim@fluendo.com>
2593
2594         * gst/base/Makefile.am:
2595         * gst/base/README:
2596         * gst/base/gstbasesink.c: (gst_basesink_get_type),
2597         (gst_basesink_base_init), (gst_basesink_class_init),
2598         (gst_basesink_pad_getcaps), (gst_basesink_init),
2599         (gst_basesink_activate), (gst_basesink_change_state):
2600         * gst/base/gstbasesink.h:
2601         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
2602         (gst_base_transform_base_init), (gst_base_transform_finalize),
2603         (gst_base_transform_class_init), (gst_base_transform_init),
2604         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
2605         (gst_base_transform_event), (gst_base_transform_getrange),
2606         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
2607         (gst_base_transform_set_property),
2608         (gst_base_transform_get_property),
2609         (gst_base_transform_sink_activate),
2610         (gst_base_transform_src_activate),
2611         (gst_base_transform_change_state):
2612         * gst/base/gstbasetransform.h:
2613         * gst/elements/gstidentity.c: (gst_identity_finalize),
2614         (gst_identity_class_init), (gst_identity_init),
2615         (gst_identity_event), (gst_identity_check_perfect),
2616         (gst_identity_transform), (gst_identity_set_property),
2617         (gst_identity_get_property), (gst_identity_change_state):
2618         * gst/elements/gstidentity.h:
2619         * gst/gstelement.c: (gst_element_get_state_func),
2620         (gst_element_lost_state), (gst_element_pads_activate):
2621         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2622         (gst_pad_check_pull_range), (gst_pad_pull_range):
2623         * gst/gstpad.h:
2624         Simplify pad activation.
2625         Added function to check if pull_range can be performed.
2626         Error out when pulling inactive or flushing pads.
2627         Removed const from refcounted types as it does not make sense.
2628         Simplify pad templates in basesink
2629         Added base class for simple 1-to-1 transforms.
2630         Make identity subclass the base transform.
2631
2632 2005-03-29  Andy Wingo  <wingo@pobox.com>
2633
2634         * docs/libs/gstreamer-libs-overrides.txt: 
2635         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
2636         really don't understand what's going on, but like whatever. I want
2637         green buildbot!
2638
2639         * docs/gst/Makefile.am:
2640         * docs/libs/Makefile.am: Dist the overrides files.
2641
2642         * check/Makefile.am (clean-local): Remove .libs directories.
2643
2644         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
2645         elements to EXTRA_DIST, so po/ files are happy.
2646
2647         * po/POTFILES.in: Er, remove it here.
2648
2649         * po/POTFILES: Remove gstspider.c.
2650
2651         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
2652
2653         * docs/libs/gstreamer-libs-docs.sgml: 
2654         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
2655         bytestream.
2656
2657         * tests/complexity.c (main): Set the length of the preroll queue
2658         on the sinks to prevent a lockup.
2659
2660         * libs/gst/dataprotocol/Makefile.am: 
2661         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
2662         the same as the one in check/gst-libs/gdp.c.
2663
2664         * po/, docs/gst/: Commit automatic changes to docs and po files.
2665
2666         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
2667         the versioned libgstbase.
2668
2669         * check/Makefile.am: Depend on an unversioned gst-register, seems
2670         to make autoconf happier.
2671
2672         * gst/base/Makefile.am: Make libgstbase a versioned lib.
2673
2674 2005-03-28  Wim Taymans  <wim@fluendo.com>
2675
2676         * configure.ac:
2677         * docs/design/part-gstelement.txt:
2678         * docs/design/part-negotiation.txt:
2679         * docs/design/part-preroll.txt:
2680         * docs/design/part-scheduling.txt:
2681         * docs/design/part-states.txt:
2682         * gst/Makefile.am:
2683         * gst/base/Makefile.am:
2684         * gst/base/README:
2685         * gst/base/gstbasesink.c: (gst_basesink_get_template),
2686         (gst_basesink_base_init), (gst_basesink_class_init),
2687         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
2688         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
2689         (gst_basesink_set_pad_functions),
2690         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
2691         (gst_basesink_set_property), (gst_basesink_get_property),
2692         (gst_base_sink_get_template), (gst_base_sink_get_caps),
2693         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
2694         (gst_basesink_preroll_queue_push),
2695         (gst_basesink_preroll_queue_empty),
2696         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
2697         (gst_basesink_event), (gst_basesink_get_times),
2698         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
2699         (gst_basesink_chain_unlocked), (gst_basesink_chain),
2700         (gst_basesink_loop), (gst_basesink_activate),
2701         (gst_basesink_change_state):
2702         * gst/base/gstbasesink.h:
2703         * gst/elements/Makefile.am:
2704         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
2705         (gst_fakesink_class_init), (gst_fakesink_init),
2706         (gst_fakesink_set_property), (gst_fakesink_get_property),
2707         (gst_fakesink_get_times), (gst_fakesink_event),
2708         (gst_fakesink_preroll), (gst_fakesink_render),
2709         (gst_fakesink_change_state):
2710         * gst/elements/gstfakesink.h:
2711         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
2712         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
2713         * gst/gstelement.c: (gst_element_add_pad),
2714         (gst_element_get_state_func), (gst_element_abort_state),
2715         (gst_element_commit_state), (gst_element_lost_state),
2716         (gst_element_set_state), (gst_element_pads_activate):
2717         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
2718         * gst/gstpipeline.c: (gst_pipeline_send_event),
2719         (gst_pipeline_change_state):
2720         Added state change code.
2721         Added/updated docs.
2722         Added sink base class, make fakesink extend the base class.
2723         Small cleanups in GstPipeline.
2724
2725 2005-03-26  David Schleef  <ds@schleef.org>
2726
2727         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
2728         is broken and should be implemented in a different library.
2729         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
2730         * gst/gst.h: remove gstcpu.h
2731         * gst/gstcpu.c: remove
2732         * gst/gstcpu.h: remove
2733         * gst/Makefile.am.future: Remove this file.  It's ancient.
2734
2735 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2736
2737         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
2738         (gst_bin_send_event):
2739           Add default event/set_manager handlers. The set_manager handler
2740           takes care that the manager is distributed over kids that were
2741           already in the bin before the manager was set. The event handler
2742           is a utility virtual function that sends the event over all sinks,
2743           so that gst_element_send_event (bin, event); has the expected
2744           behaviour.
2745         * gst/gstpad.c: (gst_pad_event_default):
2746           Re-install default event handling for discontinuities, so that
2747           seeking works without requiring hacks in applications or extra
2748           code in sinks.
2749         * gst/gstpipeline.c: (gst_pipeline_class_init),
2750         (gst_pipeline_send_event):
2751           Half hack, half utility: set a pipeline to PAUSED for seek events,
2752           since that is the only way we can guarantee a/v sync. Means that
2753           you can do gst_element_seek (pipeline, method, pos); on a pipeline
2754           and it "just works".
2755
2756 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2757
2758         * gst/gstpipeline.c: (gst_pipeline_use_clock):
2759           Lock/unlock mismatch.
2760
2761 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
2762
2763         * docs/faq/gst-uninstalled:
2764           add gst-plugins-base
2765         * docs/gst/Makefile.am:
2766           don't error out until docs are fixed
2767         * docs/gst/gstreamer.types:
2768           remove thread
2769
2770 2005-03-22  Wim Taymans  <wim@fluendo.com>
2771
2772         * check/Makefile.am:
2773         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
2774         * gst/gststructure.c: (gst_structure_set_valist),
2775         (gst_structure_copy_conditional):
2776         Activated more tests.
2777         Added message test.
2778         Added G_TYPE_POINTER to GstStructure.
2779         
2780
2781 2005-03-22  Wim Taymans  <wim@fluendo.com>
2782
2783         * docs/design/part-TODO.txt:
2784         * docs/design/part-events.txt:
2785         * docs/design/part-gstbin.txt:
2786         * docs/design/part-gstbus.txt:
2787         * docs/design/part-gstpipeline.txt:
2788         * docs/design/part-messages.txt:
2789         * gst/gstbus.c:
2790         * gst/gstmessage.c:
2791         Docs updates
2792
2793 2005-03-21  Wim Taymans  <wim@fluendo.com>
2794
2795         * gst/gstbus.c: (gst_bus_post):
2796         Fix copy-and-paste error.
2797
2798 2005-03-21  Wim Taymans  <wim@fluendo.com>
2799
2800         * check/Makefile.am:
2801         * gst/Makefile.am:
2802         * gst/elements/Makefile.am:
2803         * gst/elements/gstelements.c:
2804         * gst/elements/gstfakesink.c: (gst_fakesink_init),
2805         (gst_fakesink_event), (gst_fakesink_chain):
2806         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2807         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
2808         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
2809         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
2810         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
2811         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
2812         (gst_fakesrc_loop), (gst_fakesrc_activate),
2813         (gst_fakesrc_change_state):
2814         * gst/elements/gstfakesrc.h:
2815         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
2816         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
2817         (gst_filesrc_open_file), (gst_filesrc_loop),
2818         (gst_filesrc_activate), (gst_filesrc_change_state),
2819         (filesrc_find_peek), (filesrc_find_suggest),
2820         (gst_filesrc_type_find):
2821         * gst/elements/gstidentity.c: (gst_identity_finalize),
2822         (gst_identity_class_init), (gst_identity_init),
2823         (gst_identity_proxy_getcaps), (identity_queue_push),
2824         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
2825         (gst_identity_getrange), (gst_identity_chain),
2826         (gst_identity_sink_loop), (gst_identity_src_loop),
2827         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
2828         (gst_identity_set_property), (gst_identity_get_property),
2829         (gst_identity_change_state):
2830         * gst/elements/gstidentity.h:
2831         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2832         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
2833         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
2834         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
2835         (gst_tee_sink_activate):
2836         * gst/elements/gsttee.h:
2837         * gst/gst.c: (gst_register_core_elements), (init_post):
2838         * gst/gst.h:
2839         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
2840         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
2841         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
2842         (gst_bin_change_state):
2843         * gst/gstbin.h:
2844         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
2845         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
2846         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
2847         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
2848         (gst_bus_set_sync_handler), (gst_bus_create_watch),
2849         (bus_watch_callback), (bus_watch_destroy),
2850         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
2851         (poll_timeout), (gst_bus_poll):
2852         * gst/gstbus.h:
2853         * gst/gstcaps.h:
2854         * gst/gstdata.h:
2855         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
2856         (gst_element_post_message), (gst_element_message_full),
2857         (gst_element_get_state_func), (gst_element_get_state),
2858         (gst_element_abort_state), (gst_element_commit_state),
2859         (gst_element_lost_state), (gst_element_set_state),
2860         (gst_element_pads_activate), (gst_element_change_state),
2861         (gst_element_dispose), (gst_element_set_manager_func),
2862         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
2863         (gst_element_set_manager), (gst_element_get_manager),
2864         (gst_element_set_bus), (gst_element_get_bus),
2865         (gst_element_set_scheduler), (gst_element_get_scheduler):
2866         * gst/gstelement.h:
2867         * gst/gstevent.c: (gst_event_new_segment_seek),
2868         (gst_event_new_flush):
2869         * gst/gstevent.h:
2870         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
2871         (_gst_message_free), (gst_message_get_type), (gst_message_new),
2872         (gst_message_new_eos), (gst_message_new_error),
2873         (gst_message_new_warning), (gst_message_new_tag),
2874         (gst_message_new_state_changed), (gst_message_new_application),
2875         (gst_message_get_structure), (gst_message_parse_tag),
2876         (gst_message_parse_state_changed), (gst_message_parse_error),
2877         (gst_message_parse_warning):
2878         * gst/gstmessage.h:
2879         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
2880         (gst_real_pad_set_property), (gst_pad_set_active),
2881         (gst_pad_is_active), (gst_pad_set_blocked_async),
2882         (gst_pad_set_blocked), (gst_pad_is_blocked),
2883         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
2884         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
2885         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
2886         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
2887         (gst_pad_link_filtered), (gst_pad_relink_filtered),
2888         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
2889         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
2890         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
2891         (gst_pad_set_caps), (gst_pad_configure_sink),
2892         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
2893         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
2894         (gst_real_pad_dispose), (gst_real_pad_finalize),
2895         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
2896         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2897         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
2898         * gst/gstpad.h:
2899         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
2900         (pipeline_bus_handler), (gst_pipeline_change_state),
2901         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
2902         * gst/gstpipeline.h:
2903         * gst/gstprobe.h:
2904         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
2905         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
2906         (gst_queue_link_src), (gst_queue_bufferalloc),
2907         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2908         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
2909         (gst_queue_loop), (gst_queue_handle_src_event),
2910         (gst_queue_handle_src_query), (gst_queue_src_activate),
2911         (gst_queue_change_state):
2912         * gst/gstqueue.h:
2913         * gst/gstscheduler.c: (gst_scheduler_init),
2914         (gst_scheduler_dispose), (gst_scheduler_create_task),
2915         (gst_scheduler_factory_create):
2916         * gst/gstscheduler.h:
2917         * gst/gststructure.c: (gst_structure_get_type),
2918         (gst_structure_copy_conditional):
2919         * gst/gststructure.h:
2920         * gst/gsttaginterface.h:
2921         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
2922         (gst_task_init), (gst_task_dispose), (gst_task_create),
2923         (gst_task_get_state), (gst_task_start), (gst_task_stop),
2924         (gst_task_pause):
2925         * gst/gsttask.h:
2926         * gst/gstthread.c:
2927         * gst/gstthread.h:
2928         * gst/gsttypes.h:
2929         * gst/schedulers/Makefile.am:
2930         * gst/schedulers/cothreads_compat.h:
2931         * gst/schedulers/entryscheduler.c:
2932         * gst/schedulers/faircothreads.c:
2933         * gst/schedulers/faircothreads.h:
2934         * gst/schedulers/fairscheduler.c:
2935         * gst/schedulers/gstbasicscheduler.c:
2936         * gst/schedulers/gstoptimalscheduler.c:
2937         * gst/schedulers/gthread-cothreads.h:
2938         * gst/schedulers/threadscheduler.c:
2939         (gst_thread_scheduler_task_get_type),
2940         (gst_thread_scheduler_task_class_init),
2941         (gst_thread_scheduler_task_init),
2942         (gst_thread_scheduler_task_start),
2943         (gst_thread_scheduler_task_stop),
2944         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
2945         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2946         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
2947         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
2948         (plugin_init):
2949         * libs/gst/Makefile.am:
2950         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
2951         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
2952         (gst_file_pad_parent_set):
2953         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
2954         (gst_dp_event_from_packet):
2955         * tests/complexity.c: (main):
2956         * tests/mass_elements.c: (main):
2957         * testsuite/states/locked.c: (message_received), (main):
2958         * testsuite/states/parent.c: (main):
2959         * tools/gst-inspect.c: (print_element_flag_info),
2960         (print_implementation_info), (print_pad_info):
2961         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
2962         (main):
2963         * tools/gst-md5sum.c: (event_loop), (main):
2964         * tools/gst-typefind.c: (main):
2965         * tools/gst-xmlinspect.c: (print_element_info):
2966         Next big merge.
2967         Added GstBus for mainloop integration.
2968         Added GstMessage for sending notifications on the bus.
2969         Added GstTask as an abstraction for pipeline entry points.
2970         Removed GstThread.
2971         Removed Schedulers.
2972         Simplified GstQueue for multithreaded core.
2973         Made _link threadsafe, removed old capsnego.
2974         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
2975         Added pad blocking functions.
2976         Reworked scheduling functions in GstPad to prepare for
2977         scheduling updates soon.
2978         Moved events out of data stream.
2979         Simplified GstEvent types.
2980         Added return values to push/pull.
2981         Removed clocking from GstElement.
2982         Added prototypes for state change function for next merge.
2983         Removed iterate from bins and state change management.
2984         Fixed some elements, disabled others for now.
2985         Fixed -inspect and -launch.
2986         Added check for GstBus.
2987
2988 2005-03-10  Wim Taymans  <wim@fluendo.com>
2989
2990         * docs/design/part-MT-refcounting.txt:
2991         * docs/design/part-clocks.txt:
2992         * docs/design/part-gstelement.txt:
2993         * docs/design/part-gstobject.txt:
2994         * docs/design/part-standards.txt:
2995         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2996         (gst_bin_remove_func), (gst_bin_remove):
2997         * gst/gstbin.h:
2998         * gst/gstbuffer.c:
2999         * gst/gstcaps.h:
3000         * testsuite/clock/clock1.c: (main):
3001         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
3002         (main):
3003         * testsuite/dlopen/loadgst.c: (do_test):
3004         * testsuite/refcounting/bin.c: (add_remove_test1),
3005         (add_remove_test2), (main):
3006         * testsuite/refcounting/element.c: (main):
3007         * testsuite/refcounting/element_pad.c: (main):
3008         * testsuite/refcounting/pad.c: (main):
3009         * tools/gst-launch.c: (sigint_handler_sighandler):
3010         * tools/gst-typefind.c: (main):
3011         Doc updates.
3012         Added doc about clock.
3013         removed gst_bin_iterate_recurse_up(), marked methods
3014         for removal.
3015         Fix more testsuites.
3016
3017 2005-03-09  Wim Taymans  <wim@fluendo.com>
3018
3019         * gst/gstpad.c: (gst_pad_get_direction),
3020         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
3021         (gst_pad_collect_valist):
3022         * testsuite/bins/interface.c: (main):
3023         * testsuite/caps/audioscale.c: (test_caps):
3024         * testsuite/caps/caps.c: (test1), (test2), (test3):
3025         * testsuite/caps/deserialize.c: (main):
3026         * testsuite/caps/enumcaps.c: (main):
3027         * testsuite/caps/filtercaps.c: (main):
3028         * testsuite/caps/intersect2.c: (main):
3029         * testsuite/caps/random.c: (main):
3030         * testsuite/caps/renegotiate.c: (my_fixate), (main):
3031         * testsuite/caps/sets.c: (check_caps):
3032         * testsuite/caps/simplify.c: (check_caps), (main):
3033         * testsuite/caps/subtract.c: (check_caps):
3034         Fix _pad_get_direction wrt ghostpads.
3035         Fix caps testsuite.
3036
3037 2005-03-09  Wim Taymans  <wim@fluendo.com>
3038
3039         * check/Makefile.am:
3040         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
3041         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
3042         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
3043         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
3044         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
3045         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
3046         (gst_bin_remove), (gst_bin_iterate_recurse_up),
3047         (bin_element_is_sink), (gst_bin_iterate_sinks),
3048         (gst_bin_iterate_all_by_interface):
3049         * gst/gstbin.h:
3050         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
3051         (gst_element_change_state), (gst_element_dispose),
3052         (gst_element_finalize), (gst_element_set_loop_function):
3053         * gst/gstelement.h:
3054         * gst/gstiterator.c: (find_custom_fold_func):
3055         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
3056         (gst_pad_collectv), (gst_pad_collect_valist),
3057         (gst_pad_template_new):
3058         * gst/gstpipeline.c: (gst_pipeline_class_init),
3059         (gst_pipeline_dispose), (gst_pipeline_set_property),
3060         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
3061         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
3062         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
3063         * gst/gstutils.h:
3064         * gst/schedulers/entryscheduler.c:
3065         * gst/schedulers/gstbasicscheduler.c:
3066         (gst_basic_scheduler_cothreaded_chain),
3067         (gst_basic_scheduler_chain_add_element):
3068         * testsuite/bins/interface.c: (main):
3069         Added GstBin test.
3070         Added GstSystemClock test.
3071         Implemented clock distribution code in GstBin.
3072         Implemented iterate sinks method for future use.
3073         Rearranged gstelement.h
3074         Fix GstIterator comparison bug.
3075         Moved some code to GstPipeline, mostly clocking related.
3076
3077 2005-03-09  Wim Taymans  <wim@fluendo.com>
3078
3079         * configure.ac:
3080         * gst/gst_private.h:
3081         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
3082         (gst_bin_remove_func), (gst_bin_remove),
3083         (gst_bin_get_by_name_recurse_up):
3084         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
3085         (gst_clock_id_compare_func), (gst_clock_id_wait),
3086         (gst_clock_id_wait_async), (gst_clock_init),
3087         (gst_clock_adjust_unlocked), (gst_clock_get_time):
3088         * gst/gstelement.h:
3089         * gst/gstinfo.c: (_gst_debug_init):
3090         * gst/gstobject.h:
3091         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
3092         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
3093         * gst/gstpad.h:
3094         Bump version number, we're now 0.9.0
3095         Add future debugging category.
3096         Fix NULL _unref() in _get_by_name_recurse_up
3097         Rearrange gstpad.h.
3098         Update some docs.
3099
3100 2005-03-08  Wim Taymans  <wim@fluendo.com>
3101
3102         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
3103         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
3104         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
3105         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
3106         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
3107         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
3108         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
3109         * gst/elements/gstidentity.c: (gst_identity_class_init):
3110         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
3111         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
3112         * gst/elements/gstshaper.c: (gst_shaper_class_init):
3113         * gst/elements/gststatistics.c: (gst_statistics_class_init):
3114         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
3115         (gst_tee_link):
3116         * gst/gstelement.c: (gst_element_class_init),
3117         (gst_element_base_class_init), (gst_element_init),
3118         (gst_element_get_random_pad), (gst_element_wait_state_change),
3119         (gst_element_change_state), (gst_element_dispose),
3120         (gst_element_finalize), (gst_element_set_loop_function):
3121         * gst/gstelement.h:
3122         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
3123         * gst/gstthread.c: (gst_thread_class_init),
3124         (gst_thread_release_children_locks), (gst_thread_change_state):
3125         * gst/schedulers/gstbasicscheduler.c:
3126         (gst_basic_scheduler_loopfunc_wrapper),
3127         (gst_basic_scheduler_chain_wrapper),
3128         (gst_basic_scheduler_src_wrapper),
3129         (gst_basic_scheduler_remove_element):
3130         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
3131         Remove threadsafe properties. Fix elements because GObject
3132         complains when installing a property before declaring a
3133         set/get_property handler.
3134         Rearrange gstelement.h file, use STATE macros for state locks.
3135         Free mutexes in the finalize method instead of dispose.
3136
3137 2005-03-08  Wim Taymans  <wim@fluendo.com>
3138
3139         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
3140         * gst/gstthread.c: (gst_thread_release_children_locks):
3141         Added parentage check.
3142         Fix build og GstThread again.
3143
3144 2005-03-08  Wim Taymans  <wim@fluendo.com>
3145
3146         * docs/design/part-MT-refcounting.txt:
3147         * docs/design/part-conventions.txt:
3148         * docs/design/part-gstobject.txt:
3149         * docs/design/part-relations.txt:
3150         * docs/design/part-standards.txt:
3151         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
3152         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
3153         (gst_bin_get_by_name), (gst_bin_get_by_interface),
3154         (gst_bin_iterate_all_by_interface):
3155         * gst/gstbuffer.h:
3156         * gst/gstclock.h:
3157         * gst/gstelement.c: (gst_element_class_init),
3158         (gst_element_change_state), (gst_element_set_loop_function):
3159         * gst/gstelement.h:
3160         * gst/gstiterator.c:
3161         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
3162         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
3163         (gst_object_dispatch_properties_changed), (gst_object_set_name),
3164         (gst_object_set_parent), (gst_object_unparent),
3165         (gst_object_check_uniqueness):
3166         * gst/gstobject.h:
3167         Docs updates, clean up some headers.
3168
3169 2005-03-07  Wim Taymans  <wim@fluendo.com>
3170
3171         * check/.cvsignore:
3172         * check/Makefile.am:
3173         * check/gst-libs/.cvsignore:
3174         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
3175         * check/gst/.cvsignore:
3176         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
3177         (START_TEST), (gstbus_suite), (main):
3178         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
3179         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
3180         (gst_data_suite), (main):
3181         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
3182         (add_fold_func), (gstiterator_suite), (main):
3183         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
3184         (thread_name_object), (thread_name_object_default),
3185         (gst_object_name_compare), (gst_object_suite), (main):
3186         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
3187         (gst_pad_suite), (main):
3188         * check/gstcheck.c: (gst_check_log_message_func),
3189         (gst_check_log_critical_func), (gst_check_init):
3190         * check/gstcheck.h:
3191         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
3192         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
3193         Added checks.
3194
3195 2005-03-07  Wim Taymans  <wim@fluendo.com>
3196
3197         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
3198         (gst_list_iterator_next), (gst_list_iterator_resync),
3199         (gst_list_iterator_free), (gst_iterator_new_list),
3200         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
3201         (gst_iterator_free), (gst_iterator_push), (filter_next),
3202         (filter_resync), (filter_uninit), (filter_free),
3203         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
3204         (gst_iterator_foreach), (find_custom_fold_func),
3205         (gst_iterator_find_custom):
3206         * gst/gstiterator.h:
3207         Added missing files.
3208
3209 2005-03-07  Wim Taymans  <wim@fluendo.com>
3210
3211         * Makefile.am:
3212         * configure.ac:
3213         * docs/design/part-MT-refcounting.txt:
3214         * docs/design/part-conventions.txt:
3215         * docs/design/part-gstobject.txt:
3216         * docs/design/part-relations.txt:
3217         * examples/mixer/mixer.c: (main):
3218         * examples/thread/thread.c: (eos), (main):
3219         * gst/Makefile.am:
3220         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
3221         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
3222         (gst_spider_plug_from_srcpad):
3223         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
3224         (gst_spider_identity_change_state),
3225         (gst_spider_identity_sink_loop_type_finding):
3226         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
3227         * gst/elements/gstidentity.c: (gst_identity_init):
3228         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
3229         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
3230         * gst/elements/gsttypefindelement.c: (free_entry):
3231         * gst/gst.c:
3232         * gst/gst.h:
3233         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
3234         (gst_bin_set_clock_func), (gst_bin_auto_clock),
3235         (gst_bin_set_index), (gst_bin_set_element_sched),
3236         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
3237         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
3238         (gst_bin_iterate_elements), (iterate_child_recurse),
3239         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
3240         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
3241         (compare_interface), (gst_bin_get_by_interface),
3242         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
3243         * gst/gstbin.h:
3244         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
3245         (gst_buffer_default_free), (gst_buffer_default_copy),
3246         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
3247         (gst_buffer_create_sub):
3248         * gst/gstbuffer.h:
3249         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
3250         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
3251         (gst_caps_unref), (gst_static_caps_get),
3252         (gst_caps_remove_and_get_structure), (gst_caps_append),
3253         (gst_caps_append_structure), (gst_caps_remove_structure),
3254         (gst_caps_copy_nth), (gst_caps_set_simple),
3255         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
3256         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
3257         (gst_caps_structure_intersect_field), (gst_caps_intersect),
3258         (gst_caps_structure_subtract_field), (gst_caps_subtract),
3259         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
3260         (gst_caps_structure_figure_out_union),
3261         (gst_caps_switch_structures), (gst_caps_do_simplify),
3262         (gst_caps_replace), (gst_caps_from_string),
3263         (gst_caps_copy_conditional):
3264         * gst/gstcaps.h:
3265         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
3266         (_gst_clock_id_free), (gst_clock_id_unref),
3267         (gst_clock_id_compare_func), (gst_clock_id_wait),
3268         (gst_clock_id_wait_async), (gst_clock_class_init),
3269         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
3270         (gst_clock_get_time), (gst_clock_set_time_adjust),
3271         (gst_clock_set_property), (gst_clock_get_property):
3272         * gst/gstclock.h:
3273         * gst/gstcompat.h:
3274         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
3275         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
3276         * gst/gstdata.h:
3277         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
3278         (gst_element_requires_clock), (gst_element_provides_clock),
3279         (gst_element_set_clock), (gst_element_clock_wait),
3280         (gst_element_wait), (gst_element_set_time_delay),
3281         (gst_element_is_indexable), (gst_element_add_pad),
3282         (gst_element_add_ghost_pad), (gst_element_remove_pad),
3283         (pad_compare_name), (gst_element_get_static_pad),
3284         (gst_element_request_pad), (gst_element_get_request_pad),
3285         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
3286         (gst_element_class_get_pad_template_list),
3287         (gst_element_class_get_pad_template), (gst_element_error_func),
3288         (gst_element_get_random_pad), (gst_element_get_event_masks),
3289         (gst_element_send_event), (gst_element_seek),
3290         (gst_element_get_query_types), (gst_element_query),
3291         (gst_element_get_formats), (gst_element_convert),
3292         (gst_element_is_locked_state), (gst_element_set_locked_state),
3293         (gst_element_sync_state_with_parent), (gst_element_change_state),
3294         (gst_element_finalize), (gst_element_yield),
3295         (gst_element_interrupt), (gst_element_set_scheduler),
3296         (gst_element_get_scheduler), (gst_element_set_loop_function):
3297         * gst/gstelement.h:
3298         * gst/gstevent.h:
3299         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
3300         (gst_format_get_by_nick), (gst_format_get_details),
3301         (gst_format_iterate_definitions):
3302         * gst/gstformat.h:
3303         * gst/gstindex.c: (gst_index_gtype_resolver):
3304         * gst/gstinfo.c:
3305         * gst/gstinfo.h:
3306         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
3307         (gst_mem_chunk_free):
3308         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3309         (gst_object_ref), (gst_object_unref), (gst_object_sink),
3310         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
3311         (gst_object_dispatch_properties_changed),
3312         (gst_object_set_name_default), (gst_object_set_name),
3313         (gst_object_get_name), (gst_object_set_name_prefix),
3314         (gst_object_get_name_prefix), (gst_object_set_parent),
3315         (gst_object_get_parent), (gst_object_unparent),
3316         (gst_object_check_uniqueness), (gst_object_save_thyself),
3317         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
3318         (gst_object_set_property), (gst_object_get_property),
3319         (gst_object_get_path_string):
3320         * gst/gstobject.h:
3321         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
3322         (gst_real_pad_init), (gst_real_pad_get_property),
3323         (gst_pad_custom_new), (gst_pad_get_direction),
3324         (gst_pad_set_active), (gst_pad_is_active),
3325         (gst_pad_set_event_function), (gst_pad_is_linked),
3326         (gst_pad_link_free), (gst_pad_link_intersect),
3327         (gst_pad_link_fixate), (gst_pad_set_caps),
3328         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
3329         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
3330         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
3331         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
3332         (gst_pad_get_caps), (gst_pad_peer_get_caps),
3333         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
3334         (gst_pad_realize), (gst_pad_get_allowed_caps),
3335         (gst_real_pad_dispose), (gst_real_pad_finalize),
3336         (gst_pad_collectv), (gst_pad_collect_valist),
3337         (gst_pad_template_dispose), (gst_pad_template_new),
3338         (gst_pad_get_internal_links):
3339         * gst/gstpad.h:
3340         * gst/gstpipeline.c: (gst_pipeline_dispose),
3341         (gst_pipeline_change_state):
3342         * gst/gstpipeline.h:
3343         * gst/gstplugin.c:
3344         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
3345         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
3346         * gst/gstpluginfeature.h:
3347         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
3348         * gst/gstquery.c: (_gst_query_type_initialize),
3349         (gst_query_type_register), (gst_query_type_get_by_nick),
3350         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
3351         * gst/gstquery.h:
3352         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
3353         * gst/gstscheduler.c: (gst_scheduler_add_element),
3354         (gst_scheduler_factory_create):
3355         * gst/gststructure.c: (gst_structure_set_parent_refcount),
3356         (gst_structure_free), (gst_structure_set_name),
3357         (gst_structure_id_set_value), (gst_structure_set_value),
3358         (gst_structure_set_valist), (gst_structure_remove_field),
3359         (gst_structure_remove_fields),
3360         (gst_structure_remove_fields_valist),
3361         (gst_structure_remove_all_fields), (gst_structure_foreach),
3362         (gst_structure_map_in_place),
3363         (gst_caps_structure_fixate_field_nearest_int),
3364         (gst_caps_structure_fixate_field_nearest_double):
3365         * gst/gststructure.h:
3366         * gst/gstsystemclock.c: (gst_system_clock_class_init),
3367         (gst_system_clock_init), (gst_system_clock_dispose),
3368         (gst_system_clock_async_thread),
3369         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
3370         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
3371         * gst/gstsystemclock.h:
3372         * gst/gsttag.c: (gst_tag_list_add_value_internal),
3373         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
3374         * gst/gsttaginterface.c:
3375         * gst/gstthread.c: (gst_thread_dispose),
3376         (gst_thread_release_children_locks), (gst_thread_change_state),
3377         (gst_thread_main_loop):
3378         * gst/gsttrashstack.h:
3379         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
3380         * gst/gsttypes.h:
3381         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3382         (gst_element_request_pad), (gst_element_get_pad_from_template),
3383         (gst_element_request_compatible_pad),
3384         (gst_element_get_compatible_pad_filtered),
3385         (gst_element_get_compatible_pad), (gst_element_state_get_name),
3386         (gst_element_link_pads_filtered), (gst_element_link_filtered),
3387         (gst_element_link_many), (gst_element_link),
3388         (gst_element_link_pads), (gst_element_unlink_pads),
3389         (gst_element_unlink_many), (gst_element_unlink),
3390         (gst_pad_can_link_filtered), (gst_pad_can_link),
3391         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
3392         (gst_object_default_error), (gst_bin_add_many),
3393         (gst_bin_remove_many), (gst_element_populate_std_props),
3394         (gst_element_class_install_std_props), (gst_buffer_merge),
3395         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
3396         (link_fold_func), (gst_pad_proxy_setcaps):
3397         * gst/gstutils.h:
3398         * gst/gstvalue.c: (gst_value_deserialize_string):
3399         * gst/parse/grammar.y:
3400         * gst/schedulers/gstbasicscheduler.c:
3401         (gst_basic_scheduler_cothreaded_chain),
3402         (gst_basic_scheduler_chain_recursive_add),
3403         (gst_basic_scheduler_pad_link):
3404         * gst/schedulers/gstoptimalscheduler.c:
3405         (get_group_schedule_function),
3406         (gst_opt_scheduler_state_transition),
3407         (gst_opt_scheduler_add_element), (element_get_reachables_func):
3408         * libs/gst/bytestream/bytestream.c:
3409         * libs/gst/dataprotocol/dataprotocol.c:
3410         (gst_dp_header_from_buffer):
3411         * po/nb.po:
3412         * po/ru.po:
3413         * tests/threadstate/threadstate2.c: (eos):
3414         * tools/gst-compprep.c: (main):
3415         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
3416         (print_pad_info), (print_children_info):
3417         * tools/gst-launch.c: (idle_func), (main):
3418         * tools/gst-md5sum.c: (idle_func), (main):
3419         * tools/gst-xmlinspect.c: (print_element_info):
3420         First THREADED backport attempt, focusing on adding locks and
3421         making sure the API is threadsafe. Needs more work. More docs
3422         follow this week.
3423
3424 2005-02-24  Andy Wingo  <wingo@pobox.com>
3425
3426         * tests/bench-complexity.scm:
3427         * tests/complexity.gnuplot: New files, good for running complexity
3428         benchmarks.
3429
3430         * tests/Makefile.am:
3431         * tests/complexity.c: New test, sets up N elements, at each level
3432         teeing into M streams per element. Eeeenteresting.
3433
3434         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
3435         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
3436         running bench-mass_elements.scm.
3437
3438         * tests/bench-mass_elements.scm: New script, runs mass_elements
3439         for various numbers of identities, outputting the results to a
3440         file. Requires guile 1.6. Just for testing.
3441
3442 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3443
3444         * gst/schedulers/fairscheduler.c:
3445           compile with debug disabled
3446
3447 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3448
3449         * configure.ac:
3450           hunting season on 0.9 is now OPEN
3451
3452 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
3453
3454         * docs/libs/tmpl/gstcontrol.sgml:
3455         * docs/libs/tmpl/gstdparam.sgml:
3456         * docs/libs/tmpl/gstdplinint.sgml:
3457         * docs/libs/tmpl/gstdpman.sgml:
3458         * docs/libs/tmpl/gstdpsmooth.sgml:
3459         * docs/libs/tmpl/gstunitconvert.sgml:
3460           more docs for the state of dparams
3461
3462 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3463
3464         * gst/gstelementfactory.c: (gst_element_factory_create):
3465         * gst/gstobject.c: (gst_object_init),
3466         (gst_object_set_name_default), (gst_object_set_name):
3467           name objects by default, not in gst_element_factory_create. Allows
3468           using elements created with g_object_new. (fixes #167283)
3469
3470 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3471
3472         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
3473           make the time that debugging functions print relative to when
3474           gst_init was called
3475
3476 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
3477
3478         * gst/gsttaginterface.c:
3479           Fix inline docs: tag setter vararg functions are NULL-terminated,
3480           GST_TAG_INVALID doesn't exist any more.
3481
3482 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3483
3484         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
3485         Allocate the 1 byte more memory that was forgotten!!!!!
3486         fixes memory corruption on 64bit platforms
3487
3488 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
3489
3490         * docs/pwg/building-pads.xml:
3491         * docs/pwg/intro-basics.xml:
3492           fixed a few typos, relabeled introductionary list of types
3493         * docs/random/ensonic/dparams.txt:
3494           more notes abut dparam changes
3495         * libs/gst/control/dparam.c: (gst_dparam_attach):
3496         * libs/gst/control/dparammanager.c:
3497         * libs/gst/control/dparammanager.h:
3498           - many comments and notes on dparam implementation
3499           - new dparams are were not initialized to the default value
3500             from param spec
3501
3502 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3503
3504         submitted by: Peter Astakhov
3505
3506         * po/LINGUAS:
3507         * po/ru.po:
3508           adding Russian translation
3509
3510 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3511
3512         * configure.ac:
3513         * docs/gst/Makefile.am:
3514         * docs/libs/Makefile.am:
3515           make sure popt is added to gtk-doc flags.  Fixes #147782.
3516
3517 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3518
3519         * docs/faq/using.xml:
3520           Fix typo in FAQ (artssink => artsdsink)
3521
3522 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3523
3524         * tools/gst-launch.1.in:
3525           Fix typo (#166699).
3526
3527 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
3528
3529         * docs/faq/using.xml:
3530           Add -v argument to fakesrc/fakesink gst-launch line,
3531           so that the promised output will actually show up.
3532
3533 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3534
3535         * gst/gstthread.c: (gst_thread_change_state):
3536           Implement state-change error handling (#166073).
3537
3538 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3539
3540         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
3541           Release interrupt after handling (#166250).
3542
3543 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3544
3545         * configure.ac:
3546           back to HEAD
3547
3548 === release 0.8.9 ===
3549
3550 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3551
3552         * NEWS:
3553         * RELEASE:
3554         * configure.ac:
3555           releasing 0.8.9, "Like Eating Glass"
3556
3557 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3558
3559         submitted by: Clytie Siddall
3560
3561         * po/vi.po: Added Vietnamese translation
3562
3563 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3564
3565         patch by: Tim Philipp-Müller
3566
3567         * configure.ac:
3568         * gst/gstpad.c:
3569           unref data when probe function returns FALSE.  Fixes #166362
3570
3571 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3572
3573         * gst/gst.c: (gst_init_get_popt_table):
3574           Fix typo (#166269).
3575
3576 2005-02-04  Andy Wingo  <wingo@pobox.com>
3577
3578         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
3579         the debugging on whether the caps are compatible.
3580
3581 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3582
3583         * docs/manual/basics-elements.xml:
3584           Fix two typos.
3585
3586 2005-02-02  Wim Taymans  <wim@fluendo.com>
3587
3588         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
3589         (schedule_chain), (get_invalid_call), (chain_invalid_call),
3590         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
3591         Remove some FIXMEs after analysing and commenting why they
3592         are not issues.
3593
3594 2005-02-02  Wim Taymans  <wim@fluendo.com>
3595
3596         * gst/schedulers/gstoptimalscheduler.c:
3597         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
3598         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
3599         (get_invalid_call), (chain_invalid_call),
3600         (get_group_schedule_function), (loop_group_schedule_function),
3601         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
3602         (gst_opt_scheduler_state_transition),
3603         (gst_opt_scheduler_add_element),
3604         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
3605         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
3606         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
3607         (gst_opt_scheduler_show):
3608         Added lock to protect scheduler data structures.
3609
3610 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3611
3612         * testsuite/threads/threadi.c: (cb_data):
3613           Fix buglet in test.
3614
3615 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3616
3617         * testsuite/threads/Makefile.am:
3618         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
3619           On Wim's request, split the test in three separately-compiled
3620           tests that each test a very specific bug. Two of them still fail,
3621           will create bugs for those. threadi.c indicates why they fail.
3622
3623 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3624
3625         * gst/schedulers/gstoptimalscheduler.c:
3626         (get_group_schedule_function):
3627           Try to work with the threading mess that queue_link is.
3628
3629 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3630
3631         * gst/gstbin.c: (gst_bin_remove_func):
3632           Explicitely make an element release locks in a group when being
3633           remove from a bin.
3634         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
3635           If there's no scheduler, always return immediately (similar to
3636           gst_element_interrupt).
3637
3638 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3639
3640         * gst/gstbin.c: (gst_bin_child_state_change_func):
3641           Remove a piece of code that could never be reached.
3642         * docs/gst/gstreamer-sections.txt:
3643         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
3644         (gst_pad_call_get_function):
3645         * gst/gstpad.h:
3646         * testsuite/pad/Makefile.am:
3647           Fix #150546, enable tests.
3648
3649 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3650
3651         * docs/pwg/advanced-types.xml:
3652           Fix description for buffer-frames=0.
3653         * docs/gst/tmpl/gstbin.sgml:
3654         * gst/gstbin.c: (gst_bin_child_state_change_func),
3655         (gst_bin_change_state), (gst_bin_change_state_norecurse):
3656         * gst/gstbin.h:
3657         * testsuite/threads/Makefile.am:
3658         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
3659         (cb_state), (cb_play), (main):
3660           Fix non-recursive state changes to *really* change the state
3661           of the object, and not just call parent_class->state_change.
3662           Fix a lot of lockups caused by this. Fixes #132775. Add test
3663           for the problem. Also enable test to show #142588 (fixed).
3664         * gst/gstthread.c: (gst_thread_change_state),
3665         (gst_thread_child_state_change):
3666           Don't exit the thread if we go to NULL and are inside thread
3667           context. Instead, return control to the main thread context
3668           and exit from there.
3669         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
3670           Don't unset virtual functions, since those may still be used.
3671           That's not necessarily correct, but suffices for now.
3672         * configure.ac:
3673         * testsuite/Makefile.am:
3674         * testsuite/pad/Makefile.am:
3675         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
3676         (gst_test_sink_base_init), (gst_test_sink_chain),
3677         (gst_test_sink_init), (main):
3678         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
3679         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
3680         (main):
3681         * testsuite/pad/link.c: (gst_test_element_class_init),
3682         (gst_test_element_base_init), (gst_test_src_get),
3683         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
3684         (gst_test_filter_loop), (gst_test_filter_init),
3685         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
3686         (cb_error), (main):
3687           Add tests to show #150546. Pass, but should fail (currently
3688           disabled from the testsuite).
3689         * gst/gstscheduler.c: (gst_scheduler_dispose):
3690           Dereference child schedulers on dispose (#94464).
3691         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3692           Fix typo.
3693         * testsuite/threads/thread.c: (main):
3694           Add more debug.
3695
3696 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3697
3698         * gst/gstpad.c: (gst_pad_push):
3699           Oops, revert previous commit, broke testsuite...
3700
3701 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3702
3703         * gst/gstpad.c: (gst_pad_push):
3704           Add check that the pad on which the push is performed is not a
3705           get-based pad (#150546).
3706
3707 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3708
3709         * gst/elements/gsttypefindelement.c:
3710         (gst_type_find_element_handle_event):
3711           Fix buffer pushing if stream EOSes during typefinding.
3712
3713 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
3714
3715         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3716
3717         * gst/gstvalue.c: (gst_string_wrap):
3718           Allow NULL-strings as argument (#165365).
3719
3720 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
3721
3722         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3723
3724         * gst/schedulers/faircothreads.c:
3725         (gst_fair_scheduler_cothread_queue_show):
3726           Fix build without debug enabled.
3727
3728 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
3729
3730         * docs/gst/gstreamer-sections.txt:
3731         * docs/libs/gstreamer-libs-docs.sgml:
3732         * docs/libs/gstreamer-libs-sections.txt:
3733         * docs/libs/tmpl/gstcontrol.sgml:
3734         * docs/libs/tmpl/gstdparam.sgml:
3735         * docs/libs/tmpl/gstdplinint.sgml:
3736         * docs/libs/tmpl/gstdpman.sgml:
3737         * docs/libs/tmpl/gstdpsmooth.sgml:
3738         * docs/libs/tmpl/gstputbits.sgml:
3739         * docs/libs/tmpl/gstunitconvert.sgml:
3740         * libs/gst/control/dparam.c:
3741         * libs/gst/control/dparam.h:
3742         * libs/gst/control/dparammanager.c:
3743         (gst_dpman_add_required_dparam_callback),
3744         (gst_dpman_add_required_dparam_direct),
3745         (gst_dpman_add_required_dparam_array),
3746         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
3747         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
3748         (gst_dpman_get_manager)
3749           restructured DParam docs
3750
3751 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
3752
3753         * gst-element-check.m4:
3754           Only check for gst-inspect if we haven't already
3755           found it in previous element check runs
3756
3757 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
3758
3759         * docs/gst/Makefile.am:
3760         * docs/libs/Makefile.am:
3761           fixed install rules to treat style.css as optional
3762
3763 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
3764
3765         * docs/gst/Makefile.am:
3766         * docs/libs/Makefile.am:
3767           install style.css along with docs
3768         * docs/gst/tmpl/gstbin.sgml:
3769         * docs/gst/tmpl/gstclock.sgml:
3770         * docs/gst/tmpl/gstdata.sgml:
3771         * docs/gst/tmpl/gstelement.sgml:
3772         * gst/gstbin.h:
3773         * gst/gstelement.c: (gst_element_class_init):
3774         * gst/gstelement.h:
3775           fixing incomplete docs
3776
3777 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
3778
3779         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
3780           Don't unref seek event twice when fflush() fails
3781           
3782 2005-01-22  David Schleef  <ds@schleef.org>
3783
3784         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
3785
3786 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
3787
3788         * docs/gst/Makefile.am:
3789         * docs/libs/Makefile.am:
3790           added params for deprecation guards
3791         * gst/gst.c:
3792         * gst/gst.h:
3793         * gst/gsterror.c: (_gst_resource_errors_init),
3794         (_gst_stream_errors_init):
3795         * gst/gsterror.h:
3796           documented some more enums
3797
3798 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3799         * gst/autoplug/gstspideridentity.c:
3800         Cosmetic fix - spider_find_peek should be static
3801         * gst/parse/parse.l:
3802         Applying fix for #164261
3803
3804 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
3805
3806         * docs/gst/gstreamer-sections.txt:
3807         * docs/gst/tmpl/gstplugin.sgml:
3808         * docs/libs/gstreamer-libs-sections.txt:
3809         * docs/libs/tmpl/gstcontrol.sgml:
3810         * gst/gstbuffer.h:
3811         * gst/gsttag.h:
3812         * gst/gstvalue.c:
3813           added docs for the TAG defines
3814
3815 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3816
3817         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
3818           Only unref entry if there is an entry.
3819
3820 2005-01-17  Wim Taymans  <wim@fluendo.com>
3821
3822         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
3823         (remove_from_group), (schedule_group), (normalize_group),
3824         (gst_opt_scheduler_iterate):
3825         Also ref/unref decoupled elements before iterating the
3826         group since they are not added to the list of elements.
3827
3828 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3829
3830         * docs/manual/highlevel-components.xml:
3831           Add subtitle/streamselection as new features to playbin.
3832
3833 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3834
3835         * docs/manual/manual.xml:
3836           Re-enable dataaccess docs (oops).
3837
3838 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3839
3840         * docs/pwg/advanced-types.xml:
3841         * docs/random/mimetypes:
3842           Add documentation on libsndfile types (#163309), by Steve Baker
3843           <steve@stevebaker.org>.
3844         * gst/gstelement.c: (gst_element_release_request_pad):
3845           If an element has no explicit function, just remove the pad.
3846
3847 2005-01-17  Luca Ognibene  <luogni@tin.it>
3848
3849         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3850
3851         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
3852           Fix memleak (#163801).
3853
3854 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3855
3856         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
3857           I think this is actually more correct...
3858
3859 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3860
3861         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
3862           Another workaround for memory access while destroyed in callback.
3863           Please, someone with refcount knowledge, have a look at this.
3864
3865 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3866
3867         * docs/faq/faq.xml:
3868         * docs/faq/legal.xml:
3869           move the legal Q&A here
3870
3871 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3872
3873         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
3874         (gst_tee_request_new_pad):
3875           Fix negotiation.
3876
3877 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3878
3879         * docs/random/omega/caps2:
3880         * testsuite/caps/caps_strings:
3881           replace framerate aproximations by their real value
3882           (24000/1001, 30000/1001, 60000/1001)
3883           Partially fixes bug #164049
3884
3885 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3886
3887         * docs/gst/Makefile.am:
3888           don't fail on the stupid GstPoptOption
3889
3890 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3891
3892         * gst/gstpad.h:
3893         * gst/gstprobe.c:
3894           allow probes to work on ghost pads by realizing the pad
3895           probe debugging
3896
3897 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3898
3899         * docs/gst/gstreamer-sections.txt:
3900         * docs/gst/tmpl/gstpad.sgml:
3901         * gst/gstpad.c: (gst_pad_set_active_recursive):
3902         * gst/gstpad.h:
3903           Add gst_pad_set_active_recursive().
3904
3905 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3906
3907         * docs/random/release:
3908           updates
3909         * gst/gst_private.h:
3910         * gst/gstinfo.c:
3911         * gst/gstobject.c:
3912           move deep_notify logging to a new category
3913         * gst/gstprobe.c:
3914         * gst/gstprobe.h:
3915           add stuff so bindings can wrap probes
3916
3917 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3918
3919         * gst/gstplugin.c: (gst_plugin_load):
3920           Fix plugin loading if plugin/lib was already loaded. Fixes
3921           #163383
3922
3923 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
3924
3925         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3926
3927         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
3928           Protect plugin loading by a mutex so it's threadsafe. Fixes
3929           #163234.
3930
3931 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3932
3933         * gst/gstevent.c: (_gst_event_copy):
3934           Reference source object when copying events, since it'll be
3935           dereferenced on event dereferencing as well.
3936
3937 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3938
3939         * docs/gst/gstreamer-sections.txt:
3940         * docs/gst/tmpl/gstevent.sgml:
3941         * gst/gstevent.c: (gst_event_new_filler_stamped),
3942         (gst_event_filler_get_duration):
3943         * gst/gstevent.h:
3944           Add two new functions for filler events (which are used to
3945           synchronize streams if one of them is not having any data
3946           for a while) without interrupting the actual data-stream.
3947           Basically a no-op.
3948         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3949         (gst_queue_link_sink), (gst_queue_link_src),
3950         (gst_queue_change_state):
3951           Allow for renegotiation while filled. Required for stream
3952           switching while playing.
3953
3954 2005-01-08  Benjamin Otte  <otte@gnome.org>
3955
3956         * gst/gstelement.c: (gst_element_link_many):
3957           fix up g_return_if_fail's
3958         * po/LINGUAS:
3959         * po/de.po:
3960           add German translation, that was somehow not included
3961
3962 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3963
3964         * docs/random/mimetypes:
3965           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
3966           do not add them to riff-lib as they are not common
3967
3968 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3969
3970         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
3971           Check for existence of probe after performing the probe before
3972           re-accessing it to prevent segfaults caused by removal of the
3973           probe in the callback.
3974
3975 2005-01-05  David Schleef  <ds@schleef.org>
3976
3977         * testsuite/registry/Makefile.am:
3978         * testsuite/registry/gst-print-formats.c:
3979         (print_pad_templates_info), (print_element_list),
3980         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
3981         (g_list_uniqify), (get_pad_templates_info),
3982         (get_element_mime_list), (print_mime_list), (main): A little
3983         program that looks through the registry to find elements of
3984         a given type.  Not particularly interesting as a test, except
3985         that there's no other test covering the same area.
3986
3987 2005-01-05  David Schleef  <ds@schleef.org>
3988
3989         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
3990         (fault_handler_sigaction), (fault_spin),
3991         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
3992         in signal.h-type signal handlers by not calling forbidden functions,
3993         including gst_element_set_state().
3994
3995 2005-01-05  David Schleef  <ds@schleef.org>
3996
3997         * gst/gstvalue.h: Mark _gst_reserved[] as private
3998
3999 2005-01-05  David Schleef  <ds@schleef.org>
4000
4001         * gst/gstvalue.c: Fix doc build problem.
4002
4003 2005-01-05  David Schleef  <ds@schleef.org>
4004
4005         * gst/gstvalue.c: Add some documentation
4006
4007 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
4008
4009         * docs/README:
4010           another shell oneliner for empty return value docs
4011         * gst/gstcaps.c:
4012         * gst/gstvalue.c:
4013         * libs/gst/control/dparam.c:
4014           more doc fixes (parameters and return values)
4015
4016 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
4017
4018         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4019
4020         * gst/gstregistry.h:
4021         * gst/registries/gstxmlregistry.c:
4022           Fix macro's for Mingw (fixes #162276).
4023
4024 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
4025
4026         * docs/README:
4027           quick shell oneliner to find undocumented members
4028         * docs/gst/tmpl/gstplugin.sgml:
4029         * docs/gst/tmpl/gstscheduler.sgml:
4030         * docs/gst/tmpl/gstthread.sgml:
4031           more enumtypes cleanup
4032         * gst/gsterror.h:
4033           activated documentation comments, now someone needs to document
4034           the enums :(
4035
4036 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4037
4038         * docs/manual/manual.xml:
4039           Add dataaccess part (doh!).
4040
4041 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4042
4043         * docs/manual/advanced-autoplugging.xml:
4044           Fix typo (intiate -> initiate).
4045
4046 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4047
4048         * docs/random/bbb/streamselection:
4049           Add some notes on how to handle multi-subtitle/-audio streams.
4050
4051 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
4052
4053         * docs/gst/gstreamer-docs.sgml:
4054         * docs/gst/gstreamer-sections.txt:
4055         * docs/gst/tmpl/gstenumtypes.sgml:
4056         * docs/gst/tmpl/gsterror.sgml:
4057         * docs/gst/tmpl/gstevent.sgml:
4058         * docs/gst/tmpl/gstpad.sgml:
4059         * docs/gst/tmpl/gstpadtemplate.sgml:
4060         * docs/gst/tmpl/gstthread.sgml:
4061           removed gstenumtypes section from docs and put all the enums into
4062           their sections
4063
4064 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
4065
4066         * gst/gstplugin.c:
4067           document gst_library_load a bit more (riff special case + return
4068           value if already loaded)
4069         * testsuite/bytestream/filepadsink.c:
4070           plugin name is 'gstbytestream', not 'bytestream'
4071
4072 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4073
4074         * docs/random/bbb/subtitles:
4075           Add some first mind rumblings on proper subtitle support.
4076
4077 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4078
4079         * po/ca.po:
4080         * po/sv.po:
4081           updated translations
4082
4083 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4084
4085         * docs/manual/advanced-dataaccess.xml:
4086           Add section on how to use fakesrc/fakesink/identity in your
4087           application, plus section on how to embed plugins. Also mention
4088           probes.
4089         * docs/manual/appendix-checklist.xml:
4090         * docs/manual/appendix-debugging.xml:
4091         * docs/manual/appendix-gnome.xml:
4092         * docs/manual/appendix-integration.xml:
4093           Debug -> checklist, GNOME -> integration, add sections on Linux,
4094           KDE integration and add other things useful for application
4095           development.
4096         * docs/manual/manual.xml:
4097           Remove some fixmes, update some file pointers.
4098         * docs/pwg/appendix-checklist.xml:
4099           Fix typo.
4100         * docs/pwg/building-boiler.xml:
4101           Remove ugly header and add commented fixme.
4102         * docs/pwg/pwg.xml:
4103           Add fixme.
4104         * examples/manual/Makefile.am:
4105           Add example for added docs.
4106
4107 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4108
4109         * configure.ac:
4110           back to HEAD
4111
4112 === release 0.8.8 ===
4113
4114 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4115
4116         * NEWS:
4117         * RELEASE:
4118         * configure.ac:
4119           Releasing 0.8.8, "I'll Take Care Of You"
4120
4121 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4122
4123         * configure.ac:
4124           second prerelease
4125
4126 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4127
4128         patch by: Wim Taymans
4129
4130         * gst/gstbin.c:
4131           Fix for #159852 - make iterate emission threadsafe
4132
4133 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4134
4135         * docs/faq/cvs.xml:
4136           notes about new fdo account request
4137
4138 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
4139
4140         * docs/gst/gstreamer-docs.sgml:
4141         * docs/gst/tmpl/gstenumtypes.sgml:
4142         * docs/gst/tmpl/gstplugin.sgml:
4143         * docs/libs/gstreamer-libs-docs.sgml:
4144           Added missing short docs. Added ids for navigation.
4145
4146 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4147
4148         * docs/manual/advanced-autoplugging.xml:
4149         * docs/manual/advanced-schedulers.xml:
4150         * docs/manual/advanced-threads.xml:
4151           Rewrites. Remove cothreads, go a bit into opt specifically,
4152           document threads and their gotchas, and do some technical stuff
4153           on autoplugging plus add some working examples. Fixes #157395.
4154         * examples/manual/Makefile.am:
4155           Add typefind/autoplugger example (one that actually works).
4156           Remove queue example since it's a duplicate of the thread one.
4157
4158 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4159
4160         * gst/gstvalue.c: (gst_value_deserialize_string):
4161           use deprecated g_value_set_string_take_ownership to keep compatible
4162           with glib 2.2
4163
4164 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4165
4166         * gst/gstvalue.c: (gst_value_deserialize_string):
4167           revert last patch, only dom a g_utf8_validate now before accepting
4168           the string - caps parsing strips " from strings so we can't rely on
4169           them
4170         * testsuite/caps/value_serialize.c: (test_string_deserialization):
4171           disable a test that tested the above and comment it
4172
4173 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
4174
4175         Patch reviewed by David Schleef  <ds@schleef.org>
4176
4177         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
4178         bug #153882)
4179         * win32/gstenumtypes.h: same
4180
4181 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4182
4183         * gst/gstpad.c: (gst_pad_query):
4184           Do query on realized pad, similar to how convert/send_event handle
4185           this. Also makes sense, since this pad belongs to the function to
4186           which this query will be sent. Fixes #158163.
4187
4188 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
4189
4190         * docs/manual/appendix-programs.xml: fix pipeline to actually work
4191
4192 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
4193
4194         * docs/faq/general.xml: fix pipeline to actually work
4195
4196 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4197
4198         * gst/gstvalue.c: (gst_value_deserialize_string):
4199           check that a simple string that gets deserialized does not contain
4200           invalid characters
4201         * testsuite/caps/value_serialize.c: (test_string_deserialization):
4202           remove a test that tested a wring behaviour
4203
4204 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
4205
4206         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4207
4208         * docs/manual/intro-motivation.xml:
4209           Fix typos.
4210
4211 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
4212
4213         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4214
4215         * docs/gst/tmpl/gstprobe.sgml:
4216           Fix documentation of probe callback - it is supposed to return
4217           FALSE, not TRUE, to remove data from the stream (#159087).
4218
4219 2004-12-16  Daniel Gazard  <dany42@free.fr>
4220
4221         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4222
4223         * gst/gstelementfactory.c: (gst_element_factory_create):
4224           Fix compile failure if compiling without libxml2 support (#149936).
4225
4226 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4227
4228         * docs/manual/advanced-autoplugging.xml:
4229         * docs/manual/highlevel-components.xml:
4230           Move spider from autoplugging to components. Autoplugging is for
4231           internals, not for solutions. ;-).
4232
4233 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4234
4235         * docs/random/ds/0.9-suggested-changes:
4236           Make note on device/location/uri property names.
4237
4238 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4239
4240         * docs/manual/advanced-autoplugging.xml:
4241         * docs/manual/advanced-clocks.xml:
4242         * docs/manual/advanced-interfaces.xml:
4243         * docs/manual/advanced-metadata.xml:
4244         * docs/manual/advanced-position.xml:
4245         * docs/manual/advanced-schedulers.xml:
4246         * docs/manual/advanced-threads.xml:
4247         * docs/manual/appendix-gnome.xml:
4248         * docs/manual/appendix-programs.xml:
4249         * docs/manual/appendix-quotes.xml:
4250         * docs/manual/autoplugging.xml:
4251         * docs/manual/basics-bins.xml:
4252         * docs/manual/basics-data.xml:
4253         * docs/manual/basics-elements.xml:
4254         * docs/manual/basics-helloworld.xml:
4255         * docs/manual/basics-init.xml:
4256         * docs/manual/basics-pads.xml:
4257         * docs/manual/basics-plugins.xml:
4258         * docs/manual/bins-api.xml:
4259         * docs/manual/bins.xml:
4260         * docs/manual/buffers-api.xml:
4261         * docs/manual/buffers.xml:
4262         * docs/manual/clocks.xml:
4263         * docs/manual/components.xml:
4264         * docs/manual/cothreads.xml:
4265         * docs/manual/debugging.xml:
4266         * docs/manual/dparams-app.xml:
4267         * docs/manual/dynamic.xml:
4268         * docs/manual/elements-api.xml:
4269         * docs/manual/elements.xml:
4270         * docs/manual/factories.xml:
4271         * docs/manual/gnome.xml:
4272         * docs/manual/goals.xml:
4273         * docs/manual/helloworld.xml:
4274         * docs/manual/helloworld2.xml:
4275         * docs/manual/highlevel-components.xml:
4276         * docs/manual/highlevel-xml.xml:
4277         * docs/manual/init-api.xml:
4278         * docs/manual/intro-basics.xml:
4279         * docs/manual/intro-motivation.xml:
4280         * docs/manual/intro-preface.xml:
4281         * docs/manual/intro.xml:
4282         * docs/manual/links-api.xml:
4283         * docs/manual/links.xml:
4284         * docs/manual/manual.xml:
4285         * docs/manual/motivation.xml:
4286         * docs/manual/pads-api.xml:
4287         * docs/manual/pads.xml:
4288         * docs/manual/plugins-api.xml:
4289         * docs/manual/plugins.xml:
4290         * docs/manual/programs.xml:
4291         * docs/manual/queues.xml:
4292         * docs/manual/quotes.xml:
4293         * docs/manual/schedulers.xml:
4294         * docs/manual/states-api.xml:
4295         * docs/manual/states.xml:
4296         * docs/manual/threads.xml:
4297         * docs/manual/typedetection.xml:
4298         * docs/manual/win32.xml:
4299         * docs/manual/xml.xml:
4300           Try 2. This time, include a short preface as a "general
4301           introduction", also add code blocks around all code samples
4302           so they get compiled. We still need a way to tell readers
4303           the filename of the code sample. In some cases, don't show
4304           all code in the documentation, but do include it in the generated
4305           code. This allows for focussing on specific bits in the docs,
4306           while still having a full test application available.
4307         * examples/manual/Makefile.am:
4308           Fix up examples for new ADM. Add several of the new examples that
4309           were either added or were missing from the build system.
4310         * examples/manual/extract.pl:
4311           Allow nameless blocks.
4312
4313 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4314
4315         * docs/manual/elements-api.xml:
4316         * docs/manual/helloworld.xml:
4317         * examples/manual/extract.pl:
4318           fix last example.  Add example of adding code blocks that are not
4319           shown in docbook output.
4320
4321 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4322
4323         * docs/manual/dynamic.xml:
4324         * docs/manual/elements-api.xml:
4325         * docs/manual/gnome.xml:
4326         * docs/manual/helloworld2.xml:
4327         * docs/manual/init-api.xml:
4328         * docs/manual/queues.xml:
4329         * docs/manual/threads.xml:
4330         * docs/manual/xml.xml:
4331         * examples/manual/extract.pl:
4332           Make it possible to extract example code from separate blocks.
4333           Should make Ronald happy.
4334
4335 2004-12-15  Wim Taymans  <wim@fluendo.com>
4336
4337         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4338         (remove_from_group), (group_elements_set_visited),
4339         (normalize_group), (gst_opt_scheduler_iterate):
4340         Fix bug where a flag was not updated on a decoupled entry point 
4341         because we were just checking the group element list and decoupled
4342         elements are not in that list..
4343
4344 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4345
4346         * docs/manual/advanced-autoplugging.xml:
4347         * docs/manual/advanced-clocks.xml:
4348         * docs/manual/advanced-dparams.xml:
4349         * docs/manual/advanced-interfaces.xml:
4350         * docs/manual/advanced-metadata.xml:
4351         * docs/manual/advanced-position.xml:
4352         * docs/manual/advanced-schedulers.xml:
4353         * docs/manual/advanced-threads.xml:
4354         * docs/manual/appendix-debugging.xml:
4355         * docs/manual/appendix-gnome.xml:
4356         * docs/manual/appendix-programs.xml:
4357         * docs/manual/appendix-quotes.xml:
4358         * docs/manual/appendix-win32.xml:
4359         * docs/manual/autoplugging.xml:
4360         * docs/manual/basics-bins.xml:
4361         * docs/manual/basics-data.xml:
4362         * docs/manual/basics-elements.xml:
4363         * docs/manual/basics-helloworld.xml:
4364         * docs/manual/basics-init.xml:
4365         * docs/manual/basics-pads.xml:
4366         * docs/manual/basics-plugins.xml:
4367         * docs/manual/bins-api.xml:
4368         * docs/manual/bins.xml:
4369         * docs/manual/buffers-api.xml:
4370         * docs/manual/buffers.xml:
4371         * docs/manual/clocks.xml:
4372         * docs/manual/components.xml:
4373         * docs/manual/cothreads.xml:
4374         * docs/manual/debugging.xml:
4375         * docs/manual/dparams-app.xml:
4376         * docs/manual/dynamic.xml:
4377         * docs/manual/elements-api.xml:
4378         * docs/manual/elements.xml:
4379         * docs/manual/factories.xml:
4380         * docs/manual/gnome.xml:
4381         * docs/manual/goals.xml:
4382         * docs/manual/helloworld.xml:
4383         * docs/manual/helloworld2.xml:
4384         * docs/manual/highlevel-components.xml:
4385         * docs/manual/highlevel-xml.xml:
4386         * docs/manual/init-api.xml:
4387         * docs/manual/intro-motivation.xml:
4388         * docs/manual/intro-preface.xml:
4389         * docs/manual/intro.xml:
4390         * docs/manual/links-api.xml:
4391         * docs/manual/links.xml:
4392         * docs/manual/manual.xml:
4393         * docs/manual/motivation.xml:
4394         * docs/manual/pads-api.xml:
4395         * docs/manual/pads.xml:
4396         * docs/manual/plugins-api.xml:
4397         * docs/manual/plugins.xml:
4398         * docs/manual/programs.xml:
4399         * docs/manual/queues.xml:
4400         * docs/manual/quotes.xml:
4401         * docs/manual/schedulers.xml:
4402         * docs/manual/states-api.xml:
4403         * docs/manual/states.xml:
4404         * docs/manual/threads.xml:
4405         * docs/manual/typedetection.xml:
4406         * docs/manual/win32.xml:
4407         * docs/manual/xml.xml:
4408           First try at rewriting the ADM. Needs lotsamore work, but some
4409           parts might already be somewhat useful.
4410         * docs/pwg/advanced-interfaces.xml:
4411           Remove properties interface, it never actually existed (except for
4412           on my HD...).
4413
4414 2004-12-13  David Schleef  <ds@schleef.org>
4415
4416         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
4417         be NULL (bug #160220).
4418
4419 2004-12-13  David Schleef  <ds@schleef.org>
4420
4421         * configure.ac: remove all mmx stuff, because it's not used.
4422         * docs/random/ds/0.9-suggested-changes: additional notes
4423         * include/Makefile.am: we don't use these anymore
4424         * include/mmx.h: remove
4425         * include/sse.h: remove
4426
4427 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
4428
4429         * docs/random/mimetypes:
4430           Add FOURCC code for h264 codec (VSSH)
4431           Add alternate FOURCC codes for h263 related codecs
4432
4433 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
4434
4435         * docs/manual/programs.xml:
4436           Added more gst-launch examples.
4437
4438 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4439
4440         * gst/gstqueue.c: (gst_queue_handle_src_query):
4441           Check for availability again.
4442
4443 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4444
4445         * gst/gstcaps.c: (gst_caps_compare_structures):
4446           Simple caps go first. This has the nice side-effect of fixing an
4447           obscure warning.
4448
4449 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4450
4451         * gst/gstversion.h.in:
4452           Protect header.
4453
4454 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4455
4456         * gst/schedulers/gstoptimalscheduler.c:
4457         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
4458         (gst_opt_scheduler_get_wrapper):
4459           When we're recursing into a chain run, only run the directly
4460           related group, not all queued ones. This will fix a possible
4461           deadlock in chains with more than two groups.
4462
4463 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4464
4465         * autogen.sh:
4466           remove patch if autopoint fails
4467
4468 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4469
4470         * docs/gst/gstreamer-sections.txt:
4471           Document Thomas' addition, fix build, make Luis the sheriff happy.
4472
4473 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4474
4475         * gst/gstplugin.c:
4476         * gst/gstplugin.h:
4477           add accessor for version field
4478
4479 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4480
4481         submitted by: Luca Ferretti <elle.uca@infinito.it>
4482
4483         * po/LINGUAS:
4484         * po/it.po:
4485           New tranlation added: Italian
4486
4487 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4488
4489         * gst/gstpad.c: (gst_pad_is_negotiated),
4490         (gst_pad_get_negotiated_caps):
4491           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
4492           it doesn't actually check the contents), so be sure to hand it
4493           a RealPad else we'll crash.
4494
4495 2004-12-03  Wim Taymans  <wim@fluendo.com>
4496
4497         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4498         (gst_queue_link), (gst_queue_handle_src_query):
4499         Reverted to 1.110 until this makes the testsuite and various
4500         apps work.
4501
4502 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
4503
4504         * docs/upload.mak: fix included CVS conflict strings
4505
4506 2004-12-01  William Jon McCann  <mccann@jhu.edu>
4507
4508         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4509
4510         * gst/gstelement.c: (gst_element_error_full):
4511           Use g_error_new_literal because error text may have
4512           percentage signs in it. Fixes #160019.
4513
4514 2004-12-01  Benjamin Otte  <otte@gnome.org>
4515
4516         * gst/elements/gstbufferstore.c:
4517         (gst_buffer_store_add_buffer_func):
4518           don't try to make subbuffers bigger than they can be. (fixes
4519           #159970)
4520
4521 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4522
4523         * docs/gst/gstreamer-sections.txt:
4524         * docs/gst/tmpl/gstvalue.sgml:
4525           Add new function to docs to fix build.
4526
4527 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4528
4529         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
4530         * gst/gstpad.c: (_gst_pad_default_fixate_value),
4531         (_gst_pad_default_fixate_foreach):
4532         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
4533         * gst/gstvalue.h:
4534           Deprecate _type_is_fixed, use _value_is_fixed instead, since
4535           in some cases (arrays), the fixedness depends on the content.
4536         * gst/gstqueue.c: (gst_queue_handle_src_query):
4537           Check for availability before doing something.
4538
4539 2004-11-29  Wim Taymans  <wim@fluendo.com>
4540
4541         * testsuite/threads/Makefile.am:
4542         * testsuite/threads/signals.c: (gst_test_get_type),
4543         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
4544         (gst_test_set_property), (gst_test_get_property),
4545         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
4546         (gst_test_do_prop), (run_thread), (main):
4547         Added a bunch of testcases that show threadsafety bugs in glib.
4548
4549 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
4550
4551         * docs/manual/programs.xml:
4552           Added a first batch of gst-launch examples, as provided by Ronald
4553           and others from the devel-mlist
4554
4555 2004-11-28  Benjamin Otte  <otte@gnome.org>
4556
4557         * gst/gstelement.c: (gst_element_negotiate_pads):
4558           simplify
4559         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
4560         (gst_value_serialize_string), (gst_value_deserialize_string):
4561           add unwrapping of previously wrapped strings. Fix bug in wrapping
4562           while at it.
4563         * testsuite/caps/value_serialize.c: (test1),
4564         (test_string_serialization), (test_string_deserialization), (main):
4565           add tests for string (de)serialization
4566
4567 2004-11-26  Wim Taymans  <wim@fluendo.com>
4568
4569         * testsuite/threads/159566.c: (object_deep_notify), (main):
4570         * testsuite/threads/Makefile.am:
4571         Added testsuite to show bug #159566
4572
4573 2004-11-25  Wim Taymans  <wim@fluendo.com>
4574
4575         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
4576         (gst_thread_child_state_change), (gst_thread_main_loop):
4577         Ref the thread object in the GThread mainloop. Break out of the
4578         thread mainloop if it holds the last ref. This properly exits
4579         the threads when disposing the thread from its own context. It
4580         also avoids possible deadlocks in the dispose function.
4581
4582 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
4583
4584         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
4585         it is necessary to wait.
4586
4587 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4588
4589         * docs/pwg/building-boiler.xml:
4590           Make description somewhat clearer.
4591
4592 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4593
4594         * docs/upload.mak:
4595           Apparently docs changed location on FDO's server.
4596
4597 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4598
4599         * docs/pwg/appendix-checklist.xml:
4600           Add some random notes on things to check when writing an element.
4601           This list can be extended as people see fit.
4602
4603 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
4604
4605         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
4606         (gst_queue_link_src): Allow for renegotiating the caps of the sink
4607         pad. The queue will now wait until it is empty and forward the new
4608         caps to the source.
4609         * gst/gstbin.c (gst_bin_set_element_sched)
4610         (gst_bin_unset_element_sched): Make sure that all elements and
4611         links are registered and unregistered with the scheduler exactly
4612         once. This elaborates on a fix by Benjamin Otte, but
4613         guarantees that decoupled elements are also registered.
4614
4615 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4616
4617         * docs/manual/quotes.xml:
4618           add a quote
4619         * configure.ac:
4620         * gst/gst.c:
4621         * gst/gstinfo.c:
4622           add LIBDIR and move init message higher up so it's at the start
4623
4624 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
4625
4626         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
4627         * gstreamer.spec.in: add fair
4628
4629 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4630
4631         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4632         * gst/elements/gstidentity.c: (gst_identity_class_init):
4633           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
4634           <teuf@gnome.org> (#157263).
4635         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
4636         (gst_type_find_handle_src_query):
4637           Subtract size of internally stored data from position queries.
4638
4639 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
4640
4641         * gst/schedulers/fairscheduler.c:
4642         * gst/schedulers/faircothreads.c:
4643         * gst/schedulers/faircothreads.h:
4644         New cothread based scheduler: Fair scheduler.
4645         * gst/schedulers/gthread-cothreads.h: 
4646         Add the standard #if around the whole file.
4647         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
4648         compilation of the functions defined in this file. This is
4649         necessary to be able to use this file as a normal header.
4650         * gst/schedulers/Makefile.am: Add compiling support for fair
4651         scheduler.
4652         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
4653         scheduler cothreads layer from documentation generation.
4654
4655 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4656
4657         * gst/autoplug/gstspideridentity.c:
4658         (gst_spider_identity_sink_loop_type_finding):
4659           Don't crash if that function is not implemented.
4660
4661 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4662
4663         * docs/pwg/advanced-types.xml:
4664           Another typo.
4665
4666 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4667
4668         * docs/pwg/intro-preface.xml:
4669           Hm, ok, so the brackets weren't really useful...
4670         * docs/pwg/other-ntoone.xml:
4671           Fix embarassing typo.
4672
4673 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4674
4675         * docs/pwg/intro-preface.xml:
4676           Rewrite preface.
4677
4678 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4679
4680         * docs/pwg/advanced-scheduling.xml:
4681         * docs/pwg/advanced-tagging.xml:
4682         * docs/pwg/advanced-types.xml:
4683         * docs/pwg/building-boiler.xml:
4684         * docs/pwg/building-chainfn.xml:
4685         * docs/pwg/building-signals.xml:
4686         * docs/pwg/building-state.xml:
4687         * docs/pwg/building-testapp.xml:
4688         * docs/pwg/intro-basics.xml:
4689         * docs/pwg/other-manager.xml:
4690         * docs/pwg/other-source.xml:
4691           Typo fixes.
4692         * docs/pwg/other-manager.xml:
4693           Add some first content. No example code yet.
4694         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
4695           Remove double newlines.
4696
4697 2004-11-04  Wim Taymans  <wim@fluendo.com>
4698
4699         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4700         (remove_from_group), (normalize_group), (group_migrate_connected),
4701         (gst_opt_scheduler_iterate):
4702         * testsuite/schedulers/.cvsignore:
4703         * testsuite/schedulers/Makefile.am:
4704         * testsuite/schedulers/queue_link.c: (main):
4705         Added testcase for scheduler segfault.
4706         Fix scheduler segfault when removing a decoupled
4707         entry point as the last element from a group.
4708
4709 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4710
4711         * gst/gstmarshal.list: add missing marshaller, fixes build
4712
4713 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4714
4715         * docs/random/signal: added notes about using BOXED for GstBuffer
4716         signal marshallers, not POINTER
4717
4718 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4719
4720         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4721         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
4722         POINTER=>BOXED changes to marshal GstBuffers
4723
4724 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4725
4726         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
4727         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
4728
4729 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
4730
4731         * docs/gst/gstreamer-sections.txt:
4732         * docs/gst/tmpl/gstcaps.sgml:
4733         * docs/gst/tmpl/gsterror.sgml:
4734         * docs/gst/tmpl/gstinfo.sgml:
4735         * docs/gst/tmpl/gstmacros.sgml:
4736         * docs/gst/tmpl/gstutils.sgml:
4737         * docs/random/ensonic/interfaces.txt:
4738         * gst/gstinfo.h:
4739           added some more docs, removed two obsolete defines
4740
4741 2004-11-02  Kjartan Maraas <as at gnome.org>
4742
4743         reviewed by: Wim Taymans, Ronald Bultje.
4744
4745         * gst/cothreads.c: (cothread_create):
4746         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4747         (gst_bin_child_state_change_func):
4748         * gst/gstbuffer.c: (gst_buffer_span):
4749         * gst/gstelement.c: (gst_element_get_index),
4750         (gst_element_get_event_masks), (gst_element_get_query_types),
4751         (gst_element_get_formats):
4752         * gst/gsterror.c: (_gst_core_errors_init),
4753         (_gst_library_errors_init), (_gst_resource_errors_init),
4754         (_gst_stream_errors_init):
4755         * gst/gstobject.c: (gst_object_default_deep_notify):
4756         * gst/gstpad.c: (gst_pad_get_event_masks),
4757         (gst_pad_get_internal_links_default):
4758         * gst/gstplugin.c: (gst_plugin_register_func),
4759         (gst_plugin_get_module):
4760         * gst/gststructure.c: (gst_structure_get_string),
4761         (gst_structure_get_abbrs), (gst_structure_from_abbr),
4762         (gst_structure_to_abbr):
4763         * gst/gstutils.c: (gst_print_element_args):
4764         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4765         (setup_group_scheduler), (gst_opt_scheduler_iterate):
4766         Aplied part of patch #157127: Cleanup of issues reported by 
4767         sparse.
4768         Also do not try to use cothreads when there is no cothread
4769         context yet.
4770
4771 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
4772
4773         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4774         (gst_opt_scheduler_iterate):
4775         Applied patch #154061. Running a pipeline in which an element 
4776         calls GST_ELEMENT_ERROR in the chain function, the opt 
4777         scheduler doesn't unref the chain so it never gets freed.
4778
4779 2004-11-02  Wim Taymans  <wim@fluendo.com>
4780
4781         * gst/gststructure.c: (gst_structure_get_abbrs),
4782         (gst_structure_from_abbr), (gst_structure_to_abbr):
4783         Remove that ugly if-then thing in the code that converts
4784         between strings and types.
4785
4786 2004-11-02  Wim Taymans  <wim@fluendo.com>
4787
4788         * gst/gstscheduler.c: (gst_scheduler_add_element),
4789         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
4790         Aplied clock distribution patch, this should fix bug
4791         #148787.
4792
4793 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4794
4795         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
4796
4797         * po/LINGUAS:
4798         * po/nb.po:
4799           Added Norwegian Bokmaal translation
4800
4801 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4802
4803         * tools/gst-inspect.c: (print_signal_info):
4804           print signal arguments as pointers if they are
4805
4806 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
4807
4808         * docs/pwg/building-boiler.xml:
4809           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
4810
4811 2004-10-19  Wim Taymans  <wim at fluendo dot com>
4812
4813         * gst/parse/parse.l:
4814         * testsuite/parse/parse1.c: (main):
4815         Since parse can do 'element name=a:b' make 'a:b.' work as
4816         well. 
4817         Added testcase to verify fix.
4818
4819 2004-10-19  Wim Taymans  <wim at fluendo dot com>
4820
4821         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
4822         Use the realpad when printing the direction.
4823         Add extra \n when printing extensions of typefind factories.
4824
4825 2004-10-13  David Schleef  <ds@schleef.org>
4826
4827         * examples/manual/Makefile.am: $< isn't portable in Makefile
4828         rules.
4829
4830 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
4831
4832         * docs/gst/tmpl/gstobject.sgml:
4833         * docs/gst/tmpl/gstplugin.sgml:
4834         * docs/gst/tmpl/gstpluginfeature.sgml:
4835         * docs/gst/tmpl/gstregistry.sgml:
4836         * docs/gst/tmpl/gstversion.sgml:
4837         * gst/gstbin.c:
4838           more api documentation
4839         * gst/gstplugin.c: (gst_plugin_register_func),
4840         (gst_plugin_check_file), (gst_plugin_load_file):
4841           better error signaling and logging
4842
4843 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4844
4845         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
4846           Subtract current queue contents from position queries.
4847
4848 2004-10-11  Johan Dahlin  <johan@gnome.org>
4849
4850         * gst/gsturi.c (gst_uri_get_location): unescape string
4851         (gst_uri_construct): escape string.
4852
4853 2004-10-11  Benjamin Otte  <otte@gnome.org>
4854
4855         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
4856         (gst_pad_try_set_caps_nonfixed):
4857           allow renegotiation of unconnected pads (as inside spider). Simply
4858           return OK if unconnected - mimic try_set_caps there.
4859
4860 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4861
4862         * gst/gstbin.c: (gst_bin_sync_children_state):
4863           Add missing break.
4864
4865 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4866
4867         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
4868         Set element to EOS before sending EOS event
4869
4870 2004-10-08  Wim Taymans  <wim at fluendo dot com>
4871
4872         * gst/elements/gsttypefindelement.c:
4873         (gst_type_find_element_handle_event):
4874         Handle EOS events when doing the transition from
4875         typefind to data passing. This should fix the
4876         infinite loops in short files.
4877
4878 2004-10-07  Wim Taymans  <wim at fluendo dot com>
4879
4880         * gst/gstthread.c: (gst_thread_change_state),
4881         (gst_thread_child_state_change):
4882         Make sure no iteration happens while performing
4883         the state change as it could mess up the internal
4884         consistency of the thread state.
4885
4886 2004-10-07  Wim Taymans  <wim at fluendo dot com>
4887
4888         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
4889         (gst_thread_change_state), (gst_thread_child_state_change):
4890         Do not try to grab the iterate lock in the state change method
4891         when we are in the same thread as the iterate or else we
4892         could deadlock. Some other cleanups.
4893
4894 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4895
4896         * configure.ac:
4897           bump nano to cvs
4898
4899 === release 0.8.7 ===
4900
4901 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4902
4903         * configure.ac:
4904         * NEWS:
4905         * RELEASE:
4906         * configure.ac:
4907           releasing 0.8.7, "A Cruise"
4908
4909 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
4910
4911         * docs/random/mimetypes:
4912         Add an entry for Sony ATRAC3 audio format with mime-type
4913         used by rmdemux et riff-read
4914
4915 2004-10-06  Wim Taymans  <wim at fluendo dot com>
4916
4917         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4918         Push the buffer store instead of clearing it in case that
4919         the stream is not seekable.
4920
4921 2004-10-06  Wim Taymans  <wim at fluendo dot com>
4922
4923         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
4924         (gst_thread_main_loop):
4925         Lock the iteration and the state change so that automatic
4926         negotiation and fixation does not happen at the same time
4927         as the in stream negotiation.
4928
4929 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4930
4931         * configure.ac:
4932           bump nano to cvs
4933
4934 === release 0.8.6 ===
4935
4936 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4937
4938         * configure.ac:
4939         * NEWS:
4940         * RELEASE:
4941         * configure.ac:
4942           releasing 0.8.6, "Narc"
4943
4944 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4945
4946         * configure.ac:
4947           prerel bump
4948
4949 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4950
4951         patch by: Steve Lhomme
4952
4953         * gst/elements/gstfakesrc.c:
4954         * gst/elements/gstidentity.c:
4955         * gst/gstthread.c:
4956           Fix for #153881
4957
4958 2004-10-01  Wim Taymans  <wim at fluendo dot com>
4959
4960         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
4961         Fix threadsafety of the crc checking function.
4962
4963 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4964
4965         patch by: Ronald Bultje
4966
4967         * gst/elements/gsttypefindelement.c: (stop_typefinding),
4968         (gst_type_find_element_handle_event),
4969         (gst_type_find_element_chain):
4970         * gst/elements/gsttypefindelement.h:
4971          #153657.
4972          Filter out discont event from seekable sources when typefind
4973          asks them to seek.  Fixes typefind with demuxers for
4974          avi, asf and matroska.
4975
4976 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4977
4978         * docs/gst/gstreamer-sections.txt:
4979         * gst/gstcaps.c:
4980         * gst/gstcaps.h:
4981         * gst/gstpad.c:
4982           Revert preferred caps: (#147789)
4983
4984 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
4985
4986         * win32/dirent.c:
4987           fix a memory leak
4988
4989 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4990
4991         * configure.ac:
4992           bump for prerelease
4993
4994 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4995
4996         * docs/Makefile.am:
4997         * docs/manual/elements-api.xml:
4998           restructure so that common stuff is shown first
4999         * docs/manual/init-api.xml:
5000           convert to examples
5001         * docs/manual/manual.xml:
5002         * docs/manuals.mak:
5003         * docs/url.entities:
5004           link to API on the website, possibly override later in build
5005         * examples/manual/.cvsignore:
5006           ignore more
5007         * examples/manual/Makefile.am:
5008           add more examples
5009         * examples/manual/extract.pl:
5010           error out on failure
5011
5012 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5013
5014         * docs/gst/tmpl/gstthread.sgml:
5015         * docs/manual/init-api.xml:
5016         * examples/manual/Makefile.am:
5017           convert two code bits to examples
5018
5019 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5020
5021         * gst/gstelement.c: (gst_element_change_state):
5022           Well, actually, I was about to remove this insane assert when
5023           I noticed Wim already did that. A warning is nice so we can
5024           fix actual ugs (using --g-fatal-warnings and backtraces), so
5025           I added that instead.
5026
5027 2004-09-06  Wim Taymans  <wim@fluendo.com>
5028
5029         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
5030         (gst_element_threadsafe_properties_post_run),
5031         (gst_element_set_state), (gst_element_change_state):
5032         Added extra refcounting around various places. 
5033
5034 2004-09-06  Wim Taymans  <wim@fluendo.com>
5035
5036         * gst/gstpad.c: (gst_pad_link_call_link_functions):
5037         Fix debug info.
5038
5039 2004-09-06  Wim Taymans  <wim@fluendo.com>
5040
5041         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5042         (remove_from_group):
5043         Some more debug info.
5044
5045 2004-09-03  Wim Taymans  <wim@fluendo.com>
5046
5047         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
5048         (gst_fakesrc_init), (gst_fakesrc_set_clock),
5049         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
5050         (gst_fakesrc_get), (gst_fakesrc_change_state):
5051         * gst/elements/gstfakesrc.h:
5052         * gst/elements/gstidentity.c: (gst_identity_class_init),
5053         (gst_identity_init), (gst_identity_chain),
5054         (gst_identity_set_property), (gst_identity_get_property),
5055         (gst_identity_change_state):
5056         * gst/elements/gstidentity.h:
5057         Added datarate properties to limit the datarate.
5058
5059 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5060
5061         * gst/autoplug/gstspider.c: (plugin_init):
5062           don't set a rank. We don't want to autoplug by inserting spiders.
5063
5064 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5065
5066         * gst/autoplug/gstspider.c: (gst_spider_class_init),
5067         (gst_spider_identity_plug):
5068           add a template for spider's sink
5069         * gst/gst.c: (gst_register_core_elements):
5070           queue's rank should be NULL, we don't want spider to add it.
5071
5072 2004-08-18  David Schleef  <ds@schleef.org>
5073
5074         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
5075         * docs/libs/Makefile.am: same
5076         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
5077         * docs/random/ds/0.9-planning: random additions
5078         * docs/random/ds/0.9-suggested-changes: same
5079         * gst/gstxml.h: remove vestigal GstXMLNs definition
5080
5081         Preferred caps: (#147789)
5082         * docs/gst/gstreamer-sections.txt: Add symbols
5083         * docs/gst/tmpl/gstcaps.sgml: Add symbols
5084         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
5085         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
5086         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
5087         (gst_caps_get_preferred), (gst_caps_set_preferred),
5088         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
5089         (gst_caps_use_preferred): Handle caps preferences
5090         * gst/gstcaps.h: Add caps preferences
5091         * gst/gstpad.c: (gst_pad_link_get_preferred),
5092         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
5093         (gst_pad_renegotiate), (gst_pad_guess_preferred),
5094         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
5095         negotiation.
5096
5097 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5098
5099         * gst/autoplug/gstspideridentity.c:
5100         (gst_spider_identity_request_new_pad):
5101         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
5102         (gst_aggregator_init):
5103         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
5104         (gst_fakesink_init):
5105         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
5106         (gst_fakesrc_init):
5107         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
5108         (gst_fdsink_init):
5109         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
5110         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
5111         (gst_filesink_init):
5112         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
5113         (gst_filesrc_init):
5114         * gst/elements/gstidentity.c: (gst_identity_base_init),
5115         (gst_identity_init):
5116         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
5117         (gst_multifilesrc_init):
5118         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
5119         (gst_pipefilter_init):
5120         * gst/elements/gststatistics.c: (gst_statistics_base_init),
5121         (gst_statistics_init):
5122         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
5123         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
5124           s/gst_pad_new/&_from_template/
5125           register pad templates in the base_init function
5126           add static pad template definitions
5127
5128 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5129
5130         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
5131         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
5132         * testsuite/refcounting/pad.c: (main):
5133         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
5134           s/gst_pad_new/&_from_template/
5135           prepare deprecation of gst_pad_new
5136
5137 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5138
5139         patch by: Luca Ognibene <skaboy81@virgilio.it>
5140
5141         * gst/gstcaps.c:
5142         * gst/gstelement.c:
5143         * gst/gstpad.c:
5144         * gst/gstxml.c:
5145           fix memleaks.  Fixes #150001
5146
5147 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5148
5149         * docs/random/ds/0.9-suggested-changes:
5150           add notes - mostly about pad templates
5151
5152 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
5153
5154         * win32/GStreamer.vcproj:
5155           temporary locale files are .gmo not .mo
5156
5157 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5158
5159         * configure.ac: bump nano to cvs
5160
5161 === release 0.8.5 ===
5162
5163 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5164
5165         * configure.ac:
5166           releasing 0.8.5, "Stuttgart"
5167         * NEWS:
5168         * RELEASE:
5169         * configure.ac:
5170         * docs/random/release:
5171           updates for release
5172
5173 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5174
5175         patch by: Wim Taymans (wim@fluendo.com)
5176
5177         * gst/gstbuffer.c:
5178         * gst/gstindex.h:
5179         * libs/gst/dataprotocol/dataprotocol.c:
5180           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
5181
5182 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5183
5184         * Makefile.am:
5185         * win32/MANIFEST:
5186           add win32 dir to the build.  Fixes #149981.
5187
5188 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5189
5190         * configure.ac:
5191           bump libtool versioning
5192         * gst/gststructure.c:
5193           mark function as static
5194         * po/af.po:
5195         * po/az.po:
5196         * po/ca.po:
5197         * po/cs.po:
5198         * po/en_GB.po:
5199         * po/fr.po:
5200         * po/nl.po:
5201         * po/sq.po:
5202         * po/sr.po:
5203         * po/sv.po:
5204         * po/tr.po:
5205         * po/uk.po:
5206           translations update
5207         * win32/README.txt:
5208           trademark protection
5209
5210 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5211
5212         * configure.ac:
5213           fix GST_ORIGIN
5214           set GST_PACKAGE to source, and distinguish between release and other
5215         * tools/gst-inspect.c:
5216           print out plugin an element factory is part of so we see this info
5217
5218 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5219
5220         * docs/gst/gstreamer-sections.txt:
5221         * docs/gst/tmpl/gstbuffer.sgml:
5222         * docs/gst/tmpl/gstschedulerfactory.sgml:
5223           reorder docs a little, make GstBuffer's more sensible.
5224         * gst/gstbuffer.h:
5225           API: added GST_BUFFER_FLAG_DELTA_UNIT
5226         * gst/gstscheduler.c:
5227           comment API addition
5228
5229 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5230
5231         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
5232           work with non-regular files that can be mmapped (like /dev/zero)
5233         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
5234           get rid of typefinds that require a seek when we can't seek instead
5235           of trying them over and over again
5236         * tools/gst-launch.c: (idle_func), (error_cb), (main):
5237           return non-zero failure value when the pipeline was interrupted or
5238           an error occurred
5239
5240 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
5241
5242         * win32/config.h:
5243         * win32/GStreamer.vcproj:
5244           compile and install the locales
5245
5246 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
5247
5248         * gst/gstvalue.c:
5249           fix a possible memory leak under Windows
5250
5251 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
5252
5253         * win32/GStreamer.vcproj:
5254           fix a memory leak that occured under Windows
5255         * win32/gstreamer.def:
5256           add gst_scheduler_register
5257
5258 2004-08-11  Benjamin Otte  <otte@gnome.org>
5259
5260         * docs/gst/gstreamer-sections.txt:
5261         * gst/gstscheduler.c: (gst_scheduler_register):
5262         * gst/gstscheduler.h:
5263           API:
5264           add gst_scheduler_register shortcut similar to gst_element_register
5265         * gst/schedulers/entryscheduler.c: (plugin_init):
5266         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
5267         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
5268           use it
5269
5270 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
5271
5272         * gst/gstvalue.h:
5273           fix a memory leak that occured under Windows
5274
5275 2004-08-10  Colin Walters  <walters@redhat.com>
5276
5277         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
5278         Don't use O_EXCL to open temporary registry.  It will prevent
5279         registry creation if a temporary one already exists, which
5280         is unnecessary.
5281
5282 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
5283
5284         * docs/gst/gstreamer-sections.txt:
5285         * docs/gst/tmpl/gstvalue.sgml:
5286           remove some valuable stuff from the documentation due to the use of GST_EXPORT
5287
5288 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
5289
5290         * win32/gstbytestream.vcproj:
5291         * win32/gstelements.vcproj:
5292         * win32/gstgetbits.vcproj:
5293         * win32/gst-inspect.vcproj:
5294         * win32/gst-launch.vcproj:
5295         * win32/gstoptimalscheduler.vcproj:
5296         * win32/GStreamer.vcproj:
5297         * win32/gst-register.vcproj:
5298         * win32/gstspider.vcproj:
5299           update the include and lib dirs to fit standard libraries as
5300           described in the Win32 manual
5301
5302 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
5303
5304         * win32/config.h:
5305         * win32/gstversion.h:
5306           enable NLS again, push the version number for the coming 0.8.5 release
5307
5308 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
5309
5310         * gst/gstvalue.h:
5311           export gst_type_XXX for windows DLLs
5312
5313 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5314
5315         * docs/faq/gst-uninstalled:
5316           fix PKG_CONFIG_PATH and PYTHONPATH
5317         * gst/schedulers/Makefile.am:
5318           cleanup
5319         * libs/gst/bytestream/bytestream.c:
5320           remove newline
5321         * po/LINGUAS:
5322         * po/sq.po:
5323           adding Albanian translation (Laurent Dhima)
5324         * po/cs.po:
5325           updated
5326
5327 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5328
5329         * po/ca.po:
5330         * po/sv.po:
5331           updated translations
5332
5333 2004-08-04  Benjamin Otte  <otte@gnome.org>
5334
5335         * tests/mass_elements.c: (main):
5336           allow specifying src and sink element explicitly, so I can test
5337           videotestsrc instead of fakesrc
5338
5339 2004-08-04  Benjamin Otte  <otte@gnome.org>
5340
5341         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
5342         (gst_structure_id_empty_new), (gst_structure_empty_new),
5343         (gst_structure_copy):
5344           add gst_structure_id_empty_new_with_size to allow preallocating
5345           value array sizes. Use this in gst_structure_copy to get rid of
5346           reallocs.
5347           don't do quark=>string=>quark when copying structures
5348
5349 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
5350
5351         * docs/manual/win32.xml:
5352         * win32/README.txt:
5353           update documentation with the clean version of dependencies
5354
5355 2004-08-03  Benjamin Otte  <otte@gnome.org>
5356
5357         * gst/schedulers/entryscheduler.c:
5358         (gst_entry_scheduler_remove_element):
5359           fix for GST_DISABLE_DEBUG
5360         * tools/gst-launch.c: (print_tag):
5361           fixes for G_DISABLE_ASSERT
5362
5363 2004-08-03  Benjamin Otte  <otte@gnome.org>
5364
5365         * gst/gst.c: (gst_register_core_elements):
5366           fix for G_DISABLE_ASSERT
5367         * gst/gstinfo.c: (__gst_in_valgrind):
5368           add for GST_DISABLE_DEBUG
5369
5370 2004-08-03  Benjamin Otte  <otte@gnome.org>
5371
5372         * gst/parse/parse.l:
5373           fix for G_DISABLE_ASSERT
5374
5375 2004-08-03  Wim Taymans  <wim@fluendo.com>
5376
5377         * gst/gstbin.c: (gst_bin_get_type),
5378         (gst_bin_child_state_change_func):
5379         * gst/gstthread.c: (gst_thread_change_state):
5380         Backported some debug logging from a reverted patch
5381         Don't try to destroy the thread twice. Added some more
5382         debugging in GstThread. Unlock and signal even if we
5383         are in the thread context.
5384
5385 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5386
5387         * po/uk.po:
5388           updated translation
5389
5390 2004-07-30  David Schleef  <ds@schleef.org>
5391
5392         * gst/gstatomic_impl.h: Enable atomic code for x86_64
5393
5394 2004-07-29  David Schleef  <ds@schleef.org>
5395
5396         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
5397         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
5398
5399 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5400
5401         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
5402         (gst_bin_add_func), (gst_bin_remove_func),
5403         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
5404         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
5405         (gst_bin_change_state_norecurse), (gst_bin_dispose),
5406         (gst_bin_sync_children_state):
5407         * gst/gstbin.h:
5408         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
5409         (gst_thread_change_state):
5410         * testsuite/states/Makefile.am:
5411           revert state change patches as agreed so we can rework them
5412           gradually
5413
5414 2004-07-29  Benjamin Otte  <otte@gnome.org>
5415
5416         * libs/gst/control/Makefile.am:
5417           link to libgstreamer (fixes Debian bug 262019, see
5418           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
5419
5420 2004-07-29  Wim Taymans  <wim@fluendo.com>
5421
5422         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
5423         (check_from_fraction_convert), (transform_test), (main):
5424         Make the test less pedantic about float roundoff errors.
5425
5426 2004-07-29  Benjamin Otte  <otte@gnome.org>
5427
5428         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
5429         (gst_filesrc_srcpad_event):
5430           make seek events to before start/after end of file not fail, but
5431           seek to start/end instead
5432         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
5433           add more output
5434
5435 2004-07-29  Benjamin Otte  <otte@gnome.org>
5436
5437         * gst/gstpad.c: (gst_pad_set_explicit_caps):
5438           check that caps are fixed
5439         * gst/gstpad.c: (gst_pad_template_new):
5440           don't try to simplify caps, costs too much time on gst_init
5441         * gst/gstplugin.c: (gst_plugin_add_feature):
5442           G_ERROR if features are added twice
5443         * gst/gsttypefind.c: (gst_type_find_register):
5444         * gst/gstelementfactory.c: (gst_element_register):
5445           don't add features twice
5446         * docs/random/ds/0.9-suggested-changes:
5447           add note about possible gst_init optimization
5448
5449 2004-07-28  David Schleef  <ds@schleef.org>
5450
5451         * testsuite/elements/Makefile.am:
5452         * testsuite/elements/struct_i386.h:
5453         * testsuite/elements/struct_size.c: (main):  A little test
5454         to keep distcheck from working if someone changes a structure
5455         size accidentally.
5456
5457 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5458
5459         * docs/libs/Makefile.am:
5460         * docs/libs/gstreamer-libs-docs.sgml:
5461         * docs/libs/gstreamer-libs-sections.txt:
5462         * docs/libs/tmpl/gstbytestream.sgml:
5463         * docs/libs/tmpl/gstcontrol.sgml:
5464         * docs/libs/tmpl/gstdataprotocol.sgml:
5465         * docs/libs/tmpl/gstgetbits.sgml:
5466         * libs/gst/bytestream/Makefile.am:
5467         * libs/gst/bytestream/bytestream.c:
5468         * libs/gst/bytestream/bytestream.h:
5469         * libs/gst/control/Makefile.am:
5470         * libs/gst/dataprotocol/Makefile.am:
5471         * libs/gst/getbits/Makefile.am:
5472         * libs/gst/getbits/getbits.h:
5473           various doc and style fixes, adding bytestream to libs docs.
5474
5475 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5476
5477         * docs/gst/gstreamer-docs.sgml:
5478         * docs/libs/Makefile.am:
5479         * docs/libs/gstreamer-libs-docs.sgml:
5480         * docs/libs/gstreamer-libs-sections.txt:
5481         * libs/gst/control/dparam.c:
5482           more doc fixes.  gst-libs docs now build the same way as gst.
5483
5484 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5485
5486         * configure.ac:
5487         * testsuite/Makefile.am:
5488         * testsuite/bins/Makefile.am:
5489         * testsuite/caps/Makefile.am:
5490         * testsuite/cleanup/Makefile.am:
5491         * testsuite/clock/Makefile.am:
5492         * testsuite/debug/Makefile.am:
5493         * testsuite/dlopen/Makefile.am:
5494         * testsuite/dynparams/Makefile.am:
5495         * testsuite/elements/.cvsignore:
5496         * testsuite/elements/Makefile.am:
5497         * testsuite/enumcaps/Makefile.am:
5498         * testsuite/enumcaps/enumcaps.c:
5499         * testsuite/ghostpads/Makefile.am:
5500         * testsuite/indexers/Makefile.am:
5501         * testsuite/negotiation/Makefile.am:
5502         * testsuite/parse/Makefile.am:
5503         * testsuite/plugin/Makefile.am:
5504         * testsuite/refcounting/Makefile.am:
5505         * testsuite/schedulers/.cvsignore:
5506         * testsuite/states/Makefile.am:
5507         * testsuite/tags/Makefile.am:
5508         * testsuite/threads/Makefile.am:
5509           fold enumcaps into caps dir
5510           clean up Makefile.am's for testsuite
5511
5512 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5513
5514         * docs/gst/Makefile.am:
5515         * docs/libs/Makefile.am:
5516           clean up docs build.  Fixes needless rebuilding of template files.
5517
5518 2004-07-28  Wim Taymans  <wim@fluendo.com>
5519
5520         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
5521         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
5522         Make sure that a bin state change tries to keep the children
5523         in sync. 
5524         Added debug logging to the thread.
5525
5526 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
5527
5528         * win32/GStreamer.vcproj:
5529         * win32/gstreamer.def:
5530           more exports for the plugins
5531
5532 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
5533
5534         * win32/gstgetbits.vcproj:
5535         * win32/gstgetbits.def:
5536         * win32/msvc71.sln:
5537           add support for the getbits plugin
5538
5539 2004-07-27  Wim Taymans  <wim@fluendo.com>
5540
5541         * gst/gstvalue.c: (gst_value_transform_double_fraction),
5542         (gst_value_transform_fraction_double), (_gst_value_initialize):
5543         * testsuite/caps/Makefile.am:
5544         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
5545         (check_from_fraction_convert), (transform_test), (main):
5546         Added transform functions between double and fraction.
5547         Added testcase to verify transforms
5548
5549 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5550
5551         * win32/GStreamer.vcproj:
5552           rename GStreamer-0.8.lib to libgstreamer.lib
5553
5554 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5555
5556         * win32/gstelements.vcproj:
5557         * win32/gstoptimalscheduler.vcproj:
5558           fixes for the Release build
5559
5560 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5561
5562         * win32/config.h:
5563           update the version number
5564
5565 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5566
5567         * win32/GStreamer.vcproj:
5568           add gstinterface to the build
5569
5570 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5571
5572         * win32/gstreamer.def:
5573           add many definitions needed by plugins,
5574           GST_CAT_DEFAULT only available in the Debug build ?
5575
5576 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5577
5578         * gst/gstelement.c: (gst_element_set_eos_recursive):
5579           various whitespace fixes.
5580           doc fix, fixes #148497
5581
5582 2004-07-25  Benjamin Otte  <otte@gnome.org>
5583
5584         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
5585           don't delay links on the sink elements, it causes unnegotiated
5586           links.
5587         * gst/elements/gsttypefindelement.c:
5588         (gst_type_find_element_base_init):
5589           add our padtemplates, we indeed do have some.
5590         * gst/elements/gsttypefindelement.c:
5591         (gst_type_find_element_handle_event),
5592         (gst_type_find_element_chain):
5593           don't push data when typefinding failed.
5594         * gst/gstpad.c: (gst_pad_link_fixate):
5595           check that no fixate function returns empty caps.
5596         * gst/gstpad.c: (gst_pad_push):
5597           check that the link is negotiated before data gets pushed.
5598         * tools/gst-register.c: (main):
5599           don't assert (fixes #148283)
5600
5601 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5602
5603         * docs/gst/gstreamer-sections.txt:
5604         * docs/gst/tmpl/gstconfig.sgml:
5605           add GST_PLUGIN_EXPORT definition
5606
5607 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5608
5609         * gst/gstplugin.h:
5610         * gst/gstconfig.h.in:
5611         * win32/gstconfig.h:
5612         * win32/gstelements.def:
5613         * win32/gstelements.vcproj:
5614         * win32/gstoptimalscheduler.def:
5615         * win32/gstoptimalscheduler.vcproj:
5616         * win32/gstspider.def:
5617         * win32/gstspider.vcproj:
5618           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
5619
5620 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5621
5622         * docs/gst/gstreamer-sections.txt:
5623           remove GST_CAT_DEFAULT because the type has changed
5624
5625 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5626
5627         * win32/gstbytestream.vcproj:
5628         * win32/gstelements.vcproj:
5629         * win32/gst-inspect.vcproj:
5630         * win32/gst-launch.vcproj:
5631         * win32/gstoptimalscheduler.vcproj:
5632         * win32/GStreamer.vcproj:
5633         * win32/gst-register.vcproj:
5634         * win32/gstspider.vcproj:
5635         * win32/msvc71.sln:
5636           Copy the files where needed after building, The testsuite will be
5637           built separately
5638
5639 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5640
5641         * win32/config.h:
5642         * win32/README.txt:
5643         * docs/manual/win32.xml:
5644         Fixed the plugin and GStreamer location
5645
5646 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5647
5648         * win32/gstreamer.def:
5649         More exports for the plugins
5650
5651 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5652
5653         * gst/gstinfo.h:
5654         Marc was right, we need to export literally GST_CAT_DEFAULT
5655
5656 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5657
5658         * win32/config.h:
5659         NLS crashes in gettext, disabled until this is solved
5660
5661 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5662
5663         * win32/gst-inspect.vcproj:
5664         * win32/gst-launch.vcproj:
5665         Should use NLS when available
5666
5667 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5668
5669         * gst/registries/gstxmlregistry.c:
5670         removing the file doesn't seem to be a good idea on Linux
5671
5672 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5673
5674         * gst/registries/gstxmlregistry.c:
5675         Remove the registry before renaming the tempfile (needed for Windows)
5676
5677 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5678
5679         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
5680         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
5681         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
5682         * gst/elements/gstmultifilesrc.h:
5683         Added newmedia property so it generates newmedia events between each
5684         file when property is set, as well as fixed eos handling
5685
5686 2004-07-22  David Schleef  <ds@schleef.org>
5687
5688         * gst/gststructure.c: (gst_structure_id_empty_new),
5689         (gst_structure_empty_new):  Set type field correctly.
5690         * gst/gststructure.h: Check type field correctly.
5691         * testsuite/caps/Makefile.am:
5692         * testsuite/caps/structure.c: (test1), (main): Add a very small
5693         test for structures.
5694
5695 2004-07-22  David Schleef  <ds@schleef.org>
5696
5697         * docs/random/ds/0.9-suggested-changes: more comments
5698         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
5699
5700 2004-07-22  Benjamin Otte  <otte@gnome.org>
5701
5702         * gst/gstelementfactory.c: (gst_element_register):
5703           set the factory in the class struct, so gst_element_get_factory
5704           actually works
5705         * gst/parse/grammar.y:
5706           set element to playing when it gets unlocked as we can't rely on the
5707           bin state - all elements in the bin state might still be locked in
5708           NULL)
5709
5710 2004-07-22  Benjamin Otte  <otte@gnome.org>
5711
5712         * gst/gstelement.c: (gst_element_set_state_func):
5713           make this a static function
5714
5715 2004-07-22  Wim Taymans  <wim@fluendo.com>
5716
5717         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
5718         (gst_opt_scheduler_pad_link):
5719         fix 147894-2 and the group_link problem.
5720
5721 2004-07-22  Wim Taymans  <wim@fluendo.com>
5722
5723         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
5724         (handoff_identity), (main):
5725         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5726         (handoff_identity), (main):
5727         * testsuite/schedulers/Makefile.am:
5728         * testsuite/schedulers/group_link.c: (main):
5729         Show bug in scheduler when linking chain and loop based element 
5730         where the chain based element was not yet in a group.
5731
5732 2004-07-21  Benjamin Otte  <otte@gnome.org>
5733
5734         * gst/.cvsignore:
5735         * gst/autoplug/.cvsignore:
5736         * gst/elements/.cvsignore:
5737         * gst/indexers/.cvsignore:
5738         * libs/gst/bytestream/.cvsignore:
5739         * libs/gst/control/.cvsignore:
5740         * libs/gst/getbits/.cvsignore:
5741         * testsuite/states/.cvsignore:
5742         * testsuite/threads/.cvsignore:
5743           keep this up to date, since I seem to be the only one who cares
5744           about not missing files on commits (editor's note: no you don't,
5745           but feel free to change them at the time you add stuff instead
5746           of later on)
5747
5748 2004-07-21  Benjamin Otte  <otte@gnome.org>
5749
5750         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
5751         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
5752         (gst_bin_child_state_change_func), (set_kid_state_func),
5753         (gst_bin_set_state), (gst_bin_change_state_norecurse):
5754           make state changes work correctly and reentrant (so removing
5755           elements from bins during state changes of bins doesn't cause
5756           segfaults or even wrong states)
5757           add debugging category and debugging output to print children states
5758         * gst/gstbin.c: (gst_bin_dispose): 
5759           add some assertion checks
5760         * gst/gstbin.h:
5761         * gst/gstbin.c: (gst_bin_sync_children_state):
5762           deprecate this function - it just does gst_bin_set_state (bin,
5763           GST_STATE (bin)) 
5764         * testsuite/threads/queue.c: (main):
5765           don't use gst_bin_sync_children_state anymore
5766         * testsuite/states/Makefile.am:
5767         * testsuite/states/bin.c:
5768           test that the state changes of bins work as expected
5769         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
5770           some adjustments to change states correctly, too
5771         * gst/gstthread.c: (gst_thread_change_state):
5772           don't enable/disable "threadsafe" properties, they're unused and
5773           cause random segfaults
5774         * testsuite/threads/Makefile.am:
5775           the queue check randomly passes now, ignore it
5776
5777 2004-07-21  Benjamin Otte  <otte@gnome.org>
5778
5779         * gst/gstpad.c:
5780           check if data is NULL before outputting debug info. (fixes #145100)
5781
5782 2004-07-21  Benjamin Otte  <otte@gnome.org>
5783
5784         * gst/schedulers/entryscheduler.c:
5785         (gst_entry_scheduler_loop_wrapper),
5786         (gst_entry_scheduler_chain_wrapper),
5787         (gst_entry_scheduler_get_wrapper):
5788           reset the state when the cothread starts, so we don't get assertion
5789           failures on restarting of cothreads
5790
5791 2004-07-20  Benjamin Otte  <otte@gnome.org>
5792
5793         * gst/gstelement.c: (gst_element_link_pads_filtered):
5794           use correct sinkpad, if only sinkpad is specified, but not srcpad
5795           (fixes #147889)
5796         * gst/gstelement.c: (gst_element_set_state_func),
5797         (gst_element_change_state): ref/unref the element, signal handlers
5798         could get rid of the element otherwise
5799
5800 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
5801
5802         * docs/random/ds/0.9-suggested-changes:
5803           Make note about renaming fixed-list to array.
5804         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
5805         (_gst_value_initialize):
5806           Add array intersections.
5807         * testsuite/caps/intersect2.c: (main):
5808           Add test for array intersections.
5809
5810 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5811
5812         * configure.ac: back to cvs
5813
5814 === release 0.8.4 ===
5815
5816 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5817
5818         * configure.ac:
5819           releasing 0.8.4, "Paella"
5820           bump libtool versioning
5821
5822 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5823
5824         * po/LINGUAS:
5825         * po/ca.po:
5826           adding Catalan translation (Jordi Mallach)
5827
5828 2004-07-20  Wim Taymans  <wim@fluendo.com>
5829
5830         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
5831         (handoff_identity), (main):
5832         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5833         (handoff_identity), (main):
5834         * testsuite/schedulers/Makefile.am:
5835         Added failing testcase for variant of #147894
5836
5837 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5838
5839         patch by: David Moore
5840
5841         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
5842         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
5843         (group_migrate_connected):
5844         * testsuite/schedulers/Makefile.am:
5845           fix for #142813 (Deadlock in optimal scheduler)
5846
5847 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5848
5849         patch by: Wim Taymans
5850
5851         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
5852         (gst_opt_scheduler_schedule_run_queue),
5853         (gst_opt_scheduler_get_wrapper), (get_group),
5854         (group_migrate_connected):
5855         * testsuite/schedulers/Makefile.am:
5856           fix for #147819 (Add some checks in the opt scheduler)
5857
5858 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5859
5860         patch by: Benjamin Otte
5861
5862         * gst/gstelementfactory.c: (__gst_element_details_set):
5863           fix for #147929: running gst-register in non-utf8 locale can cause
5864           invalid registry
5865
5866 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5867
5868         patch by: Wim Taymans
5869
5870         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
5871         (group_has_element), (element_get_reachables_func),
5872         (group_migrate_connected):
5873           fix for #147894 (opt scheduler decoupled elements mismanagement)
5874         * testsuite/schedulers/Makefile.am:
5875           testsuite app now passes
5876
5877 2004-07-19  Wim Taymans  <wim@fluendo.com>
5878
5879         * testsuite/schedulers/147819.c: (handoff_identity1),
5880         (handoff_identity2), (main):
5881         * testsuite/schedulers/Makefile.am:
5882         Added testcase for bug 147819
5883
5884 2004-07-19  Wim Taymans  <wim@fluendo.com>
5885
5886         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5887         (handoff_identity), (main):
5888         * testsuite/schedulers/Makefile.am:
5889         Added testcase for bug 147894
5890
5891 2004-07-16  Wim Taymans  <wim@fluendo.com>
5892
5893         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
5894         * testsuite/schedulers/142183.c: (handoff_identity), (main):
5895         * testsuite/schedulers/Makefile.am:
5896         Added testsuite for bug 142183 in its two incarnations. Refcount
5897         is not increased for scheduled elements and threadsafe properties
5898         mutexes are not properly unlocked.
5899
5900 2004-07-16  Wim Taymans  <wim@fluendo.com>
5901
5902         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
5903         (create_chain), (destroy_chain), (create_group), (destroy_group),
5904         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
5905         (group_dec_link), (gst_opt_scheduler_pad_link),
5906         (group_inc_links_for_element), (group_migrate_connected):
5907         Call group_inc_link with the proper src->sink ordering -- 
5908         break this, and we break sort_chain. patch from wingo for bug
5909         147713.
5910         Partially revert patch 1.89. When adding a loop based element to 
5911         the scheduler, the links to other groups are automatically followed
5912         and incremented. This should not happen because the bin will call
5913         pad_link explicitly for those connection, resulting in them counted 
5914         twice. Results in assertion failure on pipeline cleanup.
5915
5916 2004-07-16  Wim Taymans  <wim@fluendo.com>
5917
5918         * testsuite/schedulers/143777-2.c: (main):
5919         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
5920         (main):
5921         * testsuite/schedulers/Makefile.am:
5922         Added cleanup code to testcase 143777-2.
5923         Added testcase to show bug 147713, does not really show the
5924         deadlock as I can't figure out how to trigger it, but it does
5925         demonstrate bad ordering in the scheduler.
5926
5927 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5928
5929         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5930           change strndup to g_strndup.  Fixes #147707
5931
5932 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5933
5934         * po/af.po:
5935         * po/az.po:
5936         * po/cs.po:
5937         * po/en_GB.po:
5938         * po/fr.po:
5939         * po/nl.po:
5940         * po/sr.po:
5941         * po/sv.po:
5942         * po/tr.po:
5943         * po/uk.po:
5944           updated translations
5945
5946 2004-07-16  Benjamin Otte  <otte@gnome.org>
5947
5948         * gst/gstvalue.c: (gst_greatest_common_divisor):
5949           use ints and return ints, fractions only use ints, too, so this
5950           avoids accidently casting multiplications to unsigned
5951         (gst_value_lcopy_fraction): it's ints, not uint32
5952         (gst_value_set_fraction): disallow minint, multiplying and negation
5953           are broken with it
5954         (gst_value_fraction_multiply): fix to make large numbers work and get
5955         rid of the assumption that the multiplication of two ints fits an
5956         int64 - dunno if that's true for all systems
5957         * testsuite/caps/Makefile.am:
5958         * testsuite/caps/fraction-multiply-and-zero.c:
5959         (check_multiplication), (check_equal), (zero_test), (main):
5960           add tests for all the stuff above
5961         * testsuite/caps/value_compare.c: (test1):
5962           fix comment
5963         * tests/.cvsignore:
5964         * testsuite/caps/.cvsignore:
5965         * testsuite/debug/.cvsignore:
5966         * testsuite/dlopen/.cvsignore:
5967         * testsuite/states/.cvsignore:
5968           get up to date
5969
5970 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5971
5972         * docs/manual/bins-api.xml:
5973         * docs/manual/factories.xml:
5974         * docs/manual/helloworld.xml:
5975         * docs/manual/links-api.xml: 
5976           fixes for out of date info, incorrect info and grammar
5977
5978 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5979
5980         * docs/manual/pads.xml:
5981         * docs/manual/pads-api.xml: grammar fix
5982
5983 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5984
5985         * docs/manual/pads-api.xml: typo + grammar fix
5986
5987 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5988
5989         * docs/gst/gstreamer-sections.txt:
5990           add new symbols
5991         * docs/gst/tmpl/gstelement.sgml:
5992         * docs/gst/tmpl/gstpad.sgml:
5993         * docs/gst/tmpl/gsttypes.sgml:
5994         * docs/gst/tmpl/gstvalue.sgml:
5995           update docs
5996         * gst/gststructure.c: (gst_structure_set_valist),
5997         (gst_structure_from_abbr), (gst_structure_to_abbr):
5998         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
5999         (gst_greatest_common_divisor), (gst_value_init_fraction),
6000         (gst_value_copy_fraction), (gst_value_collect_fraction),
6001         (gst_value_lcopy_fraction), (gst_value_set_fraction),
6002         (gst_value_get_fraction_numerator),
6003         (gst_value_get_fraction_denominator),
6004         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
6005         (gst_value_deserialize_fraction),
6006         (gst_value_transform_fraction_string),
6007         (gst_value_transform_string_fraction),
6008         (gst_value_compare_fraction), (_gst_value_initialize):
6009         * gst/gstvalue.h:
6010           adding GstFraction GValue type, get/set, and multiply
6011         * testsuite/caps/Makefile.am:
6012         * testsuite/caps/fraction.c: (test), (main):
6013         * testsuite/caps/string-conversions.c: (main):
6014         * testsuite/caps/value_compare.c: (test1), (main):
6015           add regression tests for GstFraction
6016
6017 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6018         
6019         * docs/manual/init-api.xml: Grammar fix
6020
6021 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6022
6023         * docs/manual/states.xml: Fix inconsistent information
6024
6025 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6026
6027         * gst/gstelement.c: (gst_element_set_state):
6028         * gst/gstpad.c: (gst_pad_try_set_caps):
6029         * gst/gststructure.c:
6030         * gst/gstthread.c: (gst_thread_child_state_change):
6031         * gst/gstvalue.c: (gst_value_compare_double):
6032         * gst/gstvalue.h:
6033         * testsuite/parse/parse1.c: (main):
6034           debugging additions and style cleanups
6035
6036 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6037
6038         * docs/manual/states.xml: Grammar fix
6039
6040 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6041
6042         * docs/manual/pads.xml: Grammar fix
6043
6044 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6045
6046         * docs/manual/elements.xml: Fixed image reference
6047
6048 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6049
6050         * docs/manual/goals.xml: Grammar fix
6051
6052 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6053
6054         * docs/manual/motivation.xml:
6055         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
6056
6057 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6058
6059         * docs/manual/motivation.xml: Fix spelling
6060
6061 2004-07-15  Benjamin Otte  <otte@gnome.org>
6062
6063         * gst/gstelement.h: 
6064           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
6065           strings.
6066         * gst/gstelement.c (gst_element_class_init):
6067           GError's are boxed, not objects
6068         * gst/gstmarshal.list:
6069           update list for the fixed error signal
6070
6071 2004-07-14  Andy Wingo  <wingo@pobox.com>
6072
6073         * gst/gsttag.c: Add a tag merge func for pointers. The header was
6074         there all along, but the function wasn't. (guile-gstreamer's build
6075         system uses the address of the function -- I wasn't actually
6076         trying to use this.)
6077
6078 2004-07-14  Andy Wingo  <wingo@pobox.com>
6079
6080         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
6081         as gst_pad_proxy_pad_link) just link to every other pad when they
6082         are called. In the case where the graph has cycles, this will mean
6083         that a call to try_set_caps will recurse. Allow this recursion
6084         and return OK, while we wait for the first try_set_caps to give a
6085         proper return value.
6086         (gst_pad_link_call_link_functions): Since this function is the
6087         only one to set the NEGOTIATING flag on a pad, if the flag is set
6088         it means that the link functions have indirectly recursed. If this
6089         happens, error out to avoid infinite recursion and an eventual
6090         SEGV.
6091         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
6092         (gst_pad_proxy_getcaps): Intersect the result with the template
6093         caps to ensure that the return value is valid.
6094
6095 2004-07-14  Andy Wingo  <wingo@pobox.com>
6096
6097         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
6098         one refcount, the calling function is the owner of the buffer.
6099
6100 2004-07-14  Wim Taymans  <wim@fluendo.com>
6101
6102         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
6103         (gst_opt_scheduler_pad_link), (group_migrate_connected):
6104         Fix stupid warning when an element is to be migrated but
6105         is already migrated.
6106
6107 2004-07-14  Wim Taymans  <wim@fluendo.com>
6108
6109         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
6110         (gst_opt_scheduler_pad_link), (group_migrate_connected):
6111         Make sure that a single non-loop-based element does not 
6112         end up in a group. This fixes the testsuite again.
6113
6114 2004-07-14  Wim Taymans  <wim@fluendo.com>
6115
6116         * gst/schedulers/gstoptimalscheduler.c: (create_group),
6117         (add_to_group), (merge_groups), (schedule_group),
6118         (gst_opt_scheduler_get_wrapper), (group_elements),
6119         (group_dec_link), (gst_opt_scheduler_pad_link),
6120         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
6121         (gst_opt_scheduler_iterate):
6122         move isolated groups to a new chain.
6123         Emit a warning instead of segfaulting in some error cases.
6124         Fix a bug where the link count between groups was not calculated 
6125         correctly. Fixes #144510.
6126
6127 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
6128         * gst/elements/gstfilesrc.c:
6129           Binary files support under Windows now OK
6130       
6131 2004-07-13  Benjamin Otte  <otte@gnome.org>
6132
6133           compatibility fixes for Solaris 8/gcc 2.95
6134         * configure.ac:
6135           include libintl libs in LDFLAGS
6136         * gstvalue.c (gst_value_deserialize_buffer):
6137           cast isxdigit stuff to int to silence compiler warning
6138
6139 2004-07-12  Benjamin Otte  <otte@gnome.org>
6140
6141         * gst/gsttypes.h:
6142           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
6143           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
6144           just causes support madness
6145         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
6146           make it work without this
6147         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
6148         (gst_file_index_commit):
6149           glib IO channels don't want binary mode
6150         * testsuite/bytestream/filepadsink.c: (main):
6151         * testsuite/bytestream/test1.c: (read_param_file):
6152           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
6153
6154 2004-07-12  Benjamin Otte  <otte@gnome.org>
6155
6156         * gst/gstelement.c: (gst_element_class_init),
6157         (gst_element_set_state), (gst_element_set_state_func):
6158           virutalize gst_element_set_state, use set_state member in class
6159           struct that was already added in 0.7 for this.
6160         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
6161         (gst_bin_change_state):
6162           make gst_bin_foreach works similar to other foreach functions, plug
6163           memleaks in it. Make functions using it work with the new approach.
6164           Document gst_bin_foreach, so it can be exported if we want to
6165         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
6166           use virtualized set_state to make set_state on bins set the state of
6167           all its children.
6168
6169 2004-07-12  Benjamin Otte  <otte@gnome.org>
6170
6171         * configure.ac:
6172           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
6173           http://bugs.gentoo.org/show_bug.cgi?id=53967)
6174         * gst/gstpad.c: (gst_pad_alloc_buffer):
6175           allow buffer_alloc functions to return NULL and allocate a normal
6176           buffer in that case
6177
6178 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
6179         * gst/elements/gstfilesink.c:
6180         * gst/elements/gstfilesrc.c:
6181         * gst/indexers/gstfileindex.c:
6182         * gst/gsttypes.h:
6183         * testsuite/bytestream/filepadsink.c:
6184         * testsuite/bytestream/test1.c:
6185           Handle binary files under Windows
6186
6187 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
6188         * docs/manual/win32.xml:
6189         * win32/config.h:
6190         * win32/gst-register.vcproj:
6191         * win32/gstreamer.def:
6192           Update to another gettext public build
6193
6194 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
6195         * gst/gstplugin.c:
6196           Fix an impossible C syntax
6197         * win32/config.h:
6198           Disable i18n under Windows for the moment
6199         * win32/gst-register.vcproj:
6200           Use this configuration
6201
6202 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
6203         * docs/manual/quotes.xml:
6204           Keep the quotes file alive
6205         * docs/random/ds/0.9-suggested-changes:
6206           Add the suggestion of including a 'rowstride' as part of video
6207           format caps
6208
6209 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6210
6211         * gst/gstelement.c: (gst_element_set_state),
6212         (gst_element_change_state):
6213           d'oh.  Set PENDING state correctly before forcing bin to change.
6214         * gst/gststructure.c: (gst_structure_value_get_generic_type),
6215         (gst_structure_parse_fixed_list):
6216         * gst/schedulers/gstoptimalscheduler.c:
6217         (gst_opt_scheduler_state_transition):
6218         * testsuite/states/parent.c: (main):
6219           remove comment now that it's fixed.
6220
6221 2004-07-11  Benjamin Otte  <otte@gnome.org>
6222
6223         * gst/gstclock.h:
6224           GST_SECOND shouldn't cause a conversion to unsigned.
6225         * testsuite/clock/.cvsignore:
6226         * testsuite/clock/Makefile.am:
6227         * testsuite/clock/signedness.c: (main):
6228           make sure it never will again
6229
6230 2004-07-11  Andy Wingo  <wingo@pobox.com>
6231
6232         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
6233         whose state is higher than the bin state, raise the bin state to
6234         ensure that bin state := highest child state.
6235         
6236 2004-07-11  Andy Wingo  <wingo@pobox.com>
6237
6238         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
6239         procedure on the children of a bin. Assumes that the procedure can
6240         change the set of children.
6241         (set_kid_state_func): New static function.
6242         (gst_bin_change_state): Use gst_bin_foreach to call
6243         set_kid_state_func. Fixes a bug: if a child had a state-change
6244         handler that removes it from the bin, there would be a segfault.
6245         Hopefully it should also work in the case where the state-change
6246         handler on one child adds or removes other children. In any case,
6247         fixes should go to gst_bin_foreach.
6248
6249 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6250
6251         * gst/gstelement.c: (gst_element_set_state):
6252           compatibility fix for latest plugins release.  Change loop back
6253           to while {}
6254
6255 2004-07-09  Wim Taymans  <wim@fluendo.com>
6256
6257         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
6258         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
6259         (gst_thread_main_loop):
6260         Since remove is virtual in GstBin we must not assume the 
6261         elements GList to have anothing useful.
6262         Add some more logging to GstThread and be a bit more paranoid
6263         when resetting the scheduler.
6264         Set the state of the bin to NULL before removing the children.
6265
6266 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6267
6268         * testsuite/threads/Makefile.am:
6269         * testsuite/threads/threadg.c:
6270           added test to check if problem when removing all elements from a
6271           GstThread before setting GstThread state to NULL
6272
6273 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6274
6275         * docs/gst/tmpl/gstelement.sgml:
6276         * docs/gst/tmpl/gsttypes.sgml:
6277         * gst/gstbin.c: (gst_bin_change_state):
6278         * gst/gstelement.c: (gst_element_set_state),
6279         (gst_element_change_state):
6280           rework so that for bins we try to set the state on all children
6281           as well even if the bin is in the correct state already.
6282           change while to do so at least one iteration is done.
6283           For regular elements, we fall back to the previous behaviour for
6284           now since we first need a new plugins release.
6285         * testsuite/states/parent.c: (main):
6286           test for this case
6287           Fixes #123774
6288
6289 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6290
6291         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
6292         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
6293         (gst_queue_release_locks), (gst_queue_change_state),
6294         (gst_queue_set_property):
6295           add proper lock debugging.  Change dispose to finalize, since
6296           we're freeing mutexes and other stuff which should happen only once.
6297
6298 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6299
6300         * docs/gst/tmpl/gstelement.sgml:
6301         * docs/gst/tmpl/gstplugin.sgml:
6302         * docs/gst/tmpl/gsttypes.sgml:
6303         * docs/pwg/building-state.xml:
6304         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
6305         * gst/gstelement.c: (gst_element_change_state):
6306         * gst/gstthread.c: (gst_thread_change_state):
6307           catch wrong state changes in element base class.
6308
6309 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6310
6311         * gst/gstinfo.h:
6312           clean up layout a little.
6313
6314 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6315
6316         * configure.ac:
6317         * testsuite/Makefile.am:
6318         * testsuite/states/Makefile.am:
6319         * testsuite/states/parent.c: (main):
6320           re-enable states testsuite dir.  Add test for state changes and
6321           parent behaviour
6322
6323 2004-07-09  Wim Taymans  <wim@fluendo.com>
6324
6325         * gst/schedulers/gstoptimalscheduler.c:
6326         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
6327         (element_get_reachables_func), (element_get_reachables),
6328         (debug_element), (rechain_group), (group_migrate_connected),
6329         (gst_opt_scheduler_pad_unlink):
6330         Do not try to migrate decoupled elements to a new group since
6331         they are not added to groups.
6332
6333 2004-07-08  Benjamin Otte  <otte@gnome.org>
6334
6335         * gst/gstelement.c: (gst_element_error_func):
6336           make reentrant (= allow removing elements in error handler)
6337
6338 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6339
6340         * gst/gstpad.c: (gst_pad_event_default_dispatch),
6341         (gst_pad_send_event), (gst_pad_call_chain_function):
6342           events sent to elements below PAUSED cannot be handled, so
6343           don't try to
6344
6345 2004-07-08  Wim Taymans  <wim@fluendo.com>
6346
6347         * gst/schedulers/gstoptimalscheduler.c:
6348         (chain_recursively_migrate_group), (create_group),
6349         (schedule_group), (gst_opt_scheduler_pad_link),
6350         (group_elements_set_visited), (element_get_reachables_func),
6351         (element_get_reachables), (group_can_reach_group), (debug_element),
6352         (rechain_group), (group_migrate_connected),
6353         (gst_opt_scheduler_pad_unlink):
6354         * testsuite/schedulers/Makefile.am:
6355         Implemented group splitting and rechaining.
6356         Fixes 143777 and 143777-2 in the testsuite.
6357
6358 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6359
6360         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
6361           extra debugging
6362         * gst/gstevent.h:
6363         * gst/gstinfo.c: (gst_debug_log_default):
6364           print time nicely.  add thread pointer until someone figures out
6365           a completely portable way of getting at thread id's.
6366         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
6367         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
6368         (gst_pad_call_chain_function):
6369           extra debugging
6370         * gst/schedulers/gstoptimalscheduler.c:
6371         (get_group_schedule_function), (loop_group_schedule_function),
6372         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
6373         (pad_clear_queued), (gst_opt_scheduler_iterate):
6374           rename BUFPEN and friends to DATAPEN since that's what they are.
6375
6376 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6377
6378         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
6379         * gst/gstbuffer.h:
6380         * gst/gstpad.c:
6381           cleanups and debugging
6382
6383 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
6384
6385         * configure.ac:
6386         * gst/gstvalue.c: (gst_value_compare_enum),
6387         (gst_value_serialize_enum), (gst_value_deserialize_enum),
6388         (gst_value_can_compare), (gst_value_compare):
6389         * testsuite/Makefile.am:
6390         * testsuite/enumcaps/Makefile.am:
6391         * testsuite/enumcaps/enumcaps.c:
6392           Fix enum serialization, deserialization, comparison in caps, add
6393           a test to ensure that this continues working in the future.
6394
6395 2004-07-06  David Schleef  <ds@schleef.org>
6396
6397         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
6398         Fix memleak.
6399
6400 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6401
6402         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
6403         * gst/gstplugin.h:
6404         * gst/registries/gstxmlregistry.c:
6405         (plugin_times_older_than_recurse), (plugin_times_older_than),
6406         (gst_xml_registry_parse_padtemplate):
6407           only rebuild registry when actual plugins have a newer time than
6408           the registry.  Fixes #145520
6409
6410 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6411
6412         * docs/manual/manual.xml:
6413         * docs/manual/win32.xml:
6414           add chapter on win32 building.  fixes #142422
6415
6416 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6417
6418         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
6419
6420         * gst/autoplug/gstspider.c: (gst_spider_init),
6421         (gst_spider_dispose):
6422           fix spider memleaks.  fixes #137863
6423
6424 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6425
6426         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
6427
6428         * gst/schedulers/gstoptimalscheduler.c:
6429         (gst_opt_scheduler_pad_unlink):
6430           fix SIGBUS error, fixes #145338
6431
6432 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6433
6434         * gst/gstobject.c: (gst_object_replace):
6435         * gst/gstscheduler.c: (gst_scheduler_get_clock):
6436         * gst/gstsystemclock.c: (gst_system_clock_obtain):
6437           clean up clock lifecycle.  Fixes #109831
6438
6439 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6440
6441         * po/LINGUAS:
6442         * po/cs.po:
6443           added Czech translation (Miloslav Trmac)
6444
6445 2004-07-04  David Schleef  <ds@schleef.org>
6446
6447         * tools/Makefile.am:
6448         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
6449
6450 2004-07-04  David Schleef  <ds@schleef.org>
6451
6452         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
6453
6454 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6455
6456         * gst/gstbin.c: (gst_bin_restore_thyself):
6457           chain to parent restore so the bins get restored correctly
6458           in the editor
6459
6460 2004-07-03  David Schleef  <ds@schleef.org>
6461
6462         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
6463         Actually do something in these functions, like before the big
6464         caps change.  (bug #145137)
6465
6466 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6467
6468         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
6469         (gst_element_get_compatible_pad_filtered):
6470         * gst/gstthread.c: (gst_thread_main_loop):
6471           more debugging
6472
6473 2004-07-02  David Schleef  <ds@schleef.org>
6474
6475         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
6476         * gst/gstobject.h:
6477         * gst/gstparse.h:
6478         * gst/gsttrace.h:
6479         * gst/gstxml.h:
6480
6481 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6482
6483         * gst/gstpad.c: (gst_pad_check_schedulers),
6484         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
6485         (gst_pad_link_prepare):
6486           revert until testsuite is fixed
6487
6488 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6489
6490         * testsuite/Makefile.am:
6491         * testsuite/caps/filtercaps.c: (main):
6492         * testsuite/clock/clock1.c: (main):
6493         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
6494           fix some more tests
6495
6496 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6497
6498         * testsuite/cleanup/cleanup1.c: (create_pipeline):
6499         * testsuite/cleanup/cleanup2.c: (create_pipeline):
6500         * testsuite/cleanup/cleanup4.c: (main):
6501           fix testsuite
6502
6503 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6504
6505         * libs/gst/control/control.c:
6506         * libs/gst/control/dparam.c:
6507         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
6508         * libs/gst/control/dparammanager.c:
6509         * libs/gst/control/dparammanager.h:
6510         * testsuite/dynparams/Makefile.am:
6511         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
6512         (gst_dptest_change_state), (gst_dptest_chain), (main):
6513           fix testcase for dparams
6514           add debugging category
6515
6516 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6517
6518         * testsuite/Rules:
6519           change path
6520
6521 2004-07-02  Benjamin Otte  <otte@gnome.org>
6522
6523         * tests/.cvsignore:
6524         * tests/Makefile.am:
6525         * tests/mass_elements.c: (gst_get_current_time), (main):
6526           add simple benchmark to test various speeds of fakesrc ! identity !
6527           identity ! ... ! fakesink.
6528           Usage: mass_elements [num_identities] [num_buffers]
6529           If not specified they default to 1000.
6530
6531 2004-07-02  Benjamin Otte  <otte@gnome.org>
6532
6533         * gst/gstpad.c: (gst_pad_check_schedulers),
6534         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
6535         (gst_pad_link_prepare):
6536           check that pads that get linked belong to the same manager. The old
6537           code allowed linking elements before putting them into bins, so it
6538           worked to link them and then put them in different threads, which
6539           lead to weird behaviour.
6540           Since this effectively disallows linking elements before putting
6541           them in a bin, some applications might not work after this and error
6542           out. If these applications are too critical, we might need to revert
6543           that patch. Please test this before the next release...
6544
6545 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6546
6547         * gst/gstpad.c: (gst_pad_get_caps):
6548           throw an error if the getcaps function does not return a subset of
6549           the template caps.
6550         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
6551           make disconts without position info an error in debugging
6552         * tests/spidey_bench.c: (handoff), (main):
6553           don't count first try when averaging
6554
6555 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6556
6557         * gst/gstplugin.c: (gst_plugin_load_file):
6558           figure out problem with dynamic test
6559
6560 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6561
6562         * docs/gst/Makefile.am:
6563           fix docs build
6564
6565 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6566
6567         * po/POTFILES.in:
6568         * po/af.po:
6569         * po/az.po:
6570         * po/en_GB.po:
6571         * po/fr.po:
6572         * po/nl.po:
6573         * po/sr.po:
6574         * po/sv.po:
6575         * po/tr.po:
6576         * po/uk.po:
6577         * tools/gst-register.c: (plugin_added_func), (main):
6578           i18n-ize -register, fix plural
6579
6580 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6581
6582         * gst/elements/gstidentity.c: (gst_identity_class_init),
6583         (gst_identity_init), (gst_identity_chain),
6584         (gst_identity_set_property), (gst_identity_get_property):
6585         * gst/elements/gstidentity.h:
6586           check for perfect stream
6587
6588 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6589
6590         * gst/elements/gstidentity.c: (gst_identity_chain):
6591           print offset_end
6592
6593 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6594
6595         * docs/gst/Makefile.am:
6596         * docs/gst/gstreamer-docs.sgml:
6597           doc fixes
6598
6599 2004-06-24  David Schleef  <ds@schleef.org>
6600
6601         * autogen.sh:  Remove call to env, since the buildbot isn't
6602         broken anymore.
6603
6604 2004-06-24  Wim Taymans  <wim@fluendo.com>
6605
6606         * gst/elements/Makefile.am:
6607         * gst/elements/gstelements.c:
6608         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
6609         (gst_multifdsink_class_init), (gst_multifdsink_init),
6610         (gst_multifdsink_add), (gst_multifdsink_remove),
6611         (gst_multifdsink_clear), (gst_multifdsink_chain),
6612         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
6613         * gst/elements/gstmultifdsink.h:
6614         Added an element that writes to multiple filedescriptors at once.
6615
6616 2004-06-24  Benjamin Otte  <otte@gnome.org>
6617
6618         * gst/parse/grammar.y:
6619           don't try to link elements before they have been added to bins
6620
6621 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6622
6623         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
6624         (gst_file_pad_get_length):
6625         * libs/gst/bytestream/filepad.h:
6626           add 2 new functions
6627
6628 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6629
6630         * docs/gst/gstreamer-sections.txt:
6631         remove from docs, the define that Benjamin removed from gstelement.h
6632
6633 2004-06-22  Benjamin Otte  <otte@gnome.org>
6634
6635         * gst/gstelement.h:
6636           remove define that referenced a nonexisting GstElement struct member
6637
6638 2004-06-20  Benjamin Otte  <otte@gnome.org>
6639
6640         * gst/gstdata.c: (gst_data_is_writable):
6641           whoops, return values were wrong, so writable data was marked as
6642           non-writable and vice versa. (fixes #143953, spotted by Francis
6643           Labonte)
6644           Shows how rarely we need to copy data ;)
6645
6646 2004-06-20  Benjamin Otte  <otte@gnome.org>
6647
6648         * testsuite/schedulers/.cvsignore:
6649         * testsuite/schedulers/Makefile.am:
6650         * testsuite/schedulers/143777-2.c: (main):
6651           add test for opt breakage in bug #143777
6652
6653 2004-06-20  Benjamin Otte  <otte@gnome.org>
6654
6655         * gst/gstpad.c: (gst_pad_call_chain_function):
6656           check for if we were unlinked while inside the chainfunction (fixes
6657           entrygthread having issues with #143777)
6658         * testsuite/schedulers/143777.c: (main):
6659         * testsuite/schedulers/Makefile.am:
6660           add a test for that fix
6661
6662 2004-06-20  Benjamin Otte  <otte@gnome.org>
6663
6664         * gst/gstvalue.c: (gst_value_set_int_range):
6665           test that start is smaller then end
6666         * libs/gst/bytestream/Makefile.am:
6667         * libs/gst/bytestream/filepad.c: 
6668         * libs/gst/bytestream/filepad.h:
6669           add GstFilePad - a pad that behaves like a FILE*
6670         * testsuite/bytestream/.cvsignore:
6671         * testsuite/bytestream/Makefile.am:
6672         * testsuite/bytestream/filepadsink.c: 
6673           test for the GstFilePad
6674
6675 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6676
6677         * gst/elements/gstidentity.c: (gst_identity_class_init),
6678         (gst_identity_init), (gst_identity_set_clock),
6679         (gst_identity_chain), (gst_identity_set_property),
6680         (gst_identity_get_property):
6681         * gst/elements/gstidentity.h:
6682         * gst/gstclock.c: (gst_clock_id_wait):
6683           add a "sync" property to sync to the clock
6684
6685 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6686
6687         * gst/gstelementfactory.c: (gst_element_factory_create):
6688           make the freakin "elementfactory bla has no type" message more
6689           useful. So we actually can do something when someone shows up
6690           complaining about it.
6691
6692 2004-06-15  Johan Dahlin  <johan@gnome.org>
6693
6694         * tools/gst-inspect.c (main): Fallback to plugin if no element is
6695         found. This matches the old behavior better. Thanks to Thomas for
6696         pointing out.
6697
6698 2004-06-14  David Schleef  <ds@schleef.org>
6699
6700         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
6701         -fomit-frame-pointer.  Appears to generate correct code in
6702         other cases as well.
6703
6704 2004-06-14  Johan Dahlin  <johan@gnome.org>
6705
6706         * tools/gst-inspect.c (main): Add two new command line options: -a
6707         to print all elements and -n to print the name on each line. Also
6708         fix some error reporting.
6709         (main): Simplify, remove -n and always print names if -a is specified
6710
6711 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
6712
6713         * win32/gstconfig.h:
6714         * win32/GSTreamer.vcproj:
6715         * win32/Makefile:
6716         * gst/gstconfig.h.in:
6717         * gst/gst.h:
6718         * gst/gstbin.h:
6719         * gst/gstelement.h:
6720         * gst/gstevent.h:
6721         * gst/gstobject.h:
6722         * gst/gstpad.h:
6723         * docs/gst/gstreamer-sections.txt:
6724         * docs/gst/tmpl/gstconfig.sgml:
6725           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
6726
6727 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6728         * docs/gst/gstreamer-sections.txt:
6729         * docs/gst/tmpl/gstconfig.sgml:
6730         Add the GSTREAMER_EXPORT macro to the docs
6731
6732 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6733
6734         * tools/gst-compprep.c: (handle_xmlerror), (main):
6735         Add a check for the version that introduced SetStructuredError to fix
6736         the build on FC1
6737
6738 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6739
6740         * win32/msvc71.sln:
6741         * win32/testsuite/:
6742           prepare to compile the testsuite with MSVC
6743
6744 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6745
6746         * docs/manual/win32.xml:
6747           attempt to transform the Win32 README into an XML doc
6748
6749 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6750
6751         * gst/gst.c:
6752         * gst/gstbin.*:
6753         * gst/config.h.in:
6754         * gst/gstelement.*:
6755         * gst/gstevent.h:
6756         * gst/gstobject.*:
6757         * gst/gstpad.h:
6758         * tools/gst-register.c:
6759         * win32/gstreamer.def:
6760           extern symbols are now exported for the Windows DLL
6761
6762 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6763
6764         * gst/gstinfo.h:
6765           fix a problem to enable/disable DEBUG under MSVC
6766
6767 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6768
6769         * win32/:
6770           enable more debug code in DEBUG build
6771
6772 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6773
6774         * win32/config.h:
6775         * gst/gst-i18n-app.h:
6776           enable NLS under Windows
6777
6778 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
6779         * tools/gst-compprep.c: (handle_xmlerror), (main):
6780           Make an error that baffled me a bit clearer
6781
6782 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6783
6784         * gst/gstqueue.c:
6785           don't use g_queue_get_length () because it's 2.4, use ->length
6786
6787 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
6788
6789         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
6790
6791         * tools/gst-inspect.c: (print_signal_info):
6792           don't free random data twice. (fixes #144185)
6793
6794 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6795
6796         * gst/gstqueue.c:
6797         * gst/gstqueue.h:
6798           fix removing from the wrong queue on event timeout
6799           fix disposing of the event queue by casting correctly
6800           add mutexes for handling the event queue
6801           someone was sleeping when fixing queue last time around :)
6802
6803 2004-06-10  Johan Dahlin  <johan@gnome.org>
6804
6805         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
6806         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
6807
6808 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6809
6810         * docs/random/gdp:
6811         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
6812         * libs/gst/dataprotocol/dataprotocol.c:
6813         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6814         (gst_dp_buffer_from_header):
6815         * libs/gst/dataprotocol/dataprotocol.h:
6816         * libs/gst/dataprotocol/dp-private.h:
6817           rev version to 0.1, add buffer flags and copy them
6818
6819 2004-06-09  Johan Dahlin  <johan@gnome.org>
6820
6821         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
6822         the flags from the buffer we're copying.
6823
6824 2004-06-09  Wim Taymans  <wim@fluendo.com>
6825
6826         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
6827         * gst/elements/gstidentity.c: (gst_identity_init),
6828         (gst_identity_chain):
6829         Print more buffer info in fakesink.
6830         Make identity output similar to fakesink.
6831
6832 2004-06-07  Daniel Gazard  <dany42@free.fr>
6833
6834         reviewed by Benjamin Otte  <otte@gnome.org>
6835
6836         * configure.ac:
6837           fix cross compiling not working. (fixes #143741)
6838
6839 2004-06-07  Benjamin Otte  <otte@gnome.org>
6840
6841         * gst/gstelement.c: (gst_element_set_time_delay):
6842           add failure check
6843         * gst/gstinfo.h:
6844           put brackets around macro arguments of GST_TIME_ARGS, add note to
6845           move it to correct header in 0.9
6846
6847 2004-06-07  Benjamin Otte  <otte@gnome.org>
6848
6849         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
6850         (gst_file_index_load), (_file_index_id_save_entries),
6851         (gst_file_index_commit), (gst_file_index_add_association),
6852         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
6853         (gst_file_index_plugin_init):
6854           make debugging use a default category
6855
6856 2004-06-06  David Moore  <dcm@acm.org>
6857
6858         reviewed by Benjamin Otte  <otte@gnome.org>
6859
6860         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6861         (gst_fdsrc_change_state):
6862           reset offset counter when going READY => PAUSED. (fixes #142903)
6863
6864 2004-06-06  ed@catmur.co.uk
6865
6866         reviewed by Benjamin Otte  <otte@gnome.org>
6867
6868         * gst/registries/gstxmlregistry.c:
6869         (gst_xml_registry_rebuild_recurse):
6870           don't rely on g_dir_open to figure out if a file is a directory, use
6871           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
6872           directories. (fixes #142850)
6873
6874 2004-06-06  Benjamin Otte  <otte@gnome.org>
6875
6876         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
6877           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
6878         * libs/gst/bytestream/adapter.c:
6879         * libs/gst/bytestream/adapter.h:
6880           fix copyright in header and typo in debugging category name
6881
6882 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6883
6884         * configure.ac:
6885           bump nano to cvs
6886
6887 === release 0.8.3 ===
6888
6889 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6890
6891         * configure.ac:
6892           update libtool versioning
6893           do a new release
6894         * docs/gst/tmpl/gstelement.sgml:
6895         * docs/gst/tmpl/gsttypes.sgml:
6896         * gst/gstinfo.c: (_gst_debug_init):
6897           put back GST_CAT_DATAFLOW to fix API breakage
6898
6899 2004-06-04  David Schleef  <ds@schleef.org>
6900
6901         * autogen.sh: Add a temporary 'env' to test buildbot problems.
6902
6903 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6904
6905         * configure.ac:
6906           bump nano to cvs
6907
6908 === release 0.8.2 ===
6909
6910 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6911
6912         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
6913           check GST_DEBUG environment variable which is parsed the same way
6914           as --gst-debug=
6915
6916 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
6917
6918         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
6919                             gstmd5sink.c gstshaper.c gsttee.c
6920                             gsttypefindelement.c
6921         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
6922
6923           - removing trailing commas at end of enums
6924             it is correct C99 code but C90 compilers would complain
6925             (AIX, Forte, ...)
6926             ('should' fix #143290, at least partially)
6927
6928 2004-05-27  Wim Taymans  <wim@fluendo.com>
6929
6930         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
6931         (chain_group_set_enabled), (create_group), (add_to_group),
6932         (merge_groups), (setup_group_scheduler), (group_elements),
6933         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
6934         Don't try to follow the pad connections with other groups
6935         when a loop based element is added to the scheduler because
6936         the bin will inform the scheduler about the pad links a little
6937         later.
6938
6939 2004-05-27  Wim Taymans  <wim@fluendo.com>
6940
6941         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
6942         (remove_from_chain), (chain_group_set_enabled),
6943         (setup_group_scheduler), (group_element_set_enabled),
6944         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
6945         (gst_opt_scheduler_show):
6946         Elements without a group can do a state change as well, just wait
6947         with the setup of the scheduling function when it is added to a
6948         chain.
6949
6950 2004-05-27  Wim Taymans  <wim@fluendo.com>
6951
6952         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
6953         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
6954         (merge_groups), (setup_group_scheduler),
6955         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
6956         (gst_opt_scheduler_show):
6957         Fixes to maintain internal consistency of the scheduler data
6958         structures. 
6959          - adding an enabled group to a chain should increment the
6960            number of enabled elements in that chain.
6961          - removing an enabled group from a chain could disable the
6962            chain.
6963          - removing a disabled group from a chain could enable the
6964            chain.
6965          - add g_assert when internal inconsistency is detected.
6966          - adding an element to a group could increase the number of
6967            links this group has with other groups.
6968          - merging two groups also merges the chains.
6969          - also show group links in the _show method.
6970            
6971
6972 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6973
6974         * gst/gstcaps.c: (gst_caps_structure_simplify):
6975           don't print error messages when there is no error
6976         * gst/gstvalue.c: (gst_value_compare_int_range):
6977           compare the second value, too
6978         * testsuite/caps/Makefile.am:
6979         * testsuite/caps/random.c: (assert_on_error), (main):
6980           add tests to make sure the two things above are checked for
6981
6982 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6983
6984         * configure.ac:
6985         * libs/gst/dataprotocol/Makefile.am:
6986         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
6987         * libs/gst/dataprotocol/dataprotocol.h:
6988           wrap header in GST_ENABLE_NEW.  make code use it
6989
6990 2004-05-23  Johan Dahlin  <johan@gnome.org>
6991
6992         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
6993         so verbose and print GstElement signal names all the time.
6994
6995 2004-05-22  David Schleef  <ds@schleef.org>
6996
6997         * gst/registries/gstxmlregistry.c:
6998         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
6999         (bug #142957)
7000
7001 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7002
7003         * configure.ac:
7004           scrub cflags for glib2 so gcc doesn't complain when glib is in
7005           /usr/local
7006
7007 2004-05-21  Johan Dahlin  <johan@gnome.org>
7008
7009         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
7010         __GNUC__, patch from Brian Cameron, fixes bug #142804
7011
7012 2004-05-20  David Schleef  <ds@schleef.org>
7013
7014         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
7015         comparison code.  (bug #142819)
7016
7017 2004-05-20  Wim Taymans  <wim@fluendo.com>
7018
7019         * gst/gstbuffer.c: (gst_buffer_default_copy):
7020         * gst/gstbuffer.h:
7021         Added Comment to a flag.
7022         copy relevant flags in _buffer_copy.
7023
7024 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7025
7026         reviewed by: Wim Taymans <wim at fluendo dot com>
7027
7028         * gst/gstbuffer.h:
7029           add GST_BUFFER_IN_CAPS buffer flag
7030         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7031         (gst_structure_parse_any_list), (gst_structure_parse_list),
7032         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
7033         * gst/gstvalue.c: (gst_value_serialize_any_list),
7034         (gst_value_transform_any_list_string),
7035         (gst_value_list_prepend_value), (gst_value_list_append_value),
7036         (gst_value_list_get_size), (gst_value_list_get_value),
7037         (gst_value_transform_list_string),
7038         (gst_value_transform_fixed_list_string),
7039         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
7040         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
7041         (_gst_value_initialize):
7042         * gst/gstvalue.h:
7043           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
7044           < , > as a format.
7045         * testsuite/caps/string-conversions.c: (main):
7046           add regression tests for < >
7047
7048 2004-05-20  Johan Dahlin  <johan@gnome.org>
7049
7050         * docs/gst/Makefile.am (all-local): Re-add
7051
7052 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7053
7054         * docs/gst/Makefile.am:
7055         * docs/gst/gstreamer-docs.sgml:
7056         * docs/libs/Makefile.am:
7057         * docs/libs/gstreamer-libs-docs.sgml:
7058           fix distcheck issues
7059
7060 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7061
7062         * libs/gst/dataprotocol/Makefile.am:
7063           add to autotest
7064
7065 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7066
7067         * libs/gst/dataprotocol/Makefile.am:
7068         * libs/gst/dataprotocol/dataprotocol.c:
7069         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7070         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
7071         * libs/gst/dataprotocol/dp-private.h:
7072           use GST macros to read/write fixed length ints
7073           add some more asserts
7074
7075 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7076
7077         * docs/libs/gstreamer-libs-docs.sgml:
7078         * docs/libs/gstreamer-libs-sections.txt:
7079           remove idct and putbits
7080         * configure.ac:
7081         * docs/libs/tmpl/gstdataprotocol.sgml:
7082         * libs/gst/Makefile.am:
7083         * libs/gst/dataprotocol/Makefile.am:
7084         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
7085         (buffer_test), (caps_test), (event_test), (main):
7086         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
7087         (gst_dp_dump_byte_array), (gst_dp_init),
7088         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
7089         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7090         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
7091         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
7092         (gst_dp_validate_header), (gst_dp_validate_payload),
7093         (gst_dp_validate_packet), (plugin_init):
7094         * libs/gst/dataprotocol/dataprotocol.h:
7095         * libs/gst/dataprotocol/dp-private.h:
7096           add dataprotocol
7097
7098 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7099
7100         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
7101           fix int variable deserialization and add a helper so we can actually
7102           debug this.
7103
7104 2004-05-18  David Schleef  <ds@schleef.org>
7105
7106         * testsuite/debug/commandline.c: (main): Call ./commandline, not
7107           argv[0].  Calling yourself is probably not the best way to
7108           construct a test like this, btw.
7109
7110 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7111
7112         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
7113           don't claim to be more intelligent than a scheduler when the
7114           scheduler claims the pipeline is stopped
7115         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
7116         (safe_cothread_destroy),
7117         (gst_entry_scheduler_remove_all_cothreads),
7118         (gst_entry_scheduler_reset), (_remove_cothread),
7119         (gst_entry_scheduler_state_transition):
7120           hold off cothread destruction if we're not in main cothread
7121         * configure.ac:
7122         * testsuite/Makefile.am:
7123           add new test dir
7124         * testsuite/schedulers/.cvsignore:
7125         * testsuite/schedulers/Makefile.am:
7126           add tests
7127         * testsuite/schedulers/relink.c: (cb_handoff), (main):
7128           check relinking and adding/removing elements from a running pipeline
7129         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
7130           check unlinking in a running pipeline
7131         * testsuite/schedulers/unref.c: (cb_handoff), (main):
7132           check unreffing a running pipeline
7133         * testsuite/schedulers/useless_iteration.c: (main):
7134           check iterating a pipeline that contains running threads works
7135
7136 2004-05-18  David Schleef  <ds@schleef.org>
7137
7138         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
7139           is false.
7140
7141 2004-05-18  Wim Taymans  <wim@fluendo.com>
7142
7143         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7144         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
7145         Fixed an error introduced with patch for 1.63. When setting
7146         a get based element as the entry point in a group, make sure
7147         to mark the group as GET based.
7148
7149 2004-05-18  Wim Taymans  <wim@fluendo.com>
7150
7151         * gst/schedulers/gstoptimalscheduler.c: (create_group),
7152         (setup_group_scheduler), (loop_group_schedule_function),
7153         (gst_opt_scheduler_pad_link):
7154         Added some more debug info and fixed a bug where the group
7155         type was set to LOOP but it was in fact unknown.
7156
7157 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7158
7159         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
7160           make resetting scheduler work twice in a row
7161
7162 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7163
7164         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
7165         (CREATE_USERIALIZATION), (_gst_value_initialize),
7166         (gst_value_compare_float), (gst_value_serialize_float),
7167         (gst_value_deserialize_float), (gst_value_compare_enum),
7168         (gst_value_serialize_enum), (gst_value_deserialize_enum):
7169           add serialization and comparison functions for long, int64, enum and
7170           float values
7171         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
7172           use best serialization function in type hierarchy instead of only a
7173           matching one. This is required for enums to work.
7174         * gst/parse/grammar.y:
7175           use gst_caps_deserialize
7176         * testsuite/parse/Makefile.am:
7177           parse1 now works
7178         * testsuite/parse/parse1.c: (main):
7179           remove aggregator check, aggregator is broken, this test works now
7180           but fails because of bug #138012
7181         * testsuite/parse/parse2.c: (main):
7182           s/xvideosink/xvimagesink - this test looks a lot like we should
7183           disable it
7184
7185 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7186
7187         * gst/gstelement.c: (gst_element_class_init):
7188           whoops, store the signal id correctly
7189         * gst/schedulers/gstbasicscheduler.c:
7190         (gst_basic_scheduler_chain_wrapper):
7191           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
7192           chain function isn't linked
7193
7194 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
7195         * configure.ac:
7196         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
7197         support until we decide where the flags should be used
7198         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
7199         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
7200         * gst/gstpad.c: (gst_pad_link_call_link_functions):
7201         Output refused caps in the debug info
7202
7203 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7204
7205         * gst/elements/gstidentity.c: (gst_identity_chain):
7206           add duration debug
7207         * gst/gstinfo.c: (gst_debug_log_default):
7208           add timestamp
7209
7210 2004-05-13  Benjamin Otte  <otte@gnome.org>
7211
7212         * gst/gstpipeline.c: (gst_pipeline_dispose),
7213         (gst_pipeline_change_state):
7214           call gst_scheduler_reset on dispose (fixes #141416)
7215
7216 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7217
7218         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
7219           compute mapsize correctly
7220         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
7221           use correct datatypes when calling a varargs function
7222         * gst/elements/gsttypefindelement.c: (stop_typefinding):
7223           push a DISCONT event as first thing
7224         * gst/gst_private.h:
7225         * gst/gstinfo.c: (_gst_debug_init):
7226           remove GST_DATAFLOW debugging category
7227         * gst/gstbin.c: (gst_bin_iterate):
7228           use GST_SCHEDULING category
7229         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
7230         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
7231         (gst_pad_call_get_function):
7232           add GST_DATAFLOW to easily track flow of buffers or events.
7233         * gst/gstqueue.c: (gst_queue_get_type),
7234         (gst_queue_handle_pending_events), (gst_queue_chain),
7235         (gst_queue_get), (gst_queue_handle_src_event):
7236           use own static debugging category GST_DATAFLOW for dataflow,
7237           use DEBUG category for showing which path events go, use LOG
7238           category for buffers.
7239
7240 2004-05-10  David Schleef  <ds@schleef.org>
7241
7242         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
7243
7244 2004-05-10  David Schleef  <ds@schleef.org>
7245
7246         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
7247         symbols, because otherwise we don't know what they are.  Thanks,
7248         the GStreamer team.
7249         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
7250
7251 2004-05-10  David Schleef  <ds@schleef.org>
7252
7253         (from Steve Lhomme)
7254         * win32/Makefile: When using make clean the MS Visual Studio makefiles
7255         are deleted.  Fix.
7256         * win32/Makefile.inspect:
7257         * win32/Makefile.launch:
7258         * win32/Makefile.register:
7259
7260 2004-05-10  David Schleef  <ds@schleef.org>
7261
7262         * gst/gstinfo.h: Add missing inline function.
7263         * gst/gsttrace.c: add include
7264         * gst/parse/grammar.y: remove unused code
7265         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
7266         more portable.
7267         * tools/gst-register.c: wrap unistd.h
7268         
7269         More additions/fixes from Steve for the MSVC build.
7270         * win32/GStreamer.vcproj:
7271         * win32/Makefile:
7272         * win32/Makefile.inspect:
7273         * win32/Makefile.launch:
7274         * win32/Makefile.register:
7275         * win32/README.txt:
7276         * win32/gst-inspect.vcproj:
7277         * win32/gst-launch.vcproj:
7278         * win32/gst-register.vcproj:
7279         * win32/gstbytestream.def:
7280         * win32/gstbytestream.vcproj:
7281         * win32/gstconfig.h:
7282         * win32/gstelements.def:
7283         * win32/gstelements.vcproj:
7284         * win32/gstenumtypes.c:
7285         * win32/gstenumtypes.h:
7286         * win32/gstoptimalscheduler.def:
7287         * win32/gstoptimalscheduler.vcproj:
7288         * win32/gstreamer.def:
7289         * win32/gstspider.def:
7290         * win32/gstspider.vcproj:
7291         * win32/gstversion.h:
7292         * win32/msvc71.sln:
7293
7294 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7295
7296         * gst/gstelement.c: (gst_element_class_init),
7297         (gst_element_no_more_pads):
7298         * gst/gstelement.h:
7299           add gst_element_no_more_pads and the "no-more-pads" signal
7300
7301 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7302
7303         * gst/gstregistry.c: (gst_registry_add_plugin):
7304           refuse to add plugins when a plugin with same name is already
7305           registered. Fixes a bunch of "How to remove plugins?" issues.
7306           May lead to other problems though, let's test
7307
7308 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7309
7310         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
7311         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
7312         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
7313
7314 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7315
7316         * tests/Makefile.am: fix am16 issue
7317
7318 2004-05-09  Benjamin Otte  <otte@gnome.org>
7319
7320         * libs/gst/bytestream/Makefile.am:
7321           we should indeed add .c files to makefiles or they won't be built
7322           (d'oh)
7323
7324 2004-05-08  Benjamin Otte  <otte@gnome.org>
7325
7326         * gst/gstpad.c: (gst_pad_proxy_fixate):
7327           really reduce the set of caps
7328
7329 2004-05-08  Benjamin Otte  <otte@gnome.org>
7330
7331         * tests/Makefile.am:
7332         * tests/spidey_bench.c: (handoff), (main):
7333           add benchmark to test how long spider needs to create a pipeline
7334
7335 2004-05-08  Benjamin Otte  <otte@gnome.org>
7336
7337         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
7338           mark links as unengaged when unnegotiating instead of deactivating.
7339           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
7340
7341 2004-05-08  Benjamin Otte  <otte@gnome.org>
7342
7343         * docs/manual/helloworld.xml:
7344           s/audiosink/osssink (patch by Patrick Guimond)
7345
7346 2004-05-07  David Schleef  <ds@schleef.org>
7347
7348         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
7349         since it contains important stuff.
7350
7351 2004-05-07  David Schleef  <ds@schleef.org>
7352
7353         * testsuite/caps/caps.c: (test3), (main): A check for appending
7354         ANY caps.
7355
7356 2004-05-07  David Schleef  <ds@schleef.org>
7357
7358         * common/m4/as-compiler-flag.m4: Properly quote arguments,
7359         which may contain commas.  Fixes detection of -Wa,-mregnames
7360
7361 2004-05-06  David Schleef  <ds@schleef.org>
7362
7363         Changes to handle compilers that don't have variadic macro
7364         support.  In particular, glib headers define some inlines
7365         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
7366         builds.
7367         * gst/Makefile.am:
7368         * gst/cothreads.c:
7369         * gst/elements/gstfdsink.c:
7370         * gst/elements/gstfdsrc.c:
7371         * gst/elements/gstfilesink.c:
7372         * gst/elements/gstfilesrc.c:
7373         * gst/gst_private.h:
7374         * gst/gstatomic.c:
7375         * gst/gstcaps.c: (gst_caps_append):
7376         * gst/gstcpu.c: (gst_cpuid_i386):
7377         * gst/gstelement.c:
7378         * gst/gsterror.c:
7379         * gst/gstfilter.c:
7380         * gst/gstinfo.h:
7381         * gst/gstprobe.c:
7382         * gst/gstquery.c:
7383         * gst/gstregistry.c:
7384         * gst/gststructure.c:
7385         * gst/gsttaginterface.c:
7386         * gst/gsttrace.c: (gst_trace_new):
7387         * gst/gsttrashstack.c:
7388         * gst/gsturi.c:
7389         * gst/gstvalue.c:
7390         * gst/parse/grammar.y:
7391         * gst/parse/parse.l:
7392         * tools/gst-inspect.c: (main):
7393         * tools/gst-launch.c: (main):
7394         * tools/gst-xmlinspect.c: (PUT_STRING):
7395
7396 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7397
7398         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
7399         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
7400         * gst/elements/gstfilesrc.h:
7401           send NEW_MEDIA events correctly
7402         * gst/elements/gsttypefindelement.c: (start_typefinding),
7403         (gst_type_find_element_handle_event):
7404           restart typefinding when we get a NEW_MEDIA event
7405         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
7406         (gst_bin_dispose):
7407           don't die when someone removes elements in callbacks
7408         * gst/gstelement.c: (gst_element_change_state):
7409           improve debugging
7410         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
7411           we need a NEW_MEDIA event to engage a link
7412         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
7413           don't g_print debugging stuff
7414         * testsuite/caps/simplify.c: (check_caps):
7415
7416 2004-05-04  Benjamin Otte  <otte@gnome.org>
7417
7418         * gst/parse/grammar.y:
7419           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
7420
7421 2004-05-04  Benjamin Otte  <otte@gnome.org>
7422
7423         * testsuite/caps/renegotiate.c: (main):
7424           improve output in error case
7425
7426 2004-05-04  Benjamin Otte  <otte@gnome.org>
7427
7428         * gst/parse/grammar.y:
7429           fix assert to not trigger when there's no error argument
7430         * gst/parse/parse.l:
7431           fix definition of caps to allow more than two structures
7432         * testsuite/caps/Makefile.am:
7433         * testsuite/caps/renegotiate.c: (main):
7434           it's sinesrc and works in that case
7435
7436 2004-05-04  Wim Taymans  <wim@fluendo.com>
7437
7438         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7439         (group_dec_link), (gst_opt_scheduler_pad_unlink):
7440         when removing an element from a group, we always need to
7441         decrement the link count that this group had with other 
7442         groups through the element.
7443         added an extra assert to catch inconsistencies when decrementing
7444         the link count.
7445
7446 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7447
7448         * configure.ac:
7449         * docs/gst/Makefile.am:
7450         * docs/gst/gstreamer-sections.txt:
7451         * docs/gst/tmpl/gstcompat.sgml:
7452         * examples/appreader/Makefile.am:
7453         * examples/cutter/Makefile.am:
7454         * examples/events/Makefile.am:
7455         * examples/helloworld/Makefile.am:
7456         * examples/helloworld2/Makefile.am:
7457         * examples/launch/Makefile.am:
7458         * examples/manual/Makefile.am:
7459         * examples/mixer/Makefile.am:
7460         * examples/pingpong/Makefile.am:
7461         * examples/plugins/Makefile.am:
7462         * examples/queue/Makefile.am:
7463         * examples/queue2/Makefile.am:
7464         * examples/queue3/Makefile.am:
7465         * examples/queue4/Makefile.am:
7466         * examples/retag/Makefile.am:
7467         * examples/thread/Makefile.am:
7468         * examples/typefind/Makefile.am:
7469         * examples/xml/Makefile.am:
7470         * gst/Makefile.am:
7471         * gst/autoplug/Makefile.am:
7472         * gst/elements/Makefile.am:
7473         * gst/gstcompat.h:
7474         * gst/indexers/Makefile.am:
7475         * gst/parse/Makefile.am:
7476         * gst/registries/Makefile.am:
7477         * gst/schedulers/Makefile.am:
7478         * libs/gst/bytestream/Makefile.am:
7479         * libs/gst/control/Makefile.am:
7480         * libs/gst/getbits/Makefile.am:
7481         * po/af.po:
7482         * po/az.po:
7483         * po/en_GB.po:
7484         * po/fr.po:
7485         * po/nl.po:
7486         * po/sr.po:
7487         * po/sv.po:
7488         * po/tr.po:
7489         * po/uk.po:
7490         * tests/Makefile.am:
7491         * tests/bufspeed/Makefile.am:
7492         * tests/instantiate/Makefile.am:
7493         * tests/memchunk/Makefile.am:
7494         * tests/muxing/Makefile.am:
7495         * tests/negotiation/Makefile.am:
7496         * tests/probes/Makefile.am:
7497         * tests/sched/Makefile.am:
7498         * tests/seeking/Makefile.am:
7499         * tests/threadstate/Makefile.am:
7500         * testsuite/caps/Makefile.am:
7501         * testsuite/cleanup/Makefile.am:
7502         * testsuite/dlopen/Makefile.am:
7503         * testsuite/dynparams/Makefile.am:
7504         * testsuite/plugin/Makefile.am:
7505         * testsuite/states/Makefile.am:
7506         * tools/Makefile.am:
7507           reorganize compile/link flags to be consistent
7508           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
7509
7510 2004-05-04  David Schleef  <ds@schleef.org>
7511
7512         The "once more, with feeling" check-in.
7513         * testsuite/caps/Makefile.am: dist caps_strings
7514         * testsuite/caps/renegotiate.c: (main): This test triggers a
7515           segfault in the core.  Marking as failing.
7516
7517 2004-05-03  David Schleef  <ds@schleef.org>
7518
7519         * testsuite/caps/deserialize.c: (main): Fix problems noticed
7520           by the build bots.
7521         * testsuite/caps/renegotiate.c: (main): Same.
7522
7523 2004-05-03  David Schleef  <ds@schleef.org>
7524
7525         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
7526
7527 2004-05-03  David Schleef  <ds@schleef.org>
7528
7529         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
7530           variable to find our source file.
7531
7532 2004-05-03  David Schleef  <ds@schleef.org>
7533
7534         * configure.ac:  Link plugins with libgstreamer and dependent
7535           libraries
7536         * testsuite/caps/Makefile.am:
7537         * testsuite/caps/caps_strings:
7538         * testsuite/caps/deserialize.c: (main): Add a little test to slog
7539           through a file of caps strings and test each one
7540
7541 2004-05-04  Benjamin Otte  <otte@gnome.org>
7542
7543         * libs/gst/bytestream/Makefile.am:
7544         * libs/gst/bytestream/adapter.c: 
7545         * libs/gst/bytestream/adapter.h:
7546           add GstAdapter, similar to bytestream, but doesn't require ugly event
7547           handling or uglier loopbased elements
7548
7549 2004-05-03  David Schleef  <ds@schleef.org>
7550
7551         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
7552         * testsuite/caps/erathostenes.c:
7553         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
7554
7555 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7556
7557         * docs/pwg/pwg.xml:
7558           remove hardcoded stylesheet path (duh)
7559         * docs/random/release:
7560         * docs/gst/gstreamer-sections.txt:
7561         * gst/Makefile.am:
7562         * gst/gst.h:
7563         * gst/gst_private.h:
7564         * gst/gstcaps.c:
7565         * gst/gstevent.c:
7566         * gst/gstformat.c:
7567         * gst/gstinfo.c:
7568         * gst/gstinfo.h:
7569         * gst/gstinterface.c:
7570         * gst/gstmemchunk.c:
7571         * gst/gstprobe.c:
7572         * gst/gstquery.c:
7573         * gst/gstregistry.c:
7574         * gst/gstregistrypool.c:
7575         * gst/gststructure.c:
7576         * gst/gsttaginterface.c:
7577         * gst/gstthread.c:
7578         * gst/gsttrace.c:
7579         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
7580         * gst/gsturi.c:
7581         * gst/gstvalue.c:
7582           deprecate gst_info; remove gstlog.h
7583    
7584
7585 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7586
7587         * Makefile.am:
7588         * po/en_GB.po:
7589         * po/sv.po:
7590         * po/uk.po:
7591           updated translations
7592
7593 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7594
7595         * gst/gstbin.c: (gst_bin_dispose):
7596           better debugging
7597
7598 2004-05-03  Johan Dahlin  <johan@gnome.org>
7599
7600         * gst/schedulers/gstoptimalscheduler.c
7601         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
7602         really is a GstElement. Avoids critical when running gst-launch -v
7603         and a oggdemux/decoding pipeline.
7604
7605 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7606
7607         * docs/gst/tmpl/gstpipeline.sgml :
7608         * docs/manual/elements-api.xml :
7609                 doc fix by Patrick Guimond (Protector) from devel ML
7610                 reviewed by ronald
7611
7612 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7613
7614         * docs/gst/Makefile.am :
7615         * docs/libs/Makefile.am :
7616                 apply a patch from Arwed v. Merkatz so that gtk-doc
7617                 generated docs install (same for .devhelp file)
7618                 (fixes part 1 of #138836)
7619
7620 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7621
7622         * docs/faq/dependencies.xml: typo
7623         * docs/faq/getting.xml :
7624             - fix download URL for new gstreamer site
7625             - hide sf.net download page as latest version aren't there
7626             - fix apt URLs
7627             - fill "get via CVS" paragraph (link to dev page on the site)
7628         * docs/faq/general.xml:
7629             hide status tables as they no more exists
7630             change case on plugins license file to reflect reality
7631         * docs/faq/troubleshooting.xml:
7632             remove the wiki question/answer as there is no more wiki
7633
7634 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7635
7636         * gst/gsterror.h:
7637           include the headers needed for declarations used in this header
7638
7639 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7640
7641         * docs/random/uraeus/gstreamer_and_midi.txt :
7642           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
7643           (fixes #132288)
7644
7645 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
7646
7647         reviewed by Benjamin Otte  <otte@gnome.org>
7648
7649         * gst/schedulers/gthread-cothreads.h:
7650           free allocated data for main cothread, too when destroying context
7651           (fixes #141417)
7652
7653 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7654
7655         * docs/manual/goals.xml : remove duplicated paragraph at end 
7656         of doc page (fixes #141448)
7657
7658 2004-04-29  David Schleef  <ds@schleef.org>
7659
7660         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
7661         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
7662
7663 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7664
7665         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
7666           fix property
7667         * gst/gstcaps.c:
7668           fix doc string
7669         * po/POTFILES.in:
7670           rename typefind source file
7671
7672 2004-04-28  David Schleef  <ds@schleef.org>
7673
7674         Several new files from Steve Lhomme's MSVC patch (bug #141317):
7675         * win32/GStreamer.vcproj:
7676         * win32/Makefile:
7677         * win32/config.h:
7678         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
7679         (_trewinddir), (_ttelldir), (_tseekdir):
7680         * win32/dirent.h:
7681         * win32/gst-inspect.vcproj:
7682         * win32/gst-launch.vcproj:
7683         * win32/gst-register.vcproj:
7684         * win32/gstbytestream.vcproj:
7685         * win32/gstelements.vcproj:
7686         * win32/gstoptimalscheduler.vcproj:
7687         * win32/gstspider.vcproj:
7688         * win32/gtchar.h:
7689         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
7690         * win32/mman.h:
7691         * win32/mman.inl:
7692         * win32/msvc71.sln:
7693
7694 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7695
7696         * gst/gst.c: (init_post):
7697         * gst/gstinfo.c:
7698           remove useless _gst_progname stuff
7699         * tools/gst-inspect.c: (print_field), (print_caps):
7700           improve caps output
7701
7702 2004-04-28  David Schleef  <ds@schleef.org>
7703
7704         Disable parsing of a lot of files that aren't part of the
7705         exported API.  Move corresponding template files to old/,
7706         waiting for removal when they don't contain anything
7707         interesting.
7708         * docs/gst/Makefile.am:
7709         * docs/gst/gstreamer-sections.txt:
7710         * docs/gst/tmpl/cothreads.sgml:
7711         * docs/gst/tmpl/cothreads_compat.sgml:
7712         * docs/gst/tmpl/gettext.sgml:
7713         * docs/gst/tmpl/gobject2gtk.sgml:
7714         * docs/gst/tmpl/grammar.tab.sgml:
7715         * docs/gst/tmpl/gst-i18n-app.sgml:
7716         * docs/gst/tmpl/gst-i18n-lib.sgml:
7717         * docs/gst/tmpl/gst_private.sgml:
7718         * docs/gst/tmpl/gstaggregator.sgml:
7719         * docs/gst/tmpl/gstarch.sgml:
7720         * docs/gst/tmpl/gstatomic_impl.sgml:
7721         * docs/gst/tmpl/gstbufferstore.sgml:
7722         * docs/gst/tmpl/gstdata_private.sgml:
7723         * docs/gst/tmpl/gstdisksink.sgml:
7724         * docs/gst/tmpl/gstdisksrc.sgml:
7725         * docs/gst/tmpl/gstelementfactory.sgml:
7726         * docs/gst/tmpl/gstextratypes.sgml:
7727         * docs/gst/tmpl/gstfakesink.sgml:
7728         * docs/gst/tmpl/gstfakesrc.sgml:
7729         * docs/gst/tmpl/gstfdsink.sgml:
7730         * docs/gst/tmpl/gstfdsrc.sgml:
7731         * docs/gst/tmpl/gstfilesink.sgml:
7732         * docs/gst/tmpl/gstfilesrc.sgml:
7733         * docs/gst/tmpl/gsthttpsrc.sgml:
7734         * docs/gst/tmpl/gstidentity.sgml:
7735         * docs/gst/tmpl/gstindexfactory.sgml:
7736         * docs/gst/tmpl/gstmarshal.sgml:
7737         * docs/gst/tmpl/gstmd5sink.sgml:
7738         * docs/gst/tmpl/gstmultidisksrc.sgml:
7739         * docs/gst/tmpl/gstmultifilesrc.sgml:
7740         * docs/gst/tmpl/gstpadtemplate.sgml:
7741         * docs/gst/tmpl/gstpipefilter.sgml:
7742         * docs/gst/tmpl/gstschedulerfactory.sgml:
7743         * docs/gst/tmpl/gstsearchfuncs.sgml:
7744         * docs/gst/tmpl/gstshaper.sgml:
7745         * docs/gst/tmpl/gstspider.sgml:
7746         * docs/gst/tmpl/gstspideridentity.sgml:
7747         * docs/gst/tmpl/gststatistics.sgml:
7748         * docs/gst/tmpl/gsttee.sgml:
7749         * docs/gst/tmpl/gsttimecache.sgml:
7750         * docs/gst/tmpl/gsttypefind.sgml:
7751         * docs/gst/tmpl/gsttypefindfactory.sgml:
7752         * docs/gst/tmpl/gstxmlregistry.sgml:
7753         * docs/gst/tmpl/gthread-cothreads.sgml:
7754         * docs/gst/tmpl/old/cothreads.sgml:
7755         * docs/gst/tmpl/old/cothreads_compat.sgml:
7756         * docs/gst/tmpl/old/gettext.sgml:
7757         * docs/gst/tmpl/old/gobject2gtk.sgml:
7758         * docs/gst/tmpl/old/grammar.tab.sgml:
7759         * docs/gst/tmpl/old/gst-i18n-app.sgml:
7760         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
7761         * docs/gst/tmpl/old/gst_private.sgml:
7762         * docs/gst/tmpl/old/gstaggregator.sgml:
7763         * docs/gst/tmpl/old/gstarch.sgml:
7764         * docs/gst/tmpl/old/gstatomic_impl.sgml:
7765         * docs/gst/tmpl/old/gstbufferstore.sgml:
7766         * docs/gst/tmpl/old/gstdata_private.sgml:
7767         * docs/gst/tmpl/old/gstdisksink.sgml:
7768         * docs/gst/tmpl/old/gstdisksrc.sgml:
7769         * docs/gst/tmpl/old/gstelementfactory.sgml:
7770         * docs/gst/tmpl/old/gstextratypes.sgml:
7771         * docs/gst/tmpl/old/gstfakesink.sgml:
7772         * docs/gst/tmpl/old/gstfakesrc.sgml:
7773         * docs/gst/tmpl/old/gstfdsink.sgml:
7774         * docs/gst/tmpl/old/gstfdsrc.sgml:
7775         * docs/gst/tmpl/old/gstfilesink.sgml:
7776         * docs/gst/tmpl/old/gstfilesrc.sgml:
7777         * docs/gst/tmpl/old/gsthttpsrc.sgml:
7778         * docs/gst/tmpl/old/gstidentity.sgml:
7779         * docs/gst/tmpl/old/gstindexfactory.sgml:
7780         * docs/gst/tmpl/old/gstmarshal.sgml:
7781         * docs/gst/tmpl/old/gstmd5sink.sgml:
7782         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
7783         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
7784         * docs/gst/tmpl/old/gstpadtemplate.sgml:
7785         * docs/gst/tmpl/old/gstpipefilter.sgml:
7786         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
7787         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
7788         * docs/gst/tmpl/old/gstshaper.sgml:
7789         * docs/gst/tmpl/old/gstspider.sgml:
7790         * docs/gst/tmpl/old/gstspideridentity.sgml:
7791         * docs/gst/tmpl/old/gststatistics.sgml:
7792         * docs/gst/tmpl/old/gsttee.sgml:
7793         * docs/gst/tmpl/old/gsttimecache.sgml:
7794         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
7795         * docs/gst/tmpl/old/gstxmlregistry.sgml:
7796         * docs/gst/tmpl/old/gthread-cothreads.sgml:
7797         * docs/gst/tmpl/old/types.sgml:
7798         * docs/gst/tmpl/types.sgml:
7799
7800         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
7801         gtkdoc-scan doesn't like files with the same name in different
7802         directories.
7803         * gst/elements/Makefile.am:
7804         * gst/elements/gstelements.c:
7805         * gst/elements/gsttypefind.c: 
7806         * gst/elements/gsttypefind.h:
7807         * gst/elements/gsttypefindelement.c:
7808         * gst/elements/gsttypefindelement.h:
7809
7810 2004-04-28  David Schleef  <ds@schleef.org>
7811
7812         A bunch of portability fixes, derived from Steve Lhomme's MSVC
7813         patch (bug #141317):
7814         * gst/gst-i18n-lib.h: Allow disabling gettext.
7815         * gst/gstatomic_impl.h: disable warning when it's dumb.
7816         * gst/gstclock.c: fix include
7817         * gst/gstcompat.h: fix variadic macro
7818         * gst/gstinfo.c: fix include
7819         * gst/gstmacros.h: add defines for inlines on MSVC
7820         * gst/gstplugin.c: fix includes
7821         * gst/gstregistry.c: fix includes
7822         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
7823         * gst/gstsystemclock.c: fix include
7824         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
7825         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
7826         * gst/registries/gstxmlregistry.c:
7827         (gst_xml_registry_parse_element_factory): fix use of non-portable
7828         functions
7829         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
7830         * libs/gst/control/dparammanager.h: same
7831
7832 2004-04-28  David Schleef  <ds@schleef.org>
7833
7834         Move a bunch of unused files to old/ with names that are
7835         not case-insensitive-unique.  These files still contain some
7836         useful information that needs to be merged into gstbin.sgml,
7837         etc., so they shouldn't be deleted yet.
7838         * docs/gst/tmpl/GstBin.sgml:
7839         * docs/gst/tmpl/GstBuffer.sgml:
7840         * docs/gst/tmpl/GstCaps.sgml:
7841         * docs/gst/tmpl/GstClock.sgml:
7842         * docs/gst/tmpl/GstCompat.sgml:
7843         * docs/gst/tmpl/GstData.sgml:
7844         * docs/gst/tmpl/GstElement.sgml:
7845         * docs/gst/tmpl/GstEvent.sgml:
7846         * docs/gst/tmpl/GstIndex.sgml:
7847         * docs/gst/tmpl/GstStructure.sgml:
7848         * docs/gst/tmpl/GstTag.sgml:
7849         * docs/gst/tmpl/old/GstBin.sgml:
7850         * docs/gst/tmpl/old/GstBuffer.sgml:
7851         * docs/gst/tmpl/old/GstCaps.sgml:
7852         * docs/gst/tmpl/old/GstClock.sgml:
7853         * docs/gst/tmpl/old/GstCompat.sgml:
7854         * docs/gst/tmpl/old/GstData.sgml:
7855         * docs/gst/tmpl/old/GstElement.sgml:
7856         * docs/gst/tmpl/old/GstEvent.sgml:
7857         * docs/gst/tmpl/old/GstIndex.sgml:
7858         * docs/gst/tmpl/old/GstStructure.sgml:
7859         * docs/gst/tmpl/old/GstTag.sgml:
7860
7861 2004-04-28  David Schleef  <ds@schleef.org>
7862
7863         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7864         (gst_caps_append), (gst_caps_append_structure),
7865         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
7866         (gst_caps_set_simple), (gst_caps_set_simple_valist),
7867         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
7868         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
7869         (gst_caps_intersect), (gst_caps_normalize),
7870         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
7871         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
7872         * gst/gstcaps.h: use GST_IS_CAPS().
7873
7874 2004-04-26  David Schleef  <ds@schleef.org>
7875
7876         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
7877         assembly.  gcc doesn't handle it correctly. (bug #141083)
7878         * gst/gsttrashstack.h: same
7879
7880 2004-04-25  Benjamin Otte  <otte@gnome.org>
7881
7882         * gst/gstelement.c: (gst_element_change_state):
7883           fix assertion to do an int comparison
7884
7885 2004-04-25  Benjamin Otte  <otte@gnome.org>
7886
7887         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7888           better debugging output on error
7889
7890 2004-04-25  Benjamin Otte  <otte@gnome.org>
7891
7892         * gst/gstcaps.c: (gst_caps_subtract):
7893           fix memleak
7894
7895 2004-04-23  Benjamin Otte  <otte@gnome.org>
7896
7897         * gst/gstvalue.c: (gst_value_compare_buffer),
7898         (_gst_value_initialize):
7899           add comparison function for buffers
7900
7901 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7902
7903         * docs/pwg/pwg.xml:
7904           Just found out that this so-called "ima-wav" format is really
7905           just "dvi adpcm" (according to the MS WAV documentation). So
7906           renaming it. We didn't use it yet anyway.
7907
7908 2004-04-23  Benjamin Otte  <otte@gnome.org>
7909
7910         * gst/gstcaps.c: (gst_caps_is_always_compatible):
7911           call gst_caps_is_subset
7912
7913 2004-04-23  Benjamin Otte  <otte@gnome.org>
7914
7915         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
7916         (gst_caps_is_subset):
7917           add documentation
7918
7919 2004-04-23  Benjamin Otte  <otte@gnome.org>
7920           
7921         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
7922         (gst_caps_structure_subtract), (gst_caps_subtract),
7923         (gst_caps_structure_figure_out_union),
7924         (gst_caps_structure_simplify), (gst_caps_do_simplify):
7925           fix simplifying and subtracting not working correctly with optional
7926           properties
7927           solve assorted problems that make it now simplify ebven more
7928         * docs/gst/tmpl/gstcaps.sgml:
7929         * gst/gstcaps.h:
7930           make gst_caps_do_simplify return a bool to indicate if it simplified
7931         * testsuite/caps/simplify.c: (main):
7932           add more checks. The tests is quite a bit useless right now because
7933           the core is heavily simplifying itself.
7934         * testsuite/caps/caps.h:
7935           fix caps to contain all optional properties
7936
7937 2004-04-22  Benjamin Otte  <otte@gnome.org>
7938
7939         * docs/gst/tmpl/gstcaps.sgml:
7940         * docs/gst/tmpl/gstfilesrc.sgml:
7941         * docs/gst/tmpl/gststructure.sgml:
7942         * docs/gst/tmpl/gstvalue.sgml:
7943           update for recent API changes
7944         * gst/gstcaps.c: (gst_caps_do_simplify):
7945           fix to stop trying with a freed structure
7946         * gst/gstpad.c: (gst_pad_link_fixate):
7947           simplify caps
7948         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
7949           remove C++ comment
7950         * gst/gstpad.h:
7951           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
7952         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7953         (gst_structure_to_string):
7954           keep the correct type when using lists of ranges
7955         * gst/gstvalue.c: (gst_value_list_prepend_value),
7956         (gst_value_list_append_value):
7957           copy the value before adding to the list (d'oh)
7958         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
7959         (gst_value_subtract_int_range_int_range):
7960           handle overflows correctly
7961         * gst/gstvalue.c: (gst_value_subtract_from_list):
7962           fix memleak
7963         * testsuite/caps/caps.h:
7964           add a caps that caused segfaults
7965
7966 2004-04-22  Benjamin Otte  <otte@gnome.org>
7967
7968         * testsuite/refcounting/pad.c: (main):
7969           fix test
7970
7971 2004-04-22  Benjamin Otte  <otte@gnome.org>
7972
7973         * gst/gstcaps.c: (gst_caps_subtract):
7974           allow subtracting ANY and EMPTY from ANY caps
7975
7976 2004-04-22  Benjamin Otte  <otte@gnome.org>
7977
7978         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
7979         (gst_caps_union):
7980           only simplify in functions that create new caps. Simplifying in
7981           gst_caps_append breaks tests.
7982
7983 2004-04-22  Benjamin Otte  <otte@gnome.org>
7984
7985         * gst/gstcaps.c: (gst_caps_structure_simplify):
7986           unset GValue after use
7987         * gst/gstcaps.c: (gst_caps_append), 
7988         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
7989           use gst_caps_simplify (reduces registry size by 30%)
7990         * gst/gstpad.c: (gst_pad_template_new):
7991           don't allow NULL caps
7992
7993 2004-04-22  Benjamin Otte  <otte@gnome.org>
7994
7995         * docs/gst/gstreamer-sections.txt:
7996           add gst_caps_do_simplify
7997         * gst/gstcaps.c:
7998           add documentation for gst_caps_do_simplify
7999         * gst/gstvalue.h:
8000           fix typo in gst_value_register_subtract_func declaration for gst-doc
8001
8002 2004-04-22  Benjamin Otte  <otte@gnome.org>
8003
8004         * gst/gstcaps.c: (gst_caps_from_string_inplace):
8005           fix bug when converting from empty string.
8006         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
8007         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
8008           use gst_caps_new_empty to allocate a new caps. Only that function
8009           allocates memory for caps now.
8010         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
8011         (gst_caps_remove_structure):
8012           add ability to remove one structure (but not to header yet)
8013         * gst/gstcaps.c: (gst_caps_compare_structures),
8014         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
8015         (gst_caps_structure_simplify), (gst_caps_do_simplify),
8016         * gst/gstcaps.h:
8017           add gst_caps_do_simplify that tries to simplify a caps in place.
8018           Deprecate old gst_caps_simplify function.
8019         * testsuite/caps/caps.h:
8020           add caps.h containing a common set of caps to test against.
8021         * testsuite/caps/sets.c: (check_caps), (main):
8022           use it.
8023         * testsuite/caps/.cvsignore:
8024         * testsuite/caps/Makefile.am:
8025         * testsuite/caps/simplify.c: (check_caps), (main):
8026           add test to check correctness and efficency of caps simplification.
8027
8028 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
8029
8030         reviewed by Benjamin Otte  <otte@gnome.org>
8031
8032         * gst/gstparse.c: (_gst_parse_escape):
8033           Free the GString used in _gst_parse_escape()
8034
8035 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8036
8037         * gst/gstpad.c: (gst_pad_link_negotiate):
8038           refuse to link if the link is not possible
8039         * configure.ac:
8040         * testsuite/Makefile.am:
8041         * testsuite/negotiation/.cvsignore:
8042         * testsuite/negotiation/Makefile.am:
8043         * testsuite/negotiation/pad_link.c: (main):
8044           add test that checks the above behaviour
8045
8046 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8047
8048         * docs/gst/gstreamer-sections.txt:
8049           add newly added API
8050
8051 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8052
8053         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
8054         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
8055         (gst_filesrc_open_file), (gst_filesrc_close_file),
8056         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
8057         * gst/elements/gstfilesrc.h:
8058           add support for non-regular files (#140734)
8059
8060 2004-04-21  Benjamin Otte  <otte@gnome.org>
8061
8062         * gst/gstpad.c: (gst_pad_link_fixate):
8063           add sophisticated error checking code to see if fixation functions
8064           did their fixation right
8065
8066 2004-04-21  Benjamin Otte  <otte@gnome.org>
8067
8068         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
8069           check for ANY caps before appending/unioning
8070         * gst/gstcaps.c: (gst_caps_is_subset),
8071         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
8072         (gst_caps_structure_subtract), (gst_caps_subtract):
8073         * gst/gstcaps.h:
8074           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
8075           the API. deprecate gst_caps_is_equal_fixed
8076         * gst/gstpad.c: (gst_pad_try_set_caps):
8077         * gst/gstqueue.c: (gst_queue_link):
8078           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
8079         * gst/gststructure.c: (gst_structure_get_name_id):
8080         * gst/gststructure.h:
8081           add function gst_structure_get_name_id
8082         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
8083         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
8084         (gst_value_subtract_int_range_int_range),
8085         (gst_value_subtract_double_double_range),
8086         (gst_value_subtract_double_range_double),
8087         (gst_value_subtract_double_range_double_range),
8088         (gst_value_subtract_from_list), (gst_value_subtract_list),
8089         (gst_value_can_intersect), (gst_value_subtract),
8090         (gst_value_can_subtract), (gst_value_register_subtract_func),
8091         (_gst_value_initialize):
8092         * gst/gstvalue.h:
8093           add support for subtracting values from each other. Note that
8094           subtracting means subtracting as in set theory. Required for caps
8095           stuff above.
8096         * testsuite/caps/.cvsignore:
8097         * testsuite/caps/Makefile.am:
8098         * testsuite/caps/erathostenes.c: (erathostenes), (main):
8099         * testsuite/caps/sets.c: (check_caps), (main):
8100         * testsuite/caps/subtract.c: (check_caps), (main):
8101           add tests for subtraction and equality code.
8102
8103 2004-04-20  David Schleef  <ds@schleef.org>
8104
8105         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
8106         * gst/indexers/Makefile.am:
8107         * gst/schedulers/Makefile.am:
8108         * libs/gst/bytestream/Makefile.am:
8109         * libs/gst/control/Makefile.am:
8110         * libs/gst/getbits/Makefile.am:
8111
8112 2004-04-20  David Schleef  <ds@schleef.org>
8113
8114         * common/as-libtool.mak: Fine-tune DLL building.
8115         * configure.ac: Link plugins against libgstreamer.  Define plugindir
8116         (like gst-plugins)
8117         * examples/plugins/Makefile.am: remove plugindir
8118         * gst/autoplug/Makefile.am: DLL building fixes
8119         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
8120         Windows.
8121         * gst/elements/gstelements.c: Conditionally disable pipefilter.
8122         * gst/indexers/Makefile.am: DLL building fixes
8123         * gst/schedulers/Makefile.am: DLL building fixes.
8124         * libs/gst/bytestream/Makefile.am: DLL building fixes.
8125         * libs/gst/control/Makefile.am: same
8126         * libs/gst/getbits/Makefile.am: same
8127         * testsuite/Makefile.am: New dlopen directory
8128         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
8129         when dlopened.
8130         * testsuite/dlopen/dlopen_gst.c: (main): same
8131         * testsuite/dlopen/loadgst.c: (do_test): same
8132
8133 2004-04-20  David Schleef  <ds@schleef.org>
8134
8135         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
8136         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
8137
8138 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8139
8140         * gst/gstelement.c: (gst_element_wait),
8141         (gst_element_set_time_delay), (gst_element_change_state):
8142           Use GST_TIME_*
8143
8144 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8145
8146         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
8147         (gst_spider_identity_plug):
8148           improve debugging messages
8149         * gst/gstbin.c: (gst_bin_remove_func):
8150           make sure the state_change function is only called with simple state
8151           transitions
8152
8153 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8154
8155         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
8156         (gst_fakesink_set_property), (gst_fakesink_chain):
8157         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
8158         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
8159         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
8160         * gst/elements/gstidentity.c: (gst_identity_chain),
8161         (gst_identity_set_property):
8162         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
8163         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
8164           add warnings to _set_property for unknown arguments
8165           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
8166
8167 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8168
8169         * Makefile.am:
8170         * docs/manuals.mak:
8171           add .po file download snippet
8172           fix a bug in the doc makefile
8173
8174 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8175
8176         * Makefile.am:
8177         * po/LINGUAS:
8178         * po/en_GB.po:
8179           Added en_GB translation (Gareth Owen)
8180
8181 2004-04-20  Johan Dahlin  <johan@gnome.org>
8182
8183         * gst/gstpad.c (_invent_event): Clean up
8184
8185 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8186
8187         * testsuite/caps/filtercaps.c: (main):
8188           fix test to test things correctly (caps are complicated)
8189
8190 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8191
8192         * testsuite/caps/Makefile.am:
8193         * testsuite/caps/filtercaps.c: (main):
8194           add test (that doesn't work right now, but should)
8195
8196 2004-04-19  David Schleef  <ds@schleef.org>
8197
8198         * configure.ac: Add test for allowing unaligned access.  Add define
8199         to put in gstconfig.h.
8200         * docs/gst/gstreamer-sections.txt: New symbols
8201         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
8202         * docs/gst/tmpl/gstfilesrc.sgml:
8203         * docs/gst/tmpl/gstparse.sgml:
8204         * docs/gst/tmpl/gsttypes.sgml:
8205         * docs/gst/tmpl/gstutils.sgml:
8206         * docs/gst/tmpl/gstvalue.sgml:
8207         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
8208         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
8209         on most !i386/!powerpc architectures.  From Daniel Gazard
8210         <daniel.gazard@free.fr>.  (bug #140156)
8211         * po/af.po: Check in changes made by gettext.
8212         * po/az.po:
8213         * po/fr.po:
8214         * po/nl.po:
8215         * po/sr.po:
8216         * po/sv.po:
8217
8218 2004-04-20  Benjamin Otte  <otte@gnome.org>
8219
8220         * gst/schedulers/entryscheduler.c: 
8221         (gst_entry_scheduler_yield):
8222           refuse to yield when decoupled elements insist on doing that.
8223           At least it's better than crashing
8224
8225 2004-04-19  David Schleef  <ds@schleef.org>
8226
8227         * docs/libs/Makefile.am: Change sinclude to include
8228         * docs/gst/Makefile.am: same
8229         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
8230
8231 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8232
8233         * po/LINGUAS:
8234         * po/uk.po:
8235           Added Ukrainian translation (Maxim V. Dziumanenko)
8236
8237 2004-04-19  Johan Dahlin  <johan@gnome.org>
8238
8239         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
8240         checking here, do it before calling the function.
8241         Clean up, use for loops instead of while loops while iterating
8242         over lists.
8243
8244         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
8245         in debug message.
8246         (gst_spider_create_and_plug): Improve debug message.
8247         General: Replace while loops which iterates over GLists with for
8248         loops. Which are much cleaner, improves readability, especially
8249         for gst_spider_identity_plug
8250
8251         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
8252         fixes bug 140477
8253
8254 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8255
8256         * po/LINGUAS:
8257         * po/tr.po:
8258           Added Turkish translation (Baris Cicek)
8259
8260 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8261
8262         * docs/faq/troubleshooting.xml:
8263           Mention gst-register in the FAQ (fixes 139045).
8264
8265 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8266
8267         * docs/gst/gstreamer-sections.txt:
8268
8269 2004-04-17  Benjamin Otte  <otte@gnome.org>
8270
8271         * gst/gstelement.c: (gst_element_dispose):
8272           simplify
8273         * gst/gstpad.c: (gst_pad_call_chain_function):
8274           don't create loads of events due to bad macro usage
8275
8276 2004-04-16  David Schleef  <ds@schleef.org>
8277
8278         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
8279         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
8280         * gst/gstvalue.c: (gst_value_serialize_buffer),
8281         (gst_value_deserialize_buffer), (gst_type_is_fixed),
8282         (_gst_value_initialize): Create a new function gst_type_is_fixed()
8283         to indicate types that are fixed wrt caps or not.  Switching to
8284         this function fixes (bug #140298).
8285         * gst/gstvalue.h:
8286
8287 2004-04-16  David Schleef  <ds@schleef.org>
8288
8289         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
8290         for GST_UNALIGNED_ACESS, since we essentially know which archs
8291         are ok.
8292
8293 2004-04-17  Benjamin Otte  <otte@gnome.org>
8294
8295         * docs/gst/Makefile.am:
8296           ignore gst/parse directory when building docs (fixes #140205)
8297
8298 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8299
8300         * testsuite/refcounting/mem.c: (vmsize):
8301           do error checking
8302
8303 2004-04-16  Johan Dahlin  <johan@gnome.org>
8304
8305         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
8306         and gst_pad_call_get_function.
8307
8308 2004-04-15  David Schleef  <ds@schleef.org>
8309
8310         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
8311         checks if we can access unaligned memory.
8312         * configure.ac: Use it.
8313
8314 2004-04-16  Benjamin Otte  <otte@gnome.org>
8315
8316         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
8317         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
8318         * gst/elements/gstfilesrc.h:
8319           s/seek_happened/need_discont/ and require discont before sending any
8320           data
8321
8322 2004-04-15  David Schleef  <ds@schleef.org>
8323
8324         * gst/gstvalue.c: (gst_value_serialize_buffer),
8325         (gst_value_deserialize_buffer), (_gst_value_initialize):
8326         Register these types as fundamental types. (bug #140015)
8327
8328 2004-04-16  Benjamin Otte  <otte@gnome.org>
8329
8330         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
8331         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
8332         (gst_pad_pull):
8333           implement enforcing discont events before buffers are passed. This
8334           allows state changes of only some elements and later correctly going
8335           on where they left off (or in short: you can now set audio sinks to
8336           NULL to release the device when the pipeline is paused)
8337         * gst/gstpad.c: (gst_pad_call_chain_function),
8338         (gst_pad_call_get_function):
8339         * gst/gstpad.h:
8340           add gst_pad_call_chain_function and gst_pad_call_get_function for
8341           scheduler interaction. They are required because of the changes
8342           above.
8343         * gst/schedulers/entryscheduler.c: (get_buffer),
8344         (gst_entry_scheduler_chain_wrapper),
8345         (gst_entry_scheduler_get_wrapper),
8346         (gst_entry_scheduler_state_transition),
8347         (gst_entry_scheduler_pad_link):
8348         * gst/schedulers/gstbasicscheduler.c:
8349         (gst_basic_scheduler_chain_wrapper),
8350         (gst_basic_scheduler_src_wrapper),
8351         (gst_basic_scheduler_chainhandler_proxy),
8352         (gst_basic_scheduler_gethandler_proxy),
8353         (gst_basic_scheduler_cothreaded_chain),
8354         (gst_basic_scheduler_chain_elements):
8355         * gst/schedulers/gstoptimalscheduler.c:
8356         (get_group_schedule_function), (pad_clear_queued),
8357         (gst_opt_scheduler_pad_link):
8358           use the new functions instead of calling get/chain-functions
8359           directly.
8360
8361 2004-04-15  David Schleef  <ds@schleef.org>
8362
8363         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
8364         * docs/gst/tmpl/gstinfo.sgml: same
8365         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
8366         gtk-doc put here.
8367         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
8368         * examples/queue/queue.c: (main):  We iterate pipelines, not
8369         bins.  (bug #139996)
8370
8371 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8372
8373         * docs/pwg/advanced-types.xml:
8374           Add MS RLE support. Also document Qt RLE although I have no sample
8375           files for that yet. And document an extra property for ADPCM.
8376
8377 2004-04-15  David Schleef  <ds@schleef.org>
8378
8379         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
8380         (_gst_plugin_fault_handler_setup):  Disable more stuff on
8381         Windows.
8382
8383 2004-04-15  David Schleef  <ds@schleef.org>
8384
8385         * gst/gstinfo.c: (_gst_debug_init): Change some internal
8386         symbol names to not conflict with new gstinfo.h symbols.
8387         * gst/gstinfo.h: Add inline functions for all those crazy
8388         compilers that don't know how to handle variadic macros (MSVC).
8389
8390 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8391
8392         * configure.ac: bump nano to 1
8393
8394 === release 0.8.1 ===
8395
8396 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8397
8398         * NEWS:
8399         * RELEASE:
8400         * configure.ac:
8401           releasing 0.8.1, "Snow Brigade"
8402
8403 2004-04-14  David Schleef  <ds@schleef.org>
8404
8405         * testsuite/Makefile.am: define tests_ignore
8406         * testsuite/Rules: Added new tests_ignore, which get compiled,
8407         but not run (generally because they're inconsistent or have
8408         heisenbugs).  Now we can ensure all the .c files compile in
8409         testsuite/.
8410         * testsuite/bins/Makefile.am: define tests_ignore
8411         * testsuite/bytestream/Makefile.am:
8412         * testsuite/caps/Makefile.am:
8413         * testsuite/clock/Makefile.am:
8414         * testsuite/debug/Makefile.am:
8415         * testsuite/debug/global.c: (gst_debug_log_one),
8416         (gst_debug_log_two): Fix compilation problem.
8417         * testsuite/dynparams/Makefile.am:
8418         * testsuite/elements/Makefile.am:
8419         * testsuite/ghostpads/Makefile.am:
8420         * testsuite/indexers/Makefile.am:
8421         * testsuite/parse/Makefile.am:
8422         * testsuite/plugin/Makefile.am:
8423         * testsuite/refcounting/Makefile.am:
8424         * testsuite/refcounting/element_pad.c: (main): Don't return leak
8425         results, because it's not calculated correctly.
8426         * testsuite/refcounting/pad.c: (main): same
8427         * testsuite/states/Makefile.am:
8428         * testsuite/tags/Makefile.am:
8429         * testsuite/threads/Makefile.am:
8430
8431 2004-04-14  David Schleef  <ds@schleef.org>
8432
8433         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
8434         generating bad code around the cpu detection asm code.
8435
8436 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8437
8438         * tools/gst-inspect.c: (print_element_info):
8439           print numeric version of rank as well, since we added some - 1
8440           rank values to elements
8441
8442 2004-04-13  David Schleef  <ds@schleef.org>
8443
8444         * configure.ac:  Disable various code when compiling for MinGW.
8445         * gst/elements/Makefile.am:
8446         * gst/elements/gstelements.c:
8447         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
8448         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
8449         * gst/registries/gstxmlregistry.c: (make_dir):
8450
8451 2004-04-13  David Schleef  <ds@schleef.org>
8452
8453         * gst/Makefile.am:
8454         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
8455         assembly.
8456         * gst/gstcpuid_i386.s: remove
8457
8458 2004-04-13  David Schleef  <ds@schleef.org>
8459
8460         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
8461         seems to think it needs to be done.
8462         * docs/gst/tmpl/gstfakesink.sgml:
8463         * docs/gst/tmpl/gstfakesrc.sgml:
8464         * docs/gst/tmpl/gstfdsink.sgml:
8465         * docs/gst/tmpl/gstfdsrc.sgml:
8466         * docs/gst/tmpl/gstfilesink.sgml:
8467         * docs/gst/tmpl/gstfilesrc.sgml:
8468         * docs/gst/tmpl/gstidentity.sgml:
8469         * docs/gst/tmpl/gstmd5sink.sgml:
8470         * docs/gst/tmpl/gstmultifilesrc.sgml:
8471         * docs/gst/tmpl/gstpipefilter.sgml:
8472         * docs/gst/tmpl/gstshaper.sgml:
8473         * docs/gst/tmpl/gstspider.sgml:
8474         * docs/gst/tmpl/gstspideridentity.sgml:
8475         * docs/gst/tmpl/gststatistics.sgml:
8476         * docs/gst/tmpl/gsttee.sgml:
8477         * docs/gst/tmpl/gsttypefind.sgml:
8478         * docs/gst/tmpl/gstutils.sgml:
8479
8480 2004-04-13  David Schleef  <ds@schleef.org>
8481
8482         * configure.ac: Changes to remove POSIXisms (mmap in this case)
8483         and to build DLLs on Windows.
8484         * gst/Makefile.am:
8485         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
8486         (gst_filesrc_open_file):
8487         * gst/schedulers/Makefile.am:
8488
8489 2004-04-13  David Schleef  <ds@schleef.org>
8490
8491         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
8492         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
8493         fixating lists.
8494
8495 2004-04-12  David Schleef  <ds@schleef.org>
8496
8497         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
8498         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
8499         to using it.
8500         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
8501         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
8502         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
8503         * gst/gststructure.c: (gst_structure_set_valist),
8504         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
8505         support for buffers.
8506         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
8507         intended to be const.
8508         * gst/gsttag.h: same
8509         * gst/gstvalue.c: (gst_value_serialize_buffer),
8510         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
8511         to (de)serialize buffers.
8512         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
8513         * testsuite/caps/string-conversions.c: (main):
8514         * testsuite/caps/value_serialize.c: add new test
8515
8516 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8517
8518         * docs/pwg/advanced-types.xml:
8519           Document MS video 1 (video/x-msvideocodec) mimetype/format.
8520
8521 2004-04-11  Benjamin Otte  <otte@gnome.org>
8522
8523         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
8524           rename categories to basic_*
8525         * gst/schedulers/gstbasicscheduler.c: 
8526         (gst_basic_scheduler_chain_wrapper),
8527         (gst_basic_scheduler_chainhandler_proxy),
8528         (gst_basic_scheduler_gethandler_proxy),
8529         (gst_basic_scheduler_eventhandler_proxy):
8530           debugging category fixes - put common stuff in log category
8531         * gst/schedulers/gstbasicscheduler.c: 
8532         (gst_basic_scheduler_chain_elements):
8533           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
8534           active and linking two active chains
8535
8536 2004-04-10  Benjamin Otte  <otte@gnome.org>
8537
8538         * docs/pwg/intro-preface.xml:
8539           fix dead links and remove reference to Wiki
8540
8541 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8542
8543         * gst/schedulers/gstbasicscheduler.c:
8544           make sure we can switch back to the main function if we're still in
8545           the main function (supposed to fix #139617)
8546         * gst/schedulers/gthread-cothreads.h:
8547           don't throw an error when switching to the same cothread
8548
8549 2004-04-09  Benjamin Otte  <otte@gnome.org>
8550
8551         * gst/gstbin.c: (gst_bin_get_type):
8552         * gst/gstclock.c: (gst_clock_get_type):
8553         * gst/gstindex.c: (gst_index_get_type):
8554         * gst/gstobject.c: (gst_object_get_type),
8555         (gst_signal_object_get_type):
8556         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
8557         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
8558         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
8559         * gst/gstqueue.c: (gst_queue_get_type):
8560         * gst/gstregistry.c: (gst_registry_get_type):
8561         * gst/gstsystemclock.c: (gst_system_clock_get_type):
8562         * gst/gstthread.c: (gst_thread_get_type):
8563           don't use memchunks for these objects, use malloc instead
8564
8565 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8566
8567         * docs/gst/.cvsignore:
8568         * docs/gst/Makefile.am:
8569         * docs/gst/gstreamer-sections.txt:
8570         * docs/gst/tmpl/gstaggregator.sgml:
8571         * docs/gst/tmpl/gstbuffer.sgml:
8572         * docs/gst/tmpl/gstclock.sgml:
8573         * docs/gst/tmpl/gstelement.sgml:
8574         * docs/gst/tmpl/gstfakesink.sgml:
8575         * docs/gst/tmpl/gstfakesrc.sgml:
8576         * docs/gst/tmpl/gstfdsink.sgml:
8577         * docs/gst/tmpl/gstfdsrc.sgml:
8578         * docs/gst/tmpl/gstfilesink.sgml:
8579         * docs/gst/tmpl/gstfilesrc.sgml:
8580         * docs/gst/tmpl/gstidentity.sgml:
8581         * docs/gst/tmpl/gstindex.sgml:
8582         * docs/gst/tmpl/gstinfo.sgml:
8583         * docs/gst/tmpl/gstmd5sink.sgml:
8584         * docs/gst/tmpl/gstmultifilesrc.sgml:
8585         * docs/gst/tmpl/gstpad.sgml:
8586         * docs/gst/tmpl/gstpipefilter.sgml:
8587         * docs/gst/tmpl/gstpipeline.sgml:
8588         * docs/gst/tmpl/gstpluginfeature.sgml:
8589         * docs/gst/tmpl/gstqueue.sgml:
8590         * docs/gst/tmpl/gstregistry.sgml:
8591         * docs/gst/tmpl/gstscheduler.sgml:
8592         * docs/gst/tmpl/gstshaper.sgml:
8593         * docs/gst/tmpl/gstspider.sgml:
8594         * docs/gst/tmpl/gstspideridentity.sgml:
8595         * docs/gst/tmpl/gststatistics.sgml:
8596         * docs/gst/tmpl/gstsystemclock.sgml:
8597         * docs/gst/tmpl/gsttee.sgml:
8598         * docs/gst/tmpl/gstthread.sgml:
8599         * docs/gst/tmpl/gsttypefind.sgml:
8600         * docs/gst/tmpl/gstutils.sgml:
8601           further doc build fixes
8602
8603 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8604
8605         * docs/gst/Makefile.am:
8606           make docs exit on scanning problems
8607           fix nonsrcdir build issues
8608         * docs/gst/gstreamer-sections.txt:
8609           adding stuff from -unused
8610         * gst/gstqueue.h:
8611           create GstQueueSize
8612         * gst/schedulers/cothreads_compat.h:
8613           fix cothread warnings
8614
8615 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8616
8617         * docs/gst/gstreamer-sections.txt:
8618           remove defines deprecated by Benjamin
8619
8620 2004-04-07  Benjamin Otte  <otte@gnome.org>
8621
8622         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
8623           when the buffer is complete, don't check if other buffers are needed
8624         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
8625           check that the offset is >0 so we don't try to read before the
8626           beginning of the file
8627         * gst/gstpad.c: (gst_pad_set_pad_template):
8628           sink the template, so we don't end up with 130k pad templates
8629
8630 2004-04-06  Benjamin Otte  <otte@gnome.org>
8631
8632         * gst/autoplug/gstspider.c: (gst_spider_link_add):
8633           don't ref the element, adding already reffed it. And we didn't unref
8634           it later anyway... (huge memleak when you used many spider elements)
8635         * gst/gstelement.c: (gst_element_base_class_finalize):
8636         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
8637         (gst_element_register):
8638         * gst/gsturi.c: (gst_element_make_from_uri):
8639           use gst_object_(un)ref instead of g_object(un)ref
8640
8641 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8642
8643         * gst/gstbuffer.h:
8644           remove macro that wouldn't work anymore because struct member has
8645           been removed.
8646         * gst/schedulers/entryscheduler.c: (schedule_forward):
8647           fix segfault for unconnected pads
8648         
8649 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8650
8651         reviewed by David Schleef <ds@schleef.org>
8652
8653         * gst/gstinfo.h:
8654           *_FORMAT modifiers should require putting a % in front of them for
8655           consistency reasons.
8656
8657 2004-04-05  Colin Walters  <walters@redhat.com>
8658
8659         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
8660         space.
8661
8662 2004-04-05  Benjamin Otte  <otte@gnome.org>
8663
8664         * configure.ac:
8665         * gst/Makefile.am:
8666         * gst/gst_private.h:
8667         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
8668           add support for detecting if GStreamer runs inside valgrind.
8669           requires valgrind (d'oh) and --enable-debug for correct cdetection.
8670           print a big message in valgrind that GStreamer has detected it's
8671           running inside and might now use different code.
8672         * gst/gstmemchunk.c: (populate), (free_area),
8673         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
8674         (gst_mem_chunk_free):
8675           flag memchunks for valgrind, so it can detect leaking of chunks.
8676           This allows detecting leaks of GstBuffer and GstEvent correctly
8677           inside valgrind.
8678
8679 2004-04-05  David Schleef  <ds@schleef.org>
8680
8681         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
8682           jensgr@gmx.net (Jens Granseuer)
8683
8684 2004-04-05  David Schleef  <ds@schleef.org>
8685
8686         * gst/gstbuffer.c: (_gst_buffer_sub_free),
8687         (gst_buffer_default_free), (gst_buffer_default_copy),
8688         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
8689         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
8690         structures in one place.
8691
8692 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8693
8694         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
8695           (GST_TIME_FORMAT, GST_TIME_ARGS)
8696
8697 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8698
8699         * testsuite/elements/Makefile.am:
8700           disable test until it stops breaking make distcheck
8701
8702 2004-04-05  Johan Dahlin  <johan@gnome.org>
8703
8704         * po/sv.po: Updated translation
8705
8706 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8707
8708         * gst/gstplugin.c: (gst_plugin_load_file):
8709           fix segfault for when original plugin was loaded statically
8710
8711 2004-04-05  Benjamin Otte  <otte@gnome.org>
8712
8713         * testsuite/debug/category.c: (main):
8714         * testsuite/debug/commandline.c: (main):
8715         * testsuite/debug/output.c: (main):
8716           fix tests to work again with debugging enabled
8717
8718 2004-04-05  Benjamin Otte  <otte@gnome.org>
8719
8720         * gst/schedulers/gstbasicscheduler.c:
8721         (gst_basic_scheduler_pad_link):
8722           fix to work with recent scheduling changes
8723
8724 2004-04-05  Benjamin Otte  <otte@gnome.org>
8725
8726         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
8727         prepareChangeLog doesn't work when cvs indents):
8728           don't throw an error when no element can be scheduled, there's too
8729           many weird reasons why it doesn't work. Return STOPPED instead.
8730           decoupled elemts' schedulability doesn't depend on bufpens.
8731
8732 2004-04-04  Benjamin Otte  <otte@gnome.org>
8733
8734         * gst/schedulers/gstbasicscheduler.c:
8735         (gst_basic_scheduler_pad_select):
8736           fix uninitialized variable warnings
8737
8738 2004-04-04  Benjamin Otte  <otte@gnome.org>
8739
8740         * gst/gstpad.c: (gst_pad_collect_valist):
8741           fix uninitialized variable warning
8742         * gst/schedulers/entryscheduler.c: (schedule_forward):
8743           fix shadowed variable
8744
8745 2004-04-04  Benjamin Otte  <otte@gnome.org>
8746
8747         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
8748         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
8749         (gst_pad_select):
8750         * gst/gstpad.h:
8751         * gst/gstscheduler.c: (gst_scheduler_pad_select),
8752         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
8753         * gst/gstscheduler.h:
8754           implement gst_pad_collect as replacement for gst_pad_select.
8755           deprecate gst_pad_select and gst_scheduler_(un)lock_element
8756           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
8757           new pad_select, lock and unlock calls.
8758         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
8759         * gst/cothreads.h:
8760         * gst/schedulers/cothreads_compat.h:
8761         * gst/schedulers/gthread-cothreads.h:
8762           remove unused cothread_lock and cothread_unlock calls
8763         * gst/schedulers/entryscheduler.c:
8764         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
8765         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
8766         (gst_entry_scheduler_pad_select):
8767           update to new API
8768         * gst/schedulers/gstbasicscheduler.c:
8769         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
8770         (gst_basic_scheduler_pad_select):
8771           remove useless lock and unlock calls, update pad_select to new API
8772           (untested)
8773         * gst/schedulers/gstoptimalscheduler.c:
8774         (gst_opt_scheduler_class_init):
8775           remove useless select, lock and unlock function calls
8776         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
8777           use gst_pad_collect instead of gst_pad_select
8778
8779 2004-04-04  Benjamin Otte  <otte@gnome.org>
8780
8781         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
8782         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
8783         (schedule_next_element), (print_entry):
8784           add can_schedule_pad to handle element states.
8785           add schedule_forward to select the correct entry to schedule next
8786
8787 2004-04-03  Benjamin Otte  <otte@gnome.org>
8788
8789         * gst/schedulers/entryscheduler.c: 
8790           remove unused variable, fix error inside Rb, fix compile warning in
8791           unreachable code
8792
8793 2004-04-03  Benjamin Otte  <otte@gnome.org>
8794
8795         * gst/schedulers/entryscheduler.c:
8796           completely revamp the inner workings, so it's a lot easier to
8797           understand and extend
8798
8799 2004-04-03  Andy Wingo  <wingo@pobox.com>
8800
8801         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
8802         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
8803         This allows better introspection of pipeline topology.
8804         (add_to_chain): Don't do trickery to put loop elements first;
8805         rather, queue a chain sort by marking the chain as dirty.
8806         (remove_from_chain): Mark the chain dirty.
8807         (sort_chain): New function. Sorts the group list so that terminal
8808         sinks are first. This means elements on the sink side will be
8809         preferentially sscheduled before elements on the src side of the
8810         pipeline.
8811         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
8812         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
8813         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
8814         (group_inc_link): Change argument and variable names to match the
8815         new link structure member names (src and sink).
8816         (group_dec_link): Add some description
8817
8818 2004-04-03  Benjamin Otte  <otte@gnome.org>
8819
8820         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
8821         * gst/gstinfo.h:
8822         * testsuite/debug/category.c: (main):
8823         * testsuite/debug/commandline.c: (main):
8824         * testsuite/debug/output.c: (main):
8825         * testsuite/debug/printf_extension.c: (main):
8826           fix to successfully build and test with --disable-gst-debug
8827           configure switch (fixes #138705)
8828
8829 2004-04-03  Benjamin Otte  <otte@gnome.org>
8830
8831         * docs/pwg/building-boiler.xml:
8832           add cvs login line and s/anonymous/anoncvs/
8833
8834 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
8835
8836         reviewed by Benjamin Otte  <otte@gnome.org>
8837
8838         * gst/gststructure.c: (gst_structure_free):
8839           memleak fix: free fields array (partial fix for #134839)
8840
8841 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8842
8843         * docs/random/ds/0.9-suggested-changes:
8844           Add a note to change handoff use in fakesrc to be usable in
8845           a more generic way (fakesrc should be renamed to appsrc or so).
8846         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8847           Change signal type to scope, so we can fill the buffer in the
8848           handoff handler (that's the whole use of this signal...).
8849
8850 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8851
8852         * docs/pwg/other-ntoone.xml:
8853           Document muxers and n-to-1 elements.
8854
8855 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
8856
8857         * gst/registries/gstxmlregistry.c
8858         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
8859         determine if a file is a G_MODULE. The old one discards paths
8860         containing "so" somewhere in the middle. My home directory is
8861         called "soto". Go figure...
8862
8863 2004-03-31  David Schleef  <ds@schleef.org>
8864
8865         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
8866         to eventually deprecate gst_buffer_merge().  (bug: #136408)
8867         * gst/gstbuffer.h:
8868
8869 2004-03-31  David Schleef  <ds@schleef.org>
8870
8871         * gst/gstvalue.c: (gst_value_union_int_int_range),
8872         (gst_value_union_int_range_int_range), (gst_value_can_union),
8873         (gst_value_union), (_gst_value_initialize):  Add some union
8874         implementations.  We didn't have any previously.
8875         * testsuite/caps/Makefile.am:
8876         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
8877         (gst_audioscale_getcaps), (test_caps), (main): A little test
8878         that is the same as the caps manipulation in audioscale.
8879
8880 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8881
8882         * docs/faq/general.xml:
8883           add entry about "does gst support format X?"
8884
8885 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8886
8887         * gst/gstthread.c:
8888           fix docs
8889         * gst/gstutils.h:
8890           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
8891
8892 2004-03-30  Benjamin Otte  <otte@gnome.org>
8893
8894         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
8895           set the offset of the buffer to the requested offset
8896         * gst/elements/gsttypefind.c: (stop_typefinding):
8897           revert patch 1.18 (which I unfortunately don't know the reason for).
8898           This is needed to allow downstream elements to seek. Otherwise
8899           typefind might overwrite a previous seek by downstream elements.
8900           This lead to errors with id3tag and typefind on some mp3s.
8901         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
8902         (gst_entry_scheduler_iterate):
8903           be more verbose when debugging
8904
8905 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8906
8907         * gst/gstcaps.c: (gst_caps_from_string_inplace):
8908           make sure we don't get NULL strings
8909
8910 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8911
8912         * gst/gstcaps.c:
8913         * gst/gstelement.c:
8914         * gst/gstelementfactory.c: (gst_element_factory_get_type):
8915         * gst/gstindex.c: (gst_index_resolver_get_type),
8916         (gst_index_get_type), (gst_index_factory_get_type):
8917         * gst/gstinfo.c:
8918         * gst/gstpad.c:
8919         * gst/gstplugin.c:
8920         * gst/gsturi.c: (gst_uri_handler_get_type):
8921         * gst/gstvalue.c:
8922           first batch of documentation fixes
8923
8924 2004-03-29  David Schleef  <ds@schleef.org>
8925
8926         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
8927         * docs/gst/gstreamer-docs.sgml:  More hacking
8928         * docs/gst/gstreamer-sections.txt:
8929         * docs/gst/tmpl/cothreads_compat.sgml:
8930         * docs/gst/tmpl/gstcaps.sgml:
8931         * docs/gst/tmpl/gstclock.sgml:
8932         * docs/gst/tmpl/gstelement.sgml:
8933         * docs/gst/tmpl/gstevent.sgml:
8934         * docs/gst/tmpl/gstpad.sgml:
8935         * docs/gst/tmpl/gstutils.sgml:
8936         * docs/gst/tmpl/gstxml.sgml:
8937         * docs/gst/tmpl/gthread-cothreads.sgml:
8938         * docs/random/ds/0.9-suggested-changes:
8939         * gst/elements/gstfakesink.h: doc fixes
8940         * gst/elements/gstfakesrc.h: doc fixes
8941         * gst/gstcaps.c: doc fixes
8942         * gst/gstcaps.h: doc fixes
8943         * gst/gstelement.c: doc fixes
8944         * gst/gstelement.h: doc fixes
8945         * gst/gstindex.c: doc fixes
8946         * gst/gstinfo.c: doc fixes
8947         * gst/gstpad.c: doc fixes
8948         * gst/gstpad.h: doc fixes
8949         * gst/gstplugin.c: doc fixes
8950         * gst/gsttypefind.h: doc fixes
8951         * gst/gsturi.c: doc fixes
8952         * gst/gstvalue.c: doc fixes
8953
8954 2004-03-29  Colin Walters  <walters@redhat.com>
8955
8956         * gst/registries/gstxmlregistry.c (get_time)
8957         (plugin_times_older_than_recurse):
8958         Use the result of stat to determine whether a path is a file,
8959         so we don't attempt to opendir() files.
8960
8961 2004-03-29  Benjamin Otte  <otte@gnome.org>
8962
8963         * gst/gstpad.c: (gst_pad_set_explicit_caps):
8964           print caps in debugging output when setting caps failed
8965         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
8966         (schedule_next_element), (get_buffer), (run_chainhandler),
8967         (element_may_start), (gst_entry_scheduler_chain_handler),
8968         (gst_entry_scheduler_get_handler),
8969         (gst_entry_scheduler_state_transition),
8970         (gst_entry_scheduler_pad_link):
8971           make this scheduler a testcase for mandatory
8972           discont-before-first-buffer which is needed if we want to allow apps
8973           to release the sound device.
8974           add SCHED_ASSERT macro to print scheduler state before an assertion
8975           triggers.
8976
8977 2004-03-29  Benjamin Otte  <otte@gnome.org>
8978
8979         * COPYING:
8980           replace by LGPL (former COPYING.LIB). The core is completely
8981           licensed LGPL.
8982         * COPYING.LIB:
8983           remove
8984
8985 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8986
8987         * po/af.po:
8988         * po/sv.po:
8989           updated Afrikaans and Swedish
8990
8991 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8992
8993         * po/LINGUAS:
8994         * po/az.po:
8995           adding Azerbaijani (Mətin Əmirov)
8996
8997 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
8998
8999         * gst/gstelement.h: 
9000         * gst/gstelement.c (gst_element_set_time_delay): New function for
9001         setting element time taking into account a hardware buffering
9002         delay.
9003         (gst_element_set_time): Now just an invocation of
9004         gst_element_set_time_delay.
9005         * gst/gstclock.h: 
9006         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
9007         allowing to set event times in the future.
9008         (gst_clock_get_event_time): Now just an invocation of
9009         gst_clock_get_event_time_delay.
9010
9011 2004-03-28  Benjamin Otte  <otte@gnome.org>
9012
9013         * gst/gstbin.c: (gst_bin_set_element_sched),
9014         (gst_bin_unset_element_sched):
9015           don't add decoupled elements to schedulers - otherwise it's
9016           impossible to control if a link to a decoupled element was already
9017           removed from a scheduler or not.
9018         * gst/schedulers/cothreads_compat.h:
9019         * gst/schedulers/gthread-cothreads.h:
9020           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
9021           is no "unused" warning.
9022         * gst/schedulers/Makefile.am:
9023         * gst/schedulers/entryscheduler.c:
9024           add new scheduler, based on ideas from talking to David and Martin.
9025           It's supposed to be small and correct. Currently it's also slow (but
9026           it's not noticable)
9027         * examples/retag/retag.c: (main):
9028         * testsuite/bytestream/test1.c: (main):
9029           fix missing NULLs at end of variadic functions
9030         * testsuite/elements/.cvsignore:
9031           update
9032
9033 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
9034
9035         * gst/gstevent.h:
9036         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
9037
9038 2004-03-25  David Schleef  <ds@schleef.org>
9039
9040         * docs/gst/gstreamer-sections.txt:  More doc hacking.
9041         * docs/gst/tmpl/gstaggregator.sgml:
9042         * docs/gst/tmpl/gstautoplugfactory.sgml:
9043         * docs/gst/tmpl/gstbin.sgml:
9044         * docs/gst/tmpl/gstbuffer.sgml:
9045         * docs/gst/tmpl/gstbufferstore.sgml:
9046         * docs/gst/tmpl/gstfakesink.sgml:
9047         * docs/gst/tmpl/gstfakesrc.sgml:
9048         * docs/gst/tmpl/gstmd5sink.sgml:
9049         * docs/gst/tmpl/gstreamer-unused.sgml:
9050         * docs/gst/tmpl/gstsearchfuncs.sgml:
9051         * docs/gst/tmpl/gstshaper.sgml:
9052         * docs/gst/tmpl/gstspider.sgml:
9053         * docs/gst/tmpl/gsttee.sgml:
9054         * docs/gst/tmpl/gstutils.sgml:
9055         * docs/gst/tmpl/gstvalue.sgml:
9056         * docs/gst/tmpl/gstxml.sgml:
9057         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
9058         and we don't support it.
9059         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9060         (gst_use_threads), (gst_has_threads): same
9061         * gst/gstthreaddummy.c: same
9062         * gst/autoplug/gstspider.c: Make gst_spider_details static.
9063         * gst/autoplug/gstspider.h: same
9064         * gst/elements/gstaggregator.h: Remove bogus function from header
9065         * gst/elements/gstfakesink.h: same
9066         * gst/elements/gstfakesrc.h: same
9067         * gst/elements/gstmd5sink.h: same
9068         * gst/elements/gstshaper.h: same
9069         * gst/elements/gsttee.h: same
9070         * gst/gstbin.c: doc fixes
9071         * gst/gstbin.h: Remove unused definition.
9072         * gst/gstbuffer.c: doc fixes
9073         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
9074         * gst/gstfilter.c: doc fixes
9075         * gst/gsttag.c: doc fixes
9076         * gst/gstvalue.c: doc fixes
9077
9078 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9079
9080         * docs/pwg/advanced-types.xml:
9081           Document typefinding.
9082         * docs/pwg/other-oneton.xml:
9083           Document one-to-n elements, demuxers and parsers.
9084
9085 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
9086
9087         reviewed by: David Schleef  <ds@schleef.org>
9088
9089         * configure.ac: Check bison version (bug #127838)
9090
9091 2004-03-25  David Schleef  <ds@schleef.org>
9092
9093         * docs/gst/gstreamer-docs.sgml: More fine tuning.
9094         * docs/gst/gstreamer-sections.txt:
9095         * docs/gst/tmpl/gstautoplug.sgml:
9096         * docs/gst/tmpl/gststaticautoplug.sgml:
9097         * docs/gst/tmpl/gststaticautoplugrender.sgml:
9098         * docs/gst/tmpl/gstutils.sgml:
9099         * docs/gst/tmpl/gstxml.sgml:
9100
9101 2004-03-24  David Schleef  <ds@schleef.org>
9102
9103         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
9104         manual being such complete crap, that I decided to do major
9105         hacking of it.  This checkin replaces any fine tuning that
9106         may have been done previously, with the benefit of actually
9107         being complete for much of the API that was changed since
9108         0.6.  Further fine tuning will occur shortly.  (bug #134721)
9109         * docs/gst/gstreamer-sections.txt:
9110         * docs/gst/tmpl/GstBin.sgml:
9111         * docs/gst/tmpl/GstBuffer.sgml:
9112         * docs/gst/tmpl/GstCaps.sgml:
9113         * docs/gst/tmpl/GstClock.sgml:
9114         * docs/gst/tmpl/GstCompat.sgml:
9115         * docs/gst/tmpl/GstData.sgml:
9116         * docs/gst/tmpl/GstElement.sgml:
9117         * docs/gst/tmpl/GstEvent.sgml:
9118         * docs/gst/tmpl/GstIndex.sgml:
9119         * docs/gst/tmpl/GstStructure.sgml:
9120         * docs/gst/tmpl/GstTag.sgml:
9121         * docs/gst/tmpl/cothreads.sgml:
9122         * docs/gst/tmpl/cothreads_compat.sgml:
9123         * docs/gst/tmpl/gettext.sgml:
9124         * docs/gst/tmpl/grammar.tab.sgml:
9125         * docs/gst/tmpl/gst-i18n-app.sgml:
9126         * docs/gst/tmpl/gst-i18n-lib.sgml:
9127         * docs/gst/tmpl/gst.sgml:
9128         * docs/gst/tmpl/gst_private.sgml:
9129         * docs/gst/tmpl/gstaggregator.sgml:
9130         * docs/gst/tmpl/gstarch.sgml:
9131         * docs/gst/tmpl/gstatomic.sgml:
9132         * docs/gst/tmpl/gstatomic_impl.sgml:
9133         * docs/gst/tmpl/gstbin.sgml:
9134         * docs/gst/tmpl/gstbuffer.sgml:
9135         * docs/gst/tmpl/gstbufferstore.sgml:
9136         * docs/gst/tmpl/gstcaps.sgml:
9137         * docs/gst/tmpl/gstclock.sgml:
9138         * docs/gst/tmpl/gstcompat.sgml:
9139         * docs/gst/tmpl/gstconfig.sgml:
9140         * docs/gst/tmpl/gstcpu.sgml:
9141         * docs/gst/tmpl/gstdata.sgml:
9142         * docs/gst/tmpl/gstdata_private.sgml:
9143         * docs/gst/tmpl/gstelement.sgml:
9144         * docs/gst/tmpl/gstenumtypes.sgml:
9145         * docs/gst/tmpl/gsterror.sgml:
9146         * docs/gst/tmpl/gstevent.sgml:
9147         * docs/gst/tmpl/gstfakesink.sgml:
9148         * docs/gst/tmpl/gstfakesrc.sgml:
9149         * docs/gst/tmpl/gstfilesink.sgml:
9150         * docs/gst/tmpl/gstfilter.sgml:
9151         * docs/gst/tmpl/gstindex.sgml:
9152         * docs/gst/tmpl/gstinfo.sgml:
9153         * docs/gst/tmpl/gstinterface.sgml:
9154         * docs/gst/tmpl/gstlog.sgml:
9155         * docs/gst/tmpl/gstmacros.sgml:
9156         * docs/gst/tmpl/gstmarshal.sgml:
9157         * docs/gst/tmpl/gstmd5sink.sgml:
9158         * docs/gst/tmpl/gstmultifilesrc.sgml:
9159         * docs/gst/tmpl/gstobject.sgml:
9160         * docs/gst/tmpl/gstpad.sgml:
9161         * docs/gst/tmpl/gstparse.sgml:
9162         * docs/gst/tmpl/gstpipeline.sgml:
9163         * docs/gst/tmpl/gstplugin.sgml:
9164         * docs/gst/tmpl/gstpluginfeature.sgml:
9165         * docs/gst/tmpl/gstqueue.sgml:
9166         * docs/gst/tmpl/gstreamer-unused.sgml:
9167         * docs/gst/tmpl/gstregistry.sgml:
9168         * docs/gst/tmpl/gstregistrypool.sgml:
9169         * docs/gst/tmpl/gstscheduler.sgml:
9170         * docs/gst/tmpl/gstsearchfuncs.sgml:
9171         * docs/gst/tmpl/gstshaper.sgml:
9172         * docs/gst/tmpl/gstspider.sgml:
9173         * docs/gst/tmpl/gstspideridentity.sgml:
9174         * docs/gst/tmpl/gststructure.sgml:
9175         * docs/gst/tmpl/gstsystemclock.sgml:
9176         * docs/gst/tmpl/gsttag.sgml:
9177         * docs/gst/tmpl/gsttaginterface.sgml:
9178         * docs/gst/tmpl/gsttee.sgml:
9179         * docs/gst/tmpl/gstthread.sgml:
9180         * docs/gst/tmpl/gsttrace.sgml:
9181         * docs/gst/tmpl/gsttrashstack.sgml:
9182         * docs/gst/tmpl/gsttypefind.sgml:
9183         * docs/gst/tmpl/gsttypes.sgml:
9184         * docs/gst/tmpl/gsturi.sgml:
9185         * docs/gst/tmpl/gsturitype.sgml:
9186         * docs/gst/tmpl/gstutils.sgml:
9187         * docs/gst/tmpl/gstvalue.sgml:
9188         * docs/gst/tmpl/gstversion.sgml:
9189         * docs/gst/tmpl/gstxml.sgml:
9190         * docs/gst/tmpl/gstxmlregistry.sgml:
9191         * docs/gst/tmpl/gthread-cothreads.sgml:
9192         * docs/gst/tmpl/types.sgml:
9193
9194 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9195
9196         * docs/pwg/other-sink.xml:
9197         * docs/pwg/other-source.xml:
9198           Documentation on how to write source and sink elements. Other
9199           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
9200           manager, autoplugger) are all still pending.
9201
9202 2004-03-25  Benjamin Otte  <otte@gnome.org>
9203
9204         * testsuite/elements/Makefile.am:
9205         * testsuite/elements/gst-compprep-check:
9206           add check to make sure gst-compprep works
9207         * testsuite/elements/gst-inspect-check.in:
9208           improve initialization output
9209         * testsuite/Makefile.am:
9210         * testsuite/gst-inspect-check:
9211           remove old file
9212
9213 2004-03-24  David Schleef  <ds@schleef.org>
9214
9215         * testsuite/elements/Makefile.am:
9216         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
9217         to the testsuite.
9218
9219 2004-03-24  Benjamin Otte  <otte@gnome.org>
9220
9221         * libs/gst/control/dparam.c: (gst_dparam_attach),
9222         (gst_dparam_detach):
9223         * libs/gst/control/dparammanager.c: (gst_dpman_init):
9224           fix lvalue casts for real
9225
9226 2004-03-24  Benjamin Otte  <otte@gnome.org>
9227
9228         * gst/schedulers/gstbasicscheduler.c:
9229         (gst_basic_scheduler_src_wrapper):
9230         * gst/schedulers/gstoptimalscheduler.c:
9231         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
9232         (pad_clear_queued), (gst_opt_scheduler_add_element),
9233         (gst_opt_scheduler_remove_element):
9234           fix GStreamer to not have issues with lvalue casts anymore (fixes
9235           #136841)
9236
9237 2004-03-24  Benjamin Otte  <otte@gnome.org>
9238
9239         * gst/gstelement.c:
9240           add documentation about a gobject quirk where the object hasn't the
9241           correct class pointer set on initialization
9242         * gst/schedulers/gstbasicscheduler.c:
9243         (gst_basic_scheduler_src_wrapper):
9244           make sure to not run into an infinite loop
9245
9246 2004-03-22  Benjamin Otte  <otte@gnome.org>
9247
9248         * gst/gstutils.c: (gst_util_dump_mem):
9249         * gst/gstutils.h:
9250           first argument of gst_util_dump_mem should be const
9251
9252 2004-03-22  Johan Dahlin  <johan@gnome.org>
9253
9254         * gst/gstvalue.h: Clean up a little bit.
9255
9256 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
9257
9258         reviewed by Benjamin Otte  <otte@gnome.org>
9259
9260         * gst/autoplug/gstspider.c: (gst_spider_dispose):
9261         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
9262         (gst_aggregator_class_init), (gst_aggregator_init):
9263         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9264         (gst_filesrc_dispose), (gst_filesrc_set_location):
9265         * gst/elements/gstidentity.c: (gst_identity_finalize),
9266         (gst_identity_class_init), (gst_identity_chain):
9267         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
9268         * gst/elements/gststatistics.c: (gst_statistics_finalize),
9269         (gst_statistics_class_init):
9270         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
9271         (gst_tee_get_property):
9272           clean up used memory in this elements correctly on teardown (closes
9273           #137279)
9274
9275 2004-03-20  Colin Walters  <walters@redhat.com>
9276
9277         * gst/registries/gstxmlregistry.c:
9278         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
9279         registry saving atomic.
9280
9281 2004-03-20  Colin Walters  <walters@redhat.com>
9282
9283         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
9284         Just use
9285         access() instead of actually creating and deleting files.
9286
9287 2004-03-18  David Schleef  <ds@schleef.org>
9288
9289         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
9290         (bug #137625)
9291
9292 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9293
9294         * po/sv.po: updated translation (Christian Rose)
9295
9296 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9297
9298         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
9299         (gst_filesink_get_query_types), (_do_init),
9300         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
9301           return FALSE silently
9302         * po/af.po: updated translation (Petri Jooste)
9303
9304 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9305
9306         * Makefile.am:
9307         * configure.ac:
9308           dist common properly
9309         * po/af.po:
9310         * po/fr.po:
9311         * po/nl.po:
9312         * po/sr.po:
9313         * po/sv.po:
9314           refreshing translations
9315
9316 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9317
9318         * po/LINGUAS:
9319         * po/sv.po:
9320         * po/af.po:
9321           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
9322
9323 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9324
9325         * Makefile.am: use common/release.mak
9326
9327 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9328
9329         * docs/faq/gst-uninstalled:
9330           adding gst-monkeysaudio to the list of possible plugin dirs
9331
9332 2004-03-16  David Schleef  <ds@schleef.org>
9333
9334         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
9335         (gst_init_check_with_popt_table):  Fix some gettext strings to
9336         make them easier to translate.  Required making the strings
9337         non-const.
9338
9339 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9340
9341         * configure.ac: bump nano to 1
9342
9343 === release 0.8.0 ===
9344
9345 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9346
9347         * configure.ac: release 0.8.0, "Executive Slacks"
9348
9349 2004-03-16  Johan Dahlin  <johan@gnome.org>
9350
9351         * gst/schedulers/gstoptimalscheduler.c
9352         (gst_opt_scheduler_pad_unlink): Remove double ;,
9353         spotted by Scott Wheeler
9354
9355 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9356
9357         * configure.ac: bump libtool version
9358
9359 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9360
9361         * gst/gstcaps.h:
9362         * gst/gststructure.h:
9363           add reserved padding
9364
9365 2004-03-15  Benjamin Otte  <otte@gnome.org>
9366
9367         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
9368           set the first parameter for select call correctly.
9369           (fixes #137230)
9370
9371 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9372
9373         * *.c,*.h: don't mix tabs and spaces
9374
9375 2004-03-15  Johan Dahlin  <johan@gnome.org>
9376
9377         * gst/schedulers/gstoptimalscheduler.c
9378         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
9379         crash on MPEG playback. My boolean arithmetic is a bit rusty.
9380
9381         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
9382         
9383 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9384
9385         * testsuite/Rules:
9386           fix gst-register rules
9387
9388 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9389
9390         * testsuite/Rules:
9391           use versioned gst-register
9392
9393 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9394
9395         * docs/libs/gstreamer-libs-sections.txt:
9396           remove </SUBSECTION>
9397         * gst/gstplugin.c:
9398         * gst/gstregistry.c: (gst_registry_add_plugin):
9399         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
9400         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
9401           add debugging and fix some comment blocks
9402
9403 2004-03-15  Johan Dahlin  <johan@gnome.org>
9404
9405         * *.h: Revert indent changes.
9406         
9407 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9408
9409         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
9410           g_error_free the g_error
9411         * tools/gst-feedback-m.m:
9412           check for other versions of gstreamer
9413         * tools/gst-indent:
9414           use sh, not bash
9415
9416 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9417
9418         * tools/gst-register.c: do not spill paths when registries are not
9419           writable, until we fix the "user running gst-register" case.
9420
9421 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9422
9423         * *.c, *.h: commit of gst-indent run on core
9424
9425 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9426
9427         * tools/gst-indent:
9428         * tools/Makefile.am:
9429           add our indentation style as a script
9430
9431 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9432
9433         * po/sr.po:
9434         * po/LINGUAS:
9435           added Serbian translation
9436
9437 2004-03-13  Benjamin Otte  <otte@gnome.org>
9438
9439         * gst/gstelement.c:
9440           add documentation note about gst_element_found_tags_for_pad not
9441           being usable in getfunctions. (see #137042)
9442
9443 2004-03-12  David Schleef  <ds@schleef.org>
9444
9445         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
9446         change API right now!  Readd gst_caps_is_simple() macro.
9447         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
9448         uninitialized variable.  I'd bet this caused crashes.
9449         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
9450
9451 2004-03-12  Johan Dahlin  <johan@gnome.org>
9452
9453         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
9454         * gst/gstcaps.h: Clean up
9455
9456         * gst/gst.c (init_post): call gst_caps_get_type() instead of
9457         _gst_caps_initalize()
9458
9459         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
9460         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
9461
9462         * gst/gststructure.c (gst_structure_get_type): Ditto
9463
9464         * gst/gststructure.h: Ditto
9465         
9466 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9467
9468         * gst/gstqueue.c: (gst_queue_init):
9469           Reset default max. values in queues. Reason is simply to avoid
9470           braindead use. If you want wider values, use the properties. The
9471           default is supposed to always work. Wider values would make this
9472           beast a memory hog by default (250 full-PAL RGB32 video frames?
9473           That's 440 MB! No thank you).
9474
9475 2004-03-10  David Schleef  <ds@schleef.org>
9476
9477         * tools/gst-run.c: (main):  Fix crash when no relevant tools
9478         were found.  (bug #136793)
9479
9480 2004-03-10  Johan Dahlin  <johan@gnome.org>
9481
9482         * gst/schedulers/gstoptimalscheduler.c
9483         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
9484         links to elements within the same group, so we can finally remove
9485         that annoying warning. Refactor the code a little bit
9486         (group_dec_links_for_element): Split out
9487
9488 2004-03-09  David Schleef  <ds@schleef.org>
9489
9490         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
9491         (bug #134863)
9492
9493 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9494
9495         * configure.ac: first bug fix due to major/minor bump
9496
9497 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9498
9499         * configure.ac: bump nano to 1
9500
9501 === release 0.7.6 ===
9502
9503 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9504
9505         * NEWS:
9506         * RELEASE:
9507         * configure.ac:
9508           releasing 0.7.6, "Almost"
9509         * po/fr.po:
9510         * po/nl.po:
9511         * tools/Makefile.am:
9512         * tools/gst-feedback-m.m:
9513           unversioned source
9514
9515 2004-03-09  Johan Dahlin  <johan@gnome.org>
9516
9517         Reviewed by: Thomas Vander Stichele
9518
9519         * gst/gstelement.c (gst_element_class_init): register second
9520         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
9521         language bindings can (de)marshall correctly.
9522
9523         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
9524
9525         * gst/gsterror.c (gst_g_error_get_type): New function
9526
9527         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
9528         with VOID:OBJECT,OBJECT,STRING 
9529
9530 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
9531
9532         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
9533         Free a leaked g_timer on early returns.
9534
9535 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9536
9537         * docs/pwg/advanced-types.xml:
9538           Add cinepak description.
9539
9540 2004-03-07  David Schleef  <ds@schleef.org>
9541
9542         * docs/random/mimetypes:  Added cinepak description
9543
9544 2004-03-07  Andy Wingo  <wingo@pobox.com>
9545
9546         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
9547
9548         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
9549         there are no links to other groups when a group is destroyed.
9550         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
9551         removed from a group, make sure the link count to elements linked
9552         to other pads is appropriately decremented. This really fixes
9553         #135672.
9554
9555         The 1.60->1.61 patch has been reapplied in light of this fix.
9556
9557         * gst/gstelement.c (gst_element_dispose): Really protect against
9558         multiple invocations this time.
9559
9560 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9561
9562         * docs/gst/gstreamer-sections.txt:
9563         * docs/gst/tmpl/gsttag.sgml:
9564           remove some deprecated functions, document some existing ones
9565         * gst/gsttag.c: (gst_tag_get_flag):
9566         * gst/gsttag.h:
9567           add accessor function
9568
9569 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9570
9571         * docs/gst/gstreamer-sections.txt:
9572         * docs/gst/tmpl/gsttag.sgml:
9573         * docs/gst/tmpl/gstxml.sgml:
9574         * gst/gsttag.c: (gst_tag_get_flag):
9575         * gst/gsttag.h:
9576
9577 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
9578
9579         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
9580         leak
9581
9582 2004-03-05  David Schleef  <ds@schleef.org>
9583
9584         * REQUIREMENTS: Add bison and flex.
9585         * configure.ac: Fix comment about bison.
9586         * docs/random/ds/0.9-suggested-changes: yer ma
9587         * tools/gst-inspect.c: (print_element_info):  Fix warning.
9588
9589 2004-03-05  Benjamin Otte  <otte@gnome.org>
9590
9591         * gst/gstelement.c: (gst_element_error_full):
9592           revert recent recursive state changing commit - messing with other
9593           elements' states is evil and should be done by apps only.
9594
9595 2004-03-05  Benjamin Otte  <otte@gnome.org>
9596
9597         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
9598           check for empty intersection instead of NULL caps
9599         (gst_element_get_compatible_pad_filtered):
9600           remove old workaround that is only a bug nowadays
9601
9602 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9603
9604         * gst/gstelement.c: (gst_element_error_full):
9605           make elements try to recursively change state to PAUSED on all
9606           parents after an error to suppress ensuing warnings
9607         * gst/parse/grammar.y:
9608           make it check if it was able to sync the state, and throw an error
9609           if not, so stuff like
9610           oggdemux ! vorbisdec ! osssink gets caught
9611
9612 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9613
9614         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
9615           it contains lib64; use AS_AC_EXPAND to handle it properly
9616
9617 2004-03-05  David Schleef  <ds@schleef.org>
9618
9619         * gst/gstcpuid_i386.s:  Remove unused code
9620         * libs/gst/getbits/getbits.c: (gst_getbits_init),
9621         (gst_getbits_newbuf): Remove MMX code
9622         * libs/gst/getbits/getbits.h: Remove MMX code
9623
9624 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
9625
9626         * debian/.cvsignore:
9627         * debian/README.Debian:
9628         * debian/changelog:
9629         * debian/control:
9630         * debian/control.in:
9631         * debian/copyright:
9632         * debian/gstreamer-core-libs-dev.files:
9633         * debian/gstreamer-core-libs.files:
9634         * debian/gstreamer-core.files:
9635         * debian/gstreamer-core.postinst:
9636         * debian/gstreamer-core.postrm:
9637         * debian/gstreamer-doc.files:
9638         * debian/gstreamer-doc.links:
9639         * debian/gstreamer-doc.lintian:
9640         * debian/gstreamer-runtime.files:
9641         * debian/gstreamer-runtime.manpages:
9642         * debian/gstreamer-runtime.postinst:
9643         * debian/gstreamer-runtime.postrm:
9644         * debian/gstreamer-tools.files:
9645         * debian/gstreamer-tools.manpages:
9646         * debian/libgstreamer-dev.files:
9647         * debian/libgstreamer0.4.1.files:
9648         * debian/libgstreamerVERSION.files:
9649         * debian/rules:
9650         Debian package info not maintained here.
9651
9652 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9653
9654         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
9655         * gst/gstbin.c: (gst_bin_class_init):
9656         * gst/gstelement.c: (gst_element_class_init):
9657         * gst/gstindex.c: (gst_index_class_init):
9658         * gst/gstobject.c: (gst_object_class_init),
9659         (gst_signal_object_class_init):
9660         * gst/gstpad.c: (gst_pad_template_class_init):
9661         * gst/gstregistry.c: (gst_registry_class_init):
9662         * gst/gsturi.c: (gst_uri_handler_base_init):
9663         * gst/gstxml.c: (gst_xml_class_init):
9664         * libs/gst/control/dparam.c: (gst_dparam_class_init):
9665         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
9666           make all signal names use dashes instead of underscore
9667
9668 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9669
9670         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
9671
9672 2004-03-03  Benjamin Otte  <otte@gnome.org>
9673
9674         * gst/schedulers/gstoptimalscheduler.c:
9675           revert last commit by Andy Wingo. It causes segfaults on unreffing
9676           in Rhythmbox. (see bug #135672)
9677
9678 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
9679
9680         * po/fr.po: fix typo
9681
9682 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
9683
9684         * tools/gst-inspect.c: (main): 
9685         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
9686
9687 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9688
9689         * configure.ac:
9690           get GLIB_ONLY and POPT flags for the nonversioned binaries
9691         * tools/Makefile.am:
9692           use them
9693
9694 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9695
9696         * gst/gst.c: (init_post):
9697           change so that GST_REGISTRY now is where the global registry gets
9698           saved, since that is where plugins now get attached to first, and
9699           spilled over to the user registry.  Note that in the case of using
9700           GST_REGISTRY env var, we don't want to affect any real registries
9701           beyond the one given by this var, and thus we don't set a user
9702           registry to spill to.  So make sure GST_REGISTRY is writable.
9703
9704 2004-03-01  David Schleef  <ds@schleef.org>
9705
9706         * AUTHORS:  Added some names.  Add yourself if you're missing.
9707
9708 2004-03-01  David Schleef  <ds@schleef.org>
9709
9710         * MAINTAINERS: Add
9711
9712 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9713
9714         * configure.ac:
9715           remove whitespace
9716         * docs/gst/tmpl/gstbuffer.sgml:
9717         * docs/gst/tmpl/gstdata.sgml:
9718         * docs/gst/tmpl/gstreamer-unused.sgml:
9719         * docs/gst/tmpl/gstxml.sgml:
9720           doc update
9721         * docs/manuals.mak:
9722           add a FIXME
9723         * docs/pwg/intro-preface.xml:
9724         * docs/pwg/pwg.xml:
9725           remove GNOME
9726         * gst/gst.c: (init_post):
9727           try GST_PLUGIN_PATH paths for the _global_registry first
9728         * gst/gstelement.h:
9729           add the error message as well, otherwise (null) debug info doesn't
9730           make much sense
9731         * tools/gst-register.c: (main):
9732           spill paths to next registry if this registry is not writable
9733         * po/fr.po:
9734         * po/nl.po:
9735           translation updates
9736
9737 2004-03-01  Johan Dahlin  <johan@gnome.org>
9738
9739         * gst/gstbuffer.c (_gst_buffer_initialize): 
9740         * gst/gstdata.c (gst_data_get_type): 
9741         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
9742         instead of ref, since some applications that uses GBoxed
9743         routines depends on a function that actually returns a copy.
9744
9745 2004-02-27  Benjamin Otte  <otte@gnome.org>
9746
9747         * gst/gstbuffer.h:
9748           remove gst_buffer_free, use gst_data_unref
9749         * gst/gstdata.c: (gst_data_get_type):
9750           use refcounting in GstData GBoxed registration
9751         * gst/gstdata.h:
9752           remove gst_data_free, use gst_data_unref
9753
9754 2004-02-27  Johan Dahlin  <johan@gnome.org>
9755
9756         * gst/gstdata.c (gst_data_get_type): New function, register
9757         GstData as a GBoxed type.
9758
9759         * gst/gstdata.h (GST_TYPE_DATA): New macro
9760
9761 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9762
9763         * Makefile.am:
9764         * gstreamer.spec.in:
9765           put back RELEASE
9766         * gst/Makefile.am:
9767           clean up non-disting of built files
9768         * testsuite/debug/commandline.c:
9769           test fix for option rename
9770
9771 2004-02-26  David Schleef  <ds@schleef.org>
9772
9773         * configure.ac:  We don't really need glib-2.3.  Also remove
9774         some unneeded checks for library functions.
9775         * gst/Makefile.am:  Instead, we need to not dist files created
9776         by glib-genmarshal.
9777
9778 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9779
9780         * configure.ac:
9781           bump glib required version to 2.3.0 for g_value_takes_boxed
9782
9783  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
9784
9785         * common/m4/gst-docs.m4
9786         change flavour text from enable to disable as enable is our default
9787         closes bug Bug 135304
9788
9789 === release 0.7.5 ===
9790  
9791  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9792  
9793         * NEWS:
9794           instate NEWS file
9795         * Makefile.am:
9796         * gstreamer.spec.in:
9797         * RELEASE:
9798           put back release
9799         * configure.ac:
9800         * docs/random/release:
9801           more updates
9802
9803 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9804
9805         * gst/gsttag.c: (_gst_tag_initialize):
9806         * po/fr.po:
9807         * po/nl.po:
9808           remove hyphen from codec tags
9809
9810 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9811
9812         * gst/parse/Makefile.am:
9813           fix dependency so that a make from a clean build works the first
9814           time
9815
9816 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9817
9818         * docs/random/release:
9819           update release strategy
9820         * po/fr.po:
9821           auto-update po file
9822         * po/nl.po:
9823           update dutch translation
9824
9825 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9826
9827         * docs/manual/debugging.xml:
9828         fix manual for new debugging system
9829
9830 2004-02-25  Andy Wingo  <wingo@pobox.com>
9831
9832         * gst/gstpad.c (gst_pad_link_prepare): Re-add
9833         gst_pad_link_prepare. Please email the list with specific reasons
9834         for reverting.
9835
9836 2004-02-24  Andy Wingo  <wingo@pobox.com>
9837
9838         * gst/gstelement.c (gst_element_dispose): Protect against multiple
9839         invocations.
9840
9841         * gst/schedulers/gstoptimalscheduler.c:
9842         I added a mess of prototypes at the top of the file by way of
9843         documentation. Some of the operations on chains and groups were
9844         re-organized.
9845
9846         (create_group): Added a type argument so if the group is enabled,
9847         the setup_group_scheduler knows what to do.
9848         (group_elements): Added a type argument here, too, to be passed on
9849         to create_group.
9850         (group_element_set_enabled): If an unlinked PLAYING element is
9851         added to a bin, we have to create a new group to hold the element,
9852         and this function will be called before the group is added to the
9853         chain. Thus we have a valid case for group->chain==NULL. Instead
9854         of calling chain_group_set_enabled, just set the flag on the group
9855         (the chain's status will be set when the group is added to it).
9856         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
9857         Setup the group scheduler when the group is enabled, not
9858         specifically when an element goes PAUSED->PLAYING. This means
9859         PLAYING elements can be added, linked, and scheduled into a
9860         PLAYING pipeline, as was intended.
9861         (add_to_group): Don't ref the group twice. I don't know when this
9862         double-ref got in here. Removing it has the potential to cause
9863         segfaults if other parts of the scheduler are buggy. If you find
9864         that the scheduler is segfaulting for you, put in an extra ref
9865         here and see if that hacks over the underlying issue. Of course,
9866         then find out what code is unreffing a group it doesn't own...
9867         (create_group): Make the extra refcount floating, and remove it
9868         after adding the element. This means that...
9869         (unref_group): Destroy when the refcount reaches 0, not 1, like
9870         every other refcounted object in the known universe.
9871         (remove_from_group): When a group becomes empty, set it to be not
9872         active, and remove it from its chain. Don't unref it again,
9873         there's no floating reference any more.
9874         (destroy_group): We have to remove the group from the chain in
9875         remove_from_group (rather than here) to break refcounting cycles
9876         (the chain always has a ref on the group). So assert that
9877         group->chain==NULL.
9878         (ref_group_by_count): Removed, it was commented out anyway.
9879         (merge_chains): Use the remove_from_chain and add_to_chain
9880         primitives to do the reparenting, instead of rolling our own
9881         implementation.
9882         (add_to_chain): The first non-disabled group in the chain's group
9883         list will be the entry point for the chain. Because buffers can
9884         accumulate in loop elements' peer bufpens, we preferentially
9885         schedule loop groups before get groups to avoid unnecessary
9886         execution of get-based groups when the bufpens are already full.
9887         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
9888         (get_group_schedule_function): Ditto.
9889         (loop_group_schedule_function): Ditto.
9890         (gst_opt_scheduler_loop_wrapper): Ditto.
9891         (gst_opt_scheduler_iterate): Ditto.
9892
9893         I understand the opt scheduler now, yippee!
9894
9895         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
9896         (gst_pad_get_name, gst_pad_set_chain_function) 
9897         (gst_pad_set_get_function, gst_pad_set_event_function) 
9898         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
9899         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
9900         (gst_pad_set_query_function, gst_pad_get_query_types) 
9901         (gst_pad_get_query_types_default) 
9902         (gst_pad_set_internal_link_function) 
9903         (gst_pad_set_formats_function, gst_pad_set_link_function) 
9904         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
9905         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
9906         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
9907         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
9908         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
9909         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
9910         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
9911         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
9912         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
9913         (gst_pad_event_default_dispatch, gst_pad_event_default) 
9914         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
9915         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
9916         (gst_pad_get_formats_default, gst_pad_get_formats): Better
9917         argument checks, and some doc fixes.
9918
9919         (gst_pad_custom_new_from_template): Um, does anyone
9920         use these functions? Actually make a custom pad instead of a
9921         normal one.
9922         (gst_pad_try_set_caps): Transpose some checks.
9923         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
9924         the pad is in negotiation.
9925         (gst_pad_try_relink_filtered): Use pad_link_prepare.
9926         
9927         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
9928
9929         * gst/gstelement.h: 
9930         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
9931         on the list.
9932
9933 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9934
9935         * gst/gstbin.c: (gst_bin_add):
9936           add error for not being able to add elements
9937
9938 2004-02-22  Julien MOUTTE <julien@moutte.net>
9939
9940         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
9941         audio-codec and video-codec.
9942
9943 2004-02-22  Benjamin Otte  <otte@gnome.org>
9944
9945         reported by: Padraig O'Briain <padraig.obriain@sun.com>
9946
9947         * autogen.sh:
9948           replace test -e with test -x for mkinstalldirs to be more portable.
9949           (fixes #134816)
9950
9951 2004-02-22  Benjamin Otte  <otte@gnome.org>
9952
9953         * gst/gstpad.c:
9954           revert last patch from Andy, it makes gst_pad_can_link_filtered much
9955           too noisy
9956         * gst/gsttag.c: (_gst_tag_initialize):
9957         * gst/gsttag.h:
9958           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
9959         * libs/gst/control/dparam.c: (gst_dparam_attach):
9960         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
9961           check that types for attached dparams match
9962
9963 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9964
9965         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
9966         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9967         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
9968           fix errors
9969
9970 2004-02-20  Andy Wingo  <wingo@pobox.com>
9971
9972         * gst/gstbin.c:
9973         * gst/gstbuffer.c:
9974         * gst/gstplugin.c:
9975         * gst/registries/gstxmlregistry.c: 
9976         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
9977
9978         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
9979         (gst_element_add_pad): DEBUG->INFO, some fixes.
9980         (gst_element_get_compatible_pad_template): Just see if the
9981         templates' caps intersect, not if one is a strict subset of the
9982         other. This conforms more to what gst_pad_link_intersect() does.
9983         (gst_element_class_add_pad_template): Don't memcpy the pad
9984         template, just ref it.
9985         (gst_element_get_compatible_pad_filtered): Clean up debug messages
9986
9987         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
9988         (gst_pad_link_filtered): Debug changes.
9989         (gst_pad_link_prepare): New function, consolidated from
9990         can_link_filtered and link_filtered.
9991
9992         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
9993         look more like that of the functions in gstelement.c
9994
9995         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
9996         object, and return the empty string if object is NULL.
9997
9998         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
9999         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
10000         LOG, not DEBUG. We still get flex info on debug.
10001
10002         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
10003         debug string more verbose.
10004         (plugin_times_older_than): DEBUG->LOG.
10005
10006 2004-02-20  Julien MOUTTE <julien@moutte.net>
10007
10008         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
10009         will emit found_tag for each stream they demux with the codec.
10010
10011 2004-02-20  Benjamin Otte  <otte@gnome.org>
10012
10013         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
10014           copy navigation event correctly. Check freeing tag lists. 
10015         * gst/gstthread.c: (gst_thread_change_state):
10016           don't abort() on state changing mess - it might happen because of
10017           bugs.
10018         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
10019           use boxed functions
10020         * gst/gstvalue.h:
10021           fix GST_VALUE_HOLDS_CAPS
10022
10023 2004-02-19  David Schleef  <ds@schleef.org>
10024
10025         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
10026         and use it for GST_FUNCTION.  (bug #134750)
10027
10028 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10029
10030         * po/fr.po:
10031         * po/nl.po:
10032           updating translations
10033
10034 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10035
10036         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
10037
10038 2004-02-18  kost@imn.htwk-leipzig.de
10039
10040         reviewed by: David Schleef  <ds@schleef.org>
10041
10042         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
10043         for libgstcontrol.
10044
10045 2004-02-18  David Schleef  <ds@schleef.org>
10046
10047         * libs/gst/control/dparam.c: (gst_dparam_class_init):
10048         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
10049         (gst_dpsmooth_new): Additional fixes to get double dparams working.
10050         * tools/gst-inspect.c: (print_element_info): Support dumping of
10051         double dparam information.
10052
10053 2004-02-17  David Schleef  <ds@schleef.org>
10054
10055         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
10056         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
10057         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
10058         Use GST_TYPE_CAPS in signal prototype.
10059         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
10060         Convert GST_TYPE_CAPS to boxed.
10061         * gst/gstelement.c: (gst_element_class_init):
10062         Use GST_TYPE_TAG_LIST in signal prototype.
10063         * gst/gstindex.c: (gst_index_class_init):
10064         * gst/gstindex.h:
10065         Add GST_TYPE_INDEX_ENTRY type.
10066         * gst/gstmarshal.list:
10067         Add necessary marshal types.
10068         * gst/gstpad.c: (gst_real_pad_class_init),
10069         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
10070         (gst_pad_recover_caps_error):
10071         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
10072         * gst/gststructure.c: (_gst_structure_initialize),
10073         (gst_structure_copy), (_gst_structure_copy_conditional):
10074         * gst/gststructure.h:
10075         Convert GST_TYPE_STRUCTURE to boxed.
10076         * gst/gsttag.c: (gst_tag_list_get_type):
10077         * gst/gsttag.h:
10078         Add GST_TYPE_TAG_LIST type.
10079
10080 2004-02-17  Julien MOUTTE  <julien@moutte.net>
10081
10082         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
10083         to what we agreed with david.
10084         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
10085
10086 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10087
10088         * po/nl.po: update translation
10089
10090 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10091
10092         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
10093           throw an error if spider is trying to play a mime type there is
10094           no decoder for
10095         * po/POTFILES.in:
10096           add gst/autoplug/gstspider.c for translation
10097
10098 2004-02-17  Julien MOUTTE  <julien@moutte.net>
10099
10100         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
10101         silently when the pad is negotiating.
10102
10103 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10104
10105         * docs/faq/Makefile.am:
10106           add script to run gstreamer uninstalled 
10107         * docs/faq/faq.xml:
10108         * docs/faq/developing.xml:
10109         * docs/faq/gst-uninstalled:
10110           extract script to run gstreamer uninstalled
10111         * docs/manuals.mak:
10112           add EXTRA_SOURCES variable for Makefile.am's to set to
10113           use additional SOURCE files for the doc build
10114
10115 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10116
10117         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
10118
10119 2004-02-15  Julien MOUTTE  <julien@moutte.net>
10120
10121         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
10122         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
10123         an error was thrown by osssink. Basically a state change failure for
10124         an element in a different scheduling group was considered as
10125         successful, which means that caps nego was going on and weird stuff
10126         happened. Like I wrote in the comment there, if someone wants to
10127         revert that please drop me a mail explaining why because I really see
10128         no point in keeping that broken behaviour there.
10129         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
10130         be empty, we then return NULL which will trigger a nice error when 
10131         pulling from the pad.
10132
10133 2004-02-13  David Schleef  <ds@schleef.org>
10134
10135         * libs/gst/control/dparam.c: (gst_dparam_class_init),
10136         (gst_dparam_get_property), (gst_dparam_set_property),
10137         (gst_dparam_do_update_default):
10138         * libs/gst/control/dparam.h:
10139         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
10140         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
10141         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
10142         (gst_dpsmooth_do_update_double):
10143         * libs/gst/control/dparam_smooth.h:
10144         * libs/gst/control/dparammanager.c:
10145         (gst_dpman_inline_direct_update):
10146         Add support for double dparams.
10147
10148 2004-02-13  David Schleef  <ds@schleef.org>
10149
10150         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
10151         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
10152
10153 2004-02-13  Mattias Wadman  <mattias@sudac.org>
10154
10155         reviewed by: David Schleef  <ds@schleef.org>
10156
10157         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10158         (gst_fdsrc_init), (gst_fdsrc_set_property),
10159         (gst_fdsrc_get_property), (gst_fdsrc_get):
10160         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
10161         and sends an EOS event if file descriptor reading times out.
10162
10163 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10164
10165         * configure.ac:
10166           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
10167
10168 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10169
10170         * configure.ac: pass required libxml version as argument
10171         (bug reported by Christophe Fergeau)
10172
10173 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10174   
10175         * docs/gst/gstreamer-docs.sgml:
10176         * docs/gst/tmpl/gstxml.sgml:
10177         * docs/libs/gstreamer-libs-docs.sgml:
10178           version API docs
10179
10180 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10181
10182         * gst/gstinfo.c:
10183         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
10184         (gst_registry_pool_feature_filter):
10185         * gst/gstthread.c: (gst_thread_class_init):
10186         * gst/gstvalue.c:
10187           add includes exposed by building without libxml
10188         * gst/indexers/Makefile.am:
10189           do not build fileindex when LOADSAVE disabled; we should have
10190           a better libxml check later since fileindex depends on xml, not
10191           LOADSAVE or REGISTRY
10192         * libs/gst/control/Makefile.am:
10193           link with m
10194         * tools/Makefile.am:
10195           fix wrong source code for gst-xmlinspect
10196
10197 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10198
10199         * configure.ac:
10200           fix gcov help output
10201           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
10202         * docs/random/release:
10203           some updated releasing notes
10204         * gstreamer.spec.in:
10205           more updates
10206
10207 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10208
10209         * docs/faq/faq.xml:
10210         * docs/manual/manual.xml:
10211         * docs/pwg/pwg.xml:
10212         * docs/pwg/titlepage.xml:
10213           put version in documentation
10214
10215 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10216
10217         * tools/Makefile.am: fix man page installation
10218
10219 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10220
10221         * configure.ac:
10222           don't check for libxml when load/save and registry disabled (#105844)
10223         * gstreamer.spec.in:
10224           sync with fedora candidate spec
10225
10226 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10227
10228         * po/fr.po:
10229         * po/nl.po:
10230           replace multidisksrc with multifilesrc
10231
10232 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10233
10234         * po/POTFILES.in:
10235           update to multidisksrc => multifilesrc file renaming (#134145)
10236
10237 2004-02-11  David Schleef  <ds@schleef.org>
10238
10239         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
10240         * docs/gst/tmpl/gstpadtemplate.sgml: same
10241         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
10242         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
10243         fixing dance.
10244         * gst/gstutils.c: Remove disabled code that uses GstProps.
10245         * gst/registries/gstxmlregistry.h: same
10246         * docs/random/ds/0.9-suggested-changes: random notes
10247
10248 2004-02-11  kost@imn.htwk-leipzig.de
10249
10250         reviewed by: David Schleef  <ds@schleef.org>
10251
10252         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
10253         initialisation of clock (bug #134128)
10254
10255 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10256
10257         * configure.ac:
10258         * gst/elements/Makefile.am:
10259         * gst/elements/gstelements.c:
10260         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
10261         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
10262         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
10263         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
10264         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
10265         * gst/elements/gstmultifilesrc.h:
10266           rename multidisksrc to multifilesrc (part of #122200)
10267
10268 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10269
10270         * docs/manuals.mak:
10271           fix automake complaints
10272         * gst-element-check.m4:
10273           fix unquotedness
10274
10275 2004-02-11  David Schleef  <ds@schleef.org>
10276
10277         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
10278         * gst/gstatomic_impl.h: Disable sparc implementation.
10279
10280 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10281
10282         * gst-element-check.m4:
10283           fix underquoted macros as reported by automake 1.8.x (#133800)
10284         * configure.ac:
10285           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
10286           by autopoint (fixes #132996)
10287
10288 2004-02-10  Andy Wingo  <wingo@pobox.com>
10289
10290         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
10291         way to do inheritance.
10292         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
10293         (gst_pad_get_query_types, gst_pad_get_query_types_default):
10294         Routine docs.
10295         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
10296         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
10297         doc.
10298         (gst_pad_unlink, gst_pad_is_linked): Docs.
10299         (gst_pad_renegotiate): A brief description of capsnego.
10300         (gst_pad_try_set_caps): Document.
10301         (gst_pad_try_set_caps_nonfixed): Document.
10302         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
10303         (gst_pad_set_parent): Deprecated (although not out of the API).
10304         (gst_pad_get_parent): Deprecated, although many plugins use this.
10305         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
10306         are private and will go away in 0.9.
10307         (gst_pad_perform_negotiate): Doc.
10308         (gst_pad_link_unnegotiate): I think this is meant to be static.
10309         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
10310         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
10311         (gst_pad_get_peer): Doc updates.
10312         (gst_pad_caps_change_notify): Doc.
10313         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
10314         (gst_ghost_pad_new): Doc fixes.
10315
10316         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
10317         (gst_object_check_uniqueness): 
10318
10319         * gst/gstelement.c (gst_element_add_pad) 
10320         (gst_element_add_ghost_pad, gst_element_remove_pad) 
10321         (gst_element_remove_ghost_pad, gst_element_get_pad) 
10322         (gst_element_get_static_pad, gst_element_get_pad_list) 
10323         (gst_element_class_get_pad_template_list) 
10324         (gst_element_class_get_pad_template): Work on the docs.
10325         (gst_element_get_pad_template_list): Uses the class method.
10326         (gst_element_get_compatible_pad_template): Docs, and consolidate
10327         some test conditions. 
10328         (gst_element_get_pad_from_template): New static function.
10329         (gst_element_request_compatible_pad): Docs, and work with
10330         non-request compatible templates. 
10331         (gst_element_get_compatible_pad_filtered): Docs and remove
10332         redundant checks.
10333         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
10334         (gst_element_link_filtered, gst_element_link_many) 
10335         (gst_element_link, gst_element_link_pads) 
10336         (gst_element_unlink_many): Docs.
10337
10338 2004-02-05  Andy Wingo  <wingo@pobox.com>
10339
10340         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
10341         s/pointer/boxed/.
10342
10343         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
10344
10345         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
10346         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
10347         with the type=GST_TYPE_CAPS. This allows language bindings to know
10348         what kind of data they're dealing with.
10349
10350         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
10351         to NULL when g_value_init is called. GstCaps, which rolls its own
10352         type implementation, now does the same instead of allocating empty
10353         caps.
10354         (_gst_caps_initialize, _gst_caps_collect_value,
10355         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
10356         table methods. This allows G_VALUE_COLLECT to work.
10357
10358 2004-02-05  Andy Wingo  <wingo@pobox.com>
10359
10360         * configure.ac:
10361         * testsuite/Makefile.am (SUBDIRS): 
10362         * testsuite/ghostpads/Makefile.am: 
10363         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
10364
10365         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
10366         These two routines are the only ones that set
10367         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
10368         pad template. They should be made static, depending on ABI needs.
10369         (gst_real_pad_dispose): Handle the case of ghost pads without a
10370         parent. Assert after dealing with ghost pads that the ghost pad
10371         list is empty.
10372         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
10373         set after creation.
10374         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
10375         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
10376         functions. set_property will call add_ghost_pad/remove_ghost_pad
10377         as appropriate.
10378         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
10379
10380         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
10381         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
10382         (gst_element_remove_pad): Handle ghost pads as well.
10383         (gst_element_remove_ghost_pad): Deprecated (could be removed,
10384         depending on API-stability needs).
10385
10386 2004-02-05  Andy Wingo  <wingo@pobox.com>
10387
10388         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
10389         of course they're const
10390
10391 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10392
10393         * tools/Makefile.am:
10394         * tools/gst-feedback:
10395         * tools/gst-feedback-0.7:
10396           make gst-feedback versioned too for consistency
10397
10398 2004-02-11  David Schleef  <ds@schleef.org>
10399
10400         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10401         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
10402
10403 2004-02-10  Julien MOUTTE <julien@moutte.net>
10404
10405         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
10406         the structure does not contain a valid tag list. Adding a safety check
10407         to remove a noisy warning in that case.
10408
10409 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10410
10411         * gst/gst.c: fix name to be in line with others
10412
10413 2004-02-09  Julien MOUTTE <julien@moutte.net>
10414
10415         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
10416         not shout that loud when len is 0. Just return 0 silently.
10417
10418 2004-02-09  Julien MOUTTE  <julien@moutte.net>
10419
10420         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
10421         because data_unref has one and I prefer the debug to be symetric.
10422         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
10423         were refed when added to the queue and unrefed only once when the queue
10424         was flushed. Now the flush handler unref the buffers two times : first
10425         unref for the ref added when pushing in the queue's tail and second
10426         unref to destroy the flushed buffer.
10427
10428 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10429
10430         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
10431
10432 2004-02-06  David Schleef  <ds@schleef.org>
10433
10434         * docs/random/ds/0.9-suggested-changes: Random ramblings
10435         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
10436         to int before printing.
10437         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
10438         * gst/parse/parse.l: same.  See bug #129600
10439
10440 2004-02-06  David Schleef  <ds@schleef.org>
10441
10442         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
10443         (gst_index_add_entry), (gst_index_add_associationv),
10444         (gst_index_add_association): Add gst_index_add_associationv()
10445         and clean up gst_index_add_association(). #127133
10446
10447 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10448
10449         * autogen.sh: check out common with right tag if CVS/Tag exists
10450
10451 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10452
10453         * testsuite/ghostpads/ghostpads.c: (main):
10454           fix testsuite from segfaulting
10455
10456 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10457
10458         * Makefile.am: add release target
10459         * configure.ac: bump nano to 1
10460         * docs/random/release:
10461
10462 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10463
10464         * gst/gstcaps.h:
10465         * gst/gstelement.c: (gst_element_base_class_init),
10466         (gst_element_class_set_details), (gst_element_clear_pad_caps):
10467         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10468         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
10469         (gst_real_pad_dispose):
10470         * gst/gststructure.c: (gst_structure_free),
10471         (gst_structure_from_string):
10472           put reverted patch back in
10473         * gst/gstelement.c: (gst_element_remove_pad):
10474           free explicit caps if they're set
10475         * gst/gstpad.c: (_gst_pad_default_fixate_func):
10476           copy the structure when fixating
10477
10478 2004-02-05  David Schleef  <ds@schleef.org>
10479
10480         * gst/gstmarshal.list:
10481         * gst/gstpad.c: (gst_real_pad_class_init),
10482         (_gst_real_pad_fixate_accumulator):
10483         Revert POINTER->BOXED change in signal marshaller.
10484
10485 === release 0.7.4 ===
10486                                                                                 
10487 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10488                                                                                 
10489         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
10490         * configure.ac: changed for release
10491
10492 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10493
10494         * gstreamer.spec.in:
10495           bump required version of gtk-doc
10496
10497 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10498
10499         * gst/gstcaps.h:
10500         * gst/gstelement.c: (gst_element_base_class_init),
10501         (gst_element_class_set_details), (gst_element_clear_pad_caps):
10502         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10503         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
10504         (gst_real_pad_dispose):
10505         * gst/gststructure.c: (gst_structure_free),
10506         (gst_structure_from_string):
10507           revert patch that breaks applications, reapply after release
10508           to get this fixed properly
10509
10510 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10511
10512         * gst/gsttag.c: (_gst_tag_initialize):
10513         * gst/gsttag.h:
10514           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
10515
10516 2004-02-04  David Schleef  <ds@schleef.org>
10517
10518         Fix some memleaks:
10519         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
10520         (gst_spider_plug_from_srcpad):
10521         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
10522
10523 2004-02-04  David Schleef  <ds@schleef.org>
10524
10525         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
10526         a GstRealPad before accessing its structure members.
10527
10528 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10529
10530         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
10531         (gst_clock_get_speed):
10532         * gst/gstclock.h:
10533           reset padding, remove unused fields
10534
10535 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10536
10537         * gst/autoplug/gstspideridentity.c:
10538         (gst_spider_identity_sink_loop_type_finding):
10539           use get_allowed_caps, not get_caps (fixes #132519)
10540         * gst/elements/gsttypefind.c: (stop_typefinding):
10541           use correct order when sending buffers and seeking
10542
10543 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10544
10545         * configure.ac:
10546         * gst/gstelement.h:
10547         * gst/gstpad.h:
10548         * gst/gstqueue.h:
10549           upgrade libtool CURRENT, reset padding
10550
10551 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10552
10553         * configure.ac:
10554           bump to prerelease
10555           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
10556
10557 2004-02-04  David Schleef  <ds@schleef.org>
10558
10559         * docs/random/ds/0.9-suggested-changes: random notes
10560         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
10561         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
10562         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
10563         expansion.
10564         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10565         (gst_filesink_get_query_types): same
10566         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
10567         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
10568         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
10569         to use new GST_PTR_FORMAT.
10570         * gst/gstelement.h: deprecate function factory macros
10571         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
10572         These are our last variadic macros that can't be replaced with
10573         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
10574         attempting to deprecate gst_element_clock_wait().
10575         * gst/gstevent.h: same
10576         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10577         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
10578         * gst/gstpad.h: deprecate function factory macros similar to above.
10579
10580 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10581
10582         * configure.ac:
10583         * tools/Makefile.am:
10584         * tools/gst-run.c: (popt_callback), (hash_print_key),
10585         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
10586         (get_candidates), (main):
10587           add new source file to generate non-versioned wrapper binaries
10588           for our tools.
10589
10590 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10591
10592         * gst/gstevent.c: (_gst_event_free):
10593           actually break; inside the switch statement
10594         * gst/parse/grammar.y:
10595           fix memleak where GValues weren't unset
10596
10597 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10598
10599         * gst/gststructure.c: (gst_structure_from_string):
10600           fix huge memleak
10601         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
10602         (new_entry), (gst_type_find_element_chain):
10603         * gst/gstelement.c: (gst_element_base_class_init),
10604         (gst_element_class_set_details):
10605         * gst/gstpad.c: (gst_pad_can_link_filtered):
10606           fix smaller memleaks
10607         * gst/gstpad.c: (gst_real_pad_dispose):
10608           check that explicit caps are gone
10609         * gst/gststructure.c: (gst_structure_free):
10610           actually free the structure
10611         * gst/gstelement.c: (gst_element_clear_pad_caps):
10612           unset explicit caps
10613
10614 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10615
10616         * tools/Makefile.am:
10617           use AM_CFLAGS since all the CFLAGS are the same
10618           use AM_LDFAGS
10619
10620 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10621
10622         * docs/manual/gnome.xml:
10623           expand example a little
10624         * gst/gst.c: (gst_init_with_popt_table),
10625         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
10626           make sure popt option displays are done with right textdomain
10627           use GstPoptOption type
10628         * gst/gst.h:
10629           create GstPoptOption type
10630
10631 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10632
10633         * gst/gsterror.c: (_gst_stream_errors_init):
10634         * gst/gsterror.h:
10635           adding error type for no codec
10636         * po/POTFILES.in:
10637           add gst-inspect
10638         * po/nl.po:
10639           update dutch translation
10640         * tools/gst-inspect.c: (print_element_list), (main):
10641           do proper internationalization
10642         * tools/gst-launch.c: (idle_func):
10643           remove commented out function call
10644
10645 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10646
10647         * docs/README:
10648           add some error fixing notes
10649         * docs/gst/gstreamer-sections.txt:
10650           remove double entries
10651         * docs/gst/tmpl/gstbin.sgml:
10652         * docs/gst/tmpl/gstclock.sgml:
10653           remove override
10654         * docs/gst/tmpl/gstelement.sgml:
10655         * docs/gst/tmpl/gstindex.sgml:
10656         * docs/gst/tmpl/gstobject.sgml:
10657         * docs/gst/tmpl/gstpadtemplate.sgml:
10658         * docs/gst/tmpl/gstreamer-unused.sgml:
10659         * docs/gst/tmpl/gsttag.sgml:
10660         * docs/gst/tmpl/gstthread.sgml:
10661         * docs/gst/tmpl/gstxml.sgml:
10662         * gst/gsttag.h:
10663           sync header prototypes with c decls
10664         * gst/gsttaginterface.c:
10665           fix doc headers
10666
10667 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10668
10669         * gst/parse/Makefile.am:
10670         * gst/gstobject.h:
10671           get rid of gstmarshal.h dependency. It's not needed.
10672         * gst/gst.h:
10673         * gst/elements/gstfakesink.c:
10674         * gst/elements/gstfakesrc.c:
10675         * gst/elements/gstidentity.c:
10676         * gst/gstbin.c:
10677         * gst/gstelement.c:
10678         * gst/gstindex.c:
10679         * gst/gstobject.c:
10680         * gst/gstpad.c:
10681         * gst/gstthread.c:
10682         * gst/gstxml.c:
10683         * libs/gst/control/dparam.c:
10684         * libs/gst/control/dparammanager.c:
10685           include gstmarshal.h.
10686         Fixes #132045
10687
10688 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10689
10690         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10691         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
10692         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
10693         * gst/elements/gstfilesrc.h:
10694           don't ref the filesrc when creating mmaped buffers. Don't keep a
10695           list of not-yet-destroyed buffers.
10696         * gst/gstbuffer.h:
10697           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
10698
10699 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10700
10701         * gst/gst.c: (init_pre):
10702           remove textdomain
10703
10704 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10705
10706         * docs/pwg/advanced-events.xml:
10707         * docs/pwg/advanced-scheduling.xml:
10708         * docs/pwg/intro-basics.xml:
10709         * docs/pwg/other-manager.xml:
10710         * docs/pwg/other-nton.xml:
10711         * docs/pwg/other-ntoone.xml:
10712         * docs/pwg/other-oneton.xml:
10713         * docs/pwg/pwg.xml:
10714           All sort of documentation... Forgot what. Point is that I want this
10715           in before I leave. The 'other-*' will be the last section and will
10716           explain issues specific to these type of elements.
10717
10718 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10719
10720         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10721         (gst_filesrc_get_read):
10722           set all the values on buffers that we can
10723
10724 2004-02-02  David Schleef  <ds@schleef.org>
10725
10726         Change usage of isblah() to g_ascii_isblah() to be more locale
10727         independent.  (#133076)
10728         * gst/gsturi.c: (gst_uri_protocol_check_internal):
10729         * gst/gstutils.c:
10730         * gst/parse/parse.l:
10731
10732 2004-02-02  Jon Trowbridge  <trow@gnu.org>
10733
10734         reviewed by: David Schleef  <ds@schleef.org>
10735
10736         Fix memory leaks:
10737         * gst/gstcaps.c: (gst_caps_to_string):
10738         * gst/registries/gstxmlregistry.c:
10739         (gst_xml_registry_add_path_list_func),
10740         (gst_xml_registry_parse_padtemplate):
10741
10742 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10743
10744         * gst/gstelement.c: (gst_element_default_error):
10745           suffix error messages with period
10746
10747 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10748
10749         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10750         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10751         * gst/gsterror.c: (gst_error_get_message):
10752           Suffix with dots
10753         * po/fr.po:
10754         * po/nl.po:
10755           Update translation files
10756
10757 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10758
10759         * gst/autoplug/gstspideridentity.c:
10760         (gst_spider_identity_sink_loop_type_finding):
10761         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10762         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10763         (gst_filesink_close_file), (gst_filesink_handle_event),
10764         (gst_filesink_chain):
10765         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10766         (gst_filesrc_get_read), (gst_filesrc_open_file):
10767         * gst/elements/gstidentity.c: (gst_identity_chain):
10768         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10769         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10770         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10771         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10772         * gst/gsterror.c: (_gst_core_errors_init),
10773         (_gst_library_errors_init), (_gst_resource_errors_init),
10774         (_gst_stream_errors_init), (gst_error_get_message):
10775         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10776         (gst_pad_recover_caps_error), (gst_pad_pull):
10777         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
10778         * gst/schedulers/gstbasicscheduler.c:
10779         (gst_basic_scheduler_chainhandler_proxy),
10780         (gst_basic_scheduler_gethandler_proxy),
10781         (gst_basic_scheduler_cothreaded_chain):
10782           Suffix error messages with period.
10783           Use (NULL) instead of NULL
10784
10785 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10786
10787         * docs/gst/tmpl/gstelement.sgml:
10788         * docs/gst/tmpl/gstxml.sgml:
10789         * gst/gstelement.c: (gst_element_error_full):
10790           add element path to error
10791
10792 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10793
10794         * docs/random/mimetypes:
10795           update raw int/float info
10796         * gst/gsttag.c: (_gst_tag_initialize):
10797         * gst/gsttag.h:
10798           add GST_TAG_ENCODER
10799
10800 2004-01-30  David Schleef  <ds@schleef.org>
10801
10802         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
10803           missing (#132991)
10804
10805 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
10806
10807         reviewed by Benjamin Otte 
10808           parts of the patch submitted in bug #113913
10809
10810         * configure.ac:
10811           use AC_C_INLINE. Use = instead of == with test
10812         * examples/plugins/example.c:
10813         * gst/autoplug/gstspideridentity.c:
10814         * gst/elements/gstfdsrc.c:
10815         * gst/elements/gstfilesrc.c:
10816         * gst/elements/gstidentity.c:
10817         * gst/elements/gstmultidisksrc.c:
10818         * gst/elements/gststatistics.c:
10819         * gst/gstelement.c:
10820         * gst/gstobject.c:
10821         * gst/gstpad.c:
10822         * gst/gstpipeline.c:
10823         * gst/gstthread.c:
10824           don't end enums with a comma
10825         * gst/gstindex.c: (gst_index_compare_func):
10826           do explicit casting to gint
10827         * gst/gsttrace.c: (gst_trace_text_flush):
10828           #define strsize as a macro
10829
10830 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10831
10832         * docs/README:
10833         * docs/gst/gstreamer-docs.sgml:
10834         * docs/gst/gstreamer-sections.txt:
10835         * docs/gst/tmpl/gstelement.sgml:
10836         * docs/gst/tmpl/gsterror.sgml:
10837         * docs/gst/tmpl/gstinterface.sgml:
10838         * docs/gst/tmpl/gstreamer-unused.sgml:
10839         * docs/gst/tmpl/gststructure.sgml:
10840         * docs/gst/tmpl/gsttag.sgml:
10841         * docs/gst/tmpl/gsttaginterface.sgml:
10842         * docs/gst/tmpl/gstvalue.sgml:
10843         make sure all API ends up in the built docs
10844         * gst/gstinterface.c:
10845         * gst/gststructure.c: (gst_structure_id_set_value),
10846         (gst_structure_set_value), (gst_structure_id_get_value):
10847         * gst/gststructure.h:
10848         * gst/gstvalue.h:
10849         sync .h with .c declarations
10850
10851 2004-01-30  Julien Moutte  <julien@moutte.net>
10852
10853         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
10854         Ronald will fix riffread.
10855
10856 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10857
10858         * docs/pwg/advanced-interfaces.xml:
10859           Added tuner interface docs.
10860
10861 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10862
10863         * docs/random/mimetypes:
10864           correct Theora information
10865         * gst/gstelement.h:
10866           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
10867
10868 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10869
10870         * gst/gstelement.c: (gst_element_error_full):
10871         * gst/gstelement.h:
10872           GST_ELEMENT_ERROR in enum -> _IN_ERROR
10873
10874 2004-01-29  Julien MOUTTE  <julien@moutte.net>
10875
10876         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10877         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
10878         again and even before DISCONT.
10879         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
10880         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
10881         bytestream so that it's not stopping to fill the bytestream if events
10882         different than EOS or DISCONT are received. Instead it process them so
10883         that they go downstream.
10884
10885 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10886
10887         * docs/gst/tmpl/gstelement.sgml:
10888         * docs/gst/tmpl/gstreamer-unused.sgml:
10889         * docs/gst/tmpl/gstxml.sgml:
10890         * gst/autoplug/gstspideridentity.c:
10891         (gst_spider_identity_sink_loop_type_finding):
10892         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10893         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10894         (gst_filesink_close_file), (gst_filesink_handle_event),
10895         (gst_filesink_chain):
10896         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10897         (gst_filesrc_get_read), (gst_filesrc_open_file):
10898         * gst/elements/gstidentity.c: (gst_identity_chain):
10899         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10900         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10901         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10902         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10903         * gst/gstelement.h:
10904         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10905         (gst_pad_recover_caps_error), (gst_pad_pull):
10906         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
10907         * gst/schedulers/gstbasicscheduler.c:
10908         (gst_basic_scheduler_chainhandler_proxy),
10909         (gst_basic_scheduler_gethandler_proxy),
10910         (gst_basic_scheduler_cothreaded_chain):
10911           gst_element_error -> GST_ELEMENT_ERROR
10912
10913 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10914
10915         * docs/Makefile.am:
10916         * docs/gst/tmpl/gstelement.sgml:
10917         * docs/gst/tmpl/gstxml.sgml:
10918         * docs/manuals.mak:
10919         * docs/pwg/advanced-request.xml:
10920         * docs/pwg/advanced-scheduling.xml:
10921         * docs/pwg/advanced-tagging.xml:
10922           fix non-validating docbook using CDATA
10923           make sure make check-local gets run first to check if it validates
10924
10925 2004-01-29  Julien MOUTTE <julien@moutte.net>
10926
10927         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
10928         handling (up and downstream).
10929         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
10930         my_filter thing.
10931
10932 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10933
10934         * docs/pwg/advanced-tagging.xml:
10935           Add docs about tag writing.
10936
10937 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10938
10939         * docs/pwg/advanced-tagging.xml:
10940           Add a part about tag reading and application signalling... Tag
10941           writing still needs to be documented.
10942         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
10943           We can set file locations in READY, too.
10944
10945 2004-01-29  Julien MOUTTE <julien@moutte.net>
10946
10947         * docs/random/ds/element-checklist: Adding some notes about src
10948         events.
10949
10950 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10951
10952         * docs/random/mimetypes:
10953           Update docs to point to correct elements for various mimetypes, and
10954           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
10955           <stephane.loeuillet@tiscali.fr>.
10956
10957 2004-01-28  David Schleef  <ds@schleef.org>
10958
10959         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
10960
10961 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10962
10963         * docs/random/mimetypes:
10964           update docs for audio/x-raw-float. Add "buffer-frames=0 means
10965           undefined"
10966         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
10967           make it only work in NULL.
10968         * gst/gstcaps.c:
10969           don't posion NULL caps
10970         * gst/gstelement.c: (gst_element_set_time):
10971           add debugging statement
10972         * gst/gstelement.c: (gst_element_emit_found_tag),
10973         (gst_element_found_tag_func), (gst_element_found_tags):
10974         * gst/gstelement.h:
10975           These functions take const taglists
10976         * gst/gstpad.c: (gst_pad_proxy_getcaps):
10977           fix memleak
10978         * gst/gstpad.c: (gst_pad_event_default):
10979           make more effort on handling discont and clocks, g_warn if everything
10980           fails
10981         * gst/gststructure.c: (gst_structure_remove_fields),
10982         (gst_structure_remove_fields_valist):
10983         * gst/gststructure.h:
10984           add gst_structure_remove_fields(_valist)
10985         * gst/gsttag.c:
10986           fix doc glitch
10987
10988 2004-01-28  David Schleef  <ds@schleef.org>
10989
10990         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
10991         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
10992         Fix memory leakage of gst_caps_to_string().
10993
10994         Use GST_PTR_FORMAT instead of gst_caps_to_string():
10995         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
10996         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
10997         (gst_spider_identity_sink_loop_type_finding):
10998         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
10999         (find_suggest):
11000         * gst/gstpad.c: (gst_pad_try_relink_filtered),
11001         (gst_pad_set_explicit_caps):
11002         * gst/parse/grammar.y:
11003
11004 2004-01-28  David Schleef  <ds@schleef.org>
11005
11006         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
11007         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
11008         * docs/random/ds/0.9-suggested-changes: Notes from Company.
11009         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
11010         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
11011         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
11012         (gst_debug_log_default), (_gst_info_printf_extension),
11013         (_gst_info_printf_extension_arginfo):  Add printf extension.
11014         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
11015         * gst/gststructure.c: (gst_structure_to_string),
11016         (_gst_structure_parse_value): Use gst_value_deserialize() and
11017         remove old code.
11018         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
11019         (gst_value_deserialize_boolean), (gst_strtoi),
11020         (gst_value_deserialize_int), (gst_value_deserialize_double),
11021         (gst_value_deserialize_string), (gst_value_deserialize): Implement
11022         a bunch of deserialize functions and gst_value_deserialize.
11023         * gst/gstvalue.h: er, _de_serialize, not unserialize
11024         * testsuite/caps/string-conversions.c: (main): We don't currently
11025         handle (float) in caps, so convert these to (double).
11026         * testsuite/debug/Makefile.am: Add new test for the printf extension
11027         * testsuite/debug/printf_extension.c: (main): same
11028
11029 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11030
11031         * docs/random/company/time:
11032           Add some docs about clocking and time
11033
11034 2004-01-28  Julien MOUTTE <julien@moutte.net>
11035
11036         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
11037
11038 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11039
11040         * docs/pwg/advanced-clock.xml:
11041         * docs/pwg/advanced-dparams.xml:
11042         * docs/pwg/advanced-events.xml:
11043         * docs/pwg/advanced-interfaces.xml:
11044         * docs/pwg/advanced-midi.xml:
11045         * docs/pwg/advanced-request.xml:
11046         * docs/pwg/advanced-scheduling.xml:
11047         * docs/pwg/advanced-tagging.xml:
11048         * docs/pwg/advanced-types.xml:
11049         * docs/pwg/appendix-checklist.xml:
11050         * docs/pwg/building-boiler.xml:
11051         * docs/pwg/building-chainfn.xml:
11052         * docs/pwg/building-filterfactory.xml:
11053         * docs/pwg/building-pads.xml:
11054         * docs/pwg/building-props.xml:
11055         * docs/pwg/building-signals.xml:
11056         * docs/pwg/building-state.xml:
11057         * docs/pwg/building-testapp.xml:
11058         * docs/pwg/intro-basics.xml:
11059         * docs/pwg/intro-preface.xml:
11060         * docs/pwg/other-autoplugger.xml:
11061         * docs/pwg/other-sink.xml:
11062         * docs/pwg/other-source.xml:
11063         * docs/pwg/titlepage.xml:
11064           fix up id's
11065
11066 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11067
11068         * docs/95NonPath:
11069         * docs/HACKING:
11070         * docs/README:
11071         * docs/building-the-docs-on-debian:
11072           collect relevant bits of doc info
11073
11074 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11075
11076         * docs/pwg/advanced_tagging.xml:
11077           Half-assed commit so Thomas can re-arrange document IDs here to be
11078           consistent, too.
11079
11080 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11081
11082         * docs/manual/autoplugging.xml:
11083         * docs/manual/bins-api.xml:
11084         * docs/manual/bins.xml:
11085         * docs/manual/buffers-api.xml:
11086         * docs/manual/buffers.xml:
11087         * docs/manual/clocks.xml:
11088         * docs/manual/components.xml:
11089         * docs/manual/cothreads.xml:
11090         * docs/manual/debugging.xml:
11091         * docs/manual/dparams-app.xml:
11092         * docs/manual/dynamic.xml:
11093         * docs/manual/elements-api.xml:
11094         * docs/manual/elements.xml:
11095         * docs/manual/factories.xml:
11096         * docs/manual/gnome.xml:
11097         * docs/manual/goals.xml:
11098         * docs/manual/helloworld.xml:
11099         * docs/manual/helloworld2.xml:
11100         * docs/manual/init-api.xml:
11101         * docs/manual/intro.xml:
11102         * docs/manual/links-api.xml:
11103         * docs/manual/links.xml:
11104         * docs/manual/manual.xml:
11105         * docs/manual/motivation.xml:
11106         * docs/manual/pads-api.xml:
11107         * docs/manual/pads.xml:
11108         * docs/manual/plugins-api.xml:
11109         * docs/manual/plugins.xml:
11110         * docs/manual/programs.xml:
11111         * docs/manual/queues.xml:
11112         * docs/manual/quotes.xml:
11113         * docs/manual/schedulers.xml:
11114         * docs/manual/states-api.xml:
11115         * docs/manual/states.xml:
11116         * docs/manual/threads.xml:
11117         * docs/manual/typedetection.xml:
11118         * docs/manual/xml.xml:
11119           use chapter, part, section or misc as id starts for all bits
11120
11121 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11122
11123         * docs/gst/gstreamer-sections.txt:
11124           Fix up TITLE of the sections
11125
11126 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11127
11128         * docs/pwg/advanced_interfaces.xml:
11129           Add documentation on propertyprobing.
11130         * docs/pwg/advanced_events.xml:
11131         * docs/pwg/advanced_tagging.xml:
11132         * docs/pwg/building_boiler.xml:
11133         * docs/pwg/building_filterfactory.xml:
11134         * docs/pwg/pwg.xml:
11135           Move filterfactory and tagging into their own chapter, add a chapter
11136           on events. all these are empty placeholders that will be filled in
11137           some day.
11138
11139 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11140
11141         * docs/pwg/advanced_interfaces.xml:
11142           Docs for mixer interface. Also a check for website uploading.
11143
11144 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11145
11146         * docs/HACKING:
11147         * docs/Makefile.am:
11148         * docs/faq/Makefile.am:
11149         * docs/gst/Makefile.am:
11150         * docs/gst/tmpl/gstelement.sgml:
11151         * docs/gst/tmpl/gstplugin.sgml:
11152         * docs/gst/tmpl/gstreamer-unused.sgml:
11153         * docs/libs/Makefile.am:
11154         * docs/manual/Makefile.am:
11155         * docs/manuals.mak:
11156         * docs/pwg/Makefile.am:
11157         * docs/upload.mak:
11158           Separate out upload target and make it similar for
11159           both docbook and gtk-doc docs
11160
11161 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11162
11163         * docs/manuals.mak:
11164           Fix upload target to work with freedesktop
11165
11166 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11167
11168         * docs/pwg/advanced_types.xml:
11169           Add notes on creating your own types.
11170         * docs/pwg/building_boiler.xml:
11171         * docs/pwg/building_pads.xml:
11172         * docs/pwg/building_state.xml:
11173           Add some stuff about how to retrieve values from structures, how
11174           that relates to types and change layout slightly again to be almost
11175           perfect.
11176
11177 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11178
11179         * docs/pwg/advanced_dparams.xml:
11180         * docs/pwg/advanced_scheduling.xml:
11181           Change index layout slightly.
11182
11183 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11184
11185         * docs/pwg/advanced_clock.xml:
11186         * docs/pwg/advanced_interfaces.xml:
11187         * docs/pwg/advanced_midi.xml:
11188           General placeholders for now.
11189         * docs/pwg/advanced_request.xml:
11190           Explanation about sometimes and request pads.
11191         * docs/pwg/advanced_scheduling.xml:
11192           Concept of bytestream, loopfunctions and schedulers.
11193         * docs/pwg/building_boiler.xml:
11194           Add something about plugin-init.
11195
11196 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11197
11198         * docs/pwg/building_pads.xml:
11199           Fix broken docbook
11200
11201 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11202
11203         * docs/pwg/advanced_interfaces.xml:
11204         * docs/pwg/pwg.xml:
11205           Add as a placeholder for future filling-in.
11206         * docs/pwg/basics_autoplugging.xml:
11207         * docs/pwg/basics_buffers.xml:
11208         * docs/pwg/basics_elements.xml:
11209         * docs/pwg/basics_events.xml:
11210         * docs/pwg/basics_plugins.xml:
11211         * docs/pwg/basics_types.xml:
11212           Remove, because unused (this is all in intro_basics.xml).
11213         * docs/pwg/building_signals.xml:
11214           Short intro to signals + reference to GObject docs - we really
11215           shouldn't go into these sort of things to deply because we don't
11216           use them that extensively anyway.
11217         * docs/pwg/building_state.xml:
11218           Explanation of states. Benjamin, please check.
11219         * docs/pwg/building_testapp.xml:
11220           Put everything in one page - putting only a few lines of content
11221           per page doesn't really make sense.
11222
11223           Time to get into the advanced topics. ;).
11224
11225 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11226
11227         * docs/pwg/advanced_types.xml:
11228           Finish documenting the current state of mimetypes.
11229         * docs/pwg/building_boiler.xml:
11230         * docs/pwg/building_chainfn.xml:
11231         * docs/pwg/building_pads.xml:
11232         * docs/pwg/building_props.xml:
11233         * docs/pwg/building_testapp.xml:
11234           Start documenting the "how to build a simple audio filter" part
11235           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
11236           states and (maybe?) a short introduction to capsnego in the chapter
11237           on pads (building_pads.xml). Capsnego should probably be explained
11238           fully in advanced_capsnego.xml or so.
11239
11240 2004-01-26  David Schleef  <ds@schleef.org>
11241
11242         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
11243         * gst/gstpad.h: Add new function to allow element to (somewhat)
11244         specify non-fixed caps on a pad.
11245         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
11246         that I added a few weeks ago.
11247
11248 2004-01-26  David Schleef  <ds@schleef.org>
11249
11250         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
11251           making try_set_caps() work with non-fixed caps.
11252
11253 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11254
11255         * docs/pwg/advanced_types.xml:
11256         * docs/pwg/intro_basics.xml:
11257         * docs/pwg/intro_preface.xml:
11258         * docs/pwg/pwg.xml:
11259         * docs/pwg/titlepage.xml:
11260           First try to resurrect the PWG. I'm halfway integrating the mimetypes
11261           in here (docs/random/mimetypes), and will from there on work on both
11262           updating outdated parts and adding missing parts.
11263           That doesn't mean I'll fix it completely, but I'll try at least. ;).
11264
11265 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11266
11267         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
11268           policy is set
11269
11270 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11271
11272         * gst/gstelement.h:
11273           remove gst_element_factory_get_version. It doesn't exist anymore.
11274         * gst/gstplugin.c:
11275         * gst/gstplugin.h:
11276           remove gst_plugin_set_name and change gst_plugin_get_longname to
11277           gst_plugin_get_description to match code.
11278         * gst/gsterror.h:
11279           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
11280         * gst/gstpad.c: (gst_pad_try_set_caps):
11281           make it work with nonfixed caps.
11282           Note that even in the nonfixed case the link function of the pad
11283           that tries to set caps isn't called.
11284
11285 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11286
11287         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
11288           fix bug where buffer was not assembled correctly
11289         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
11290           silence by default
11291         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
11292           only seek if there's no more buffers that could work without seeking
11293
11294 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11295
11296         * gst/gsttag.c: (_gst_tag_initialize):
11297         * gst/gsttag.h:
11298           Add application tag (for encoding/muxing app).
11299
11300 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11301
11302         * autogen.sh:
11303           make autopoint force, and libtoolize not copy
11304         * common/m4/as-docbook.m4:
11305           added docbook xml catalog setup check
11306         * common/m4/gst-doc.m4:
11307           use docbook check
11308
11309 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11310
11311         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
11312         * gst/gsttag.h:
11313           add GstTagFlag
11314
11315 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11316
11317         * docs/gst/gstreamer-sections.txt:
11318         * docs/gst/tmpl/gst.sgml:
11319         * docs/gst/tmpl/gstbuffer.sgml:
11320         * docs/gst/tmpl/gstclock.sgml:
11321         * docs/gst/tmpl/gstelement.sgml:
11322         * docs/gst/tmpl/gstreamer-unused.sgml:
11323         * docs/gst/tmpl/gstxml.sgml:
11324           sync latest API changes to docs
11325
11326 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11327
11328         * gst/gstpluginfeature.c:
11329           fix doc snippet
11330         * tools/gst-inspect.c: (print_element_list):
11331           fix output of typefind
11332           add GPL header
11333         * tools/gst-launch.c:
11334           add GPL header
11335
11336 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11337
11338         * gst/elements/Makefile.am:
11339         * gst/elements/gstelements.c:
11340         * gst/elements/gsttypefindelement.c:
11341         * gst/elements/gsttypefindelement.h:
11342         * po/POTFILES.in:
11343         * po/fr.po:
11344         * po/nl.po:
11345           renamed gsttypefindelement to gsttypefind, conserving CVS history
11346
11347 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11348
11349         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
11350         * gst/gsttag.h:
11351           add some tags used in ogg as well
11352           fix _ in replaygain tags
11353
11354 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11355
11356         * gst/gsterror.h:
11357           fix wrong GST_LIBRARY_ERROR_ENCODE addition
11358
11359 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11360
11361         * gst/gstelement.c: (gst_element_error_full):
11362         * gst/gstelement.h:
11363           change _extended to _full
11364
11365 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11366
11367         reviewed by: <delete if not using a buddy>
11368
11369         * docs/gst/tmpl/gst.sgml:
11370         * docs/gst/tmpl/gstbuffer.sgml:
11371         * docs/gst/tmpl/gstclock.sgml:
11372         * docs/gst/tmpl/gstelement.sgml:
11373         * docs/gst/tmpl/gstreamer-unused.sgml:
11374         * docs/gst/tmpl/gstxml.sgml:
11375         * gst/gstelement.c: (gst_element_error_full):
11376         * gst/gstelement.h:
11377
11378 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11379
11380         * gst/gstelement.h: fix _gst_element_error_printf prototype
11381
11382 2004-01-20  David Schleef  <ds@schleef.org>
11383
11384         * gst/gststructure.c: (gst_structure_to_string):
11385         Convert function to use gst_value_serialize().
11386         * gst/gstvalue.c: (gst_value_serialize_list),
11387         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
11388         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
11389         (gst_value_serialize_int), (gst_value_serialize_double),
11390         (gst_string_wrap), (gst_value_serialize_string),
11391         (gst_value_serialize), (gst_value_deserialize):
11392         * gst/gstvalue.h:
11393         Add implementations for serialize.
11394
11395 2004-01-20  Julien MOUTTE  <julien@moutte.net>
11396
11397         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
11398         we want to keep that one in the future or change xvidenc.c to use 
11399         another error.
11400
11401 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11402
11403         * gst/gstelement.c: (_gst_element_error_printf):
11404         * gst/gstelement.h:
11405           privatise function
11406
11407 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11408
11409         * docs/random/error:
11410           doc explaining error system
11411         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11412           cleanup
11413
11414 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11415
11416         * gst/gst-i18n-app.h:
11417         * gst/gst-i18n-lib.h:
11418           remove inclusion of config.h
11419         * po/POTFILES.in:
11420         * po/nl.po:
11421           add gst/gstelement.c
11422
11423 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11424
11425         * po/nl.po: updated Dutch translation
11426
11427 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11428
11429         * gst/gsterror.c: (_gst_core_errors_init),
11430         (_gst_library_errors_init), (_gst_resource_errors_init),
11431         (_gst_stream_errors_init):
11432         remove ending punctuation dots
11433
11434 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11435
11436         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
11437         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
11438         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11439         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11440         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11441         use GST_ERROR_SYSTEM
11442
11443 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11444
11445         * gst/gstelement.c: (gst_element_error_printf),
11446         (gst_element_error_extended):
11447         * gst/gstelement.h:
11448           add a helper printf function so we can have NULL values passed.
11449
11450 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11451
11452         * gst/gstelement.h:
11453           add G_STMT macros to gst_element_error, which isn't strictly
11454           necessary but people tell me to anyway.
11455
11456 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11457
11458         * gst/Makefile.am:
11459         * gst/autoplug/gstspideridentity.c:
11460         (gst_spider_identity_sink_loop_type_finding):
11461         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11462         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11463         (gst_filesink_close_file), (gst_filesink_handle_event),
11464         (gst_filesink_chain):
11465         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
11466         (gst_filesrc_map_region), (gst_filesrc_get_read),
11467         (gst_filesrc_open_file):
11468         * gst/elements/gstidentity.c: (gst_identity_chain):
11469         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11470         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11471         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11472         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
11473         * gst/gst.h:
11474         * gst/gst_private.h:
11475         * gst/gstelement.c: (gst_element_class_init),
11476         (gst_element_default_error), (gst_element_error_func),
11477         (gst_element_error_extended):
11478         * gst/gstelement.h:
11479         * gst/gsterror.c: (_gst_core_errors_init),
11480         (_gst_library_errors_init), (_gst_resource_errors_init),
11481         (_gst_stream_errors_init), (gst_error_get_message):
11482         * gst/gsterror.h:
11483         * gst/gstinfo.c: (_gst_debug_init):
11484         * gst/gstmarshal.list:
11485         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11486         (gst_pad_recover_caps_error), (gst_pad_pull):
11487         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11488         * gst/schedulers/gstbasicscheduler.c:
11489         (gst_basic_scheduler_chainhandler_proxy),
11490         (gst_basic_scheduler_gethandler_proxy),
11491         (gst_basic_scheduler_cothreaded_chain):
11492         * po/POTFILES.in:
11493         * po/fr.po:
11494         * po/nl.po:
11495           change error signal
11496           add error categories
11497
11498 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
11499
11500         * gst/gsttag.c: (_gst_tag_initialize):
11501         * gst/gsttag.h:
11502         Add replaygain tag
11503
11504 2004-01-18  Colin Walters  <walters@verbum.org>
11505
11506         * examples/retag/retag.c: Call gst_init before processing
11507         program args.  Add g_assert to _link_many call.
11508
11509 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11510
11511         * gst/gstpad.c: (gst_pad_alloc_buffer):
11512           Return a newly allocated buffer when the pad has no peer.
11513
11514 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11515
11516         * gst/gstclock.c: (gst_clock_get_time):
11517           make it compile with gcc 2.95 again.
11518           Patch by Scott Wheeler
11519
11520 2004-01-15  David Schleef  <ds@schleef.org>
11521
11522         * gst/gstcaps.h:
11523         Added gst_caps_is_simple() macro.
11524         * testsuite/caps/caps.c: (test1):
11525         * testsuite/caps/intersect2.c: (main):
11526         * testsuite/caps/intersection.c: (main):
11527         Fixes to make 'make check' work again after removing
11528         gst_caps_is_chained().
11529
11530 2004-01-15  Leif Johnson <leif@ambient.2y.net>
11531
11532         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
11533         and additions to the MIDI document.
11534
11535 2004-01-15  David Schleef  <ds@schleef.org>
11536
11537         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
11538         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
11539         of GST_RPAD_, since we don't know if it's a real or ghost pad.
11540
11541 2004-01-15  David Schleef  <ds@schleef.org>
11542
11543         * gst/gstqueue.c:
11544         * gst/gstqueue.h:
11545         Fix the spelling of "treshold" and make min_threshold actually
11546         affect the queue.
11547
11548 2004-01-15  David Schleef  <ds@schleef.org>
11549
11550         * gst/gstcaps.c:
11551         Add lots of documentation.
11552         * gst/gstcaps.h:
11553         Deprecate a few functions.
11554         * gst/gstpad.c:
11555         Removed use of deprecated functions.
11556
11557 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11558
11559         * gst/gstpad.c: (gst_pad_is_linked):
11560         * gst/gstpad.h:
11561           implement gst_pad_is_linked
11562         * gst/gstelement.h:
11563           reserve space for initiate_state_change
11564
11565 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11566
11567         * gst/autoplug/gstspideridentity.c:
11568         (gst_spider_identity_sink_loop_type_finding):
11569           break infinite loop by just returning instead of looping
11570         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
11571           set event time difference correctly. Set it to 1 second instead
11572           of 100ms to be more tolerant
11573         * gst/gstelement.c: (gst_element_set_time):
11574           add debugging output
11575
11576 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11577
11578         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
11579           query if buffers are inside the pool, ignore events
11580
11581 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11582
11583         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
11584         (gst_clock_set_speed), (gst_clock_set_active),
11585         (gst_clock_is_active), (gst_clock_reset),
11586         (gst_clock_handle_discont):
11587         * gst/gstclock.h:
11588           deprecate old interface and disable functions that aren't in use
11589           anymore.
11590         * gst/gstelement.h:
11591         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
11592         (gst_element_set_time), (gst_element_adjust_time):
11593           add concept of "element time" and functions to get/set this time.
11594         * gst/gstelement.c: (gst_element_change_state):
11595           update element time correctly.
11596         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
11597           This is a debug message, not a g_critical.
11598         * gst/gstpad.c: (gst_pad_event_default):
11599           handle discontinuous events right with element time.
11600         * gst/gstscheduler.c: (gst_scheduler_state_transition):
11601           update to clocking fixes.
11602           set clocks on elements in READY=>PAUSED. The old behaviour caused
11603           a wrong element time on the first element that started playing.
11604         * gst/schedulers/gstbasicscheduler.c:
11605         (gst_basic_scheduler_class_init):
11606         * gst/schedulers/gstoptimalscheduler.c:
11607         (gst_opt_scheduler_class_init):
11608           remove code that just implements the default behaviour.
11609         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
11610           update to use new clocking functions
11611         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
11612         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
11613           update to test new element time.
11614         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
11615           use _get_allowed_caps instead of _get_caps. This catches filtered
11616           caps correctly.
11617         * testsuite/debug/commandline.c:
11618           update for new GST_DEBUG syntax.
11619         * testsuite/threads/Makefile.am:
11620           disable a test that only works sometimes.
11621
11622 2004-01-13  Julien MOUTTE <julien@moutte.net>
11623
11624         * po/LINGUAS: Adding fr.
11625         * po/fr.po: Adding french translation.
11626
11627 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11628
11629         * gst/parse/grammar.y:
11630         * po/POTFILES.in:
11631         * po/nl.po:
11632         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
11633           translate parsing error messages
11634
11635 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11636
11637         * po/POTFILES.in: adding gst-launch
11638         * po/nl.po: updated translation, all 99 strings translated
11639         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
11640         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
11641           fix strings for translation
11642
11643 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11644
11645         * gst/gst.c:
11646           - capitalize beginnings of popt options
11647           - fix strings for translation
11648           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
11649
11650 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11651
11652         * po/README: add some notes on how to update translations
11653
11654 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11655
11656         * ABOUT-NLS: removed, is autogenerated from autopoint
11657         * autogen.sh: add autopoint stuff
11658         * configure.ac: fix up gettext stuff
11659         * gst/Makefile.am: add i18n headers to noinst_HEADERS
11660         * gst/elements/gsttypefindelement.c: add header include
11661         * gst/gettext.h: add header, copy from system-installed header
11662         * gst/gst-i18n-app.h: to be included by each app having translations
11663         * gst/gst-i18n-lib.h: to be included by each lib having translations
11664         * gst/gst.c: (init_pre): fix up gettext calls
11665         * gst/gst_private.h: remove i18n stuff, moving to separate headers
11666         * po/LINGUAS: the new way to specify translations present
11667         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
11668         * po/Makevars: the variables filled in for GStreamer
11669         * po/POTFILES.in: added new files with translations
11670         * po/de.po: has new strings
11671         * po/nl.po: readded, has new strings
11672
11673 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11674
11675         * gst/gsttag.c: fix some strings marked for translation
11676
11677 2004-01-13  Iain <iain@prettypeople.org>
11678
11679         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
11680         group when we add an element to it, cos we unref it when we remove one
11681
11682 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11683
11684         * testsuite/debug/commandline.c: (debug_not_reached):
11685         * testsuite/debug/output.c: (check_message):
11686           fix testsuite
11687
11688 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11689
11690         * examples/cutter/.cvsignore:
11691         * examples/helloworld/.cvsignore:
11692         * examples/launch/.cvsignore:
11693         * examples/manual/.cvsignore:
11694         * examples/mixer/.cvsignore:
11695         * examples/pingpong/.cvsignore:
11696         * examples/plugins/.cvsignore:
11697         * examples/queue/.cvsignore:
11698         * examples/queue2/.cvsignore:
11699         * examples/queue3/.cvsignore:
11700         * examples/queue4/.cvsignore:
11701         * examples/retag/.cvsignore:
11702         * examples/thread/.cvsignore:
11703         * examples/typefind/.cvsignore:
11704         * examples/xml/.cvsignore:
11705         * gst/.cvsignore:
11706         * gst/autoplug/.cvsignore:
11707         * gst/elements/.cvsignore:
11708         * gst/indexers/.cvsignore:
11709         * gst/parse/.cvsignore:
11710         * gst/registries/.cvsignore:
11711         * gst/schedulers/.cvsignore:
11712         * libs/gst/bytestream/.cvsignore:
11713         * libs/gst/control/.cvsignore:
11714         * libs/gst/getbits/.cvsignore:
11715         * tests/.cvsignore:
11716         * tests/bufspeed/.cvsignore:
11717         * tests/instantiate/.cvsignore:
11718         * tests/memchunk/.cvsignore:
11719         * tests/muxing/.cvsignore:
11720         * tests/sched/.cvsignore:
11721         * tests/seeking/.cvsignore:
11722         * tests/threadstate/.cvsignore:
11723         * testsuite/.cvsignore:
11724         * testsuite/caps/.cvsignore:
11725         * testsuite/cleanup/.cvsignore:
11726         * testsuite/dynparams/.cvsignore:
11727         * testsuite/plugin/.cvsignore:
11728         * tools/.cvsignore:
11729           update - this is huge, because it includes *.bb, *.bbg and *.da files
11730           which are generated for gcov.
11731
11732 2004-01-11  David Schleef  <ds@schleef.org>
11733
11734         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
11735         a function to parse integers in ways that strto[u]l() does not.
11736
11737 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11738
11739         * tools/gst-inspect.c: (print_caps):
11740           improve output of caps a bit
11741
11742 2004-01-11  David Schleef  <ds@schleef.org>
11743
11744         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
11745         inherit correct flags (READONLY and DONTKEEP).
11746
11747 2004-01-11  David Schleef  <ds@schleef.org>
11748
11749         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
11750         (gst_filesrc_map_region):
11751         * gst/gstbuffer.c: (_gst_buffer_initialize),
11752         (_gst_buffer_sub_free), (gst_buffer_default_copy),
11753         (gst_buffer_new), (gst_buffer_create_sub),
11754         (gst_buffer_is_span_fast), (gst_buffer_span):
11755         * gst/gstbuffer.h:
11756         Change GstBuffer private structure element names. (all files)
11757         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11758         (gst_queue_link):
11759         * gst/gstqueue.h:
11760         Implement getcaps/pad_link functions that handle the case where
11761         there are data in the queue.
11762
11763 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11764
11765         * gst/elements/gstbufferstore.c:
11766           initialize debugging structure correctly
11767         * gst/elements/gsttee.c: (gst_tee_set_property):
11768           g_object_notify when property was changed
11769         * gst/elements/gsttypefindelement.c:
11770         (gst_type_find_element_change_state):
11771           clear caps correctly
11772
11773 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11774
11775         * gst/gstqueue.c: (gst_queue_init):
11776           Use better defaults for when a queue should block. This
11777           gets rid of jerky playback for quite a few files.
11778           It takes more memory.
11779
11780 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11781
11782         (gst_xml_registry_parse_padtemplate):
11783           make critical message slightly more useful
11784
11785 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11786
11787         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
11788         (gst_debug_message_get), (gst_debug_log_default):
11789         * gst/gstinfo.h:
11790           Change gst_debug_log(_valist) to take a const format string.
11791           Change prototype of log function and functions using those to 
11792           take a GstDebugMessage instead of a string that requires using
11793           gst_debug_message_get.
11794
11795 2004-01-08  David Schleef  <ds@schleef.org>
11796
11797         * Makefile.am:
11798         * configure.ac:
11799         Add option --enable-gcov to build GStreamer with -fprofile-arcs
11800         and -ftest-coverage, which allows gcov to show information about
11801         testsuite coverage.
11802
11803 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11804
11805         * gst/gstutils.h:
11806           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
11807           GST_PARENT_CALL_WITH_DEFAULT
11808         * gst/elements/gstaggregator.c: 
11809         * gst/elements/gstbufferstore.c: 
11810         * gst/elements/gstfakesink.c: 
11811         * gst/elements/gstfakesrc.c: 
11812         * gst/elements/gstfdsink.c: 
11813         * gst/elements/gstfdsrc.c: 
11814         * gst/elements/gstfilesink.c: 
11815         * gst/elements/gstfilesrc.c: 
11816         * gst/elements/gstidentity.c: 
11817         * gst/elements/gstmd5sink.c: 
11818         * gst/elements/gstmultidisksrc.c:
11819         * gst/elements/gstpipefilter.c: 
11820         * gst/elements/gstshaper.c:
11821         * gst/elements/gststatistics.c:
11822         * gst/elements/gsttee.c:
11823         * gst/elements/gsttypefindelement.c:
11824           use them.
11825
11826 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11827
11828         * docs/gst/gstreamer-docs.sgml: remove props
11829         * docs/gst/gstreamer-sections.txt: remove props
11830         * docs/gst/tmpl/gst.sgml:
11831         * docs/gst/tmpl/gstbin.sgml:
11832         * docs/gst/tmpl/gstbuffer.sgml:
11833         * docs/gst/tmpl/gstcaps.sgml:
11834         * docs/gst/tmpl/gstclock.sgml:
11835         * docs/gst/tmpl/gstelement.sgml:
11836         * docs/gst/tmpl/gstindex.sgml:
11837         * docs/gst/tmpl/gstobject.sgml:
11838         * docs/gst/tmpl/gstpad.sgml:
11839         * docs/gst/tmpl/gstpadtemplate.sgml:
11840         * docs/gst/tmpl/gstreamer-unused.sgml:
11841         * docs/gst/tmpl/gstthread.sgml:
11842         * docs/gst/tmpl/gstxml.sgml:
11843           sync with code reorganization
11844
11845 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
11846
11847         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
11848         Make the 'Could not find compatible pad' message more informative.
11849
11850 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11851                                                                                 
11852         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
11853           Fix for if we pass NULL as property to location.
11854         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
11855         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
11856           Fix for instantiate-test (see below).
11857         * gst/gststructure.c: (_gst_structure_parse_value):
11858           Fix compile error on gcc-2.96.
11859         * configure.ac:
11860         * tests/Makefile.am:
11861         * tests/instantiate/Makefile.am:
11862         * tests/instantiate/create.c: (create_all_elements), (main):
11863           Add a test that instantiates all elements. This makes it easy to
11864           track dead code for old API/design (like setting event functions
11865           on sink pads and so on).
11866
11867 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
11868
11869         * gst/gstcaps.c: (gst_caps_append_structure):
11870           Move the poisoning to allow a NULL structure
11871         * gst/gstevent.c: (_gst_event_free):
11872           When freeing a navigation event, free the structure
11873           also
11874
11875 2004-01-04  David Schleef  <ds@schleef.org>
11876
11877         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
11878         Remove usage of gst_pad_proxy_fixate.
11879         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
11880         (gst_caps_split_one), (gst_caps_replace):
11881         Add poisoning code.
11882         * gst/gstmarshal.list:
11883         Add pointer__pointer for fixate signal
11884         * gst/gstpad.c: (gst_real_pad_class_init),
11885         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11886         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
11887         (gst_pad_set_explicit_caps), (gst_pad_template_new):
11888         Add poisoning code. Add fixate signal on RealPad. Change
11889         set_explicit_caps() to take const GstCaps, like try_set_caps().
11890         * gst/gstpad.h:
11891         * testsuite/caps/Makefile.am:
11892         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
11893
11894 2004-01-03  David Schleef  <ds@schleef.org>
11895
11896         * gst/elements/gsttypefindelement.c:
11897         (gst_type_find_element_have_type), (gst_type_find_element_init):
11898         Use gst_pad_use_explicit_caps for src pad.
11899         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
11900         before using it.
11901
11902 2004-01-03  David Schleef  <ds@schleef.org>
11903
11904         * gst/gstelement.c: (gst_element_link_pads_filtered),
11905         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
11906         that linking was successful.
11907         * gst/gstpad.c: (gst_pad_link_free),
11908         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
11909         (gst_pad_link_try), (gst_pad_link_unnegotiate),
11910         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
11911         GstPadLinkReturn correctly between functions, and don't fail
11912         when DELAYED is used (DELAYED is very important).  Better
11913         cleanup on unlinking and unnegotiation.  Should fix some spider
11914         bugs.
11915
11916 2004-01-02  David Schleef  <ds@schleef.org>
11917
11918         * gst/gstelement.c: (gst_element_class_init),
11919         (gst_element_base_class_init): ->padtemplates should be cleared
11920         in base_init, since we need to have a fresh list for every
11921         class.  (Alternately, we chould copy the list and share the
11922         actual pad templates (not the list), but that would require
11923         changing every plugin to move pad template registration from
11924         base_init to class_init.)
11925
11926 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11927
11928         * gst/gstelement.c: (gst_element_class_add_pad_template):
11929           Refuse registering a pad template if another pad template
11930           with the same name already exists (#114715).
11931
11932 2004-01-02  David Schleef  <ds@schleef.org>
11933
11934         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
11935         (gst_caps_is_equal_fixed): Add new function.
11936         * gst/gstcaps.h: ditto.
11937         * gst/gstpad.c: (gst_real_pad_class_init),
11938         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
11939         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
11940         check new caps against existing caps -- if they're the same, return
11941         OK without renegotiating.  caps-nego-failed signal fixed so that
11942         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
11943         to save an extra caps copy.  Don't complete negotiation if a pad
11944         link function returns DELAYED.
11945
11946 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11947
11948         * gst/gstpad.c: (gst_pad_try_relink_filtered):
11949           Fix wrong g_return_if_fail
11950
11951 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
11952
11953         * gst/gstbin.c: (gst_bin_class_init):
11954         Change the marshalling of element_added/element_removed
11955         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
11956         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
11957
11958 2004-01-01  David Schleef  <ds@schleef.org>
11959
11960         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11961         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
11962         (gst_pad_use_explicit_caps):
11963         * gst/gstpad.h:
11964         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
11965         to use an internal getcaps and link fuction so that negotiation
11966         always results in the explicitly set caps.
11967         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
11968         are particularly useful for decoders.
11969
11970 2003-12-31  David Schleef  <ds@schleef.org>
11971
11972         * gst/elements/gstidentity.c: (gst_identity_class_init),
11973         (gst_identity_init), (gst_identity_chain),
11974         (gst_identity_set_property), (gst_identity_get_property):
11975         * gst/elements/gstidentity.h:
11976         * gst/gstqueue.c: (gst_queue_init):
11977           Negotiation fixes.
11978
11979 2003-12-31  David Schleef  <ds@schleef.org>
11980
11981         * gst/gstcaps.c: (gst_caps_intersect),
11982         (_gst_caps_normalize_foreach), (gst_caps_normalize):
11983           Implement gst_caps_normalize().
11984         * testsuite/caps/normalisation.c: (main):
11985           Add an additional test
11986
11987 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11988
11989         * gst/gstqueue.c: (gst_queue_init):
11990           use gst_pad_proxy_getcaps()
11991
11992 2003-12-31  David Schleef  <ds@schleef.org>
11993
11994         * gst/elements/gstshaper.c: (gst_shaper_link):
11995         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
11996         * gst/gstqueue.c: (gst_queue_link):
11997           Negotiation fixes.
11998
11999 2003-12-31  David Schleef  <ds@schleef.org>
12000
12001         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
12002         * gst/gstpad.h: Add functions that are useful as default pad
12003         link and fixate functions for elements.
12004
12005 2003-12-30  David Schleef  <ds@schleef.org>
12006
12007         * gst/gstpad.c: (gst_pad_link_try):
12008           Fix segfault when attempting to return to old caps
12009
12010 2003-12-29  David Schleef  <ds@schleef.org>
12011
12012         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
12013         (gst_caps_structure_simplify), (gst_caps_simplify):
12014         * gst/gstcaps.h:
12015           Add simplify function
12016         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
12017         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
12018         * gst/gstpad.h:
12019           Copy over srcnotify, sinknotify when calling old pad_link
12020           functions.  Add new is_negotiated() function.
12021         * gst/gststructure.c: (gst_structure_copy):
12022           Fix an incredibly stupid bug that should have been noticed
12023           weeks ago.  _copy() returned the argument, not the new copy.
12024
12025 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12026
12027         * gst/gstcaps.c: (gst_caps_append):
12028           add sanity checks
12029         * gst/gstcaps.h: (gst_caps_debug):
12030           remove, it doesn't exist anymore.
12031         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
12032         (gst_element_threadsafe_properties_post_run):
12033           make debugging messages not clutter up THREAD debug category
12034         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
12035         (gst_element_change_state):
12036           update to new caps API
12037         * gst/gstinterface.c: (gst_implements_interface_cast):
12038           don't put vital code in g_return_if_fail
12039         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
12040         (gst_pad_link_filtered):
12041           add pst_pad_try_link and use it.
12042         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
12043           implement correctly, deprecate first one.
12044         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
12045           add and implement.
12046         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
12047           implement.
12048         (gst_pad_get_negotiated_caps):
12049           add and implement. Make GST_PAD_CAPS call this function.
12050         (gst_pad_get_caps):
12051           remove unneeded check..
12052         (gst_pad_recover_caps_error):
12053           disable, always return FALSE.
12054         (gst_real_pad_dispose):
12055           don't free caps and appfilter anymore, they're unused.
12056         * gst/gstpad.h:
12057           Reflect changes mentioned above.
12058         * gst/gstsystemclock.c: (gst_system_clock_wait):
12059           Make 'clock is way behind' a debugging message.
12060         * gst/gstthread.c: (gst_thread_change_state):
12061           Fix debugging message
12062
12063 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12064
12065         * gst/gstinfo.h:
12066           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
12067         * docs/gst/tmpl/gstreamer-unused.sgml:
12068           removed all traces of cvs conflicts
12069
12070 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12071
12072         * configure.ac:
12073         * gst/schedulers/cothreads_compat.h:
12074         * libs/Makefile.am:
12075           remove last instances of wingo cothread usage
12076
12077 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12078
12079         * gst/gstplugin.c:
12080         * gst/gstversion.h.in:
12081         * gst/parse/grammar.y:
12082           change comment block from /** to /* when not gtk-doc comments
12083
12084 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12085
12086         * gst/gst.c: whitespace and doc style fixes
12087
12088 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12089
12090         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
12091
12092 2003-12-24  Colin Walters  <walters@verbum.org>
12093
12094         * gst/elements/gsttypefindelement.c:
12095           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
12096           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
12097           Don't double-free caps.
12098
12099 2003-12-23  David Schleef  <ds@schleef.org>
12100
12101         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
12102           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
12103           Many little fixes and additions of debug statements to
12104           get rhythmbox working.
12105
12106 2003-12-23  Colin Walters  <walters@verbum.org>
12107
12108         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
12109         Use GST_PAD_LINK_SUCCESSFUL.
12110
12111 2003-12-23  David Schleef  <ds@schleef.org>
12112
12113         * gst/elements/gstaggregator.c:
12114         * gst/elements/gsttee.c:
12115           Use gst_pad_proxy_getcaps().
12116         * gst/gstpad.c:
12117         * gst/gstpad.h:
12118           Add gst_pad_proxy_getcaps(), which filter elements can use
12119           as a generic getcaps implementation.
12120           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
12121           was advertised.
12122
12123 2003-12-23  David Schleef  <ds@schleef.org>
12124
12125         * gst/gstpad.c:
12126           Rearrange/rewrite much of the pad negotiation code, since it
12127           resembled pasta.  This actually changes the way some
12128           negotiation works, since the previous code was inconsistent
12129           depending on how it was invoked.  Add (internal) structure
12130           GstPadLink, which is used to hold some information (more in
12131           the future) about the link between two pads.  Fixes a number
12132           of bugs, including random lossage of filter caps when the
12133           initial negotiation is delayed.  A few functions are still
12134           unimplemented.
12135         * gst/gstpad.h:
12136           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
12137           these when testing GstPadLinkReturn values instead of comparing
12138           directly.
12139
12140 2003-12-23  David Schleef  <ds@schleef.org>
12141
12142         * gst/gstvalue.c: 
12143         * gst/gstvalue.h:
12144           Rearrange lots of code.  Change registration of compare function
12145           into registration of compare/serialize/deserialize functions.
12146           Doesn't include implementation of gst_value_[de]serialize(),
12147           but that should be easy.
12148
12149 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12150
12151         * docs/gst/gstreamer-sections.txt:
12152         * docs/gst/tmpl/gstprops.sgml: removed
12153         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
12154           David removed props and caps code, so let's remove their docs as well.
12155           Removed all no longer existing symbols from gstreamer-sections.txt
12156           
12157 2003-12-22  Colin Walters  <walters@verbum.org>
12158
12159         * gst/gsttaginterface.c, gst/gsttaginterface.h,
12160           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
12161           of tags directly.
12162
12163 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12164
12165         * gst/elements/gstelements.c:
12166           Set ranks of elements to NONE, so the autoplugger doesn't use them.
12167         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
12168           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
12169           gst_caps (peer).
12170
12171 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12172
12173         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12174         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
12175         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
12176         (gst_spider_identity_sink_loop_type_finding):
12177         * gst/autoplug/gstspideridentity.h:
12178           Fix autoplugging in spider element, so it works with new caps.
12179           This was mainly caused by identifying empty caps incorrectly.
12180
12181 2003-12-22  David Schleef  <ds@schleef.org>
12182
12183         * gststructure.c, gstvalue.c, gstvalue.h: Add
12184           gst_value_init_and_copy() and use it, to avoid silly mistakes in
12185           using g_value_copy()
12186
12187 2003-12-21  David Schleef  <ds@schleef.org>
12188
12189         * many, many files: Merge CAPS branch.  This includes:
12190           - implemention of GstValue and several GstValue types
12191           - implemention of GstStructure
12192           - entire rewrite of GstCaps
12193           - removal of GstProps
12194           - many changes to GstPad to compensate for new caps paradigm
12195           - removal of GstBufferpool
12196         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
12197         gstvalue.h, gst/gstcaps[2]*.[ch]:
12198           - rename gstcaps2.[ch] to gstcaps.[ch]
12199
12200 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12201
12202         * gst/gstqueue.c: (gst_queue_handle_pending_events),
12203         (gst_queue_chain), (gst_queue_handle_src_event):
12204           implement timeout for sending events. Workaround for if the
12205           pipeline on this queue is not passing any data.
12206
12207 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
12208                                                                                 
12209         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
12210         * moved CVS to freedesktop.org
12211