ed4091c42b073e2f3a20c323181e67eb4d48b232
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-07-05  Andy Wingo  <wingo@pobox.com>
2
3         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
4         Default to returning TRUE for the case when tranform_caps returns
5         a fixed caps, like for identity or volume.
6
7         * check/gst/gstbus.c (pound_bus_with_messages): 
8         * check/gst/gstmessage.c (START_TEST): 
9         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10         message API change.
11
12         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
13         logic weaks here: always run transform_caps, trying passthrough
14         operation only if the original caps intersects with the transform.
15
16         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
17         source and sink caps.
18
19         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
20         Intersect the peer caps with the pad template before going into
21         transform_caps.
22         (gst_base_transform_transform_caps): More debugging.
23
24         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
25         src argument.
26
27 2005-07-04  Edward Hervey  <edward@fluendo.com>
28
29         * gst/gstutils.c:
30         * gst/gstutils.h:
31         (gst_pad_add_*_probe): now returns the signal id for better wrapping
32         in bindings.
33
34 2005-07-04  Andy Wingo  <wingo@pobox.com>
35
36         * check/gst/gstpad.c: Only set explicit caps on pads.
37
38 2005-07-01  Andy Wingo  <wingo@pobox.com>
39
40         * tests/network-clock.scm: Commentary update.
41
42         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
43         Didn't really make sense, not implementable with basetransform,
44         etc.
45         (gst_identity_transform): Unref inbuf via make_writable. Feeble
46         attempt at implementing the sync property, needs an unlock method.
47
48         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
49         New func, by default returns the same caps (the identity
50         transformation).
51         (gst_base_transform_getcaps): Uses transform_caps to return
52         something sensible.
53         (gst_base_transform_setcaps): Complicated logic to get caps on
54         both pads, even if they are different, and to call set_caps once
55         for every time both pads get their caps set.
56         (gst_base_transform_handle_buffer): Give the ref to the transform
57         function. Allows in-place modification of the buffer.
58
59         * gst/base/gstbasetransform.h (transform_caps): New class method.
60         Given caps on one side, what can I do on the other.
61         (set_caps): Take two caps, one for each side of the element.
62
63         * gst/gstpad.h:
64         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
65         caps in place. This is safe because we can check the mutability of
66         the caps, and a good idea because fixate functions are just called
67         as a matter of last resort. (Not actually implemented.)
68         (gst_pad_set_caps): If the caps we're setting is actually the same
69         as the existing pad caps, just update the pointer without calling
70         setcaps. Assert that caps is either NULL or fixed, as per the
71         docs.
72
73         * gst/gstghostpad.c: Update for fixate changes.
74
75 2005-07-02  Andy Wingo  <wingo@pobox.com>
76
77         * gst/gstcaps.c:
78         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
79         two refcounts makes it immutable, which is enough. Doc more.
80
81 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
82
83         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
84           Put the mini_object into GValue as a mini_object,
85           not a gpointer, since that's how we declared
86           the signal.
87
88 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
89
90         * examples/pwg/Makefile.am:
91           Fix buildbot again.
92
93 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
94
95         * docs/pwg/building-testapp.xml:
96           Add extra check.
97         * examples/pwg/Makefile.am:
98           Fix buildbot.
99
100 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
101
102         * configure.ac:
103         * examples/Makefile.am:
104         * examples/pwg/Makefile.am:
105         * examples/pwg/extract.pl:
106           Enable building the PWG examples.
107         * docs/pwg/advanced-interfaces.xml:
108           Add URI interface stub.
109         * docs/pwg/advanced-types.xml:
110         * docs/pwg/other-autoplugger.xml:
111         * docs/pwg/appendix-porting.xml:
112         * docs/pwg/pwg.xml:
113           Add porting guide (mostly stubs), remove autoplugging (see ADM).
114         * docs/pwg/building-boiler.xml:
115         * docs/pwg/building-chainfn.xml:
116         * docs/pwg/building-pads.xml:
117         * docs/pwg/building-props.xml:
118         * docs/pwg/building-state.xml:
119         * docs/pwg/building-testapp.xml:
120           Update the building-*.xml parts for 0.9 changes. All examples
121           code blocks compile in examples/pwg/*.
122
123 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
124
125         * docs/manual/advanced-autoplugging.xml:
126         * docs/manual/appendix-checklist.xml:
127         * docs/manual/appendix-integration.xml:
128         * docs/manual/highlevel-components.xml:
129           Fix playbin/decodebin examples, update docs a bit, mention bus
130           instead of signals in various places, mention kmplayer and
131           kaffeine since they have a working GStreamer backend in the KDE
132           section.
133
134 2005-06-30  Wim Taymans  <wim@fluendo.com>
135
136         * CHANGES-0.9:
137         * docs/design/draft-ghostpads.txt:
138         * docs/design/draft-push-pull.txt:
139         * docs/design/draft-query.txt:
140         * docs/design/part-TODO.txt:
141         * docs/design/part-query.txt:
142         Added CHANGES-0.9 doc, updated status of other docs.
143         
144         * gst/gstquery.h:
145         Remove "hmm" macro
146
147 2005-06-30  Wim Taymans  <wim@fluendo.com>
148
149         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
150         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
151         (gst_base_sink_change_state):
152         * gst/base/gstbasesink.h:
153         Some tweaks, only EOS and a buffer complete a preroll.
154
155 2005-06-30  Andy Wingo  <wingo@pobox.com>
156
157         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
158         activate_push down to the internal pad as well.
159
160 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
161
162         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
163
164         * gst/gsttaginterface.c:
165           Some documentation fixes (#307394 and #307397).
166
167 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
168
169         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
170
171         * gst/gstvalue.c: (gst_value_intersect_list):
172           Fix memleak (#309125).
173
174 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
175
176         * docs/manual/advanced-dataaccess.xml:
177           Fix fakesrc example to compile; doesn't work, bug somewhere...?
178         * docs/manual/basics-pads.xml:
179           Add reference for filtered caps to above chapter.
180
181 2005-06-30  Wim Taymans  <wim@fluendo.com>
182
183         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
184         (gst_bin_change_state):
185         Probes are gone.
186         Lame attempt at making the state change function a bit
187         more readable.
188
189 2005-06-30  Wim Taymans  <wim@fluendo.com>
190
191         * docs/design/part-clocks.txt:
192         * docs/design/part-element-sink.txt:
193         * docs/design/part-events.txt:
194         * docs/design/part-preroll.txt:
195         * docs/design/part-states.txt:
196         Some more tweeks and additions to the docs.
197
198 2005-06-30  Wim Taymans  <wim@fluendo.com>
199
200         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
201         (default_have_data), (gst_pad_class_init), (gst_pad_init),
202         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
203         (gst_pad_check_pull_range), (gst_pad_get_range),
204         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
205         * gst/gstpad.h:
206         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
207         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
208         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
209         (gst_pad_remove_buffer_probe):
210         Removed atomic operations, use existing LOCK.
211         Move exception handling out of main code path.
212
213 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
214
215         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
216         (silly_return_true_function), (gst_pad_class_init),
217         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
218         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
219         (gst_pad_send_event):
220           Fix accumulator, add default value by using _emitv() instead
221           of _emit() for signal emission.
222
223 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
224
225         * docs/manual/advanced-dataaccess.xml:
226         * examples/manual/Makefile.am:
227           Add probe example.
228         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
229           Make work (??).
230
231 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
232
233         * gst/elements/gstfilesink.c: (gst_filesink_render):
234           Simplify code so that we don't have to handle short
235           writes and return GST_FLOW_ERROR if an error occured.
236
237 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
238
239         * docs/gst/gstreamer-docs.sgml:
240           Remove probes more.
241
242 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
243
244         * docs/gst/gstreamer-sections.txt:
245         * docs/gst/tmpl/gstpad.sgml:
246         * docs/gst/tmpl/gstprobe.sgml:
247         * gst/Makefile.am:
248         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
249         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
250         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
251         (gst_pad_push_event), (gst_pad_send_event):
252         * gst/gstpad.h:
253         * gst/gstutils.c: (gst_pad_add_data_probe),
254         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
255         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
256         (gst_pad_remove_buffer_probe):
257         * gst/gstutils.h:
258           Remove old probes, add new g-signal-based probes and some utility
259           functions.
260
261 2005-06-29  Edward Hervey  <edward@fluendo.com>
262
263         * gst/gstelementfactory.c:
264         * gst/gstutils.h:
265         * gst/gstutils.c:
266         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
267         the definition to the header file.
268
269 2005-06-29  Andy Wingo  <wingo@pobox.com>
270
271         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
272         plugins from the source directory.
273
274 2005-06-29  Wim Taymans  <wim@fluendo.com>
275
276         * docs/gst/tmpl/gstbuffer.sgml:
277         * docs/gst/tmpl/gstclock.sgml:
278         Some fixings for blantently wrong text.
279
280 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
281
282         * check/Makefile.am:
283         * gst/gst.c: (add_path_func), (init_pre):
284         * gst/gstregistry.c: (gst_registry_add_path):
285           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
286           only scan the GST_PLUGIN_PATH locations, and not add
287           system locations
288
289 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
290
291         * docs/gst/gstreamer-sections.txt:
292         * docs/gst/tmpl/gstbasesrc.sgml:
293         * gst/gstelement.c:
294         * gst/gstelement.h:
295         * gst/gstevent.c:
296         * gst/gstutils.c:
297           doc fixes
298
299 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
300
301         * docs/manual/advanced-autoplugging.xml:
302           Fix autoplugging example.
303
304 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
305
306         * docs/manual/advanced-autoplugging.xml:
307         * docs/manual/mime-world.fig:
308           Try to get autoplugging working, fix type detection. Fix text
309           in hello-world image.
310
311 2005-06-29  Wim Taymans  <wim@fluendo.com>
312
313         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
314         (gst_base_sink_change_state):
315         Small debug line.
316
317         * gst/gstclock.h:
318         map SIGNAL and BROADCAST to the right function.
319
320         * gst/gstobject.h:
321         Remove redundant braces.
322
323         * gst/gstpad.c: (gst_pad_set_caps):
324         Don't call setcaps function when reseting caps to NULL.
325
326         * gst/gstsystemclock.c: (gst_system_clock_dispose),
327         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
328         (gst_system_clock_id_unschedule):
329         Use BROADCAST as this is what we do.
330
331 2005-06-29  Wim Taymans  <wim@fluendo.com>
332
333         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
334         We are actually prerolling before commiting the state
335         change. 
336
337 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
338
339         * docs/manual/advanced-clocks.xml:
340         * docs/manual/advanced-interfaces.xml:
341         * docs/manual/advanced-metadata.xml:
342         * docs/manual/advanced-position.xml:
343         * docs/manual/advanced-schedulers.xml:
344         * docs/manual/advanced-threads.xml:
345         * docs/manual/appendix-porting.xml:
346         * docs/manual/basics-bins.xml:
347         * docs/manual/basics-bus.xml:
348         * docs/manual/basics-elements.xml:
349         * docs/manual/basics-helloworld.xml:
350         * docs/manual/basics-pads.xml:
351         * docs/manual/highlevel-components.xml:
352         * docs/manual/manual.xml:
353         * docs/manual/thread.fig:
354           Update (until threads/scheduling) Application Development Manual;
355           remove GstThread, add GstBus, add simple porting checklist, add
356           documentation for tag writing, clocks, make all examples until this
357           part compile and run.
358         * examples/manual/Makefile.am:
359           Update from changes to Application Development Manual; add bus
360           example, remove thread example.
361
362 2005-06-28  Wim Taymans  <wim@fluendo.com>
363
364         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
365         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
366         (gst_bus_source_dispatch):
367         Add debugging messages.
368         Make internal methods static.
369         Handle the case where the bus is flushed in the handler.
370         
371         * gst/gstelement.c: (gst_element_get_bus):
372         Fix refcount in _get_bus();
373
374         * gst/gstpipeline.c: (gst_pipeline_change_state),
375         (gst_pipeline_get_clock_func):
376         Clock refcounting fixes.
377         Handle the case where preroll timed out more gracefully.
378         
379         * gst/gstsystemclock.c: (gst_system_clock_dispose):
380         Clean up the internal thread in dispose. This is needed
381         for subclasses that actually get disposed.
382         
383         * gst/schedulers/threadscheduler.c:
384         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
385         (gst_thread_scheduler_dispose):
386         Free thread pool in dispose.
387
388 2005-06-28  Andy Wingo  <wingo@pobox.com>
389
390         * tests/network-clock-utils.scm (debug, print-event): New utils.
391
392         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
393         (*packet-loss*): Unified loss probability.
394         (network-time): Report out-of-band events.
395
396         * tests/plot-data: Add support for out-of-band events. Hack it
397         into this script instead of passing it down the pipe; should fix
398         this later.
399
400 2005-06-28  Wim Taymans  <wim@fluendo.com>
401
402         * docs/gst/gstreamer.types:
403         * docs/gst/tmpl/gstbasesrc.sgml:
404         * docs/gst/tmpl/gstpad.sgml:
405         Docs fixes.
406
407 2005-06-28  Wim Taymans  <wim@fluendo.com>
408
409         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
410         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
411         (gst_proxy_pad_do_fixatecaps):
412         Correctly proxy the check_pull_range function.
413
414 2005-06-28  Andy Wingo  <wingo@pobox.com>
415
416         * tests/network-clock.scm: Removed need for slib.
417         
418 2005-06-28  Wim Taymans  <wim@fluendo.com>
419
420         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
421         (gst_basesink_preroll_queue_flush):
422         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
423         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
424         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
425         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
426         (gst_proxy_pad_set_property):
427         * gst/gstpad.c:
428         * gst/gstpad.h:
429         * gst/gstqueue.c: (gst_queue_init):
430         The deprecated pad loop function is removed now.
431
432 2005-06-28  Andy Wingo  <wingo@pobox.com>
433
434         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
435         New parameters, simulate network packet loss.
436
437         * tests/network-clock-utils.scm: Initialize the RNG.
438
439 2005-06-28  Wim Taymans  <wim@fluendo.com>
440
441         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
442         (gst_basesink_event), (gst_basesink_deactivate):
443         Flushing the preroll queue always needs to unlock the waiters.
444
445 2005-06-28  Edward Hervey  <edward@fluendo.com>
446
447         * gst/gstpipeline.c: (gst_pipeline_send_event): 
448         Wheen a seek was successful on a pipeline, set the stream_time to the
449         seek offset in order to have a synchronized stream_time.
450
451 2005-06-28  Wim Taymans  <wim@fluendo.com>
452
453         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
454         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
455         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
456         (gst_proxy_pad_do_fixatecaps):
457         Call wrapper function instead of just calling the function
458         pointers. This takes care of any locking and whatmore.
459
460 2005-06-28  Wim Taymans  <wim@fluendo.com>
461
462         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
463         (gst_pad_pull_range):
464         * gst/gstpad.h:
465         CONNECTED -> LINKED.
466
467 2005-06-28  Andy Wingo  <wingo@pobox.com>
468
469         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
470         source-munging commit!!!
471
472         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
473         (gst_object_sink): Take gpointer arguments, not GstObject --
474         avoids casts. Like GLib.
475
476         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
477         activate.
478
479 2005-06-27  Andy Wingo  <wingo@pobox.com>
480
481         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
482         remaining buffer.
483
484         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
485         returns a sorted copy of the trace list.
486         (gst_alloc_trace_print_live): New API, only prints traces with
487         live objects. Sort the list.
488         (gst_alloc_trace_print_all): Sort the list.
489         (gst_alloc_trace_print): Align columns.
490
491         * gst/elements/gstttypefindelement.c:
492         * gst/elements/gsttee.c:
493         * gst/base/gstbasesrc.c:
494         * gst/base/gstbasesink.c:
495         * gst/base/gstbasetransform.c:
496         * gst/gstqueue.c: Adapt for pad activation changes.
497
498         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
499         sched.
500         (gst_pipeline_dispose): Drop ref on sched.
501
502         * gst/gstpad.c (gst_pad_init): Set the default activate func.
503         (gst_pad_activate_default): Push mode by default.
504         (pre_activate_switch, post_activate_switch): New stubs, things to
505         do before and after switching activation modes on pads.
506         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
507         the pad's activate function to choose which mode to activate.
508         Shortcut on deactivation and call the right function directly.
509         (gst_pad_activate_pull): New API, (de)activates a pad in pull
510         mode.
511         (gst_pad_activate_push): New API, same for push mode.
512         (gst_pad_set_activate_function) 
513         (gst_pad_set_activatepull_function) 
514         (gst_pad_set_activatepush_function): Setters for new API.
515
516         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
517         Trace all miniobjects.
518         (gst_mini_object_make_writable): Unref the arg if we copy, like
519         gst_caps_make_writable.
520
521         * gst/gstmessage.c (_gst_message_initialize): No trace init.
522
523         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
524         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
525         Adapt for new pad API.
526
527         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
528
529         * gst/gstelement.h:
530         * gst/gstelement.c (gst_element_iterate_src_pads) 
531         (gst_element_iterate_sink_pads): New API functions.
532         
533         * gst/gstelement.c (iterator_fold_with_resync): New utility,
534         should fold into gstiterator.c in some form.
535         (gst_element_pads_activate): Simplified via use of fold and
536         delegation of decisions to gstpad->activate.
537
538         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
539         help in debugging.
540
541         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
542         class once in init, like gstmessage. Didn't run into this issue
543         but it seems correct. Don't initialize a trace, gstminiobject does
544         that.
545
546         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
547         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
548         to the bus.
549         (assert_live_count): New util function, uses alloc traces to check
550         cleanup.
551
552         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
553         To be modified when unlink drops the internal pad.
554
555 2005-06-27  Wim Taymans  <wim@fluendo.com>
556
557         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
558         (gst_bin_change_state):
559         Cleanup the get_state() function a little, make sure it
560         iterates the same set of elements.
561         Added stub iterate_state_order().
562
563 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
564
565         * docs/gst/gstreamer-docs.sgml:
566         * docs/gst/gstreamer-sections.txt:
567         * docs/gst/gstreamer.types:
568         * docs/gst/tmpl/gstbasesink.sgml:
569         * docs/gst/tmpl/gstbasesrc.sgml:
570         * docs/gst/tmpl/gstbasetransform.sgml:
571         * docs/gst/tmpl/gstelement.sgml:
572         * docs/gst/tmpl/gstiterator.sgml:
573         * gst/base/gstbasesrc.c:
574         * gst/base/gstbasesrc.h:
575         * gst/base/gstbasetransform.h:
576         * gst/gstelement.c:
577         * gst/gstiterator.h:
578           adding basetransform and iterator docs
579
580 2005-06-27  Andy Wingo  <wingo@pobox.com>
581
582         * docs/design/part-activation.txt: Notes on how activation should
583         work -- not quite implemented yet.
584
585 2005-06-25  Wim Taymans  <wim@fluendo.com>
586
587         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
588         At least get the chain function correct, needs more
589         fixing.
590
591 2005-06-25  Wim Taymans  <wim@fluendo.com>
592
593         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
594         (gst_basesink_handle_object), (gst_basesink_event),
595         (gst_basesink_do_sync), (gst_basesink_handle_event),
596         (gst_basesink_change_state):
597         * gst/gsttask.h:
598         Right, two problems here: ghostpads don't take locks and
599         glib _rec_mutex_lock_full() with depth==0 still locks.
600         Catch illegal locking and g_warn them.
601
602 2005-06-25  Wim Taymans  <wim@fluendo.com>
603
604         * check/states/sinks.c: (START_TEST), (gst_object_suite):
605         Have to check for completion now...
606
607 2005-06-25  Wim Taymans  <wim@fluendo.com>
608
609         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
610         (gst_basesink_handle_object), (gst_basesink_event),
611         (gst_basesink_do_sync), (gst_basesink_handle_event),
612         (gst_basesink_change_state):
613         * gst/gstpad.h:
614         Unlock STREAM_LOCK whatever the recursion was.
615
616 2005-06-25  Wim Taymans  <wim@fluendo.com>
617
618         * gst/base/gstbasesink.c: (gst_basesink_set_property),
619         (gst_basesink_preroll_queue_empty),
620         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
621         (gst_basesink_event), (gst_basesink_do_sync),
622         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
623         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
624         (gst_basesink_change_state):
625         Reworked the base sink, handle event and buffer serialisation
626         correctly and removed possible deadlock.
627         Handle EOS correctly.
628
629 2005-06-25  Wim Taymans  <wim@fluendo.com>
630
631         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
632         (gst_pipeline_change_state):
633         * tools/gst-launch.c: (check_intr), (event_loop), (main):
634         Allow elements to post EOS in the state change function.
635         Fix up -launch, make it exit the poll loop when the
636         pipeline actually changed state.
637         Fix up warning parsing in -launch.
638
639 2005-06-25  Wim Taymans  <wim@fluendo.com>
640
641         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
642         (gst_tee_sink_activate):
643         Core takes STREAM_LOCK for us now.
644
645 2005-06-25  Wim Taymans  <wim@fluendo.com>
646
647         * gst/gstelement.c: (gst_element_get_state_func),
648         (gst_element_set_state):
649         * gst/gstelement.h:
650         * gst/gstmessage.c: (gst_message_parse_error),
651         (gst_message_parse_warning):
652         Keep track of current target state while performing a state
653         change so that subclasses can do something interesting.
654         Fix parsing of warning/error messages when GError is NULL.
655
656 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
657
658         * docs/gst/Makefile.am:
659         * docs/gst/gstreamer-docs.sgml:
660         * docs/gst/gstreamer-sections.txt:
661         * docs/gst/gstreamer.types:
662         * docs/gst/tmpl/gstbasesink.sgml:
663         * docs/gst/tmpl/gstbasesrc.sgml:
664         * docs/gst/tmpl/gstbin.sgml:
665         * docs/gst/tmpl/gstcompat.sgml:
666         * docs/gst/tmpl/gstfakesink.sgml:
667         * docs/gst/tmpl/gstfakesrc.sgml:
668         * docs/gst/tmpl/gstfilesink.sgml:
669         * docs/gst/tmpl/gstfilesrc.sgml:
670         * docs/gst/tmpl/gstindex.sgml:
671         * docs/manual/appendix-quotes.xml:
672         * gst/base/gstbasesrc.h:
673         * gst/elements/gstfakesrc.h:
674         * gst/gstmessage.h:
675           start pulling in base classes and elements in our docs
676
677 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
678
679         * docs/gst/Makefile.am:
680         * docs/libs/Makefile.am:
681           fixed make distcheck with gtk-doc 1.3
682
683 2005-06-23  Wim Taymans  <wim@fluendo.com>
684
685         * gst/gstelement.c: (gst_element_get_state_func),
686         (gst_element_set_state), (gst_element_change_state):
687         When the state did not change, also report NO_PREROLL
688         when it matters.
689
690 2005-06-23  Wim Taymans  <wim@fluendo.com>
691
692         * gst/gstpad.c: (gst_pad_event_default):
693         * gst/gstqueue.c: (gst_queue_loop):
694         No unsafe task pausing please.
695
696 2005-06-23  Wim Taymans  <wim@fluendo.com>
697
698         * gst/schedulers/threadscheduler.c:
699         (gst_thread_scheduler_task_start),
700         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
701         Ref the task before pushing it on the threadpool. This
702         makes sure that we have a ref when the threadfunction is
703         actually called.
704
705 2005-06-23  Andy Wingo  <wingo@pobox.com>
706
707         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
708         offset is greater than the file's size.
709
710         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
711         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
712         * gst/gstobject.c (gst_object_class_init): Make the class lock
713         recursive. Wim won't let me drop deep_notify. Decodebin works
714         again, whoopdy doo.
715
716         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
717         internal pad, and hacks accordingly. Doesn't do it on the target
718         pad because we change its caps. Probably catches all cases of
719         interest tho.
720         (gst_ghost_pad_set_property): Connect to notify::caps as
721         appropritate.
722
723         * tests/network-clock.scm (plot-simulation): Pipe data to the
724         elite python skript.
725
726         * tests/network-clock-utils.scm (define-parameter): New macro,
727         defines a parameter that can be set via the command line.
728         (set-parameter!, parse-parameter-arguments): Command line args
729         parser.
730
731         * tests/plot-data: Simple matplotlib-based plotter, takes input on
732         stdin.
733
734 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
735
736         * gst/elements/gsttypefindelement.c:
737         (gst_type_find_element_handle_event):
738           Don't restart typefinding on a discont.
739         * gst/gstelement.c: (gst_element_set_state):
740           Debug spelling fix.
741         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
742           Allow changing mode of an active pad.
743           Debug output fixes.
744         * gst/registries/gstlibxmlregistry.c: (load_feature):
745           Don't cast a static pad template to a normal pad template.
746
747 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
748
749         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
750         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
751           remove gst_strtoll completely, since it didn't actually do
752           anything more than what g_ascii_strtoull already does.
753           check for range errors when deserializing
754           do a cast for the unsigned cases; but further fixing needs
755           a decision on what the interpretation of "(int)" and
756           deserialization should be for values that fall outside the
757           type's boundaries (ie, refuse, or interpret as casting)
758
759 2005-06-23  Wim Taymans  <wim@fluendo.com>
760
761         * check/Makefile.am:
762         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
763         * docs/design/part-live-source.txt:
764         * docs/design/part-states.txt:
765         * gst/base/gstbasesrc.c: (gst_basesrc_init),
766         (gst_basesrc_set_live), (gst_basesrc_is_live),
767         (gst_basesrc_get_range), (gst_basesrc_activate),
768         (gst_basesrc_change_state):
769         * gst/base/gstbasesrc.h:
770         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
771         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
772         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
773         * gst/gstelement.c: (gst_element_get_state_func),
774         (gst_element_set_state):
775         * gst/gstelement.h:
776         * gst/gsttypes.h:
777         * tools/gst-launch.c: (event_loop), (main):
778         Added support for live sources and other elements that
779         cannot do preroll.
780         Updated design docs, added live-source design doc.
781         Implemented live source functionality in basesrc
782         Fix error condition in _bin_get_state()
783         Implement live source handling in -launch.
784         Added check for live sources.
785         Fixed case in GstBin where elements were changed state
786         multiple times.
787
788
789 2005-06-23  Andy Wingo  <wingo@pobox.com>
790
791         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
792         borken refcounting.
793
794         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
795         gst_caps_replace takes care of this for us.
796
797         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
798         gst_pad_set_caps on the target, not just its setcaps() function.
799
800         * tests/network-clock.scm: 
801         * tests/network-clock-utils.scm: A network clock simulator.
802         Something of an algorithmic testbed before doing something in C.
803
804 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
805
806         * check/Makefile.am:
807         * check/gst/capslist.h:
808           copy over from 0.8, and add two with bitmasks specified with
809           (int) 0xFF...
810         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
811           add test to parse everything from capslist.h
812         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
813         (main):
814           add test for structure deserialization
815         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
816           add tests for deserialization of strings to int types
817         * gst/gststructure.c: (gst_structure_nth_field_name):
818         * gst/gststructure.h:
819           add a way to get the name of a field referenced by index
820         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
821           instead of checking if the resulting long long lies between
822           min and max, we check if the long long would fit into
823           a number of bytes for the final type.
824           This fixes cases where a string represents 2^32 - 1, which
825           when cast to int would be the (valid) -1, but is bigger than
826           G_MAXINT
827
828 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
829
830         * gst/parse/grammar.y:
831           add a log line for type deserialization
832
833 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
834
835         * check/gst/gstvalue.c: (START_TEST):
836         * gst/gstvalue.c: (gst_value_deserialize):
837           return long long, not int, so gint64 deserialization actually
838           works.  Is there any flag that makes the compiler check this ?
839           Fixes #308559
840
841 2005-06-22  Wim Taymans  <wim@fluendo.com>
842
843         * gst/gstbuffer.h:
844         Added convenience macros for setting buffers in GValue.
845
846 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
847
848         * check/gst/.cvsignore:
849         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
850           add a test deserializing int64, and comment part out because
851           it fails, yay !
852
853 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
854
855         * check/Makefile.am:
856         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
857         * testsuite/Makefile.am:
858         * testsuite/caps/Makefile.am:
859         * testsuite/caps/value_serialize.c:
860         * testsuite/test_gst_init.c:
861           move a value_serialize test over
862
863 2005-06-20  Wim Taymans  <wim@fluendo.com>
864
865         * gst/gstpad.c:
866         Small doc updates.
867         
868         * gst/gstvalue.c: (gst_value_compare_buffer),
869         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
870         (gst_value_compare_flags), (gst_value_serialize_flags),
871         (gst_value_deserialize_flags), (_gst_value_initialize):
872         Fix serialisation of buffers, they are not boxed types anymore
873
874 2005-06-20  Wim Taymans  <wim@fluendo.com>
875
876         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
877         Testcase to show error in buffer-on-caps serialisation.
878
879 2005-06-20  Andy Wingo  <wingo@pobox.com>
880
881         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
882         will be adding to later.
883
884         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
885         if its socks fill with rocks.
886         (gst_system_clock_obtain): Set the name on object construction.
887         Avoid double-checked locking.
888
889 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
890
891         * gst/gsturi.c: (gst_element_make_from_uri):
892           Fix potential endless loop.
893
894 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
895
896         * check/Makefile.am:
897           add gsttag
898         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
899         (main):
900           move over from testsuite dir and clean up
901         * configure.ac:
902         * gst/gsttag.c:
903         * testsuite/Makefile.am:
904         * testsuite/tags/.cvsignore:
905         * testsuite/tags/Makefile.am:
906         * testsuite/tags/merge.c:
907           remove testsuite/tags
908
909 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
910
911         * docs/gst/gstreamer-sections.txt:
912         * docs/gst/tmpl/gstenumtypes.sgml:
913         * win32/gstenumtypes.c:
914           clean up documentation build a little
915
916 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
917
918         * check/gstcheck.h:
919           add macros for checking refcounts on objects and caps
920         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
921           add some more unit tests
922         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
923         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
924           fix leaked refcounts (I hope :)) so unittest works
925         * gst/gstpad.h:
926           whitespace removal
927
928 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
929
930         * configure.ac: back to HEAD
931
932 === release 0.9.1 ===
933
934 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
935
936         * NEWS:
937         * RELEASE:
938           updated
939
940 2005-06-17  Andy Wingo  <wingo@pobox.com>
941
942         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
943         assert; it's always possible that the pad gets deactivated in
944         between the checks in gstpad.c and the implementation. Rely on
945         finish_preroll() to return a FLUSHING or similar instead of on the
946         assert.
947         
948         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
949         clock and post an EOS message if we come out of finish_preroll in
950         the playing state.
951
952 2005-06-16  David Schleef  <ds@schleef.org>
953
954         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
955         (gst_capsfilter_set_property): Allow NULL as possible value
956         for filter_caps property, indicating GST_CAPS_ANY.
957
958 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
959
960         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
961           fix debug output
962         * gst/schedulers/Makefile.am:
963           use libgst prefix
964         * gstreamer.spec.in:
965           fix spec for it
966
967 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
968
969         * gstreamer.spec.in:
970           clean up
971
972 2005-06-08  Andy Wingo  <wingo@pobox.com>
973
974         * gst/gstutils.c: RPAD fixes all around.
975         (gst_element_link_pads): Refcounting fixes.
976
977         * tools/gst-inspect.c:
978         * tools/gst-xmlinspect.c:
979         * parse/grammar.y:
980         * gst/base/gsttypefindhelper.c:
981         * gst/base/gstbasesink.c:
982         * gst/gstqueue.c: RPAD fixes.
983
984         * gst/gstghostpad.h:
985         * gst/gstghostpad.c: New ghost pad implementation as full proxy
986         pads. The tricky thing is they provide both source and sink
987         interfaces, since they proxy the internal pad for the external
988         pad, and vice versa. Implement with lower-level ProxyPad objects,
989         with the interior proxy pad as a child of the exterior ghost pad.
990         Should write a doc on this.
991         
992         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
993         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
994         gst_object API.
995         
996         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
997         pads are real pads. No ghost pads in this file. Not documenting
998         the myriad s/RPAD/PAD/ and REALIZE fixes.
999         (gst_pad_class_init): Add properties for "direction" and
1000         "template". Both are construct-only, so they can't change during
1001         the life of the pad. Fixes properly deriving from GstPad.
1002         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
1003         derived objects, just set properties when creating the objects via
1004         g_object_new.
1005         (gst_pad_get_parent): Implement as a function, return NULL if the
1006         parent is not an element.
1007         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
1008         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
1009         
1010         * gst/gstobject.c (gst_object_class_init): Make name a construct
1011         property. Don't set it in the object init.
1012
1013         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
1014         with UNKNOWN direction.
1015         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
1016         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
1017         (gst_element_remove_pad): Remove ghost-pad special cases.
1018         (gst_element_pads_activate): Remove rpad cruft.
1019
1020         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
1021         catch the pad's-parent-not-an-element case.
1022
1023         * gst/gst.h: Include gstghostpad.h.
1024
1025         * gst/gst.c (init_post): No more real, ghost pads.
1026
1027         * gst/Makefile.am: Add gstghostpad.[ch].
1028
1029         * check/Makefile.am:
1030         * check/gst/gstbin.c:
1031         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
1032         into a bin creates ghost pads, and that the refcounts are right.
1033         Partly moved from gstbin.c.
1034
1035 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1036
1037         * check/gst-libs/.cvsignore:
1038         * check/gst/.cvsignore:
1039         * check/pipelines/.cvsignore:
1040           ignore more
1041         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
1042         (START_TEST), (cleanup_suite), (main):
1043           add some tests related to cleanup after running pipelines
1044
1045 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1046
1047         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
1048           add a testsuite for GstBuffer
1049
1050 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1051
1052         * gst/gstminiobject.h:
1053           add defines for accessing the refcount
1054
1055 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
1056
1057         * Makefile.am: added support for html unit test coverage reports
1058
1059 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
1060
1061         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
1062           Free existing caps if the capsfilter changes. Add a FIXME about
1063           setting those caps on the pads.
1064
1065         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
1066           Before adding a ghost pad to a parent bin, check that there isn't
1067           already one for the element on the bin. Prevents infinite recursion
1068           when using decodebin in parse pipelines. Andy says he'll rewrite the
1069           way this works anyway, so ignore the hack.
1070
1071 2005-06-02  Andy Wingo  <wingo@pobox.com>
1072
1073         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
1074         file size, pass it on to the type find helper.
1075
1076         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
1077         segment_start and segment_end properly according to the seek
1078         method. Segment_end is still a bit flaky because offset can be
1079         negative for CUR and END cases, but it takes -1 as an "unset"
1080         value.
1081
1082 2005-06-02  Wim Taymans  <wim@fluendo.com>
1083
1084         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
1085         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
1086         (gst_basesink_activate):
1087         * gst/base/gstbasesink.h:
1088         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
1089         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
1090         (gst_pad_query), (gst_pad_start_task):
1091         * gst/gstpad.h:
1092         * gst/gstqueue.c: (gst_queue_bufferalloc),
1093         (gst_queue_handle_sink_event), (gst_queue_chain):
1094         Bufferalloc: return GstFlowReturn to more accuratly report
1095         why allocation failed.
1096
1097 2005-06-02  Wim Taymans  <wim@fluendo.com>
1098
1099         * gst/gstpipeline.c: (gst_pipeline_send_event):
1100         Take snapshot of state without blocking.
1101
1102 2005-06-02  Wim Taymans  <wim@fluendo.com>
1103
1104         * docs/design/part-TODO.txt:
1105         * docs/design/part-caps.txt:
1106         * docs/design/part-clocks.txt:
1107         * docs/design/part-negotiation.txt:
1108         * docs/design/part-preroll.txt:
1109         Small doc updates 
1110
1111 2005-05-30  Wim Taymans  <wim@fluendo.com>
1112
1113         * gst/elements/gstidentity.c: (gst_identity_event),
1114         (gst_identity_transform), (gst_identity_get_property):
1115         Protect last_message property as it is accessed from
1116         multiple threads.
1117
1118 2005-05-30  Wim Taymans  <wim@fluendo.com>
1119
1120         * gst/gstelement.c: (gst_element_init),
1121         (gst_element_pads_activate), (gst_element_change_state):
1122         Slicker pad activation code.
1123
1124 2005-05-30  Wim Taymans  <wim@fluendo.com>
1125
1126         * gst/Makefile.am:
1127         * gst/gstelement.h:
1128         * gst/gstelementfactory.h:
1129         * gst/gsttypes.h:
1130         Move elementfactory methods to separate .h file.
1131
1132 2005-05-30  Wim Taymans  <wim@fluendo.com>
1133
1134         * docs/design/part-overview.txt:
1135         * gst/gstsystemclock.h:
1136         Small typo fixes, doc updates.
1137
1138 2005-05-30  Wim Taymans  <wim@fluendo.com>
1139
1140         * gst/gst.c: (gst_init_get_popt_table), (init_post),
1141         (init_popt_callback):
1142         Remove cpu-opt flag.
1143
1144 2005-05-30  Wim Taymans  <wim@fluendo.com>
1145
1146         * gst/gstbuffer.c: (gst_subbuffer_finalize),
1147         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
1148         * gst/gstbuffer.h:
1149         Avoid typechecking in places where not needed.
1150         Added accessor for malloc_data.
1151
1152 2005-05-30  Wim Taymans  <wim@fluendo.com>
1153
1154         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
1155         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
1156         (gst_pad_configure_sink), (gst_pad_configure_src),
1157         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
1158         (gst_pad_start_task):
1159         Propagate errors from _set_caps() in configure_src/sink
1160         functions instead of returning TRUE.
1161         FLUSH events can travel up and downstream
1162
1163
1164 2005-05-30  Wim Taymans  <wim@fluendo.com>
1165
1166         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
1167         (gst_basesink_activate):
1168         Handle EOS in preroll.
1169
1170 2005-05-30  Wim Taymans  <wim@fluendo.com>
1171
1172         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1173         (gst_queue_loop), (gst_queue_handle_src_event):
1174         Remove old pieces of code
1175         Flushing the queue in an upstream event is a very bad idea.
1176
1177 2005-05-26  Andy Wingo  <wingo@pobox.com>
1178
1179         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
1180         gst_value_set_mini_object so as to add a ref on the object (which
1181         will be removed when the value is unset).
1182
1183         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
1184         arg type in ::handoff.
1185
1186         * gst/gstelement.c (gst_element_change_state): Also deactivate
1187         pads in READY->NULL, just in case the element didn't make it to
1188         PAUSED. Wingo tested, Wim approved.
1189
1190 2005-05-26  Wim Taymans  <wim@fluendo.com>
1191
1192         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
1193         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
1194         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
1195         A flushing pad cannot be used to alloc_buffer from.
1196
1197 2005-05-26  Wim Taymans  <wim@fluendo.com>
1198
1199         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
1200         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
1201         (gst_bus_source_dispatch), (gst_bus_source_finalize),
1202         (gst_bus_create_watch), (gst_bus_add_watch_full):
1203         * gst/gstbus.h:
1204         Implement a real GSource and use g_main_context_wakeup() to
1205         signal new messages instead of the socketpair.
1206
1207 2005-05-25  Wim Taymans  <wim@fluendo.com>
1208
1209         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
1210         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
1211         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
1212         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
1213         (gst_pad_send_event), (gst_pad_start_task):
1214         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
1215         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
1216         (gst_queue_sink_activate), (gst_queue_src_activate),
1217         (gst_queue_change_state):
1218         * gst/gstqueue.h:
1219         Fix state changes for non sinks. We now change sinks, then elements
1220         with unconnected srcpads, then the rest.
1221         More efficient queue unlocking in flush and state changes.
1222         Set the pad activate mode even if it does not have an activate
1223         function.
1224
1225 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1226
1227         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
1228           Don't go in pull mode for non-seekable sources.
1229         * gst/elements/gsttypefindelement.h:
1230         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
1231         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
1232         (free_entry), (stop_typefinding),
1233         (gst_type_find_element_handle_event), (find_peek),
1234         (gst_type_find_element_chain), (do_pull_typefind),
1235         (gst_type_find_element_change_state):
1236           Allow typefinding (w/o seeking) in push-mode, simplified version
1237           of what was in 0.8.
1238         * gst/gstutils.c: (gst_buffer_join):
1239         * gst/gstutils.h:
1240           gst_buffer_join() from 0.8.
1241
1242 2005-05-25  Wim Taymans  <wim@fluendo.com>
1243
1244         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
1245         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
1246         (gst_pad_send_event), (gst_pad_start_task):
1247         Disable attempt at mode switching until it is figured out.
1248
1249 2005-05-25  Wim Taymans  <wim@fluendo.com>
1250
1251         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
1252         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
1253         (gst_basesink_finish_preroll), (gst_basesink_chain),
1254         (gst_basesink_loop), (gst_basesink_activate),
1255         (gst_basesink_change_state):
1256         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
1257         (gst_basesrc_get_range), (gst_basesrc_loop),
1258         (gst_basesrc_activate):
1259         * gst/elements/gsttee.c: (gst_tee_sink_activate):
1260         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
1261         (gst_real_pad_init), (gst_real_pad_set_property),
1262         (gst_real_pad_get_property), (gst_pad_set_active),
1263         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
1264         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
1265         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
1266         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
1267         (gst_pad_event_default_dispatch), (gst_pad_event_default),
1268         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
1269         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
1270         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
1271         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
1272         (gst_pad_stop_task):
1273         * gst/gstpad.h:
1274         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1275         (gst_queue_loop), (gst_queue_src_activate):
1276         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
1277         (gst_task_get_state):
1278         * gst/gsttask.h:
1279         * gst/schedulers/threadscheduler.c:
1280         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
1281         Implement gst_pad_pause/start/stop_task(), take STREAM lock
1282         in task function.
1283         Remove ACTIVE pad flag, use FLUSHING everywhere
1284         Added _pad_chain(), _pad_get_range() to call chain/getrange 
1285         functions.
1286         Add locks around IS_FLUSHING when reading.
1287         Take STREAM lock in chain(), get_range() functions so plugins
1288         don't need to take it anymore.
1289         
1290
1291
1292 2005-05-25  Wim Taymans  <wim@fluendo.com>
1293
1294         * tools/gst-launch.c: (event_loop):
1295         Unref message after using its contents instead of
1296         before.
1297
1298 2005-05-24  Wim Taymans  <wim@fluendo.com>
1299
1300         * docs/design/draft-ghostpads.txt:
1301         * docs/design/draft-push-pull.txt:
1302         * docs/design/draft-query.txt:
1303         * docs/design/part-overview.txt:
1304         Docs updates, added general overview doc.
1305
1306 2005-05-21  David Schleef  <ds@schleef.org>
1307
1308         * docs/gst/tmpl/old/GstBin.sgml:
1309         * docs/gst/tmpl/old/GstBuffer.sgml:
1310         * docs/gst/tmpl/old/GstCaps.sgml:
1311         * docs/gst/tmpl/old/GstClock.sgml:
1312         * docs/gst/tmpl/old/GstCompat.sgml:
1313         * docs/gst/tmpl/old/GstData.sgml:
1314         * docs/gst/tmpl/old/GstElement.sgml:
1315         * docs/gst/tmpl/old/GstEvent.sgml:
1316         * docs/gst/tmpl/old/GstIndex.sgml:
1317         * docs/gst/tmpl/old/GstStructure.sgml:
1318         * docs/gst/tmpl/old/GstTag.sgml:
1319         * docs/gst/tmpl/old/cothreads.sgml:
1320         * docs/gst/tmpl/old/cothreads_compat.sgml:
1321         * docs/gst/tmpl/old/gettext.sgml:
1322         * docs/gst/tmpl/old/gobject2gtk.sgml:
1323         * docs/gst/tmpl/old/grammar.tab.sgml:
1324         * docs/gst/tmpl/old/gst-i18n-app.sgml:
1325         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
1326         * docs/gst/tmpl/old/gst_private.sgml:
1327         * docs/gst/tmpl/old/gstaggregator.sgml:
1328         * docs/gst/tmpl/old/gstarch.sgml:
1329         * docs/gst/tmpl/old/gstatomic_impl.sgml:
1330         * docs/gst/tmpl/old/gstbufferstore.sgml:
1331         * docs/gst/tmpl/old/gstdata_private.sgml:
1332         * docs/gst/tmpl/old/gstdisksink.sgml:
1333         * docs/gst/tmpl/old/gstdisksrc.sgml:
1334         * docs/gst/tmpl/old/gstelementfactory.sgml:
1335         * docs/gst/tmpl/old/gstextratypes.sgml:
1336         * docs/gst/tmpl/old/gstfakesink.sgml:
1337         * docs/gst/tmpl/old/gstfakesrc.sgml:
1338         * docs/gst/tmpl/old/gstfdsink.sgml:
1339         * docs/gst/tmpl/old/gstfdsrc.sgml:
1340         * docs/gst/tmpl/old/gstfilesink.sgml:
1341         * docs/gst/tmpl/old/gstfilesrc.sgml:
1342         * docs/gst/tmpl/old/gsthttpsrc.sgml:
1343         * docs/gst/tmpl/old/gstidentity.sgml:
1344         * docs/gst/tmpl/old/gstindexfactory.sgml:
1345         * docs/gst/tmpl/old/gstmarshal.sgml:
1346         * docs/gst/tmpl/old/gstmd5sink.sgml:
1347         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
1348         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
1349         * docs/gst/tmpl/old/gstpadtemplate.sgml:
1350         * docs/gst/tmpl/old/gstpipefilter.sgml:
1351         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
1352         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
1353         * docs/gst/tmpl/old/gstshaper.sgml:
1354         * docs/gst/tmpl/old/gstspider.sgml:
1355         * docs/gst/tmpl/old/gstspideridentity.sgml:
1356         * docs/gst/tmpl/old/gststatistics.sgml:
1357         * docs/gst/tmpl/old/gsttee.sgml:
1358         * docs/gst/tmpl/old/gsttimecache.sgml:
1359         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
1360         * docs/gst/tmpl/old/gstxmlregistry.sgml:
1361         * docs/gst/tmpl/old/gthread-cothreads.sgml:
1362         * docs/gst/tmpl/old/types.sgml:
1363           I didn't intend to add these or check them in.
1364
1365 2005-05-19  David Schleef  <ds@schleef.org>
1366
1367         * configure.ac: Use -no-common everywhere.  In a sane world, it
1368           would be the default in libtool, because without it, you can't
1369           build DLLs on Windows.
1370         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
1371         * docs/gst/gstreamer-sections.txt:
1372         * docs/gst/tmpl/gstcpu.sgml:
1373         * docs/gst/tmpl/gstdata.sgml:
1374         * docs/gst/tmpl/gstthread.sgml:
1375
1376 2005-05-19  David Schleef  <ds@schleef.org>
1377
1378         * gst/gstminiobject.c: (gst_value_set_mini_object),
1379         (gst_value_take_mini_object), (gst_value_get_mini_object):
1380         * gst/gstminiobject.h: Add GValue set/get functions.
1381
1382 2005-05-19  Wim Taymans  <wim@fluendo.com>
1383
1384         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
1385         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
1386         (gst_subbuffer_init), (gst_buffer_is_span_fast):
1387         * gst/gstbuffer.h:
1388         * gst/gstbus.c: (gst_bus_post):
1389         * gst/gstelement.c: (gst_element_get_random_pad):
1390         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
1391         Make subbufer unref the parent in finalize.
1392         some more debugging info.
1393
1394
1395 2005-05-19  Wim Taymans  <wim@fluendo.com>
1396
1397         * gst/base/gstbasesink.c: (gst_basesink_class_init),
1398         (gst_basesink_init), (gst_basesink_finalize),
1399         (gst_basesink_activate), (gst_basesink_change_state):
1400         Don't free preroll queue too early.
1401
1402 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1403
1404         * gst/Makefile.am:
1405         * gst/ROADMAP:
1406           Hi, I'm outdated. Please shoot me.
1407
1408 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1409
1410         * gst/gstpipeline.c: (gst_pipeline_send_event):
1411           Do not access variables after they have been deleted.
1412
1413 2005-05-19  Wim Taymans  <wim@fluendo.com>
1414
1415         * tools/gst-inspect.c: (print_plugin_features):
1416         A plugin feature does unfortunatly not use the
1417         object name yet...
1418
1419 2005-05-18  Wim Taymans  <wim@fluendo.com>
1420
1421         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
1422         Port _span() functions to new subbuffers.
1423
1424 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1425
1426         * gst/gstbin.c: (gst_bin_add_func):
1427           Fix clock settery in bins when adding kids after the clock has
1428           been selected.
1429
1430 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1431
1432         * gst/elements/gstidentity.c: (gst_identity_class_init):
1433           Workaround until signals support GstMiniObject.
1434
1435 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
1436
1437         * gst/gstbuffer.c:
1438         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
1439
1440 2005-05-18  Wim Taymans  <wim@fluendo.com>
1441
1442         * gst/base/Makefile.am:
1443         * gst/base/gstadapter.c: (gst_adapter_base_init),
1444         (gst_adapter_class_init), (gst_adapter_init),
1445         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
1446         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
1447         (gst_adapter_flush), (gst_adapter_available),
1448         (gst_adapter_available_fast):
1449         * gst/base/gstadapter.h:
1450         Ported and added adapter to the base classes.
1451
1452 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1453
1454         * gst/gst.c:
1455         * gst/gstmessage.c:
1456           Make sure the class is reffed/unreffed once before threads can be
1457           used.  Fixes #304551.
1458
1459 2005-05-17  Wim Taymans  <wim@fluendo.com>
1460
1461         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
1462         (gst_basesink_chain_unlocked), (gst_basesink_activate):
1463         * gst/gstminiobject.c: (gst_mini_object_get_type),
1464         (gst_mini_object_free):
1465         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
1466         (gst_pad_push), (gst_pad_push_event):
1467         * gst/gstqueue.c: (gst_queue_change_state):
1468         Don't queue buffers in basesink when we are flushing.
1469         Unref buffer when flushing in basesink.
1470         Flush queue when going to READY
1471         Unref buffer when _push() returns an error.
1472         Don't free MiniObject instance when refcount is incremented
1473         in _finalize() so that we can recover objects.
1474
1475 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1476
1477         * docs/manual/advanced-schedulers.xml:
1478         * docs/manual/appendix-checklist.xml:
1479         * docs/pwg/advanced-clock.xml:
1480         * docs/pwg/advanced-interfaces.xml:
1481         * docs/pwg/advanced-request.xml:
1482         * docs/pwg/advanced-types.xml:
1483         * docs/pwg/intro-preface.xml:
1484         * examples/plugins/example.c: (gst_example_get_type),
1485         (gst_example_class_init), (gst_example_chain),
1486         (gst_example_set_property), (gst_example_get_property),
1487         (gst_example_change_state), (plugin_init):
1488         * examples/plugins/example.h:
1489           small doc fixes
1490
1491 2005-05-17  Wim Taymans  <wim@fluendo.com>
1492
1493         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
1494         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
1495         * gst/gstqueue.c: (gst_queue_change_state):
1496         Clear queue when going to READY.
1497         Remove IN_SETCAPS flag too.
1498
1499 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
1500
1501         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
1502           Remove implicit cast from gboolean to GstElementStateReturn;
1503           make sure we still return failure in paused => ready case if
1504           the parent class fails to change state and our own stop 
1505           vfunc succeeds.
1506
1507 2005-05-17  Wim Taymans  <wim@fluendo.com>
1508
1509         * tools/gst-launch.c: (event_loop):
1510         Message was unreffed too soon.
1511
1512 2005-05-16  Andy Wingo  <wingo@pobox.com>
1513
1514         * gst/gstbin.c (sink_iterator_filter): Err... um...
1515
1516         * check/gst/gstbin.c (test_ghost_pads): New test for the
1517         ghosting-if-elements-not-in-same-bin behavior.
1518
1519 2005-05-16  David Schleef  <ds@schleef.org>
1520
1521         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
1522         accessing refcount directly.
1523
1524 2005-05-15  David Schleef  <ds@schleef.org>
1525
1526         * check/Makefile.am: remove GstData checks
1527         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
1528         * gst/Makefile.am: add miniobject, remove data
1529         * gst/gst.h: add miniobject, remove data
1530         * gst/gstdata.c: remove
1531         * gst/gstdata.h: remove
1532         * gst/gstdata_private.h: remove
1533         * gst/gsttypes.h: remove GstEvent and GstMessage
1534         * gst/gstelement.c: (gst_element_post_message): fix for API changes
1535         * gst/gstmarshal.list: change BOXED -> OBJECT
1536
1537         Implement GstMiniObject.
1538         * gst/gstminiobject.c:
1539         * gst/gstminiobject.h:
1540
1541         Modify to be subclasses of GstMiniObject.
1542         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
1543         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
1544         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
1545         (gst_subbuffer_get_type), (gst_subbuffer_init),
1546         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
1547         (gst_buffer_span):
1548         * gst/gstbuffer.h:
1549         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
1550         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
1551         (_gst_event_copy), (gst_event_new):
1552         * gst/gstevent.h:
1553         * gst/gstmessage.c: (_gst_message_initialize),
1554         (gst_message_get_type), (gst_message_class_init),
1555         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
1556         (gst_message_new), (gst_message_new_error),
1557         (gst_message_new_warning), (gst_message_new_tag),
1558         (gst_message_new_state_changed), (gst_message_new_application):
1559         * gst/gstmessage.h:
1560         * gst/gstprobe.c: (gst_probe_perform),
1561         (gst_probe_dispatcher_dispatch):
1562         * gst/gstprobe.h:
1563         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
1564         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
1565         (_gst_query_copy), (gst_query_new):
1566
1567         Update elements for GstData -> GstMiniObject changes
1568         * gst/gstquery.h:
1569         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
1570         (gst_queue_chain), (gst_queue_loop):
1571         * gst/elements/gstbufferstore.c:
1572         (gst_buffer_store_add_buffer_func),
1573         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
1574         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1575         (gst_fakesink_render):
1576         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
1577         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
1578         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
1579         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
1580         (gst_filesrc_create_read):
1581         * gst/elements/gstidentity.c: (gst_identity_class_init):
1582         * gst/elements/gsttypefindelement.c:
1583         (gst_type_find_element_src_event), (free_entry_buffers),
1584         (gst_type_find_element_handle_event):
1585         * libs/gst/dataprotocol/dataprotocol.c:
1586         (gst_dp_header_from_buffer):
1587         * libs/gst/dataprotocol/dataprotocol.h:
1588         * libs/gst/dataprotocol/dp-private.h:
1589
1590 2005-05-15  David Schleef  <ds@schleef.org>
1591
1592         * gst/elements/gstelements.c: Don't include headers that were
1593         just removed.
1594
1595 2005-05-15  David Schleef  <ds@schleef.org>
1596
1597         * gst/elements/Makefile.am: Remove some elements that don't
1598         need to be in the core (or even exist at all).
1599         * gst/elements/gstaggregator.c:
1600         * gst/elements/gstaggregator.h:
1601         * gst/elements/gstmd5sink.c:
1602         * gst/elements/gstmd5sink.h:
1603         * gst/elements/gstmultifilesrc.c:
1604         * gst/elements/gstmultifilesrc.h:
1605         * gst/elements/gstpipefilter.c:
1606         * gst/elements/gstpipefilter.h:
1607         * gst/elements/gstshaper.c:
1608         * gst/elements/gstshaper.h:
1609         * gst/elements/gststatistics.c:
1610         * gst/elements/gststatistics.h:
1611         * po/POTFILES.in: Remove above files.
1612
1613 2005-05-14  Andy Wingo  <wingo@pobox.com>
1614
1615         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
1616         so as to get the refs right.
1617         (sink_iterator_filter): New function, wraps bin_element_is_sink,
1618         unreffing objects that don't pass the filter.
1619
1620         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
1621         gst_element_set_bus.
1622         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
1623         normal cases, this will destroy the bus.
1624
1625         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
1626         object.
1627
1628         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
1629         has no sinks.
1630
1631 2005-05-13  Andy Wingo  <wingo@pobox.com>
1632
1633         * gst/gstutils.c (gst_element_link_pads): Instead of calling
1634         gst_pad_link, call pad_link_maybe_ghosting,
1635         (pad_link_maybe_ghosting): Links pads, making sure that the
1636         elements being linked are in the same bin.
1637         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
1638         Helpers for pad_link_maybe_ghosting.
1639
1640 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1641
1642         * configure.ac:
1643           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
1644
1645 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1646
1647         * docs/design/part-element-source.txt:
1648           Mention GstPushSrc
1649
1650 2005-05-12  Wim Taymans  <wim@fluendo.com>
1651
1652         * gst/base/gstbasesink.c: (gst_basesink_init),
1653         (gst_basesink_activate):
1654         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
1655         (gst_basesrc_is_seekable):
1656         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1657         (bin_element_is_sink), (gst_bin_change_state):
1658         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
1659         * gst/gstelement.h:
1660         Identify sinks by their flag to avoid overly complicated
1661         checks (fow now).
1662         Do state changes even for elements not reachable from the
1663         sinks.
1664         BaseSink is a sink now :)
1665         Some more debugging info in the basesrc.
1666
1667
1668 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1669
1670         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
1671           Implement _query on a bin, similar to _send_event.
1672
1673 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1674
1675         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
1676           Discont event offset format should be GST_FORMAT_BYTES,
1677           not GST_FORMAT_TIME.
1678
1679 2005-05-12  Wim Taymans  <wim@fluendo.com>
1680
1681         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
1682         Same fix as Ronald's but without the signal. 
1683
1684 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1685
1686         * gst/gstutils.c: (gst_element_query_position):
1687           No, an element is not a pad.
1688
1689 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1690
1691         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
1692         (gst_bin_get_state):
1693           If a child is removed from a bin while we remove the child from
1694           the bin and while we're retrieving its state, signal this to the
1695           get_state function so we abort the wait (instead of waiting for
1696           a timeout) and can immediately re-iterate over all other elements.
1697
1698 2005-05-12  Wim Taymans  <wim@fluendo.com>
1699
1700         * gst/base/Makefile.am:
1701         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
1702         (gst_basesrc_start):
1703         * gst/base/gstbasesrc.h:
1704         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
1705         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
1706         (gst_pushsrc_init), (gst_pushsrc_create):
1707         * gst/base/gstpushsrc.h:
1708         Added is_seekable to BaseSrc
1709         Added simple PushSrc.
1710
1711 2005-05-11  Wim Taymans  <wim@fluendo.com>
1712
1713         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
1714         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1715         (gst_element_link_pads), (gst_element_query_position),
1716         (gst_element_query_convert), (intersect_caps_func),
1717         (gst_pad_query_position), (gst_pad_query_convert):
1718         Fix refcounting in utils function.
1719         No point in trying to activate a pad when it's added, it could
1720         be added from the state change function and then we deadlock, the
1721         element has to decide what to do.
1722
1723 2005-05-10  Andy Wingo  <wingo@pobox.com>
1724
1725         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
1726         *all* the arguments.
1727
1728         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
1729         stream lock if it's a FLUSH_DONE; normal flushes don't get the
1730         lock (according to the docs -- if this is wrong change the docs).
1731
1732         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
1733         flush messages in the NULL state.
1734
1735         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
1736         message immediately and return.
1737         (gst_bus_set_flushing): New function. If a bus is flushing, it
1738         flushes out any queued messages and immediately unrefs new
1739         messages. This is so when an element goes to NULL, all of the
1740         unhandled messages coming from it can be freed, and their
1741         references to the element dropped. In other words: message source
1742         ref considered harmful :P
1743
1744         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
1745         we're finished with it.
1746
1747         * gst/gstmessage.c (gst_message_new_state_changed): 
1748
1749 2005-05-10  Wim Taymans  <wim@fluendo.com>
1750
1751         * gst/gstvalue.c: (gst_value_compare_flags),
1752         (gst_value_serialize_flags), (gst_value_deserialize_flags),
1753         (_gst_value_initialize):
1754         Added flags serialize/deserialize/compare code.
1755
1756 2005-05-09  Andy Wingo  <wingo@pobox.com>
1757
1758         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
1759         Intersect the peer's caps with our caps.
1760
1761 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1762
1763         * gst/base/gsttypefindhelper.c: (helper_find_peek):
1764         * gst/elements/gsttypefindelement.c: (find_peek):
1765           Handle negative offsets better. Fixes decodebin.
1766
1767 2005-05-09  Wim Taymans  <wim@fluendo.com>
1768
1769         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
1770         (gst_base_transform_event):
1771         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
1772         Implement accept_caps.
1773         Fix silly lock/unlock mismatch in base class.
1774
1775 2005-05-09  Wim Taymans  <wim@fluendo.com>
1776
1777         * docs/design/draft-push-pull.txt:
1778         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
1779         * gst/elements/gstfilesink.c: (gst_filesink_init),
1780         (gst_filesink_query):
1781         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
1782         (gst_type_find_handle_src_query), (find_element_get_length):
1783         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
1784         * gst/gstelement.h:
1785         * gst/gstmessage.c:
1786         * gst/gstmessage.h:
1787         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
1788         (gst_real_pad_get_caps_unlocked),
1789         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
1790         (gst_pad_event_default_dispatch), (gst_pad_event_default),
1791         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
1792         (gst_real_pad_dispose), (gst_real_pad_finalize),
1793         (gst_pad_load_and_link), (gst_pad_save_thyself),
1794         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
1795         (gst_pad_check_pull_range), (gst_pad_pull_range),
1796         (gst_pad_template_get_type), (gst_pad_template_class_init),
1797         (gst_pad_template_init), (gst_pad_template_dispose),
1798         (name_is_valid), (gst_static_pad_template_get),
1799         (gst_pad_template_new), (gst_static_pad_template_get_caps),
1800         (gst_pad_template_get_caps), (gst_pad_set_element_private),
1801         (gst_pad_get_element_private), (gst_pad_start_task),
1802         (gst_pad_pause_task), (gst_pad_stop_task),
1803         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
1804         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
1805         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
1806         (gst_ghost_pad_new):
1807         * gst/gstpad.h:
1808         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
1809         (gst_query_new_position), (gst_query_set_position),
1810         (gst_query_parse_position), (gst_query_new_convert),
1811         (gst_query_set_convert), (gst_query_parse_convert):
1812         * gst/gstquery.h:
1813         * gst/gstqueryutils.c:
1814         * gst/gstqueryutils.h:
1815         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
1816         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
1817         (gst_queue_handle_src_query):
1818         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1819         (gst_element_query_position), (gst_element_query_convert),
1820         (intersect_caps_func), (gst_pad_query_position),
1821         (gst_pad_query_convert):
1822         * gst/gstutils.h:
1823         * tools/gst-inspect.c: (print_pad_info):
1824         * tools/gst-xmlinspect.c: (print_element_info):
1825         Remove old query functions. Ported old code.
1826         Added position/convert helper functions to gstutils.
1827         Reordered gstpad.c code, grouping relevant things.
1828         Remove gst_message_new(), always need to speficy a specific
1829         message.
1830
1831
1832 2005-05-09  Andy Wingo  <wingo@pobox.com>
1833
1834         * gst/gstiterator.h: Add some includes.
1835
1836         * gst/gstqueryutils.h: Include more headers.
1837
1838         * gst/gstpad.h:
1839         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
1840         some uses of gst_pad_query.
1841
1842         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
1843         NULL out parameters.
1844         (gst_query_new_position): New proc, allocates a new position
1845         query.
1846
1847         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
1848         gstqueryutils.c to the build.
1849
1850         * gst/gststructure.c (gst_structure_set_valist): Implement with
1851         the generic G_VALUE_COLLECT.
1852         
1853 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
1854
1855         * gst/Makefile.am: (gst_headers):
1856         Added gstqueryutils.h to the list of headers to install, that was
1857         a 'nachty' move wingo :)
1858
1859 2005-05-06  Andy Wingo  <wingo@pobox.com>
1860
1861         * gst/gstquery.h
1862         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
1863         GstData, init a memchunk.
1864         (standard_definitions): Add a few query types, deprecate a few.
1865         (gst_query_get_type): New proc.
1866         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
1867         implementation.
1868         (gst_query_new_application, gst_query_get_structure): New public
1869         procs.
1870
1871         * docs/design/draft-query.txt: Removed LINKS from the query types,
1872         because all the rest can be dispatched to other pads -- seemed
1873         ugly to have a query that couldn't be dispatched. internal_links
1874         is fine as a pad method.
1875
1876         * gst/gstpad.h: Add query2 as a pad method, add the new functions
1877         in gstpad.c, but maintain binary compatibility for the moment.
1878         Will fix before 0.9 is out.
1879
1880         * gst/gstqueryutils.c: 
1881         * gst/gstqueryutils.h: New files, implement 3 methods for each
1882         query type: parse_query, parse_response, and set. Probably need an
1883         allocator as well.
1884
1885         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
1886
1887         * gst/elements/gstfilesink.c (gst_filesink_query2):
1888         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
1889         query_types, and formats methods.
1890
1891         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
1892         (gst_pad_set_query2_function): New functions.
1893         (gst_real_pad_init): Set query2_default as the default query2
1894         function. Basically just dispatches to internally linked pads.
1895
1896         Needs review!
1897         
1898         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
1899         without using the atomic operations. Only one thread can possibly
1900         be accessing the data at this point. Changed so as to avoid
1901         gst_atomic operations.
1902
1903 2005-05-06  Wim Taymans  <wim@fluendo.com>
1904
1905         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
1906         Also set caps if we use the fallback buffer alloc.
1907
1908 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
1909
1910         * docs/gst/Makefile.am:
1911         * docs/gst/gstreamer-docs.sgml:
1912         * docs/gst/gstreamer-sections.txt:
1913         * docs/gst/tmpl/gstatomic.sgml:
1914         * docs/gst/tmpl/gstmemchunk.sgml:
1915         * testsuite/elements/struct_i386.h:
1916         * win32/GStreamer.vcproj:
1917         * win32/Makefile:
1918           Purge GstAtomic stuff from docs and win32 makefiles as well
1919
1920 2005-05-06  Wim Taymans  <wim@fluendo.com>
1921
1922         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
1923         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
1924         * gst/gstpad.c: (gst_pad_peer_get_caps):
1925         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
1926         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
1927         (gst_queue_src_activate), (gst_queue_change_state):
1928         * gst/gstqueue.h:
1929         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1930         (intersect_caps_func):
1931         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
1932         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
1933         Some fixes for the peer_get_caps() change.
1934
1935 2005-05-06  Wim Taymans  <wim@fluendo.com>
1936
1937         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1938         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
1939         (gst_basesink_activate):
1940         Actually do something with error codes returned from the push
1941         functions.
1942
1943 2005-05-06  Wim Taymans  <wim@fluendo.com>
1944
1945         * docs/design/part-element-sink.txt:
1946         * docs/design/part-element-source.txt:
1947         * gst/base/gstbasesink.c: (gst_basesink_class_init),
1948         (gst_basesink_event), (gst_basesink_activate):
1949         * gst/base/gstbasesink.h:
1950         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
1951         (gst_basesrc_activate):
1952         * gst/base/gstbasesrc.h:
1953         * gst/gstelement.c: (gst_element_pads_activate):
1954         Some more documentation.
1955         Fixed scheduling decision in _pads_activate().
1956
1957 2005-05-05  Andy Wingo  <wingo@pobox.com>
1958
1959         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
1960         the test suite.
1961
1962 2005-05-05  Wim Taymans  <wim@fluendo.com>
1963
1964         * gst/base/Makefile.am:
1965         * gst/base/gstbasesink.h:
1966         * gst/base/gstbasesrc.c: (gst_basesrc_init),
1967         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
1968         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
1969         (gst_collectpads_class_init), (gst_collectpads_init),
1970         (gst_collectpads_finalize), (gst_collectpads_new),
1971         (gst_collectpads_set_function), (gst_collectpads_add_pad),
1972         (find_pad), (gst_collectpads_remove_pad),
1973         (gst_collectpads_is_active), (gst_collectpads_collect),
1974         (gst_collectpads_collect_range), (gst_collectpads_start),
1975         (gst_collectpads_stop), (gst_collectpads_peek),
1976         (gst_collectpads_pop), (gst_collectpads_available),
1977         (gst_collectpads_read), (gst_collectpads_flush),
1978         (gst_collectpads_chain):
1979         * gst/base/gstcollectpads.h:
1980         * gst/elements/Makefile.am:
1981         * gst/elements/gstelements.c:
1982         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1983         (gst_fakesink_get_times), (gst_fakesink_event),
1984         (gst_fakesink_preroll), (gst_fakesink_render):
1985         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1986         (gst_filesink_init), (gst_filesink_set_location),
1987         (gst_filesink_open_file), (gst_filesink_close_file),
1988         (gst_filesink_pad_query), (gst_filesink_event),
1989         (gst_filesink_render), (gst_filesink_change_state):
1990         * gst/elements/gstfilesink.h:
1991         Added object to help in making collect pad based elements.
1992         Ported filesink.
1993         Make event function in sink baseclass return gboolean.
1994
1995 2005-05-05  Wim Taymans  <wim@fluendo.com>
1996
1997         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
1998         (gst_bin_get_by_name):
1999         * gst/gstbuffer.h:
2000         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
2001         (gst_clock_finalize):
2002         * gst/gstdata.c: (gst_data_replace):
2003         * gst/gstdata.h:
2004         * gst/gstelement.c: (gst_element_request_pad),
2005         (gst_element_pads_activate):
2006         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
2007         (gst_object_unref):
2008         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2009         (gst_pad_set_checkgetrange_function),
2010         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
2011         (gst_pad_check_pull_range), (gst_pad_pull_range),
2012         (gst_static_pad_template_get_caps), (gst_pad_start_task),
2013         (gst_pad_pause_task), (gst_pad_stop_task):
2014         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2015         (gst_element_request_pad), (gst_pad_proxy_getcaps):
2016         Fix name lookup in GstBin.
2017         Added _data_replace() function and _buffer_replace()
2018         Use finalize method to clean up clock.
2019         Fix refcounting on request pads.
2020         Fix pad schedule mode error.
2021         Some more object refcounting debug info,
2022
2023
2024 2005-05-04  Andy Wingo <wingo@pobox.com>
2025
2026         * check/Makefile.am:
2027         * docs/gst/tmpl/gstatomic.sgml:
2028         * docs/gst/tmpl/gstplugin.sgml:
2029         * gst/base/gstbasesink.c: (gst_basesink_activate):
2030         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
2031         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
2032         (gst_basesrc_query), (gst_basesrc_set_property),
2033         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
2034         (gst_basesrc_activate):
2035         * gst/base/gstbasesrc.h:
2036         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
2037         (gst_base_transform_src_activate):
2038         * gst/elements/gstelements.c:
2039         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2040         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
2041         * gst/elements/gsttee.c: (gst_tee_sink_activate):
2042         * gst/elements/gsttypefindelement.c: (find_element_get_length),
2043         (gst_type_find_element_checkgetrange),
2044         (gst_type_find_element_activate):
2045         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
2046         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
2047         (gst_caps_load_thyself):
2048         * gst/gstelement.c: (gst_element_pads_activate),
2049         (gst_element_save_thyself), (gst_element_restore_thyself):
2050         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
2051         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
2052         * gst/gstpad.h:
2053         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
2054         (gst_xml_parse_file), (gst_xml_parse_memory),
2055         (gst_xml_get_element), (gst_xml_make_element):
2056         * gst/indexers/gstfileindex.c: (gst_file_index_load),
2057         (_file_index_id_save_xml), (gst_file_index_commit):
2058         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
2059         (read_enum), (load_pad_template), (load_feature), (load_plugin),
2060         (load_paths):
2061         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
2062         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
2063         * tools/gst-complete.c: (main):
2064         * tools/gst-compprep.c: (main):
2065         * tools/gst-inspect.c: (print_element_properties_info):
2066         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
2067         * tools/gst-xmlinspect.c: (print_element_properties):
2068         GCC 4 fixen.
2069         
2070 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2071
2072         * gst/gstplugin.c: (gst_plugin_check_module),
2073         (gst_plugin_check_file), (gst_plugin_load_file):
2074             apply patch from #172526 to make register work on MacOSX
2075
2076 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2077
2078         * docs/gst/tmpl/gstconfig.sgml:
2079         * gst/gstconfig.h.in:
2080           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
2081         * testsuite/debug/printf_extension.c: (main):
2082           Do not use GST_PTR_FORMAT on pointers to types with
2083           sizeof < sizeof(gpointer).  Fixes test on 64-bit
2084         * testsuite/elements/property.h:
2085           use correct printf format
2086
2087 2005-05-02  Wim Taymans  <wim@fluendo.com>
2088
2089         * docs/design/draft-push-pull.txt:
2090         * docs/design/draft-query.txt:
2091         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
2092         (gst_basesrc_start):
2093         Added draft for new query API.
2094         Added draft for better selecting scheduling methods.
2095         Make basesrc ignore length if the subclass does not support
2096         it.
2097
2098 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2099
2100         * gst/Makefile.am:
2101           possible fixes for automake-1.5 - _LIBADD is reserved
2102
2103 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2104
2105         * docs/faq/Makefile.am:
2106         * docs/manual/Makefile.am:
2107         * docs/manuals.mak:
2108         * docs/pwg/Makefile.am:
2109         * gst/Makefile.am:
2110           possible fixes for automake-1.5
2111
2112 2005-04-28  Wim Taymans  <wim@fluendo.com>
2113
2114         * gst/base/gstbasesink.c: (gst_basesink_base_init),
2115         (gst_basesink_pad_getcaps), (gst_basesink_init),
2116         (gst_basesink_do_sync):
2117         * gst/gstclock.c: (gst_clock_entry_new):
2118         * gst/gstevent.c: (gst_event_discont_get_value):
2119         * gst/gstpipeline.c: (pipeline_bus_handler),
2120         (gst_pipeline_change_state):
2121         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
2122         Better debugging of clocking info.
2123         Allow NULL values when getting discont values.
2124
2125 2005-04-27  Wim Taymans  <wim@fluendo.com>
2126
2127         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
2128         * check/gst/gstpad.c: (gst_pad_suite):
2129         Increase timeout for checks.
2130
2131 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2132
2133         * check/Makefile.am:
2134           fix the broken rule for cleanup.  Apparently this rule is
2135           only needed on FC2, so maybe this warrants further autotool
2136           inspection.
2137
2138 2005-04-26  Wim Taymans  <wim@fluendo.com>
2139
2140         * gst/gsttrashstack.h:
2141         Ooohh. a nasty one! After having a failed pop() from the stack,
2142         it's possible that the stack is empty. In that case, don't
2143         follow the NULL pointer.
2144
2145 2005-04-25  Wim Taymans  <wim@fluendo.com>
2146
2147         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2148         (gst_pad_set_checkgetrange_function),
2149         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
2150         (gst_pad_check_pull_range), (gst_pad_pull_range),
2151         (gst_static_pad_template_get_caps), (gst_pad_start_task),
2152         (gst_pad_pause_task), (gst_pad_stop_task):
2153         * gst/gstplugin.c: (gst_plugin_load):
2154         * gst/gstplugin.h:
2155         Remove gst_library_load as it does more harm than good with
2156         the new g_module flags.
2157         Revert bogus caps template check in pad linking, pad caps
2158         are important when linking not the template, which is more
2159         general than the current caps.
2160
2161 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2162
2163         * gst/autoplug/.cvsignore:
2164         * gst/autoplug/Makefile.am:
2165         * gst/autoplug/gstsearchfuncs.c:
2166         * gst/autoplug/gstsearchfuncs.h:
2167         * gst/autoplug/gstspider.c:
2168         * gst/autoplug/gstspider.h:
2169         * gst/autoplug/gstspideridentity.c:
2170         * gst/autoplug/gstspideridentity.h:
2171         * gst/autoplug/spidertest.c:
2172           Die, spider, die.
2173
2174 2005-04-25  Wim Taymans  <wim@fluendo.com>
2175
2176         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2177         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
2178         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
2179         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
2180         * gst/gstpad.h:
2181         Added stubs for unimplemented functions. 
2182
2183 2005-04-24  David Schleef  <ds@schleef.org>
2184
2185         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
2186         please fix.
2187
2188 2005-04-24  David Schleef  <ds@schleef.org>
2189
2190         Convert everything from GstAtomicInt to g_atomic_int_*, and
2191         remove gstatomic.
2192         * gst/Makefile.am:
2193         * gst/gstatomic.c:
2194         * gst/gstatomic.h:
2195         * gst/gstatomic_impl.h:
2196         * gst/gstbuffer.c:
2197         * gst/gstcaps.c:
2198         * gst/gstcaps.h:
2199         * gst/gstclock.c:
2200         * gst/gstclock.h:
2201         * gst/gstdata.c:
2202         * gst/gstdata.h:
2203         * gst/gstdata_private.h:
2204         * gst/gstevent.c:
2205         * gst/gstinfo.c:
2206         * gst/gstinfo.h:
2207         * gst/gstmessage.c:
2208         * gst/gstobject.c:
2209         * gst/gstobject.h:
2210         * gst/gststructure.c:
2211         * gst/gststructure.h:
2212         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
2213         * gst/gstutils.h:
2214
2215 2005-04-24  David Schleef  <ds@schleef.org>
2216
2217         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
2218         make the regressions tests work.  Remove some code that is no
2219         longer true.
2220         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
2221         Disable warning for pads without templates.
2222
2223 2005-04-24  David Schleef  <ds@schleef.org>
2224
2225         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
2226         functions that handle filtered links.
2227         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
2228         removed functions.
2229         * gst/gstutils.c: Fix/remove utility functions that handle
2230         filtered caps.
2231         * gst/gstutils.h:
2232         * gst/gstvalue.c: Add serialization/deserialization of caps
2233         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
2234         requires fixing so that the filter caps notation creates
2235         a capsfilter element and sets the filter_caps property.  I
2236         think everyone probably wants to keep the shorthand notation.
2237         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
2238         * docs/gst/tmpl/gstpad.sgml:
2239
2240         * gst/elements/gstelements.c: Register capsfilter element.
2241         * gst/Makefile.am: fix spacing
2242         * docs/random/ds/0.9-suggested-changes: random
2243
2244 2005-04-23  David Schleef  <ds@schleef.org>
2245
2246         * gst/elements/Makefile.am:
2247         * gst/elements/gstcapsfilter.c: New element that acts like an
2248         identity, but filters caps.  Will eventually replace filtered
2249         caps in pad linking.
2250         * gst/gstutils.c: (gst_element_create_all_pads): New function
2251         to create all the ALWAYS pads that are registered with an
2252         element class.  This functionality should eventually be
2253         merged in with GstElement initialization.
2254         * gst/gstutils.h:
2255         * testsuite/trigger/README: part of trigger test code that should
2256         have been checked in a long time ago.
2257
2258 2005-04-23  David Schleef  <ds@schleef.org>
2259
2260         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
2261         needed with new versions of libtool (nobody will confirm this),
2262         and hard to carry around.
2263         * gst/autoplug/Makefile.am:
2264         * gst/base/Makefile.am:
2265         * gst/elements/Makefile.am:
2266         * gst/indexers/Makefile.am:
2267         * gst/schedulers/Makefile.am:
2268         * libs/gst/bytestream/Makefile.am:
2269         * libs/gst/control/Makefile.am:
2270         * libs/gst/dataprotocol/Makefile.am:
2271         * libs/gst/getbits/Makefile.am:
2272
2273 2005-04-21  Wim Taymans  <wim@fluendo.com>
2274
2275         * docs/design/draft-push-pull.txt:
2276         * docs/design/part-MT-refcounting.txt:
2277         * docs/design/part-TODO.txt:
2278         * docs/design/part-caps.txt:
2279         * docs/design/part-events.txt:
2280         * docs/design/part-gstbus.txt:
2281         * docs/design/part-gstpipeline.txt:
2282         * docs/design/part-messages.txt:
2283         * docs/design/part-push-pull.txt:
2284         * docs/design/part-query.txt:
2285         Some more docs.
2286
2287 2005-04-21  Wim Taymans  <wim@fluendo.com>
2288
2289         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
2290         (gst_message_new), (gst_message_new_error),
2291         (gst_message_new_warning), (gst_message_new_tag),
2292         (gst_message_new_state_changed), (gst_message_new_application),
2293         (gst_message_get_structure):
2294         * gst/gstmessage.h:
2295         * gst/gststructure.c: (gst_structure_set_parent_refcount),
2296         (gst_structure_copy_conditional):
2297         Use parent refcount in GstMessage to ensure GstStructure
2298         consistency.
2299         Cleaned up headers a bit.
2300         
2301
2302 2005-04-20  Wim Taymans  <wim@fluendo.com>
2303
2304         * gst/base/gstbasesink.c: (gst_basesink_base_init),
2305         (gst_basesink_pad_getcaps), (gst_basesink_init),
2306         (gst_basesink_chain_unlocked):
2307         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
2308         (gst_type_find_helper):
2309         * gst/elements/gsttypefindelement.c:
2310         (gst_type_find_element_have_type), (gst_type_find_element_init),
2311         (stop_typefinding), (gst_type_find_element_handle_event),
2312         (find_suggest), (gst_type_find_element_chain),
2313         (gst_type_find_element_checkgetrange),
2314         (gst_type_find_element_getrange), (do_typefind),
2315         (gst_type_find_element_activate):
2316         * gst/gstbuffer.c: (_gst_buffer_sub_free),
2317         (gst_buffer_default_free), (gst_buffer_default_copy),
2318         (gst_buffer_set_caps):
2319         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
2320         (gst_caps_replace):
2321         * gst/gstmessage.c: (gst_message_new),
2322         (gst_message_new_state_changed):
2323         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2324         (gst_pad_set_checkgetrange_function),
2325         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
2326         (gst_pad_set_caps), (gst_pad_check_pull_range),
2327         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
2328         * gst/gstpad.h:
2329         * gst/gsttypefind.c: (gst_type_find_register):
2330         Make gst_caps_replace() work like other _replace() functions.
2331         Use _caps_replace() where possible.
2332         Make sure _message_new() initialises its field.
2333         Add gst_static_pad_template_get_caps()
2334
2335
2336 2005-04-18  Andy Wingo  <wingo@pobox.com>
2337
2338         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
2339         on the peer, not the pad. I think that was a typo. Pass an extra
2340         arg to see if random access is possible. Activate the pads as
2341         PULL_RANGE if possible.
2342
2343         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
2344
2345         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
2346         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
2347         to PROP_....
2348
2349 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2350
2351         * docs/faq/using.xml:
2352           Add note on gstreamer-properties (#154996).
2353
2354 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2355
2356         * docs/random/bbb/optional-properties:
2357           Some analysis on optional properties.
2358
2359 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2360
2361         * docs/gst/tmpl/gstelementfactory.sgml:
2362         * gst/gstelement.h:
2363         * gst/gstelementfactory.c: (gst_element_factory_init),
2364         (gst_element_factory_cleanup), (gst_element_register),
2365         (__gst_element_factory_add_static_pad_template),
2366         (gst_element_factory_get_static_pad_templates),
2367         (gst_element_factory_can_src_caps),
2368         (gst_element_factory_can_sink_caps):
2369         * gst/registries/Makefile.am:
2370         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
2371         (gst_xml_registry_class_init), (gst_xml_registry_init),
2372         (gst_xml_registry_new), (gst_xml_registry_set_property),
2373         (gst_xml_registry_get_property), (get_time), (make_dir),
2374         (gst_xml_registry_get_perms_func),
2375         (plugin_times_older_than_recurse), (plugin_times_older_than),
2376         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
2377         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
2378         (add_to_char_array), (read_string), (read_uint), (read_enum),
2379         (load_pad_template), (load_feature), (load_plugin), (load_paths),
2380         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
2381         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
2382         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
2383         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
2384         (gst_xml_registry_rebuild):
2385         * gst/registries/gstlibxmlregistry.h:
2386         * tools/gst-compprep.c: (main):
2387         * tools/gst-inspect.c: (print_pad_templates_info):
2388         * tools/gst-xmlinspect.c: (print_element_info):
2389           Use libxml2 for registry parsing, use staticpadtemplates in
2390           elementfactories. Makes gst_init() +/- 10x faster.
2391
2392 2005-04-12  Wim Taymans  <wim@fluendo.com>
2393
2394         * gst/base/Makefile.am:
2395         * gst/base/gstbasesink.c: (gst_basesink_base_init),
2396         (gst_basesink_pad_getcaps), (gst_basesink_init),
2397         (gst_basesink_event), (gst_basesink_change_state):
2398         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
2399         (gst_basesrc_init), (gst_basesrc_query),
2400         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
2401         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
2402         (gst_basesrc_check_get_range), (gst_basesrc_loop),
2403         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
2404         (gst_basesrc_stop), (gst_basesrc_activate),
2405         (gst_basesrc_change_state):
2406         * gst/base/gsttypefindhelper.c: (helper_find_peek),
2407         (helper_find_suggest), (gst_type_find_helper):
2408         * gst/base/gsttypefindhelper.h:
2409         * gst/elements/Makefile.am:
2410         * gst/elements/gstelements.c:
2411         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
2412         (gst_fakesink_get_times), (gst_fakesink_event),
2413         (gst_fakesink_preroll), (gst_fakesink_render):
2414         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2415         (gst_fakesrc_init), (gst_fakesrc_event_handler),
2416         (gst_fakesrc_get_property), (gst_fakesrc_create),
2417         (gst_fakesrc_start), (gst_fakesrc_stop):
2418         * gst/elements/gstfakesrc.h:
2419         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
2420         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
2421         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
2422         (gst_filesrc_create_read), (gst_filesrc_create),
2423         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
2424         (gst_filesrc_start):
2425         * gst/elements/gsttypefindelement.c:
2426         (gst_type_find_element_have_type), (gst_type_find_element_init),
2427         (start_typefinding), (stop_typefinding), (push_buffer_store),
2428         (gst_type_find_element_handle_event),
2429         (gst_type_find_element_chain),
2430         (gst_type_find_element_checkgetrange),
2431         (gst_type_find_element_getrange), (do_typefind),
2432         (gst_type_find_element_activate),
2433         (gst_type_find_element_change_state):
2434         * gst/elements/gsttypefindelement.h:
2435         * gst/gstpipeline.c: (pipeline_bus_handler):
2436         Added typefind helper.
2437         Small preroll fix in the base sink.
2438         Disable typefind code in basesrc.
2439         Crude port of typefindelement.
2440         Fakesrc cleanups.
2441
2442
2443 2005-04-11  Wim Taymans  <wim@fluendo.com>
2444
2445         * check/gst/gstbus.c: (gstbus_suite):
2446         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
2447         * check/gstcheck.h:
2448           Fix up the timeout so that the test does not fail.
2449
2450 2005-04-06  Wim Taymans  <wim@fluendo.com>
2451
2452         * gst/base/README:
2453         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
2454         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
2455         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
2456         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
2457         (gst_basesrc_check_get_range), (gst_basesrc_loop),
2458         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
2459         (gst_basesrc_stop), (gst_basesrc_activate),
2460         (gst_basesrc_change_state), (basesrc_find_peek),
2461         (basesrc_find_suggest), (gst_basesrc_type_find):
2462         * gst/base/gstbasesrc.h:
2463         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
2464         (gst_filesrc_class_init), (gst_filesrc_init),
2465         (gst_filesrc_finalize), (gst_filesrc_set_location),
2466         (gst_filesrc_set_property), (gst_filesrc_get_property),
2467         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
2468         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
2469         (gst_filesrc_create_read), (gst_filesrc_create),
2470         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
2471         * gst/elements/gstfilesrc.h:
2472         * gst/gstelement.c: (gst_element_get_state_func),
2473         (gst_element_lost_state), (gst_element_pads_activate):
2474         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2475         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
2476         (gst_pad_pull_range):
2477         * gst/gstpad.h:
2478         More work on the generic source base class, implement seeking,
2479         query.
2480         Make filesrc extend the base source class.
2481         Added gst_pad_set_checkgetrange_function to GstPad.
2482
2483 2005-04-06  Andy Wingo  <wingo@pobox.com>
2484
2485         * pkgconfig/gstreamer-base.pc.in:
2486         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
2487
2488         * pkgconfig/Makefile.am:
2489         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
2490
2491 2005-04-04  Wim Taymans  <wim@fluendo.com>
2492
2493         * gst/base/Makefile.am:
2494         * gst/base/README:
2495         * gst/base/gstbasesink.c: (gst_basesink_base_init),
2496         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
2497         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
2498         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
2499         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
2500         (gst_basesrc_base_init), (gst_basesrc_class_init),
2501         (gst_basesrc_init), (gst_basesrc_get_formats),
2502         (gst_basesrc_get_query_types), (gst_basesrc_query),
2503         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
2504         (gst_basesrc_set_property), (gst_basesrc_get_property),
2505         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
2506         (gst_basesrc_loop), (gst_basesrc_activate),
2507         (gst_basesrc_change_state):
2508         * gst/base/gstbasesrc.h:
2509         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
2510         (gst_fakesrc_class_init), (gst_fakesrc_init),
2511         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
2512         (gst_fakesrc_get_property), (gst_fakesrc_create):
2513         * gst/elements/gstfakesrc.h:
2514         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
2515         (gst_filesrc_open_file), (gst_filesrc_loop),
2516         (gst_filesrc_activate), (filesrc_find_peek),
2517         (gst_filesrc_type_find):
2518         Made base source class, make fakesrc extend it.
2519         Add comments to basesink class.
2520         Some filesrc cleanup.
2521
2522 2005-03-31  David Schleef  <ds@schleef.org>
2523
2524         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
2525         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
2526         expected to link against libgstreamer.
2527         * gst/base/Makefile.am: link against libgstreamer
2528         * gst/elements/Makefile.am: same
2529
2530 2005-03-31  Andy Wingo  <wingo@pobox.com>
2531
2532         * tests/instantiate/Makefile.am:
2533         * tests/instantiate/caps.c: Add test to test speed of caps copy
2534         and free.
2535
2536         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
2537         GMemChunk to be fair.
2538
2539         * gst/gsttrashstack.h: Remove warning about using the fallback
2540         trash stack implementation, it's still faster than malloc.
2541
2542 2005-03-30  Andy Wingo  <wingo@pobox.com>
2543
2544         * tests/complexity.c: Add a copyright.
2545
2546 2005-03-31  Wim Taymans  <wim@fluendo.com>
2547
2548         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
2549         (gst_base_transform_class_init), (gst_base_transform_init),
2550         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
2551         (gst_base_transform_get_property),
2552         (gst_base_transform_sink_activate),
2553         (gst_base_transform_src_activate),
2554         (gst_base_transform_change_state):
2555         * gst/base/gstbasetransform.h:
2556         * gst/elements/gstidentity.c: (gst_identity_class_init),
2557         (gst_identity_event), (gst_identity_check_perfect),
2558         (gst_identity_transform), (gst_identity_start),
2559         (gst_identity_stop):
2560         Added start/stop methods to transform base class so subclasses 
2561         don't need to deal with state changes even.
2562
2563 2005-03-31  Wim Taymans  <wim@fluendo.com>
2564
2565         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
2566         (gst_event_new_discontinuous), (gst_event_discont_get_value):
2567         * gst/gstevent.h:
2568         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2569         (gst_pad_pull_range):
2570         Added rate to the discont event to prepare for variable speed
2571         and reverse playback.
2572
2573 2005-03-29  David Schleef  <ds@schleef.org>
2574
2575         * configure.ac:
2576         * testsuite/trigger/Makefile.am:
2577         * testsuite/trigger/trigger.c: A little example program to show
2578         how trigger-based elements can work.
2579
2580 2005-03-29  Wim Taymans  <wim@fluendo.com>
2581
2582         * gst/base/Makefile.am:
2583         * gst/base/README:
2584         * gst/base/gstbasesink.c: (gst_basesink_get_type),
2585         (gst_basesink_base_init), (gst_basesink_class_init),
2586         (gst_basesink_pad_getcaps), (gst_basesink_init),
2587         (gst_basesink_activate), (gst_basesink_change_state):
2588         * gst/base/gstbasesink.h:
2589         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
2590         (gst_base_transform_base_init), (gst_base_transform_finalize),
2591         (gst_base_transform_class_init), (gst_base_transform_init),
2592         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
2593         (gst_base_transform_event), (gst_base_transform_getrange),
2594         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
2595         (gst_base_transform_set_property),
2596         (gst_base_transform_get_property),
2597         (gst_base_transform_sink_activate),
2598         (gst_base_transform_src_activate),
2599         (gst_base_transform_change_state):
2600         * gst/base/gstbasetransform.h:
2601         * gst/elements/gstidentity.c: (gst_identity_finalize),
2602         (gst_identity_class_init), (gst_identity_init),
2603         (gst_identity_event), (gst_identity_check_perfect),
2604         (gst_identity_transform), (gst_identity_set_property),
2605         (gst_identity_get_property), (gst_identity_change_state):
2606         * gst/elements/gstidentity.h:
2607         * gst/gstelement.c: (gst_element_get_state_func),
2608         (gst_element_lost_state), (gst_element_pads_activate):
2609         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2610         (gst_pad_check_pull_range), (gst_pad_pull_range):
2611         * gst/gstpad.h:
2612         Simplify pad activation.
2613         Added function to check if pull_range can be performed.
2614         Error out when pulling inactive or flushing pads.
2615         Removed const from refcounted types as it does not make sense.
2616         Simplify pad templates in basesink
2617         Added base class for simple 1-to-1 transforms.
2618         Make identity subclass the base transform.
2619
2620 2005-03-29  Andy Wingo  <wingo@pobox.com>
2621
2622         * docs/libs/gstreamer-libs-overrides.txt: 
2623         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
2624         really don't understand what's going on, but like whatever. I want
2625         green buildbot!
2626
2627         * docs/gst/Makefile.am:
2628         * docs/libs/Makefile.am: Dist the overrides files.
2629
2630         * check/Makefile.am (clean-local): Remove .libs directories.
2631
2632         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
2633         elements to EXTRA_DIST, so po/ files are happy.
2634
2635         * po/POTFILES.in: Er, remove it here.
2636
2637         * po/POTFILES: Remove gstspider.c.
2638
2639         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
2640
2641         * docs/libs/gstreamer-libs-docs.sgml: 
2642         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
2643         bytestream.
2644
2645         * tests/complexity.c (main): Set the length of the preroll queue
2646         on the sinks to prevent a lockup.
2647
2648         * libs/gst/dataprotocol/Makefile.am: 
2649         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
2650         the same as the one in check/gst-libs/gdp.c.
2651
2652         * po/, docs/gst/: Commit automatic changes to docs and po files.
2653
2654         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
2655         the versioned libgstbase.
2656
2657         * check/Makefile.am: Depend on an unversioned gst-register, seems
2658         to make autoconf happier.
2659
2660         * gst/base/Makefile.am: Make libgstbase a versioned lib.
2661
2662 2005-03-28  Wim Taymans  <wim@fluendo.com>
2663
2664         * configure.ac:
2665         * docs/design/part-gstelement.txt:
2666         * docs/design/part-negotiation.txt:
2667         * docs/design/part-preroll.txt:
2668         * docs/design/part-scheduling.txt:
2669         * docs/design/part-states.txt:
2670         * gst/Makefile.am:
2671         * gst/base/Makefile.am:
2672         * gst/base/README:
2673         * gst/base/gstbasesink.c: (gst_basesink_get_template),
2674         (gst_basesink_base_init), (gst_basesink_class_init),
2675         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
2676         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
2677         (gst_basesink_set_pad_functions),
2678         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
2679         (gst_basesink_set_property), (gst_basesink_get_property),
2680         (gst_base_sink_get_template), (gst_base_sink_get_caps),
2681         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
2682         (gst_basesink_preroll_queue_push),
2683         (gst_basesink_preroll_queue_empty),
2684         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
2685         (gst_basesink_event), (gst_basesink_get_times),
2686         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
2687         (gst_basesink_chain_unlocked), (gst_basesink_chain),
2688         (gst_basesink_loop), (gst_basesink_activate),
2689         (gst_basesink_change_state):
2690         * gst/base/gstbasesink.h:
2691         * gst/elements/Makefile.am:
2692         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
2693         (gst_fakesink_class_init), (gst_fakesink_init),
2694         (gst_fakesink_set_property), (gst_fakesink_get_property),
2695         (gst_fakesink_get_times), (gst_fakesink_event),
2696         (gst_fakesink_preroll), (gst_fakesink_render),
2697         (gst_fakesink_change_state):
2698         * gst/elements/gstfakesink.h:
2699         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
2700         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
2701         * gst/gstelement.c: (gst_element_add_pad),
2702         (gst_element_get_state_func), (gst_element_abort_state),
2703         (gst_element_commit_state), (gst_element_lost_state),
2704         (gst_element_set_state), (gst_element_pads_activate):
2705         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
2706         * gst/gstpipeline.c: (gst_pipeline_send_event),
2707         (gst_pipeline_change_state):
2708         Added state change code.
2709         Added/updated docs.
2710         Added sink base class, make fakesink extend the base class.
2711         Small cleanups in GstPipeline.
2712
2713 2005-03-26  David Schleef  <ds@schleef.org>
2714
2715         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
2716         is broken and should be implemented in a different library.
2717         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
2718         * gst/gst.h: remove gstcpu.h
2719         * gst/gstcpu.c: remove
2720         * gst/gstcpu.h: remove
2721         * gst/Makefile.am.future: Remove this file.  It's ancient.
2722
2723 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2724
2725         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
2726         (gst_bin_send_event):
2727           Add default event/set_manager handlers. The set_manager handler
2728           takes care that the manager is distributed over kids that were
2729           already in the bin before the manager was set. The event handler
2730           is a utility virtual function that sends the event over all sinks,
2731           so that gst_element_send_event (bin, event); has the expected
2732           behaviour.
2733         * gst/gstpad.c: (gst_pad_event_default):
2734           Re-install default event handling for discontinuities, so that
2735           seeking works without requiring hacks in applications or extra
2736           code in sinks.
2737         * gst/gstpipeline.c: (gst_pipeline_class_init),
2738         (gst_pipeline_send_event):
2739           Half hack, half utility: set a pipeline to PAUSED for seek events,
2740           since that is the only way we can guarantee a/v sync. Means that
2741           you can do gst_element_seek (pipeline, method, pos); on a pipeline
2742           and it "just works".
2743
2744 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2745
2746         * gst/gstpipeline.c: (gst_pipeline_use_clock):
2747           Lock/unlock mismatch.
2748
2749 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
2750
2751         * docs/faq/gst-uninstalled:
2752           add gst-plugins-base
2753         * docs/gst/Makefile.am:
2754           don't error out until docs are fixed
2755         * docs/gst/gstreamer.types:
2756           remove thread
2757
2758 2005-03-22  Wim Taymans  <wim@fluendo.com>
2759
2760         * check/Makefile.am:
2761         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
2762         * gst/gststructure.c: (gst_structure_set_valist),
2763         (gst_structure_copy_conditional):
2764         Activated more tests.
2765         Added message test.
2766         Added G_TYPE_POINTER to GstStructure.
2767         
2768
2769 2005-03-22  Wim Taymans  <wim@fluendo.com>
2770
2771         * docs/design/part-TODO.txt:
2772         * docs/design/part-events.txt:
2773         * docs/design/part-gstbin.txt:
2774         * docs/design/part-gstbus.txt:
2775         * docs/design/part-gstpipeline.txt:
2776         * docs/design/part-messages.txt:
2777         * gst/gstbus.c:
2778         * gst/gstmessage.c:
2779         Docs updates
2780
2781 2005-03-21  Wim Taymans  <wim@fluendo.com>
2782
2783         * gst/gstbus.c: (gst_bus_post):
2784         Fix copy-and-paste error.
2785
2786 2005-03-21  Wim Taymans  <wim@fluendo.com>
2787
2788         * check/Makefile.am:
2789         * gst/Makefile.am:
2790         * gst/elements/Makefile.am:
2791         * gst/elements/gstelements.c:
2792         * gst/elements/gstfakesink.c: (gst_fakesink_init),
2793         (gst_fakesink_event), (gst_fakesink_chain):
2794         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2795         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
2796         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
2797         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
2798         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
2799         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
2800         (gst_fakesrc_loop), (gst_fakesrc_activate),
2801         (gst_fakesrc_change_state):
2802         * gst/elements/gstfakesrc.h:
2803         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
2804         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
2805         (gst_filesrc_open_file), (gst_filesrc_loop),
2806         (gst_filesrc_activate), (gst_filesrc_change_state),
2807         (filesrc_find_peek), (filesrc_find_suggest),
2808         (gst_filesrc_type_find):
2809         * gst/elements/gstidentity.c: (gst_identity_finalize),
2810         (gst_identity_class_init), (gst_identity_init),
2811         (gst_identity_proxy_getcaps), (identity_queue_push),
2812         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
2813         (gst_identity_getrange), (gst_identity_chain),
2814         (gst_identity_sink_loop), (gst_identity_src_loop),
2815         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
2816         (gst_identity_set_property), (gst_identity_get_property),
2817         (gst_identity_change_state):
2818         * gst/elements/gstidentity.h:
2819         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2820         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
2821         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
2822         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
2823         (gst_tee_sink_activate):
2824         * gst/elements/gsttee.h:
2825         * gst/gst.c: (gst_register_core_elements), (init_post):
2826         * gst/gst.h:
2827         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
2828         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
2829         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
2830         (gst_bin_change_state):
2831         * gst/gstbin.h:
2832         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
2833         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
2834         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
2835         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
2836         (gst_bus_set_sync_handler), (gst_bus_create_watch),
2837         (bus_watch_callback), (bus_watch_destroy),
2838         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
2839         (poll_timeout), (gst_bus_poll):
2840         * gst/gstbus.h:
2841         * gst/gstcaps.h:
2842         * gst/gstdata.h:
2843         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
2844         (gst_element_post_message), (gst_element_message_full),
2845         (gst_element_get_state_func), (gst_element_get_state),
2846         (gst_element_abort_state), (gst_element_commit_state),
2847         (gst_element_lost_state), (gst_element_set_state),
2848         (gst_element_pads_activate), (gst_element_change_state),
2849         (gst_element_dispose), (gst_element_set_manager_func),
2850         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
2851         (gst_element_set_manager), (gst_element_get_manager),
2852         (gst_element_set_bus), (gst_element_get_bus),
2853         (gst_element_set_scheduler), (gst_element_get_scheduler):
2854         * gst/gstelement.h:
2855         * gst/gstevent.c: (gst_event_new_segment_seek),
2856         (gst_event_new_flush):
2857         * gst/gstevent.h:
2858         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
2859         (_gst_message_free), (gst_message_get_type), (gst_message_new),
2860         (gst_message_new_eos), (gst_message_new_error),
2861         (gst_message_new_warning), (gst_message_new_tag),
2862         (gst_message_new_state_changed), (gst_message_new_application),
2863         (gst_message_get_structure), (gst_message_parse_tag),
2864         (gst_message_parse_state_changed), (gst_message_parse_error),
2865         (gst_message_parse_warning):
2866         * gst/gstmessage.h:
2867         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
2868         (gst_real_pad_set_property), (gst_pad_set_active),
2869         (gst_pad_is_active), (gst_pad_set_blocked_async),
2870         (gst_pad_set_blocked), (gst_pad_is_blocked),
2871         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
2872         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
2873         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
2874         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
2875         (gst_pad_link_filtered), (gst_pad_relink_filtered),
2876         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
2877         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
2878         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
2879         (gst_pad_set_caps), (gst_pad_configure_sink),
2880         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
2881         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
2882         (gst_real_pad_dispose), (gst_real_pad_finalize),
2883         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
2884         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2885         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
2886         * gst/gstpad.h:
2887         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
2888         (pipeline_bus_handler), (gst_pipeline_change_state),
2889         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
2890         * gst/gstpipeline.h:
2891         * gst/gstprobe.h:
2892         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
2893         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
2894         (gst_queue_link_src), (gst_queue_bufferalloc),
2895         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2896         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
2897         (gst_queue_loop), (gst_queue_handle_src_event),
2898         (gst_queue_handle_src_query), (gst_queue_src_activate),
2899         (gst_queue_change_state):
2900         * gst/gstqueue.h:
2901         * gst/gstscheduler.c: (gst_scheduler_init),
2902         (gst_scheduler_dispose), (gst_scheduler_create_task),
2903         (gst_scheduler_factory_create):
2904         * gst/gstscheduler.h:
2905         * gst/gststructure.c: (gst_structure_get_type),
2906         (gst_structure_copy_conditional):
2907         * gst/gststructure.h:
2908         * gst/gsttaginterface.h:
2909         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
2910         (gst_task_init), (gst_task_dispose), (gst_task_create),
2911         (gst_task_get_state), (gst_task_start), (gst_task_stop),
2912         (gst_task_pause):
2913         * gst/gsttask.h:
2914         * gst/gstthread.c:
2915         * gst/gstthread.h:
2916         * gst/gsttypes.h:
2917         * gst/schedulers/Makefile.am:
2918         * gst/schedulers/cothreads_compat.h:
2919         * gst/schedulers/entryscheduler.c:
2920         * gst/schedulers/faircothreads.c:
2921         * gst/schedulers/faircothreads.h:
2922         * gst/schedulers/fairscheduler.c:
2923         * gst/schedulers/gstbasicscheduler.c:
2924         * gst/schedulers/gstoptimalscheduler.c:
2925         * gst/schedulers/gthread-cothreads.h:
2926         * gst/schedulers/threadscheduler.c:
2927         (gst_thread_scheduler_task_get_type),
2928         (gst_thread_scheduler_task_class_init),
2929         (gst_thread_scheduler_task_init),
2930         (gst_thread_scheduler_task_start),
2931         (gst_thread_scheduler_task_stop),
2932         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
2933         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2934         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
2935         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
2936         (plugin_init):
2937         * libs/gst/Makefile.am:
2938         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
2939         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
2940         (gst_file_pad_parent_set):
2941         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
2942         (gst_dp_event_from_packet):
2943         * tests/complexity.c: (main):
2944         * tests/mass_elements.c: (main):
2945         * testsuite/states/locked.c: (message_received), (main):
2946         * testsuite/states/parent.c: (main):
2947         * tools/gst-inspect.c: (print_element_flag_info),
2948         (print_implementation_info), (print_pad_info):
2949         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
2950         (main):
2951         * tools/gst-md5sum.c: (event_loop), (main):
2952         * tools/gst-typefind.c: (main):
2953         * tools/gst-xmlinspect.c: (print_element_info):
2954         Next big merge.
2955         Added GstBus for mainloop integration.
2956         Added GstMessage for sending notifications on the bus.
2957         Added GstTask as an abstraction for pipeline entry points.
2958         Removed GstThread.
2959         Removed Schedulers.
2960         Simplified GstQueue for multithreaded core.
2961         Made _link threadsafe, removed old capsnego.
2962         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
2963         Added pad blocking functions.
2964         Reworked scheduling functions in GstPad to prepare for
2965         scheduling updates soon.
2966         Moved events out of data stream.
2967         Simplified GstEvent types.
2968         Added return values to push/pull.
2969         Removed clocking from GstElement.
2970         Added prototypes for state change function for next merge.
2971         Removed iterate from bins and state change management.
2972         Fixed some elements, disabled others for now.
2973         Fixed -inspect and -launch.
2974         Added check for GstBus.
2975
2976 2005-03-10  Wim Taymans  <wim@fluendo.com>
2977
2978         * docs/design/part-MT-refcounting.txt:
2979         * docs/design/part-clocks.txt:
2980         * docs/design/part-gstelement.txt:
2981         * docs/design/part-gstobject.txt:
2982         * docs/design/part-standards.txt:
2983         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2984         (gst_bin_remove_func), (gst_bin_remove):
2985         * gst/gstbin.h:
2986         * gst/gstbuffer.c:
2987         * gst/gstcaps.h:
2988         * testsuite/clock/clock1.c: (main):
2989         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
2990         (main):
2991         * testsuite/dlopen/loadgst.c: (do_test):
2992         * testsuite/refcounting/bin.c: (add_remove_test1),
2993         (add_remove_test2), (main):
2994         * testsuite/refcounting/element.c: (main):
2995         * testsuite/refcounting/element_pad.c: (main):
2996         * testsuite/refcounting/pad.c: (main):
2997         * tools/gst-launch.c: (sigint_handler_sighandler):
2998         * tools/gst-typefind.c: (main):
2999         Doc updates.
3000         Added doc about clock.
3001         removed gst_bin_iterate_recurse_up(), marked methods
3002         for removal.
3003         Fix more testsuites.
3004
3005 2005-03-09  Wim Taymans  <wim@fluendo.com>
3006
3007         * gst/gstpad.c: (gst_pad_get_direction),
3008         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
3009         (gst_pad_collect_valist):
3010         * testsuite/bins/interface.c: (main):
3011         * testsuite/caps/audioscale.c: (test_caps):
3012         * testsuite/caps/caps.c: (test1), (test2), (test3):
3013         * testsuite/caps/deserialize.c: (main):
3014         * testsuite/caps/enumcaps.c: (main):
3015         * testsuite/caps/filtercaps.c: (main):
3016         * testsuite/caps/intersect2.c: (main):
3017         * testsuite/caps/random.c: (main):
3018         * testsuite/caps/renegotiate.c: (my_fixate), (main):
3019         * testsuite/caps/sets.c: (check_caps):
3020         * testsuite/caps/simplify.c: (check_caps), (main):
3021         * testsuite/caps/subtract.c: (check_caps):
3022         Fix _pad_get_direction wrt ghostpads.
3023         Fix caps testsuite.
3024
3025 2005-03-09  Wim Taymans  <wim@fluendo.com>
3026
3027         * check/Makefile.am:
3028         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
3029         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
3030         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
3031         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
3032         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
3033         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
3034         (gst_bin_remove), (gst_bin_iterate_recurse_up),
3035         (bin_element_is_sink), (gst_bin_iterate_sinks),
3036         (gst_bin_iterate_all_by_interface):
3037         * gst/gstbin.h:
3038         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
3039         (gst_element_change_state), (gst_element_dispose),
3040         (gst_element_finalize), (gst_element_set_loop_function):
3041         * gst/gstelement.h:
3042         * gst/gstiterator.c: (find_custom_fold_func):
3043         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
3044         (gst_pad_collectv), (gst_pad_collect_valist),
3045         (gst_pad_template_new):
3046         * gst/gstpipeline.c: (gst_pipeline_class_init),
3047         (gst_pipeline_dispose), (gst_pipeline_set_property),
3048         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
3049         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
3050         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
3051         * gst/gstutils.h:
3052         * gst/schedulers/entryscheduler.c:
3053         * gst/schedulers/gstbasicscheduler.c:
3054         (gst_basic_scheduler_cothreaded_chain),
3055         (gst_basic_scheduler_chain_add_element):
3056         * testsuite/bins/interface.c: (main):
3057         Added GstBin test.
3058         Added GstSystemClock test.
3059         Implemented clock distribution code in GstBin.
3060         Implemented iterate sinks method for future use.
3061         Rearranged gstelement.h
3062         Fix GstIterator comparison bug.
3063         Moved some code to GstPipeline, mostly clocking related.
3064
3065 2005-03-09  Wim Taymans  <wim@fluendo.com>
3066
3067         * configure.ac:
3068         * gst/gst_private.h:
3069         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
3070         (gst_bin_remove_func), (gst_bin_remove),
3071         (gst_bin_get_by_name_recurse_up):
3072         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
3073         (gst_clock_id_compare_func), (gst_clock_id_wait),
3074         (gst_clock_id_wait_async), (gst_clock_init),
3075         (gst_clock_adjust_unlocked), (gst_clock_get_time):
3076         * gst/gstelement.h:
3077         * gst/gstinfo.c: (_gst_debug_init):
3078         * gst/gstobject.h:
3079         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
3080         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
3081         * gst/gstpad.h:
3082         Bump version number, we're now 0.9.0
3083         Add future debugging category.
3084         Fix NULL _unref() in _get_by_name_recurse_up
3085         Rearrange gstpad.h.
3086         Update some docs.
3087
3088 2005-03-08  Wim Taymans  <wim@fluendo.com>
3089
3090         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
3091         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
3092         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
3093         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
3094         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
3095         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
3096         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
3097         * gst/elements/gstidentity.c: (gst_identity_class_init):
3098         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
3099         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
3100         * gst/elements/gstshaper.c: (gst_shaper_class_init):
3101         * gst/elements/gststatistics.c: (gst_statistics_class_init):
3102         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
3103         (gst_tee_link):
3104         * gst/gstelement.c: (gst_element_class_init),
3105         (gst_element_base_class_init), (gst_element_init),
3106         (gst_element_get_random_pad), (gst_element_wait_state_change),
3107         (gst_element_change_state), (gst_element_dispose),
3108         (gst_element_finalize), (gst_element_set_loop_function):
3109         * gst/gstelement.h:
3110         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
3111         * gst/gstthread.c: (gst_thread_class_init),
3112         (gst_thread_release_children_locks), (gst_thread_change_state):
3113         * gst/schedulers/gstbasicscheduler.c:
3114         (gst_basic_scheduler_loopfunc_wrapper),
3115         (gst_basic_scheduler_chain_wrapper),
3116         (gst_basic_scheduler_src_wrapper),
3117         (gst_basic_scheduler_remove_element):
3118         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
3119         Remove threadsafe properties. Fix elements because GObject
3120         complains when installing a property before declaring a
3121         set/get_property handler.
3122         Rearrange gstelement.h file, use STATE macros for state locks.
3123         Free mutexes in the finalize method instead of dispose.
3124
3125 2005-03-08  Wim Taymans  <wim@fluendo.com>
3126
3127         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
3128         * gst/gstthread.c: (gst_thread_release_children_locks):
3129         Added parentage check.
3130         Fix build og GstThread again.
3131
3132 2005-03-08  Wim Taymans  <wim@fluendo.com>
3133
3134         * docs/design/part-MT-refcounting.txt:
3135         * docs/design/part-conventions.txt:
3136         * docs/design/part-gstobject.txt:
3137         * docs/design/part-relations.txt:
3138         * docs/design/part-standards.txt:
3139         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
3140         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
3141         (gst_bin_get_by_name), (gst_bin_get_by_interface),
3142         (gst_bin_iterate_all_by_interface):
3143         * gst/gstbuffer.h:
3144         * gst/gstclock.h:
3145         * gst/gstelement.c: (gst_element_class_init),
3146         (gst_element_change_state), (gst_element_set_loop_function):
3147         * gst/gstelement.h:
3148         * gst/gstiterator.c:
3149         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
3150         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
3151         (gst_object_dispatch_properties_changed), (gst_object_set_name),
3152         (gst_object_set_parent), (gst_object_unparent),
3153         (gst_object_check_uniqueness):
3154         * gst/gstobject.h:
3155         Docs updates, clean up some headers.
3156
3157 2005-03-07  Wim Taymans  <wim@fluendo.com>
3158
3159         * check/.cvsignore:
3160         * check/Makefile.am:
3161         * check/gst-libs/.cvsignore:
3162         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
3163         * check/gst/.cvsignore:
3164         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
3165         (START_TEST), (gstbus_suite), (main):
3166         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
3167         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
3168         (gst_data_suite), (main):
3169         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
3170         (add_fold_func), (gstiterator_suite), (main):
3171         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
3172         (thread_name_object), (thread_name_object_default),
3173         (gst_object_name_compare), (gst_object_suite), (main):
3174         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
3175         (gst_pad_suite), (main):
3176         * check/gstcheck.c: (gst_check_log_message_func),
3177         (gst_check_log_critical_func), (gst_check_init):
3178         * check/gstcheck.h:
3179         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
3180         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
3181         Added checks.
3182
3183 2005-03-07  Wim Taymans  <wim@fluendo.com>
3184
3185         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
3186         (gst_list_iterator_next), (gst_list_iterator_resync),
3187         (gst_list_iterator_free), (gst_iterator_new_list),
3188         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
3189         (gst_iterator_free), (gst_iterator_push), (filter_next),
3190         (filter_resync), (filter_uninit), (filter_free),
3191         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
3192         (gst_iterator_foreach), (find_custom_fold_func),
3193         (gst_iterator_find_custom):
3194         * gst/gstiterator.h:
3195         Added missing files.
3196
3197 2005-03-07  Wim Taymans  <wim@fluendo.com>
3198
3199         * Makefile.am:
3200         * configure.ac:
3201         * docs/design/part-MT-refcounting.txt:
3202         * docs/design/part-conventions.txt:
3203         * docs/design/part-gstobject.txt:
3204         * docs/design/part-relations.txt:
3205         * examples/mixer/mixer.c: (main):
3206         * examples/thread/thread.c: (eos), (main):
3207         * gst/Makefile.am:
3208         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
3209         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
3210         (gst_spider_plug_from_srcpad):
3211         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
3212         (gst_spider_identity_change_state),
3213         (gst_spider_identity_sink_loop_type_finding):
3214         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
3215         * gst/elements/gstidentity.c: (gst_identity_init):
3216         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
3217         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
3218         * gst/elements/gsttypefindelement.c: (free_entry):
3219         * gst/gst.c:
3220         * gst/gst.h:
3221         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
3222         (gst_bin_set_clock_func), (gst_bin_auto_clock),
3223         (gst_bin_set_index), (gst_bin_set_element_sched),
3224         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
3225         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
3226         (gst_bin_iterate_elements), (iterate_child_recurse),
3227         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
3228         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
3229         (compare_interface), (gst_bin_get_by_interface),
3230         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
3231         * gst/gstbin.h:
3232         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
3233         (gst_buffer_default_free), (gst_buffer_default_copy),
3234         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
3235         (gst_buffer_create_sub):
3236         * gst/gstbuffer.h:
3237         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
3238         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
3239         (gst_caps_unref), (gst_static_caps_get),
3240         (gst_caps_remove_and_get_structure), (gst_caps_append),
3241         (gst_caps_append_structure), (gst_caps_remove_structure),
3242         (gst_caps_copy_nth), (gst_caps_set_simple),
3243         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
3244         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
3245         (gst_caps_structure_intersect_field), (gst_caps_intersect),
3246         (gst_caps_structure_subtract_field), (gst_caps_subtract),
3247         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
3248         (gst_caps_structure_figure_out_union),
3249         (gst_caps_switch_structures), (gst_caps_do_simplify),
3250         (gst_caps_replace), (gst_caps_from_string),
3251         (gst_caps_copy_conditional):
3252         * gst/gstcaps.h:
3253         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
3254         (_gst_clock_id_free), (gst_clock_id_unref),
3255         (gst_clock_id_compare_func), (gst_clock_id_wait),
3256         (gst_clock_id_wait_async), (gst_clock_class_init),
3257         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
3258         (gst_clock_get_time), (gst_clock_set_time_adjust),
3259         (gst_clock_set_property), (gst_clock_get_property):
3260         * gst/gstclock.h:
3261         * gst/gstcompat.h:
3262         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
3263         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
3264         * gst/gstdata.h:
3265         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
3266         (gst_element_requires_clock), (gst_element_provides_clock),
3267         (gst_element_set_clock), (gst_element_clock_wait),
3268         (gst_element_wait), (gst_element_set_time_delay),
3269         (gst_element_is_indexable), (gst_element_add_pad),
3270         (gst_element_add_ghost_pad), (gst_element_remove_pad),
3271         (pad_compare_name), (gst_element_get_static_pad),
3272         (gst_element_request_pad), (gst_element_get_request_pad),
3273         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
3274         (gst_element_class_get_pad_template_list),
3275         (gst_element_class_get_pad_template), (gst_element_error_func),
3276         (gst_element_get_random_pad), (gst_element_get_event_masks),
3277         (gst_element_send_event), (gst_element_seek),
3278         (gst_element_get_query_types), (gst_element_query),
3279         (gst_element_get_formats), (gst_element_convert),
3280         (gst_element_is_locked_state), (gst_element_set_locked_state),
3281         (gst_element_sync_state_with_parent), (gst_element_change_state),
3282         (gst_element_finalize), (gst_element_yield),
3283         (gst_element_interrupt), (gst_element_set_scheduler),
3284         (gst_element_get_scheduler), (gst_element_set_loop_function):
3285         * gst/gstelement.h:
3286         * gst/gstevent.h:
3287         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
3288         (gst_format_get_by_nick), (gst_format_get_details),
3289         (gst_format_iterate_definitions):
3290         * gst/gstformat.h:
3291         * gst/gstindex.c: (gst_index_gtype_resolver):
3292         * gst/gstinfo.c:
3293         * gst/gstinfo.h:
3294         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
3295         (gst_mem_chunk_free):
3296         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3297         (gst_object_ref), (gst_object_unref), (gst_object_sink),
3298         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
3299         (gst_object_dispatch_properties_changed),
3300         (gst_object_set_name_default), (gst_object_set_name),
3301         (gst_object_get_name), (gst_object_set_name_prefix),
3302         (gst_object_get_name_prefix), (gst_object_set_parent),
3303         (gst_object_get_parent), (gst_object_unparent),
3304         (gst_object_check_uniqueness), (gst_object_save_thyself),
3305         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
3306         (gst_object_set_property), (gst_object_get_property),
3307         (gst_object_get_path_string):
3308         * gst/gstobject.h:
3309         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
3310         (gst_real_pad_init), (gst_real_pad_get_property),
3311         (gst_pad_custom_new), (gst_pad_get_direction),
3312         (gst_pad_set_active), (gst_pad_is_active),
3313         (gst_pad_set_event_function), (gst_pad_is_linked),
3314         (gst_pad_link_free), (gst_pad_link_intersect),
3315         (gst_pad_link_fixate), (gst_pad_set_caps),
3316         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
3317         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
3318         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
3319         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
3320         (gst_pad_get_caps), (gst_pad_peer_get_caps),
3321         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
3322         (gst_pad_realize), (gst_pad_get_allowed_caps),
3323         (gst_real_pad_dispose), (gst_real_pad_finalize),
3324         (gst_pad_collectv), (gst_pad_collect_valist),
3325         (gst_pad_template_dispose), (gst_pad_template_new),
3326         (gst_pad_get_internal_links):
3327         * gst/gstpad.h:
3328         * gst/gstpipeline.c: (gst_pipeline_dispose),
3329         (gst_pipeline_change_state):
3330         * gst/gstpipeline.h:
3331         * gst/gstplugin.c:
3332         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
3333         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
3334         * gst/gstpluginfeature.h:
3335         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
3336         * gst/gstquery.c: (_gst_query_type_initialize),
3337         (gst_query_type_register), (gst_query_type_get_by_nick),
3338         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
3339         * gst/gstquery.h:
3340         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
3341         * gst/gstscheduler.c: (gst_scheduler_add_element),
3342         (gst_scheduler_factory_create):
3343         * gst/gststructure.c: (gst_structure_set_parent_refcount),
3344         (gst_structure_free), (gst_structure_set_name),
3345         (gst_structure_id_set_value), (gst_structure_set_value),
3346         (gst_structure_set_valist), (gst_structure_remove_field),
3347         (gst_structure_remove_fields),
3348         (gst_structure_remove_fields_valist),
3349         (gst_structure_remove_all_fields), (gst_structure_foreach),
3350         (gst_structure_map_in_place),
3351         (gst_caps_structure_fixate_field_nearest_int),
3352         (gst_caps_structure_fixate_field_nearest_double):
3353         * gst/gststructure.h:
3354         * gst/gstsystemclock.c: (gst_system_clock_class_init),
3355         (gst_system_clock_init), (gst_system_clock_dispose),
3356         (gst_system_clock_async_thread),
3357         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
3358         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
3359         * gst/gstsystemclock.h:
3360         * gst/gsttag.c: (gst_tag_list_add_value_internal),
3361         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
3362         * gst/gsttaginterface.c:
3363         * gst/gstthread.c: (gst_thread_dispose),
3364         (gst_thread_release_children_locks), (gst_thread_change_state),
3365         (gst_thread_main_loop):
3366         * gst/gsttrashstack.h:
3367         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
3368         * gst/gsttypes.h:
3369         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3370         (gst_element_request_pad), (gst_element_get_pad_from_template),
3371         (gst_element_request_compatible_pad),
3372         (gst_element_get_compatible_pad_filtered),
3373         (gst_element_get_compatible_pad), (gst_element_state_get_name),
3374         (gst_element_link_pads_filtered), (gst_element_link_filtered),
3375         (gst_element_link_many), (gst_element_link),
3376         (gst_element_link_pads), (gst_element_unlink_pads),
3377         (gst_element_unlink_many), (gst_element_unlink),
3378         (gst_pad_can_link_filtered), (gst_pad_can_link),
3379         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
3380         (gst_object_default_error), (gst_bin_add_many),
3381         (gst_bin_remove_many), (gst_element_populate_std_props),
3382         (gst_element_class_install_std_props), (gst_buffer_merge),
3383         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
3384         (link_fold_func), (gst_pad_proxy_setcaps):
3385         * gst/gstutils.h:
3386         * gst/gstvalue.c: (gst_value_deserialize_string):
3387         * gst/parse/grammar.y:
3388         * gst/schedulers/gstbasicscheduler.c:
3389         (gst_basic_scheduler_cothreaded_chain),
3390         (gst_basic_scheduler_chain_recursive_add),
3391         (gst_basic_scheduler_pad_link):
3392         * gst/schedulers/gstoptimalscheduler.c:
3393         (get_group_schedule_function),
3394         (gst_opt_scheduler_state_transition),
3395         (gst_opt_scheduler_add_element), (element_get_reachables_func):
3396         * libs/gst/bytestream/bytestream.c:
3397         * libs/gst/dataprotocol/dataprotocol.c:
3398         (gst_dp_header_from_buffer):
3399         * po/nb.po:
3400         * po/ru.po:
3401         * tests/threadstate/threadstate2.c: (eos):
3402         * tools/gst-compprep.c: (main):
3403         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
3404         (print_pad_info), (print_children_info):
3405         * tools/gst-launch.c: (idle_func), (main):
3406         * tools/gst-md5sum.c: (idle_func), (main):
3407         * tools/gst-xmlinspect.c: (print_element_info):
3408         First THREADED backport attempt, focusing on adding locks and
3409         making sure the API is threadsafe. Needs more work. More docs
3410         follow this week.
3411
3412 2005-02-24  Andy Wingo  <wingo@pobox.com>
3413
3414         * tests/bench-complexity.scm:
3415         * tests/complexity.gnuplot: New files, good for running complexity
3416         benchmarks.
3417
3418         * tests/Makefile.am:
3419         * tests/complexity.c: New test, sets up N elements, at each level
3420         teeing into M streams per element. Eeeenteresting.
3421
3422         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
3423         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
3424         running bench-mass_elements.scm.
3425
3426         * tests/bench-mass_elements.scm: New script, runs mass_elements
3427         for various numbers of identities, outputting the results to a
3428         file. Requires guile 1.6. Just for testing.
3429
3430 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3431
3432         * gst/schedulers/fairscheduler.c:
3433           compile with debug disabled
3434
3435 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3436
3437         * configure.ac:
3438           hunting season on 0.9 is now OPEN
3439
3440 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
3441
3442         * docs/libs/tmpl/gstcontrol.sgml:
3443         * docs/libs/tmpl/gstdparam.sgml:
3444         * docs/libs/tmpl/gstdplinint.sgml:
3445         * docs/libs/tmpl/gstdpman.sgml:
3446         * docs/libs/tmpl/gstdpsmooth.sgml:
3447         * docs/libs/tmpl/gstunitconvert.sgml:
3448           more docs for the state of dparams
3449
3450 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3451
3452         * gst/gstelementfactory.c: (gst_element_factory_create):
3453         * gst/gstobject.c: (gst_object_init),
3454         (gst_object_set_name_default), (gst_object_set_name):
3455           name objects by default, not in gst_element_factory_create. Allows
3456           using elements created with g_object_new. (fixes #167283)
3457
3458 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3459
3460         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
3461           make the time that debugging functions print relative to when
3462           gst_init was called
3463
3464 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
3465
3466         * gst/gsttaginterface.c:
3467           Fix inline docs: tag setter vararg functions are NULL-terminated,
3468           GST_TAG_INVALID doesn't exist any more.
3469
3470 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3471
3472         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
3473         Allocate the 1 byte more memory that was forgotten!!!!!
3474         fixes memory corruption on 64bit platforms
3475
3476 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
3477
3478         * docs/pwg/building-pads.xml:
3479         * docs/pwg/intro-basics.xml:
3480           fixed a few typos, relabeled introductionary list of types
3481         * docs/random/ensonic/dparams.txt:
3482           more notes abut dparam changes
3483         * libs/gst/control/dparam.c: (gst_dparam_attach):
3484         * libs/gst/control/dparammanager.c:
3485         * libs/gst/control/dparammanager.h:
3486           - many comments and notes on dparam implementation
3487           - new dparams are were not initialized to the default value
3488             from param spec
3489
3490 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3491
3492         submitted by: Peter Astakhov
3493
3494         * po/LINGUAS:
3495         * po/ru.po:
3496           adding Russian translation
3497
3498 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3499
3500         * configure.ac:
3501         * docs/gst/Makefile.am:
3502         * docs/libs/Makefile.am:
3503           make sure popt is added to gtk-doc flags.  Fixes #147782.
3504
3505 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3506
3507         * docs/faq/using.xml:
3508           Fix typo in FAQ (artssink => artsdsink)
3509
3510 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3511
3512         * tools/gst-launch.1.in:
3513           Fix typo (#166699).
3514
3515 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
3516
3517         * docs/faq/using.xml:
3518           Add -v argument to fakesrc/fakesink gst-launch line,
3519           so that the promised output will actually show up.
3520
3521 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3522
3523         * gst/gstthread.c: (gst_thread_change_state):
3524           Implement state-change error handling (#166073).
3525
3526 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3527
3528         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
3529           Release interrupt after handling (#166250).
3530
3531 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3532
3533         * configure.ac:
3534           back to HEAD
3535
3536 === release 0.8.9 ===
3537
3538 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3539
3540         * NEWS:
3541         * RELEASE:
3542         * configure.ac:
3543           releasing 0.8.9, "Like Eating Glass"
3544
3545 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3546
3547         submitted by: Clytie Siddall
3548
3549         * po/vi.po: Added Vietnamese translation
3550
3551 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3552
3553         patch by: Tim Philipp-Müller
3554
3555         * configure.ac:
3556         * gst/gstpad.c:
3557           unref data when probe function returns FALSE.  Fixes #166362
3558
3559 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3560
3561         * gst/gst.c: (gst_init_get_popt_table):
3562           Fix typo (#166269).
3563
3564 2005-02-04  Andy Wingo  <wingo@pobox.com>
3565
3566         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
3567         the debugging on whether the caps are compatible.
3568
3569 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3570
3571         * docs/manual/basics-elements.xml:
3572           Fix two typos.
3573
3574 2005-02-02  Wim Taymans  <wim@fluendo.com>
3575
3576         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
3577         (schedule_chain), (get_invalid_call), (chain_invalid_call),
3578         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
3579         Remove some FIXMEs after analysing and commenting why they
3580         are not issues.
3581
3582 2005-02-02  Wim Taymans  <wim@fluendo.com>
3583
3584         * gst/schedulers/gstoptimalscheduler.c:
3585         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
3586         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
3587         (get_invalid_call), (chain_invalid_call),
3588         (get_group_schedule_function), (loop_group_schedule_function),
3589         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
3590         (gst_opt_scheduler_state_transition),
3591         (gst_opt_scheduler_add_element),
3592         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
3593         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
3594         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
3595         (gst_opt_scheduler_show):
3596         Added lock to protect scheduler data structures.
3597
3598 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3599
3600         * testsuite/threads/threadi.c: (cb_data):
3601           Fix buglet in test.
3602
3603 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3604
3605         * testsuite/threads/Makefile.am:
3606         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
3607           On Wim's request, split the test in three separately-compiled
3608           tests that each test a very specific bug. Two of them still fail,
3609           will create bugs for those. threadi.c indicates why they fail.
3610
3611 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3612
3613         * gst/schedulers/gstoptimalscheduler.c:
3614         (get_group_schedule_function):
3615           Try to work with the threading mess that queue_link is.
3616
3617 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3618
3619         * gst/gstbin.c: (gst_bin_remove_func):
3620           Explicitely make an element release locks in a group when being
3621           remove from a bin.
3622         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
3623           If there's no scheduler, always return immediately (similar to
3624           gst_element_interrupt).
3625
3626 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3627
3628         * gst/gstbin.c: (gst_bin_child_state_change_func):
3629           Remove a piece of code that could never be reached.
3630         * docs/gst/gstreamer-sections.txt:
3631         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
3632         (gst_pad_call_get_function):
3633         * gst/gstpad.h:
3634         * testsuite/pad/Makefile.am:
3635           Fix #150546, enable tests.
3636
3637 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3638
3639         * docs/pwg/advanced-types.xml:
3640           Fix description for buffer-frames=0.
3641         * docs/gst/tmpl/gstbin.sgml:
3642         * gst/gstbin.c: (gst_bin_child_state_change_func),
3643         (gst_bin_change_state), (gst_bin_change_state_norecurse):
3644         * gst/gstbin.h:
3645         * testsuite/threads/Makefile.am:
3646         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
3647         (cb_state), (cb_play), (main):
3648           Fix non-recursive state changes to *really* change the state
3649           of the object, and not just call parent_class->state_change.
3650           Fix a lot of lockups caused by this. Fixes #132775. Add test
3651           for the problem. Also enable test to show #142588 (fixed).
3652         * gst/gstthread.c: (gst_thread_change_state),
3653         (gst_thread_child_state_change):
3654           Don't exit the thread if we go to NULL and are inside thread
3655           context. Instead, return control to the main thread context
3656           and exit from there.
3657         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
3658           Don't unset virtual functions, since those may still be used.
3659           That's not necessarily correct, but suffices for now.
3660         * configure.ac:
3661         * testsuite/Makefile.am:
3662         * testsuite/pad/Makefile.am:
3663         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
3664         (gst_test_sink_base_init), (gst_test_sink_chain),
3665         (gst_test_sink_init), (main):
3666         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
3667         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
3668         (main):
3669         * testsuite/pad/link.c: (gst_test_element_class_init),
3670         (gst_test_element_base_init), (gst_test_src_get),
3671         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
3672         (gst_test_filter_loop), (gst_test_filter_init),
3673         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
3674         (cb_error), (main):
3675           Add tests to show #150546. Pass, but should fail (currently
3676           disabled from the testsuite).
3677         * gst/gstscheduler.c: (gst_scheduler_dispose):
3678           Dereference child schedulers on dispose (#94464).
3679         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3680           Fix typo.
3681         * testsuite/threads/thread.c: (main):
3682           Add more debug.
3683
3684 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3685
3686         * gst/gstpad.c: (gst_pad_push):
3687           Oops, revert previous commit, broke testsuite...
3688
3689 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3690
3691         * gst/gstpad.c: (gst_pad_push):
3692           Add check that the pad on which the push is performed is not a
3693           get-based pad (#150546).
3694
3695 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3696
3697         * gst/elements/gsttypefindelement.c:
3698         (gst_type_find_element_handle_event):
3699           Fix buffer pushing if stream EOSes during typefinding.
3700
3701 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
3702
3703         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3704
3705         * gst/gstvalue.c: (gst_string_wrap):
3706           Allow NULL-strings as argument (#165365).
3707
3708 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
3709
3710         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3711
3712         * gst/schedulers/faircothreads.c:
3713         (gst_fair_scheduler_cothread_queue_show):
3714           Fix build without debug enabled.
3715
3716 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
3717
3718         * docs/gst/gstreamer-sections.txt:
3719         * docs/libs/gstreamer-libs-docs.sgml:
3720         * docs/libs/gstreamer-libs-sections.txt:
3721         * docs/libs/tmpl/gstcontrol.sgml:
3722         * docs/libs/tmpl/gstdparam.sgml:
3723         * docs/libs/tmpl/gstdplinint.sgml:
3724         * docs/libs/tmpl/gstdpman.sgml:
3725         * docs/libs/tmpl/gstdpsmooth.sgml:
3726         * docs/libs/tmpl/gstputbits.sgml:
3727         * docs/libs/tmpl/gstunitconvert.sgml:
3728         * libs/gst/control/dparam.c:
3729         * libs/gst/control/dparam.h:
3730         * libs/gst/control/dparammanager.c:
3731         (gst_dpman_add_required_dparam_callback),
3732         (gst_dpman_add_required_dparam_direct),
3733         (gst_dpman_add_required_dparam_array),
3734         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
3735         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
3736         (gst_dpman_get_manager)
3737           restructured DParam docs
3738
3739 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
3740
3741         * gst-element-check.m4:
3742           Only check for gst-inspect if we haven't already
3743           found it in previous element check runs
3744
3745 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
3746
3747         * docs/gst/Makefile.am:
3748         * docs/libs/Makefile.am:
3749           fixed install rules to treat style.css as optional
3750
3751 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
3752
3753         * docs/gst/Makefile.am:
3754         * docs/libs/Makefile.am:
3755           install style.css along with docs
3756         * docs/gst/tmpl/gstbin.sgml:
3757         * docs/gst/tmpl/gstclock.sgml:
3758         * docs/gst/tmpl/gstdata.sgml:
3759         * docs/gst/tmpl/gstelement.sgml:
3760         * gst/gstbin.h:
3761         * gst/gstelement.c: (gst_element_class_init):
3762         * gst/gstelement.h:
3763           fixing incomplete docs
3764
3765 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
3766
3767         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
3768           Don't unref seek event twice when fflush() fails
3769           
3770 2005-01-22  David Schleef  <ds@schleef.org>
3771
3772         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
3773
3774 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
3775
3776         * docs/gst/Makefile.am:
3777         * docs/libs/Makefile.am:
3778           added params for deprecation guards
3779         * gst/gst.c:
3780         * gst/gst.h:
3781         * gst/gsterror.c: (_gst_resource_errors_init),
3782         (_gst_stream_errors_init):
3783         * gst/gsterror.h:
3784           documented some more enums
3785
3786 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3787         * gst/autoplug/gstspideridentity.c:
3788         Cosmetic fix - spider_find_peek should be static
3789         * gst/parse/parse.l:
3790         Applying fix for #164261
3791
3792 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
3793
3794         * docs/gst/gstreamer-sections.txt:
3795         * docs/gst/tmpl/gstplugin.sgml:
3796         * docs/libs/gstreamer-libs-sections.txt:
3797         * docs/libs/tmpl/gstcontrol.sgml:
3798         * gst/gstbuffer.h:
3799         * gst/gsttag.h:
3800         * gst/gstvalue.c:
3801           added docs for the TAG defines
3802
3803 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3804
3805         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
3806           Only unref entry if there is an entry.
3807
3808 2005-01-17  Wim Taymans  <wim@fluendo.com>
3809
3810         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
3811         (remove_from_group), (schedule_group), (normalize_group),
3812         (gst_opt_scheduler_iterate):
3813         Also ref/unref decoupled elements before iterating the
3814         group since they are not added to the list of elements.
3815
3816 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3817
3818         * docs/manual/highlevel-components.xml:
3819           Add subtitle/streamselection as new features to playbin.
3820
3821 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3822
3823         * docs/manual/manual.xml:
3824           Re-enable dataaccess docs (oops).
3825
3826 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3827
3828         * docs/pwg/advanced-types.xml:
3829         * docs/random/mimetypes:
3830           Add documentation on libsndfile types (#163309), by Steve Baker
3831           <steve@stevebaker.org>.
3832         * gst/gstelement.c: (gst_element_release_request_pad):
3833           If an element has no explicit function, just remove the pad.
3834
3835 2005-01-17  Luca Ognibene  <luogni@tin.it>
3836
3837         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3838
3839         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
3840           Fix memleak (#163801).
3841
3842 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3843
3844         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
3845           I think this is actually more correct...
3846
3847 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3848
3849         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
3850           Another workaround for memory access while destroyed in callback.
3851           Please, someone with refcount knowledge, have a look at this.
3852
3853 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3854
3855         * docs/faq/faq.xml:
3856         * docs/faq/legal.xml:
3857           move the legal Q&A here
3858
3859 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3860
3861         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
3862         (gst_tee_request_new_pad):
3863           Fix negotiation.
3864
3865 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3866
3867         * docs/random/omega/caps2:
3868         * testsuite/caps/caps_strings:
3869           replace framerate aproximations by their real value
3870           (24000/1001, 30000/1001, 60000/1001)
3871           Partially fixes bug #164049
3872
3873 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3874
3875         * docs/gst/Makefile.am:
3876           don't fail on the stupid GstPoptOption
3877
3878 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3879
3880         * gst/gstpad.h:
3881         * gst/gstprobe.c:
3882           allow probes to work on ghost pads by realizing the pad
3883           probe debugging
3884
3885 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3886
3887         * docs/gst/gstreamer-sections.txt:
3888         * docs/gst/tmpl/gstpad.sgml:
3889         * gst/gstpad.c: (gst_pad_set_active_recursive):
3890         * gst/gstpad.h:
3891           Add gst_pad_set_active_recursive().
3892
3893 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3894
3895         * docs/random/release:
3896           updates
3897         * gst/gst_private.h:
3898         * gst/gstinfo.c:
3899         * gst/gstobject.c:
3900           move deep_notify logging to a new category
3901         * gst/gstprobe.c:
3902         * gst/gstprobe.h:
3903           add stuff so bindings can wrap probes
3904
3905 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3906
3907         * gst/gstplugin.c: (gst_plugin_load):
3908           Fix plugin loading if plugin/lib was already loaded. Fixes
3909           #163383
3910
3911 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
3912
3913         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3914
3915         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
3916           Protect plugin loading by a mutex so it's threadsafe. Fixes
3917           #163234.
3918
3919 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3920
3921         * gst/gstevent.c: (_gst_event_copy):
3922           Reference source object when copying events, since it'll be
3923           dereferenced on event dereferencing as well.
3924
3925 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3926
3927         * docs/gst/gstreamer-sections.txt:
3928         * docs/gst/tmpl/gstevent.sgml:
3929         * gst/gstevent.c: (gst_event_new_filler_stamped),
3930         (gst_event_filler_get_duration):
3931         * gst/gstevent.h:
3932           Add two new functions for filler events (which are used to
3933           synchronize streams if one of them is not having any data
3934           for a while) without interrupting the actual data-stream.
3935           Basically a no-op.
3936         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3937         (gst_queue_link_sink), (gst_queue_link_src),
3938         (gst_queue_change_state):
3939           Allow for renegotiation while filled. Required for stream
3940           switching while playing.
3941
3942 2005-01-08  Benjamin Otte  <otte@gnome.org>
3943
3944         * gst/gstelement.c: (gst_element_link_many):
3945           fix up g_return_if_fail's
3946         * po/LINGUAS:
3947         * po/de.po:
3948           add German translation, that was somehow not included
3949
3950 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3951
3952         * docs/random/mimetypes:
3953           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
3954           do not add them to riff-lib as they are not common
3955
3956 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3957
3958         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
3959           Check for existence of probe after performing the probe before
3960           re-accessing it to prevent segfaults caused by removal of the
3961           probe in the callback.
3962
3963 2005-01-05  David Schleef  <ds@schleef.org>
3964
3965         * testsuite/registry/Makefile.am:
3966         * testsuite/registry/gst-print-formats.c:
3967         (print_pad_templates_info), (print_element_list),
3968         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
3969         (g_list_uniqify), (get_pad_templates_info),
3970         (get_element_mime_list), (print_mime_list), (main): A little
3971         program that looks through the registry to find elements of
3972         a given type.  Not particularly interesting as a test, except
3973         that there's no other test covering the same area.
3974
3975 2005-01-05  David Schleef  <ds@schleef.org>
3976
3977         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
3978         (fault_handler_sigaction), (fault_spin),
3979         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
3980         in signal.h-type signal handlers by not calling forbidden functions,
3981         including gst_element_set_state().
3982
3983 2005-01-05  David Schleef  <ds@schleef.org>
3984
3985         * gst/gstvalue.h: Mark _gst_reserved[] as private
3986
3987 2005-01-05  David Schleef  <ds@schleef.org>
3988
3989         * gst/gstvalue.c: Fix doc build problem.
3990
3991 2005-01-05  David Schleef  <ds@schleef.org>
3992
3993         * gst/gstvalue.c: Add some documentation
3994
3995 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
3996
3997         * docs/README:
3998           another shell oneliner for empty return value docs
3999         * gst/gstcaps.c:
4000         * gst/gstvalue.c:
4001         * libs/gst/control/dparam.c:
4002           more doc fixes (parameters and return values)
4003
4004 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
4005
4006         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4007
4008         * gst/gstregistry.h:
4009         * gst/registries/gstxmlregistry.c:
4010           Fix macro's for Mingw (fixes #162276).
4011
4012 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
4013
4014         * docs/README:
4015           quick shell oneliner to find undocumented members
4016         * docs/gst/tmpl/gstplugin.sgml:
4017         * docs/gst/tmpl/gstscheduler.sgml:
4018         * docs/gst/tmpl/gstthread.sgml:
4019           more enumtypes cleanup
4020         * gst/gsterror.h:
4021           activated documentation comments, now someone needs to document
4022           the enums :(
4023
4024 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4025
4026         * docs/manual/manual.xml:
4027           Add dataaccess part (doh!).
4028
4029 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4030
4031         * docs/manual/advanced-autoplugging.xml:
4032           Fix typo (intiate -> initiate).
4033
4034 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4035
4036         * docs/random/bbb/streamselection:
4037           Add some notes on how to handle multi-subtitle/-audio streams.
4038
4039 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
4040
4041         * docs/gst/gstreamer-docs.sgml:
4042         * docs/gst/gstreamer-sections.txt:
4043         * docs/gst/tmpl/gstenumtypes.sgml:
4044         * docs/gst/tmpl/gsterror.sgml:
4045         * docs/gst/tmpl/gstevent.sgml:
4046         * docs/gst/tmpl/gstpad.sgml:
4047         * docs/gst/tmpl/gstpadtemplate.sgml:
4048         * docs/gst/tmpl/gstthread.sgml:
4049           removed gstenumtypes section from docs and put all the enums into
4050           their sections
4051
4052 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
4053
4054         * gst/gstplugin.c:
4055           document gst_library_load a bit more (riff special case + return
4056           value if already loaded)
4057         * testsuite/bytestream/filepadsink.c:
4058           plugin name is 'gstbytestream', not 'bytestream'
4059
4060 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4061
4062         * docs/random/bbb/subtitles:
4063           Add some first mind rumblings on proper subtitle support.
4064
4065 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4066
4067         * po/ca.po:
4068         * po/sv.po:
4069           updated translations
4070
4071 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4072
4073         * docs/manual/advanced-dataaccess.xml:
4074           Add section on how to use fakesrc/fakesink/identity in your
4075           application, plus section on how to embed plugins. Also mention
4076           probes.
4077         * docs/manual/appendix-checklist.xml:
4078         * docs/manual/appendix-debugging.xml:
4079         * docs/manual/appendix-gnome.xml:
4080         * docs/manual/appendix-integration.xml:
4081           Debug -> checklist, GNOME -> integration, add sections on Linux,
4082           KDE integration and add other things useful for application
4083           development.
4084         * docs/manual/manual.xml:
4085           Remove some fixmes, update some file pointers.
4086         * docs/pwg/appendix-checklist.xml:
4087           Fix typo.
4088         * docs/pwg/building-boiler.xml:
4089           Remove ugly header and add commented fixme.
4090         * docs/pwg/pwg.xml:
4091           Add fixme.
4092         * examples/manual/Makefile.am:
4093           Add example for added docs.
4094
4095 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4096
4097         * configure.ac:
4098           back to HEAD
4099
4100 === release 0.8.8 ===
4101
4102 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4103
4104         * NEWS:
4105         * RELEASE:
4106         * configure.ac:
4107           Releasing 0.8.8, "I'll Take Care Of You"
4108
4109 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4110
4111         * configure.ac:
4112           second prerelease
4113
4114 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4115
4116         patch by: Wim Taymans
4117
4118         * gst/gstbin.c:
4119           Fix for #159852 - make iterate emission threadsafe
4120
4121 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4122
4123         * docs/faq/cvs.xml:
4124           notes about new fdo account request
4125
4126 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
4127
4128         * docs/gst/gstreamer-docs.sgml:
4129         * docs/gst/tmpl/gstenumtypes.sgml:
4130         * docs/gst/tmpl/gstplugin.sgml:
4131         * docs/libs/gstreamer-libs-docs.sgml:
4132           Added missing short docs. Added ids for navigation.
4133
4134 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4135
4136         * docs/manual/advanced-autoplugging.xml:
4137         * docs/manual/advanced-schedulers.xml:
4138         * docs/manual/advanced-threads.xml:
4139           Rewrites. Remove cothreads, go a bit into opt specifically,
4140           document threads and their gotchas, and do some technical stuff
4141           on autoplugging plus add some working examples. Fixes #157395.
4142         * examples/manual/Makefile.am:
4143           Add typefind/autoplugger example (one that actually works).
4144           Remove queue example since it's a duplicate of the thread one.
4145
4146 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4147
4148         * gst/gstvalue.c: (gst_value_deserialize_string):
4149           use deprecated g_value_set_string_take_ownership to keep compatible
4150           with glib 2.2
4151
4152 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4153
4154         * gst/gstvalue.c: (gst_value_deserialize_string):
4155           revert last patch, only dom a g_utf8_validate now before accepting
4156           the string - caps parsing strips " from strings so we can't rely on
4157           them
4158         * testsuite/caps/value_serialize.c: (test_string_deserialization):
4159           disable a test that tested the above and comment it
4160
4161 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
4162
4163         Patch reviewed by David Schleef  <ds@schleef.org>
4164
4165         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
4166         bug #153882)
4167         * win32/gstenumtypes.h: same
4168
4169 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4170
4171         * gst/gstpad.c: (gst_pad_query):
4172           Do query on realized pad, similar to how convert/send_event handle
4173           this. Also makes sense, since this pad belongs to the function to
4174           which this query will be sent. Fixes #158163.
4175
4176 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
4177
4178         * docs/manual/appendix-programs.xml: fix pipeline to actually work
4179
4180 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
4181
4182         * docs/faq/general.xml: fix pipeline to actually work
4183
4184 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4185
4186         * gst/gstvalue.c: (gst_value_deserialize_string):
4187           check that a simple string that gets deserialized does not contain
4188           invalid characters
4189         * testsuite/caps/value_serialize.c: (test_string_deserialization):
4190           remove a test that tested a wring behaviour
4191
4192 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
4193
4194         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4195
4196         * docs/manual/intro-motivation.xml:
4197           Fix typos.
4198
4199 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
4200
4201         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4202
4203         * docs/gst/tmpl/gstprobe.sgml:
4204           Fix documentation of probe callback - it is supposed to return
4205           FALSE, not TRUE, to remove data from the stream (#159087).
4206
4207 2004-12-16  Daniel Gazard  <dany42@free.fr>
4208
4209         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4210
4211         * gst/gstelementfactory.c: (gst_element_factory_create):
4212           Fix compile failure if compiling without libxml2 support (#149936).
4213
4214 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4215
4216         * docs/manual/advanced-autoplugging.xml:
4217         * docs/manual/highlevel-components.xml:
4218           Move spider from autoplugging to components. Autoplugging is for
4219           internals, not for solutions. ;-).
4220
4221 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4222
4223         * docs/random/ds/0.9-suggested-changes:
4224           Make note on device/location/uri property names.
4225
4226 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4227
4228         * docs/manual/advanced-autoplugging.xml:
4229         * docs/manual/advanced-clocks.xml:
4230         * docs/manual/advanced-interfaces.xml:
4231         * docs/manual/advanced-metadata.xml:
4232         * docs/manual/advanced-position.xml:
4233         * docs/manual/advanced-schedulers.xml:
4234         * docs/manual/advanced-threads.xml:
4235         * docs/manual/appendix-gnome.xml:
4236         * docs/manual/appendix-programs.xml:
4237         * docs/manual/appendix-quotes.xml:
4238         * docs/manual/autoplugging.xml:
4239         * docs/manual/basics-bins.xml:
4240         * docs/manual/basics-data.xml:
4241         * docs/manual/basics-elements.xml:
4242         * docs/manual/basics-helloworld.xml:
4243         * docs/manual/basics-init.xml:
4244         * docs/manual/basics-pads.xml:
4245         * docs/manual/basics-plugins.xml:
4246         * docs/manual/bins-api.xml:
4247         * docs/manual/bins.xml:
4248         * docs/manual/buffers-api.xml:
4249         * docs/manual/buffers.xml:
4250         * docs/manual/clocks.xml:
4251         * docs/manual/components.xml:
4252         * docs/manual/cothreads.xml:
4253         * docs/manual/debugging.xml:
4254         * docs/manual/dparams-app.xml:
4255         * docs/manual/dynamic.xml:
4256         * docs/manual/elements-api.xml:
4257         * docs/manual/elements.xml:
4258         * docs/manual/factories.xml:
4259         * docs/manual/gnome.xml:
4260         * docs/manual/goals.xml:
4261         * docs/manual/helloworld.xml:
4262         * docs/manual/helloworld2.xml:
4263         * docs/manual/highlevel-components.xml:
4264         * docs/manual/highlevel-xml.xml:
4265         * docs/manual/init-api.xml:
4266         * docs/manual/intro-basics.xml:
4267         * docs/manual/intro-motivation.xml:
4268         * docs/manual/intro-preface.xml:
4269         * docs/manual/intro.xml:
4270         * docs/manual/links-api.xml:
4271         * docs/manual/links.xml:
4272         * docs/manual/manual.xml:
4273         * docs/manual/motivation.xml:
4274         * docs/manual/pads-api.xml:
4275         * docs/manual/pads.xml:
4276         * docs/manual/plugins-api.xml:
4277         * docs/manual/plugins.xml:
4278         * docs/manual/programs.xml:
4279         * docs/manual/queues.xml:
4280         * docs/manual/quotes.xml:
4281         * docs/manual/schedulers.xml:
4282         * docs/manual/states-api.xml:
4283         * docs/manual/states.xml:
4284         * docs/manual/threads.xml:
4285         * docs/manual/typedetection.xml:
4286         * docs/manual/win32.xml:
4287         * docs/manual/xml.xml:
4288           Try 2. This time, include a short preface as a "general
4289           introduction", also add code blocks around all code samples
4290           so they get compiled. We still need a way to tell readers
4291           the filename of the code sample. In some cases, don't show
4292           all code in the documentation, but do include it in the generated
4293           code. This allows for focussing on specific bits in the docs,
4294           while still having a full test application available.
4295         * examples/manual/Makefile.am:
4296           Fix up examples for new ADM. Add several of the new examples that
4297           were either added or were missing from the build system.
4298         * examples/manual/extract.pl:
4299           Allow nameless blocks.
4300
4301 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4302
4303         * docs/manual/elements-api.xml:
4304         * docs/manual/helloworld.xml:
4305         * examples/manual/extract.pl:
4306           fix last example.  Add example of adding code blocks that are not
4307           shown in docbook output.
4308
4309 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4310
4311         * docs/manual/dynamic.xml:
4312         * docs/manual/elements-api.xml:
4313         * docs/manual/gnome.xml:
4314         * docs/manual/helloworld2.xml:
4315         * docs/manual/init-api.xml:
4316         * docs/manual/queues.xml:
4317         * docs/manual/threads.xml:
4318         * docs/manual/xml.xml:
4319         * examples/manual/extract.pl:
4320           Make it possible to extract example code from separate blocks.
4321           Should make Ronald happy.
4322
4323 2004-12-15  Wim Taymans  <wim@fluendo.com>
4324
4325         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4326         (remove_from_group), (group_elements_set_visited),
4327         (normalize_group), (gst_opt_scheduler_iterate):
4328         Fix bug where a flag was not updated on a decoupled entry point 
4329         because we were just checking the group element list and decoupled
4330         elements are not in that list..
4331
4332 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4333
4334         * docs/manual/advanced-autoplugging.xml:
4335         * docs/manual/advanced-clocks.xml:
4336         * docs/manual/advanced-dparams.xml:
4337         * docs/manual/advanced-interfaces.xml:
4338         * docs/manual/advanced-metadata.xml:
4339         * docs/manual/advanced-position.xml:
4340         * docs/manual/advanced-schedulers.xml:
4341         * docs/manual/advanced-threads.xml:
4342         * docs/manual/appendix-debugging.xml:
4343         * docs/manual/appendix-gnome.xml:
4344         * docs/manual/appendix-programs.xml:
4345         * docs/manual/appendix-quotes.xml:
4346         * docs/manual/appendix-win32.xml:
4347         * docs/manual/autoplugging.xml:
4348         * docs/manual/basics-bins.xml:
4349         * docs/manual/basics-data.xml:
4350         * docs/manual/basics-elements.xml:
4351         * docs/manual/basics-helloworld.xml:
4352         * docs/manual/basics-init.xml:
4353         * docs/manual/basics-pads.xml:
4354         * docs/manual/basics-plugins.xml:
4355         * docs/manual/bins-api.xml:
4356         * docs/manual/bins.xml:
4357         * docs/manual/buffers-api.xml:
4358         * docs/manual/buffers.xml:
4359         * docs/manual/clocks.xml:
4360         * docs/manual/components.xml:
4361         * docs/manual/cothreads.xml:
4362         * docs/manual/debugging.xml:
4363         * docs/manual/dparams-app.xml:
4364         * docs/manual/dynamic.xml:
4365         * docs/manual/elements-api.xml:
4366         * docs/manual/elements.xml:
4367         * docs/manual/factories.xml:
4368         * docs/manual/gnome.xml:
4369         * docs/manual/goals.xml:
4370         * docs/manual/helloworld.xml:
4371         * docs/manual/helloworld2.xml:
4372         * docs/manual/highlevel-components.xml:
4373         * docs/manual/highlevel-xml.xml:
4374         * docs/manual/init-api.xml:
4375         * docs/manual/intro-motivation.xml:
4376         * docs/manual/intro-preface.xml:
4377         * docs/manual/intro.xml:
4378         * docs/manual/links-api.xml:
4379         * docs/manual/links.xml:
4380         * docs/manual/manual.xml:
4381         * docs/manual/motivation.xml:
4382         * docs/manual/pads-api.xml:
4383         * docs/manual/pads.xml:
4384         * docs/manual/plugins-api.xml:
4385         * docs/manual/plugins.xml:
4386         * docs/manual/programs.xml:
4387         * docs/manual/queues.xml:
4388         * docs/manual/quotes.xml:
4389         * docs/manual/schedulers.xml:
4390         * docs/manual/states-api.xml:
4391         * docs/manual/states.xml:
4392         * docs/manual/threads.xml:
4393         * docs/manual/typedetection.xml:
4394         * docs/manual/win32.xml:
4395         * docs/manual/xml.xml:
4396           First try at rewriting the ADM. Needs lotsamore work, but some
4397           parts might already be somewhat useful.
4398         * docs/pwg/advanced-interfaces.xml:
4399           Remove properties interface, it never actually existed (except for
4400           on my HD...).
4401
4402 2004-12-13  David Schleef  <ds@schleef.org>
4403
4404         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
4405         be NULL (bug #160220).
4406
4407 2004-12-13  David Schleef  <ds@schleef.org>
4408
4409         * configure.ac: remove all mmx stuff, because it's not used.
4410         * docs/random/ds/0.9-suggested-changes: additional notes
4411         * include/Makefile.am: we don't use these anymore
4412         * include/mmx.h: remove
4413         * include/sse.h: remove
4414
4415 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
4416
4417         * docs/random/mimetypes:
4418           Add FOURCC code for h264 codec (VSSH)
4419           Add alternate FOURCC codes for h263 related codecs
4420
4421 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
4422
4423         * docs/manual/programs.xml:
4424           Added more gst-launch examples.
4425
4426 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4427
4428         * gst/gstqueue.c: (gst_queue_handle_src_query):
4429           Check for availability again.
4430
4431 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4432
4433         * gst/gstcaps.c: (gst_caps_compare_structures):
4434           Simple caps go first. This has the nice side-effect of fixing an
4435           obscure warning.
4436
4437 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4438
4439         * gst/gstversion.h.in:
4440           Protect header.
4441
4442 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4443
4444         * gst/schedulers/gstoptimalscheduler.c:
4445         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
4446         (gst_opt_scheduler_get_wrapper):
4447           When we're recursing into a chain run, only run the directly
4448           related group, not all queued ones. This will fix a possible
4449           deadlock in chains with more than two groups.
4450
4451 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4452
4453         * autogen.sh:
4454           remove patch if autopoint fails
4455
4456 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4457
4458         * docs/gst/gstreamer-sections.txt:
4459           Document Thomas' addition, fix build, make Luis the sheriff happy.
4460
4461 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4462
4463         * gst/gstplugin.c:
4464         * gst/gstplugin.h:
4465           add accessor for version field
4466
4467 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4468
4469         submitted by: Luca Ferretti <elle.uca@infinito.it>
4470
4471         * po/LINGUAS:
4472         * po/it.po:
4473           New tranlation added: Italian
4474
4475 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4476
4477         * gst/gstpad.c: (gst_pad_is_negotiated),
4478         (gst_pad_get_negotiated_caps):
4479           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
4480           it doesn't actually check the contents), so be sure to hand it
4481           a RealPad else we'll crash.
4482
4483 2004-12-03  Wim Taymans  <wim@fluendo.com>
4484
4485         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4486         (gst_queue_link), (gst_queue_handle_src_query):
4487         Reverted to 1.110 until this makes the testsuite and various
4488         apps work.
4489
4490 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
4491
4492         * docs/upload.mak: fix included CVS conflict strings
4493
4494 2004-12-01  William Jon McCann  <mccann@jhu.edu>
4495
4496         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4497
4498         * gst/gstelement.c: (gst_element_error_full):
4499           Use g_error_new_literal because error text may have
4500           percentage signs in it. Fixes #160019.
4501
4502 2004-12-01  Benjamin Otte  <otte@gnome.org>
4503
4504         * gst/elements/gstbufferstore.c:
4505         (gst_buffer_store_add_buffer_func):
4506           don't try to make subbuffers bigger than they can be. (fixes
4507           #159970)
4508
4509 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4510
4511         * docs/gst/gstreamer-sections.txt:
4512         * docs/gst/tmpl/gstvalue.sgml:
4513           Add new function to docs to fix build.
4514
4515 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4516
4517         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
4518         * gst/gstpad.c: (_gst_pad_default_fixate_value),
4519         (_gst_pad_default_fixate_foreach):
4520         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
4521         * gst/gstvalue.h:
4522           Deprecate _type_is_fixed, use _value_is_fixed instead, since
4523           in some cases (arrays), the fixedness depends on the content.
4524         * gst/gstqueue.c: (gst_queue_handle_src_query):
4525           Check for availability before doing something.
4526
4527 2004-11-29  Wim Taymans  <wim@fluendo.com>
4528
4529         * testsuite/threads/Makefile.am:
4530         * testsuite/threads/signals.c: (gst_test_get_type),
4531         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
4532         (gst_test_set_property), (gst_test_get_property),
4533         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
4534         (gst_test_do_prop), (run_thread), (main):
4535         Added a bunch of testcases that show threadsafety bugs in glib.
4536
4537 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
4538
4539         * docs/manual/programs.xml:
4540           Added a first batch of gst-launch examples, as provided by Ronald
4541           and others from the devel-mlist
4542
4543 2004-11-28  Benjamin Otte  <otte@gnome.org>
4544
4545         * gst/gstelement.c: (gst_element_negotiate_pads):
4546           simplify
4547         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
4548         (gst_value_serialize_string), (gst_value_deserialize_string):
4549           add unwrapping of previously wrapped strings. Fix bug in wrapping
4550           while at it.
4551         * testsuite/caps/value_serialize.c: (test1),
4552         (test_string_serialization), (test_string_deserialization), (main):
4553           add tests for string (de)serialization
4554
4555 2004-11-26  Wim Taymans  <wim@fluendo.com>
4556
4557         * testsuite/threads/159566.c: (object_deep_notify), (main):
4558         * testsuite/threads/Makefile.am:
4559         Added testsuite to show bug #159566
4560
4561 2004-11-25  Wim Taymans  <wim@fluendo.com>
4562
4563         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
4564         (gst_thread_child_state_change), (gst_thread_main_loop):
4565         Ref the thread object in the GThread mainloop. Break out of the
4566         thread mainloop if it holds the last ref. This properly exits
4567         the threads when disposing the thread from its own context. It
4568         also avoids possible deadlocks in the dispose function.
4569
4570 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
4571
4572         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
4573         it is necessary to wait.
4574
4575 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4576
4577         * docs/pwg/building-boiler.xml:
4578           Make description somewhat clearer.
4579
4580 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4581
4582         * docs/upload.mak:
4583           Apparently docs changed location on FDO's server.
4584
4585 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4586
4587         * docs/pwg/appendix-checklist.xml:
4588           Add some random notes on things to check when writing an element.
4589           This list can be extended as people see fit.
4590
4591 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
4592
4593         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
4594         (gst_queue_link_src): Allow for renegotiating the caps of the sink
4595         pad. The queue will now wait until it is empty and forward the new
4596         caps to the source.
4597         * gst/gstbin.c (gst_bin_set_element_sched)
4598         (gst_bin_unset_element_sched): Make sure that all elements and
4599         links are registered and unregistered with the scheduler exactly
4600         once. This elaborates on a fix by Benjamin Otte, but
4601         guarantees that decoupled elements are also registered.
4602
4603 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4604
4605         * docs/manual/quotes.xml:
4606           add a quote
4607         * configure.ac:
4608         * gst/gst.c:
4609         * gst/gstinfo.c:
4610           add LIBDIR and move init message higher up so it's at the start
4611
4612 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
4613
4614         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
4615         * gstreamer.spec.in: add fair
4616
4617 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4618
4619         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4620         * gst/elements/gstidentity.c: (gst_identity_class_init):
4621           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
4622           <teuf@gnome.org> (#157263).
4623         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
4624         (gst_type_find_handle_src_query):
4625           Subtract size of internally stored data from position queries.
4626
4627 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
4628
4629         * gst/schedulers/fairscheduler.c:
4630         * gst/schedulers/faircothreads.c:
4631         * gst/schedulers/faircothreads.h:
4632         New cothread based scheduler: Fair scheduler.
4633         * gst/schedulers/gthread-cothreads.h: 
4634         Add the standard #if around the whole file.
4635         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
4636         compilation of the functions defined in this file. This is
4637         necessary to be able to use this file as a normal header.
4638         * gst/schedulers/Makefile.am: Add compiling support for fair
4639         scheduler.
4640         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
4641         scheduler cothreads layer from documentation generation.
4642
4643 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4644
4645         * gst/autoplug/gstspideridentity.c:
4646         (gst_spider_identity_sink_loop_type_finding):
4647           Don't crash if that function is not implemented.
4648
4649 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4650
4651         * docs/pwg/advanced-types.xml:
4652           Another typo.
4653
4654 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4655
4656         * docs/pwg/intro-preface.xml:
4657           Hm, ok, so the brackets weren't really useful...
4658         * docs/pwg/other-ntoone.xml:
4659           Fix embarassing typo.
4660
4661 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4662
4663         * docs/pwg/intro-preface.xml:
4664           Rewrite preface.
4665
4666 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4667
4668         * docs/pwg/advanced-scheduling.xml:
4669         * docs/pwg/advanced-tagging.xml:
4670         * docs/pwg/advanced-types.xml:
4671         * docs/pwg/building-boiler.xml:
4672         * docs/pwg/building-chainfn.xml:
4673         * docs/pwg/building-signals.xml:
4674         * docs/pwg/building-state.xml:
4675         * docs/pwg/building-testapp.xml:
4676         * docs/pwg/intro-basics.xml:
4677         * docs/pwg/other-manager.xml:
4678         * docs/pwg/other-source.xml:
4679           Typo fixes.
4680         * docs/pwg/other-manager.xml:
4681           Add some first content. No example code yet.
4682         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
4683           Remove double newlines.
4684
4685 2004-11-04  Wim Taymans  <wim@fluendo.com>
4686
4687         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4688         (remove_from_group), (normalize_group), (group_migrate_connected),
4689         (gst_opt_scheduler_iterate):
4690         * testsuite/schedulers/.cvsignore:
4691         * testsuite/schedulers/Makefile.am:
4692         * testsuite/schedulers/queue_link.c: (main):
4693         Added testcase for scheduler segfault.
4694         Fix scheduler segfault when removing a decoupled
4695         entry point as the last element from a group.
4696
4697 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4698
4699         * gst/gstmarshal.list: add missing marshaller, fixes build
4700
4701 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4702
4703         * docs/random/signal: added notes about using BOXED for GstBuffer
4704         signal marshallers, not POINTER
4705
4706 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4707
4708         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4709         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
4710         POINTER=>BOXED changes to marshal GstBuffers
4711
4712 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4713
4714         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
4715         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
4716
4717 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
4718
4719         * docs/gst/gstreamer-sections.txt:
4720         * docs/gst/tmpl/gstcaps.sgml:
4721         * docs/gst/tmpl/gsterror.sgml:
4722         * docs/gst/tmpl/gstinfo.sgml:
4723         * docs/gst/tmpl/gstmacros.sgml:
4724         * docs/gst/tmpl/gstutils.sgml:
4725         * docs/random/ensonic/interfaces.txt:
4726         * gst/gstinfo.h:
4727           added some more docs, removed two obsolete defines
4728
4729 2004-11-02  Kjartan Maraas <as at gnome.org>
4730
4731         reviewed by: Wim Taymans, Ronald Bultje.
4732
4733         * gst/cothreads.c: (cothread_create):
4734         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4735         (gst_bin_child_state_change_func):
4736         * gst/gstbuffer.c: (gst_buffer_span):
4737         * gst/gstelement.c: (gst_element_get_index),
4738         (gst_element_get_event_masks), (gst_element_get_query_types),
4739         (gst_element_get_formats):
4740         * gst/gsterror.c: (_gst_core_errors_init),
4741         (_gst_library_errors_init), (_gst_resource_errors_init),
4742         (_gst_stream_errors_init):
4743         * gst/gstobject.c: (gst_object_default_deep_notify):
4744         * gst/gstpad.c: (gst_pad_get_event_masks),
4745         (gst_pad_get_internal_links_default):
4746         * gst/gstplugin.c: (gst_plugin_register_func),
4747         (gst_plugin_get_module):
4748         * gst/gststructure.c: (gst_structure_get_string),
4749         (gst_structure_get_abbrs), (gst_structure_from_abbr),
4750         (gst_structure_to_abbr):
4751         * gst/gstutils.c: (gst_print_element_args):
4752         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4753         (setup_group_scheduler), (gst_opt_scheduler_iterate):
4754         Aplied part of patch #157127: Cleanup of issues reported by 
4755         sparse.
4756         Also do not try to use cothreads when there is no cothread
4757         context yet.
4758
4759 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
4760
4761         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4762         (gst_opt_scheduler_iterate):
4763         Applied patch #154061. Running a pipeline in which an element 
4764         calls GST_ELEMENT_ERROR in the chain function, the opt 
4765         scheduler doesn't unref the chain so it never gets freed.
4766
4767 2004-11-02  Wim Taymans  <wim@fluendo.com>
4768
4769         * gst/gststructure.c: (gst_structure_get_abbrs),
4770         (gst_structure_from_abbr), (gst_structure_to_abbr):
4771         Remove that ugly if-then thing in the code that converts
4772         between strings and types.
4773
4774 2004-11-02  Wim Taymans  <wim@fluendo.com>
4775
4776         * gst/gstscheduler.c: (gst_scheduler_add_element),
4777         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
4778         Aplied clock distribution patch, this should fix bug
4779         #148787.
4780
4781 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4782
4783         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
4784
4785         * po/LINGUAS:
4786         * po/nb.po:
4787           Added Norwegian Bokmaal translation
4788
4789 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4790
4791         * tools/gst-inspect.c: (print_signal_info):
4792           print signal arguments as pointers if they are
4793
4794 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
4795
4796         * docs/pwg/building-boiler.xml:
4797           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
4798
4799 2004-10-19  Wim Taymans  <wim at fluendo dot com>
4800
4801         * gst/parse/parse.l:
4802         * testsuite/parse/parse1.c: (main):
4803         Since parse can do 'element name=a:b' make 'a:b.' work as
4804         well. 
4805         Added testcase to verify fix.
4806
4807 2004-10-19  Wim Taymans  <wim at fluendo dot com>
4808
4809         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
4810         Use the realpad when printing the direction.
4811         Add extra \n when printing extensions of typefind factories.
4812
4813 2004-10-13  David Schleef  <ds@schleef.org>
4814
4815         * examples/manual/Makefile.am: $< isn't portable in Makefile
4816         rules.
4817
4818 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
4819
4820         * docs/gst/tmpl/gstobject.sgml:
4821         * docs/gst/tmpl/gstplugin.sgml:
4822         * docs/gst/tmpl/gstpluginfeature.sgml:
4823         * docs/gst/tmpl/gstregistry.sgml:
4824         * docs/gst/tmpl/gstversion.sgml:
4825         * gst/gstbin.c:
4826           more api documentation
4827         * gst/gstplugin.c: (gst_plugin_register_func),
4828         (gst_plugin_check_file), (gst_plugin_load_file):
4829           better error signaling and logging
4830
4831 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4832
4833         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
4834           Subtract current queue contents from position queries.
4835
4836 2004-10-11  Johan Dahlin  <johan@gnome.org>
4837
4838         * gst/gsturi.c (gst_uri_get_location): unescape string
4839         (gst_uri_construct): escape string.
4840
4841 2004-10-11  Benjamin Otte  <otte@gnome.org>
4842
4843         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
4844         (gst_pad_try_set_caps_nonfixed):
4845           allow renegotiation of unconnected pads (as inside spider). Simply
4846           return OK if unconnected - mimic try_set_caps there.
4847
4848 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4849
4850         * gst/gstbin.c: (gst_bin_sync_children_state):
4851           Add missing break.
4852
4853 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4854
4855         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
4856         Set element to EOS before sending EOS event
4857
4858 2004-10-08  Wim Taymans  <wim at fluendo dot com>
4859
4860         * gst/elements/gsttypefindelement.c:
4861         (gst_type_find_element_handle_event):
4862         Handle EOS events when doing the transition from
4863         typefind to data passing. This should fix the
4864         infinite loops in short files.
4865
4866 2004-10-07  Wim Taymans  <wim at fluendo dot com>
4867
4868         * gst/gstthread.c: (gst_thread_change_state),
4869         (gst_thread_child_state_change):
4870         Make sure no iteration happens while performing
4871         the state change as it could mess up the internal
4872         consistency of the thread state.
4873
4874 2004-10-07  Wim Taymans  <wim at fluendo dot com>
4875
4876         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
4877         (gst_thread_change_state), (gst_thread_child_state_change):
4878         Do not try to grab the iterate lock in the state change method
4879         when we are in the same thread as the iterate or else we
4880         could deadlock. Some other cleanups.
4881
4882 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4883
4884         * configure.ac:
4885           bump nano to cvs
4886
4887 === release 0.8.7 ===
4888
4889 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4890
4891         * configure.ac:
4892         * NEWS:
4893         * RELEASE:
4894         * configure.ac:
4895           releasing 0.8.7, "A Cruise"
4896
4897 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
4898
4899         * docs/random/mimetypes:
4900         Add an entry for Sony ATRAC3 audio format with mime-type
4901         used by rmdemux et riff-read
4902
4903 2004-10-06  Wim Taymans  <wim at fluendo dot com>
4904
4905         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4906         Push the buffer store instead of clearing it in case that
4907         the stream is not seekable.
4908
4909 2004-10-06  Wim Taymans  <wim at fluendo dot com>
4910
4911         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
4912         (gst_thread_main_loop):
4913         Lock the iteration and the state change so that automatic
4914         negotiation and fixation does not happen at the same time
4915         as the in stream negotiation.
4916
4917 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4918
4919         * configure.ac:
4920           bump nano to cvs
4921
4922 === release 0.8.6 ===
4923
4924 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4925
4926         * configure.ac:
4927         * NEWS:
4928         * RELEASE:
4929         * configure.ac:
4930           releasing 0.8.6, "Narc"
4931
4932 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4933
4934         * configure.ac:
4935           prerel bump
4936
4937 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4938
4939         patch by: Steve Lhomme
4940
4941         * gst/elements/gstfakesrc.c:
4942         * gst/elements/gstidentity.c:
4943         * gst/gstthread.c:
4944           Fix for #153881
4945
4946 2004-10-01  Wim Taymans  <wim at fluendo dot com>
4947
4948         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
4949         Fix threadsafety of the crc checking function.
4950
4951 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4952
4953         patch by: Ronald Bultje
4954
4955         * gst/elements/gsttypefindelement.c: (stop_typefinding),
4956         (gst_type_find_element_handle_event),
4957         (gst_type_find_element_chain):
4958         * gst/elements/gsttypefindelement.h:
4959          #153657.
4960          Filter out discont event from seekable sources when typefind
4961          asks them to seek.  Fixes typefind with demuxers for
4962          avi, asf and matroska.
4963
4964 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4965
4966         * docs/gst/gstreamer-sections.txt:
4967         * gst/gstcaps.c:
4968         * gst/gstcaps.h:
4969         * gst/gstpad.c:
4970           Revert preferred caps: (#147789)
4971
4972 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
4973
4974         * win32/dirent.c:
4975           fix a memory leak
4976
4977 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4978
4979         * configure.ac:
4980           bump for prerelease
4981
4982 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4983
4984         * docs/Makefile.am:
4985         * docs/manual/elements-api.xml:
4986           restructure so that common stuff is shown first
4987         * docs/manual/init-api.xml:
4988           convert to examples
4989         * docs/manual/manual.xml:
4990         * docs/manuals.mak:
4991         * docs/url.entities:
4992           link to API on the website, possibly override later in build
4993         * examples/manual/.cvsignore:
4994           ignore more
4995         * examples/manual/Makefile.am:
4996           add more examples
4997         * examples/manual/extract.pl:
4998           error out on failure
4999
5000 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5001
5002         * docs/gst/tmpl/gstthread.sgml:
5003         * docs/manual/init-api.xml:
5004         * examples/manual/Makefile.am:
5005           convert two code bits to examples
5006
5007 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5008
5009         * gst/gstelement.c: (gst_element_change_state):
5010           Well, actually, I was about to remove this insane assert when
5011           I noticed Wim already did that. A warning is nice so we can
5012           fix actual ugs (using --g-fatal-warnings and backtraces), so
5013           I added that instead.
5014
5015 2004-09-06  Wim Taymans  <wim@fluendo.com>
5016
5017         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
5018         (gst_element_threadsafe_properties_post_run),
5019         (gst_element_set_state), (gst_element_change_state):
5020         Added extra refcounting around various places. 
5021
5022 2004-09-06  Wim Taymans  <wim@fluendo.com>
5023
5024         * gst/gstpad.c: (gst_pad_link_call_link_functions):
5025         Fix debug info.
5026
5027 2004-09-06  Wim Taymans  <wim@fluendo.com>
5028
5029         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5030         (remove_from_group):
5031         Some more debug info.
5032
5033 2004-09-03  Wim Taymans  <wim@fluendo.com>
5034
5035         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
5036         (gst_fakesrc_init), (gst_fakesrc_set_clock),
5037         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
5038         (gst_fakesrc_get), (gst_fakesrc_change_state):
5039         * gst/elements/gstfakesrc.h:
5040         * gst/elements/gstidentity.c: (gst_identity_class_init),
5041         (gst_identity_init), (gst_identity_chain),
5042         (gst_identity_set_property), (gst_identity_get_property),
5043         (gst_identity_change_state):
5044         * gst/elements/gstidentity.h:
5045         Added datarate properties to limit the datarate.
5046
5047 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5048
5049         * gst/autoplug/gstspider.c: (plugin_init):
5050           don't set a rank. We don't want to autoplug by inserting spiders.
5051
5052 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5053
5054         * gst/autoplug/gstspider.c: (gst_spider_class_init),
5055         (gst_spider_identity_plug):
5056           add a template for spider's sink
5057         * gst/gst.c: (gst_register_core_elements):
5058           queue's rank should be NULL, we don't want spider to add it.
5059
5060 2004-08-18  David Schleef  <ds@schleef.org>
5061
5062         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
5063         * docs/libs/Makefile.am: same
5064         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
5065         * docs/random/ds/0.9-planning: random additions
5066         * docs/random/ds/0.9-suggested-changes: same
5067         * gst/gstxml.h: remove vestigal GstXMLNs definition
5068
5069         Preferred caps: (#147789)
5070         * docs/gst/gstreamer-sections.txt: Add symbols
5071         * docs/gst/tmpl/gstcaps.sgml: Add symbols
5072         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
5073         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
5074         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
5075         (gst_caps_get_preferred), (gst_caps_set_preferred),
5076         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
5077         (gst_caps_use_preferred): Handle caps preferences
5078         * gst/gstcaps.h: Add caps preferences
5079         * gst/gstpad.c: (gst_pad_link_get_preferred),
5080         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
5081         (gst_pad_renegotiate), (gst_pad_guess_preferred),
5082         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
5083         negotiation.
5084
5085 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5086
5087         * gst/autoplug/gstspideridentity.c:
5088         (gst_spider_identity_request_new_pad):
5089         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
5090         (gst_aggregator_init):
5091         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
5092         (gst_fakesink_init):
5093         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
5094         (gst_fakesrc_init):
5095         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
5096         (gst_fdsink_init):
5097         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
5098         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
5099         (gst_filesink_init):
5100         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
5101         (gst_filesrc_init):
5102         * gst/elements/gstidentity.c: (gst_identity_base_init),
5103         (gst_identity_init):
5104         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
5105         (gst_multifilesrc_init):
5106         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
5107         (gst_pipefilter_init):
5108         * gst/elements/gststatistics.c: (gst_statistics_base_init),
5109         (gst_statistics_init):
5110         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
5111         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
5112           s/gst_pad_new/&_from_template/
5113           register pad templates in the base_init function
5114           add static pad template definitions
5115
5116 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5117
5118         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
5119         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
5120         * testsuite/refcounting/pad.c: (main):
5121         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
5122           s/gst_pad_new/&_from_template/
5123           prepare deprecation of gst_pad_new
5124
5125 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5126
5127         patch by: Luca Ognibene <skaboy81@virgilio.it>
5128
5129         * gst/gstcaps.c:
5130         * gst/gstelement.c:
5131         * gst/gstpad.c:
5132         * gst/gstxml.c:
5133           fix memleaks.  Fixes #150001
5134
5135 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5136
5137         * docs/random/ds/0.9-suggested-changes:
5138           add notes - mostly about pad templates
5139
5140 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
5141
5142         * win32/GStreamer.vcproj:
5143           temporary locale files are .gmo not .mo
5144
5145 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5146
5147         * configure.ac: bump nano to cvs
5148
5149 === release 0.8.5 ===
5150
5151 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5152
5153         * configure.ac:
5154           releasing 0.8.5, "Stuttgart"
5155         * NEWS:
5156         * RELEASE:
5157         * configure.ac:
5158         * docs/random/release:
5159           updates for release
5160
5161 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5162
5163         patch by: Wim Taymans (wim@fluendo.com)
5164
5165         * gst/gstbuffer.c:
5166         * gst/gstindex.h:
5167         * libs/gst/dataprotocol/dataprotocol.c:
5168           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
5169
5170 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5171
5172         * Makefile.am:
5173         * win32/MANIFEST:
5174           add win32 dir to the build.  Fixes #149981.
5175
5176 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5177
5178         * configure.ac:
5179           bump libtool versioning
5180         * gst/gststructure.c:
5181           mark function as static
5182         * po/af.po:
5183         * po/az.po:
5184         * po/ca.po:
5185         * po/cs.po:
5186         * po/en_GB.po:
5187         * po/fr.po:
5188         * po/nl.po:
5189         * po/sq.po:
5190         * po/sr.po:
5191         * po/sv.po:
5192         * po/tr.po:
5193         * po/uk.po:
5194           translations update
5195         * win32/README.txt:
5196           trademark protection
5197
5198 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5199
5200         * configure.ac:
5201           fix GST_ORIGIN
5202           set GST_PACKAGE to source, and distinguish between release and other
5203         * tools/gst-inspect.c:
5204           print out plugin an element factory is part of so we see this info
5205
5206 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5207
5208         * docs/gst/gstreamer-sections.txt:
5209         * docs/gst/tmpl/gstbuffer.sgml:
5210         * docs/gst/tmpl/gstschedulerfactory.sgml:
5211           reorder docs a little, make GstBuffer's more sensible.
5212         * gst/gstbuffer.h:
5213           API: added GST_BUFFER_FLAG_DELTA_UNIT
5214         * gst/gstscheduler.c:
5215           comment API addition
5216
5217 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5218
5219         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
5220           work with non-regular files that can be mmapped (like /dev/zero)
5221         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
5222           get rid of typefinds that require a seek when we can't seek instead
5223           of trying them over and over again
5224         * tools/gst-launch.c: (idle_func), (error_cb), (main):
5225           return non-zero failure value when the pipeline was interrupted or
5226           an error occurred
5227
5228 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
5229
5230         * win32/config.h:
5231         * win32/GStreamer.vcproj:
5232           compile and install the locales
5233
5234 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
5235
5236         * gst/gstvalue.c:
5237           fix a possible memory leak under Windows
5238
5239 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
5240
5241         * win32/GStreamer.vcproj:
5242           fix a memory leak that occured under Windows
5243         * win32/gstreamer.def:
5244           add gst_scheduler_register
5245
5246 2004-08-11  Benjamin Otte  <otte@gnome.org>
5247
5248         * docs/gst/gstreamer-sections.txt:
5249         * gst/gstscheduler.c: (gst_scheduler_register):
5250         * gst/gstscheduler.h:
5251           API:
5252           add gst_scheduler_register shortcut similar to gst_element_register
5253         * gst/schedulers/entryscheduler.c: (plugin_init):
5254         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
5255         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
5256           use it
5257
5258 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
5259
5260         * gst/gstvalue.h:
5261           fix a memory leak that occured under Windows
5262
5263 2004-08-10  Colin Walters  <walters@redhat.com>
5264
5265         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
5266         Don't use O_EXCL to open temporary registry.  It will prevent
5267         registry creation if a temporary one already exists, which
5268         is unnecessary.
5269
5270 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
5271
5272         * docs/gst/gstreamer-sections.txt:
5273         * docs/gst/tmpl/gstvalue.sgml:
5274           remove some valuable stuff from the documentation due to the use of GST_EXPORT
5275
5276 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
5277
5278         * win32/gstbytestream.vcproj:
5279         * win32/gstelements.vcproj:
5280         * win32/gstgetbits.vcproj:
5281         * win32/gst-inspect.vcproj:
5282         * win32/gst-launch.vcproj:
5283         * win32/gstoptimalscheduler.vcproj:
5284         * win32/GStreamer.vcproj:
5285         * win32/gst-register.vcproj:
5286         * win32/gstspider.vcproj:
5287           update the include and lib dirs to fit standard libraries as
5288           described in the Win32 manual
5289
5290 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
5291
5292         * win32/config.h:
5293         * win32/gstversion.h:
5294           enable NLS again, push the version number for the coming 0.8.5 release
5295
5296 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
5297
5298         * gst/gstvalue.h:
5299           export gst_type_XXX for windows DLLs
5300
5301 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5302
5303         * docs/faq/gst-uninstalled:
5304           fix PKG_CONFIG_PATH and PYTHONPATH
5305         * gst/schedulers/Makefile.am:
5306           cleanup
5307         * libs/gst/bytestream/bytestream.c:
5308           remove newline
5309         * po/LINGUAS:
5310         * po/sq.po:
5311           adding Albanian translation (Laurent Dhima)
5312         * po/cs.po:
5313           updated
5314
5315 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5316
5317         * po/ca.po:
5318         * po/sv.po:
5319           updated translations
5320
5321 2004-08-04  Benjamin Otte  <otte@gnome.org>
5322
5323         * tests/mass_elements.c: (main):
5324           allow specifying src and sink element explicitly, so I can test
5325           videotestsrc instead of fakesrc
5326
5327 2004-08-04  Benjamin Otte  <otte@gnome.org>
5328
5329         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
5330         (gst_structure_id_empty_new), (gst_structure_empty_new),
5331         (gst_structure_copy):
5332           add gst_structure_id_empty_new_with_size to allow preallocating
5333           value array sizes. Use this in gst_structure_copy to get rid of
5334           reallocs.
5335           don't do quark=>string=>quark when copying structures
5336
5337 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
5338
5339         * docs/manual/win32.xml:
5340         * win32/README.txt:
5341           update documentation with the clean version of dependencies
5342
5343 2004-08-03  Benjamin Otte  <otte@gnome.org>
5344
5345         * gst/schedulers/entryscheduler.c:
5346         (gst_entry_scheduler_remove_element):
5347           fix for GST_DISABLE_DEBUG
5348         * tools/gst-launch.c: (print_tag):
5349           fixes for G_DISABLE_ASSERT
5350
5351 2004-08-03  Benjamin Otte  <otte@gnome.org>
5352
5353         * gst/gst.c: (gst_register_core_elements):
5354           fix for G_DISABLE_ASSERT
5355         * gst/gstinfo.c: (__gst_in_valgrind):
5356           add for GST_DISABLE_DEBUG
5357
5358 2004-08-03  Benjamin Otte  <otte@gnome.org>
5359
5360         * gst/parse/parse.l:
5361           fix for G_DISABLE_ASSERT
5362
5363 2004-08-03  Wim Taymans  <wim@fluendo.com>
5364
5365         * gst/gstbin.c: (gst_bin_get_type),
5366         (gst_bin_child_state_change_func):
5367         * gst/gstthread.c: (gst_thread_change_state):
5368         Backported some debug logging from a reverted patch
5369         Don't try to destroy the thread twice. Added some more
5370         debugging in GstThread. Unlock and signal even if we
5371         are in the thread context.
5372
5373 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5374
5375         * po/uk.po:
5376           updated translation
5377
5378 2004-07-30  David Schleef  <ds@schleef.org>
5379
5380         * gst/gstatomic_impl.h: Enable atomic code for x86_64
5381
5382 2004-07-29  David Schleef  <ds@schleef.org>
5383
5384         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
5385         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
5386
5387 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5388
5389         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
5390         (gst_bin_add_func), (gst_bin_remove_func),
5391         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
5392         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
5393         (gst_bin_change_state_norecurse), (gst_bin_dispose),
5394         (gst_bin_sync_children_state):
5395         * gst/gstbin.h:
5396         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
5397         (gst_thread_change_state):
5398         * testsuite/states/Makefile.am:
5399           revert state change patches as agreed so we can rework them
5400           gradually
5401
5402 2004-07-29  Benjamin Otte  <otte@gnome.org>
5403
5404         * libs/gst/control/Makefile.am:
5405           link to libgstreamer (fixes Debian bug 262019, see
5406           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
5407
5408 2004-07-29  Wim Taymans  <wim@fluendo.com>
5409
5410         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
5411         (check_from_fraction_convert), (transform_test), (main):
5412         Make the test less pedantic about float roundoff errors.
5413
5414 2004-07-29  Benjamin Otte  <otte@gnome.org>
5415
5416         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
5417         (gst_filesrc_srcpad_event):
5418           make seek events to before start/after end of file not fail, but
5419           seek to start/end instead
5420         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
5421           add more output
5422
5423 2004-07-29  Benjamin Otte  <otte@gnome.org>
5424
5425         * gst/gstpad.c: (gst_pad_set_explicit_caps):
5426           check that caps are fixed
5427         * gst/gstpad.c: (gst_pad_template_new):
5428           don't try to simplify caps, costs too much time on gst_init
5429         * gst/gstplugin.c: (gst_plugin_add_feature):
5430           G_ERROR if features are added twice
5431         * gst/gsttypefind.c: (gst_type_find_register):
5432         * gst/gstelementfactory.c: (gst_element_register):
5433           don't add features twice
5434         * docs/random/ds/0.9-suggested-changes:
5435           add note about possible gst_init optimization
5436
5437 2004-07-28  David Schleef  <ds@schleef.org>
5438
5439         * testsuite/elements/Makefile.am:
5440         * testsuite/elements/struct_i386.h:
5441         * testsuite/elements/struct_size.c: (main):  A little test
5442         to keep distcheck from working if someone changes a structure
5443         size accidentally.
5444
5445 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5446
5447         * docs/libs/Makefile.am:
5448         * docs/libs/gstreamer-libs-docs.sgml:
5449         * docs/libs/gstreamer-libs-sections.txt:
5450         * docs/libs/tmpl/gstbytestream.sgml:
5451         * docs/libs/tmpl/gstcontrol.sgml:
5452         * docs/libs/tmpl/gstdataprotocol.sgml:
5453         * docs/libs/tmpl/gstgetbits.sgml:
5454         * libs/gst/bytestream/Makefile.am:
5455         * libs/gst/bytestream/bytestream.c:
5456         * libs/gst/bytestream/bytestream.h:
5457         * libs/gst/control/Makefile.am:
5458         * libs/gst/dataprotocol/Makefile.am:
5459         * libs/gst/getbits/Makefile.am:
5460         * libs/gst/getbits/getbits.h:
5461           various doc and style fixes, adding bytestream to libs docs.
5462
5463 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5464
5465         * docs/gst/gstreamer-docs.sgml:
5466         * docs/libs/Makefile.am:
5467         * docs/libs/gstreamer-libs-docs.sgml:
5468         * docs/libs/gstreamer-libs-sections.txt:
5469         * libs/gst/control/dparam.c:
5470           more doc fixes.  gst-libs docs now build the same way as gst.
5471
5472 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5473
5474         * configure.ac:
5475         * testsuite/Makefile.am:
5476         * testsuite/bins/Makefile.am:
5477         * testsuite/caps/Makefile.am:
5478         * testsuite/cleanup/Makefile.am:
5479         * testsuite/clock/Makefile.am:
5480         * testsuite/debug/Makefile.am:
5481         * testsuite/dlopen/Makefile.am:
5482         * testsuite/dynparams/Makefile.am:
5483         * testsuite/elements/.cvsignore:
5484         * testsuite/elements/Makefile.am:
5485         * testsuite/enumcaps/Makefile.am:
5486         * testsuite/enumcaps/enumcaps.c:
5487         * testsuite/ghostpads/Makefile.am:
5488         * testsuite/indexers/Makefile.am:
5489         * testsuite/negotiation/Makefile.am:
5490         * testsuite/parse/Makefile.am:
5491         * testsuite/plugin/Makefile.am:
5492         * testsuite/refcounting/Makefile.am:
5493         * testsuite/schedulers/.cvsignore:
5494         * testsuite/states/Makefile.am:
5495         * testsuite/tags/Makefile.am:
5496         * testsuite/threads/Makefile.am:
5497           fold enumcaps into caps dir
5498           clean up Makefile.am's for testsuite
5499
5500 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5501
5502         * docs/gst/Makefile.am:
5503         * docs/libs/Makefile.am:
5504           clean up docs build.  Fixes needless rebuilding of template files.
5505
5506 2004-07-28  Wim Taymans  <wim@fluendo.com>
5507
5508         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
5509         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
5510         Make sure that a bin state change tries to keep the children
5511         in sync. 
5512         Added debug logging to the thread.
5513
5514 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
5515
5516         * win32/GStreamer.vcproj:
5517         * win32/gstreamer.def:
5518           more exports for the plugins
5519
5520 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
5521
5522         * win32/gstgetbits.vcproj:
5523         * win32/gstgetbits.def:
5524         * win32/msvc71.sln:
5525           add support for the getbits plugin
5526
5527 2004-07-27  Wim Taymans  <wim@fluendo.com>
5528
5529         * gst/gstvalue.c: (gst_value_transform_double_fraction),
5530         (gst_value_transform_fraction_double), (_gst_value_initialize):
5531         * testsuite/caps/Makefile.am:
5532         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
5533         (check_from_fraction_convert), (transform_test), (main):
5534         Added transform functions between double and fraction.
5535         Added testcase to verify transforms
5536
5537 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5538
5539         * win32/GStreamer.vcproj:
5540           rename GStreamer-0.8.lib to libgstreamer.lib
5541
5542 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5543
5544         * win32/gstelements.vcproj:
5545         * win32/gstoptimalscheduler.vcproj:
5546           fixes for the Release build
5547
5548 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5549
5550         * win32/config.h:
5551           update the version number
5552
5553 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5554
5555         * win32/GStreamer.vcproj:
5556           add gstinterface to the build
5557
5558 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5559
5560         * win32/gstreamer.def:
5561           add many definitions needed by plugins,
5562           GST_CAT_DEFAULT only available in the Debug build ?
5563
5564 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5565
5566         * gst/gstelement.c: (gst_element_set_eos_recursive):
5567           various whitespace fixes.
5568           doc fix, fixes #148497
5569
5570 2004-07-25  Benjamin Otte  <otte@gnome.org>
5571
5572         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
5573           don't delay links on the sink elements, it causes unnegotiated
5574           links.
5575         * gst/elements/gsttypefindelement.c:
5576         (gst_type_find_element_base_init):
5577           add our padtemplates, we indeed do have some.
5578         * gst/elements/gsttypefindelement.c:
5579         (gst_type_find_element_handle_event),
5580         (gst_type_find_element_chain):
5581           don't push data when typefinding failed.
5582         * gst/gstpad.c: (gst_pad_link_fixate):
5583           check that no fixate function returns empty caps.
5584         * gst/gstpad.c: (gst_pad_push):
5585           check that the link is negotiated before data gets pushed.
5586         * tools/gst-register.c: (main):
5587           don't assert (fixes #148283)
5588
5589 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5590
5591         * docs/gst/gstreamer-sections.txt:
5592         * docs/gst/tmpl/gstconfig.sgml:
5593           add GST_PLUGIN_EXPORT definition
5594
5595 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5596
5597         * gst/gstplugin.h:
5598         * gst/gstconfig.h.in:
5599         * win32/gstconfig.h:
5600         * win32/gstelements.def:
5601         * win32/gstelements.vcproj:
5602         * win32/gstoptimalscheduler.def:
5603         * win32/gstoptimalscheduler.vcproj:
5604         * win32/gstspider.def:
5605         * win32/gstspider.vcproj:
5606           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
5607
5608 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5609
5610         * docs/gst/gstreamer-sections.txt:
5611           remove GST_CAT_DEFAULT because the type has changed
5612
5613 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5614
5615         * win32/gstbytestream.vcproj:
5616         * win32/gstelements.vcproj:
5617         * win32/gst-inspect.vcproj:
5618         * win32/gst-launch.vcproj:
5619         * win32/gstoptimalscheduler.vcproj:
5620         * win32/GStreamer.vcproj:
5621         * win32/gst-register.vcproj:
5622         * win32/gstspider.vcproj:
5623         * win32/msvc71.sln:
5624           Copy the files where needed after building, The testsuite will be
5625           built separately
5626
5627 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5628
5629         * win32/config.h:
5630         * win32/README.txt:
5631         * docs/manual/win32.xml:
5632         Fixed the plugin and GStreamer location
5633
5634 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5635
5636         * win32/gstreamer.def:
5637         More exports for the plugins
5638
5639 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5640
5641         * gst/gstinfo.h:
5642         Marc was right, we need to export literally GST_CAT_DEFAULT
5643
5644 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5645
5646         * win32/config.h:
5647         NLS crashes in gettext, disabled until this is solved
5648
5649 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5650
5651         * win32/gst-inspect.vcproj:
5652         * win32/gst-launch.vcproj:
5653         Should use NLS when available
5654
5655 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5656
5657         * gst/registries/gstxmlregistry.c:
5658         removing the file doesn't seem to be a good idea on Linux
5659
5660 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5661
5662         * gst/registries/gstxmlregistry.c:
5663         Remove the registry before renaming the tempfile (needed for Windows)
5664
5665 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5666
5667         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
5668         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
5669         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
5670         * gst/elements/gstmultifilesrc.h:
5671         Added newmedia property so it generates newmedia events between each
5672         file when property is set, as well as fixed eos handling
5673
5674 2004-07-22  David Schleef  <ds@schleef.org>
5675
5676         * gst/gststructure.c: (gst_structure_id_empty_new),
5677         (gst_structure_empty_new):  Set type field correctly.
5678         * gst/gststructure.h: Check type field correctly.
5679         * testsuite/caps/Makefile.am:
5680         * testsuite/caps/structure.c: (test1), (main): Add a very small
5681         test for structures.
5682
5683 2004-07-22  David Schleef  <ds@schleef.org>
5684
5685         * docs/random/ds/0.9-suggested-changes: more comments
5686         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
5687
5688 2004-07-22  Benjamin Otte  <otte@gnome.org>
5689
5690         * gst/gstelementfactory.c: (gst_element_register):
5691           set the factory in the class struct, so gst_element_get_factory
5692           actually works
5693         * gst/parse/grammar.y:
5694           set element to playing when it gets unlocked as we can't rely on the
5695           bin state - all elements in the bin state might still be locked in
5696           NULL)
5697
5698 2004-07-22  Benjamin Otte  <otte@gnome.org>
5699
5700         * gst/gstelement.c: (gst_element_set_state_func):
5701           make this a static function
5702
5703 2004-07-22  Wim Taymans  <wim@fluendo.com>
5704
5705         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
5706         (gst_opt_scheduler_pad_link):
5707         fix 147894-2 and the group_link problem.
5708
5709 2004-07-22  Wim Taymans  <wim@fluendo.com>
5710
5711         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
5712         (handoff_identity), (main):
5713         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5714         (handoff_identity), (main):
5715         * testsuite/schedulers/Makefile.am:
5716         * testsuite/schedulers/group_link.c: (main):
5717         Show bug in scheduler when linking chain and loop based element 
5718         where the chain based element was not yet in a group.
5719
5720 2004-07-21  Benjamin Otte  <otte@gnome.org>
5721
5722         * gst/.cvsignore:
5723         * gst/autoplug/.cvsignore:
5724         * gst/elements/.cvsignore:
5725         * gst/indexers/.cvsignore:
5726         * libs/gst/bytestream/.cvsignore:
5727         * libs/gst/control/.cvsignore:
5728         * libs/gst/getbits/.cvsignore:
5729         * testsuite/states/.cvsignore:
5730         * testsuite/threads/.cvsignore:
5731           keep this up to date, since I seem to be the only one who cares
5732           about not missing files on commits (editor's note: no you don't,
5733           but feel free to change them at the time you add stuff instead
5734           of later on)
5735
5736 2004-07-21  Benjamin Otte  <otte@gnome.org>
5737
5738         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
5739         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
5740         (gst_bin_child_state_change_func), (set_kid_state_func),
5741         (gst_bin_set_state), (gst_bin_change_state_norecurse):
5742           make state changes work correctly and reentrant (so removing
5743           elements from bins during state changes of bins doesn't cause
5744           segfaults or even wrong states)
5745           add debugging category and debugging output to print children states
5746         * gst/gstbin.c: (gst_bin_dispose): 
5747           add some assertion checks
5748         * gst/gstbin.h:
5749         * gst/gstbin.c: (gst_bin_sync_children_state):
5750           deprecate this function - it just does gst_bin_set_state (bin,
5751           GST_STATE (bin)) 
5752         * testsuite/threads/queue.c: (main):
5753           don't use gst_bin_sync_children_state anymore
5754         * testsuite/states/Makefile.am:
5755         * testsuite/states/bin.c:
5756           test that the state changes of bins work as expected
5757         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
5758           some adjustments to change states correctly, too
5759         * gst/gstthread.c: (gst_thread_change_state):
5760           don't enable/disable "threadsafe" properties, they're unused and
5761           cause random segfaults
5762         * testsuite/threads/Makefile.am:
5763           the queue check randomly passes now, ignore it
5764
5765 2004-07-21  Benjamin Otte  <otte@gnome.org>
5766
5767         * gst/gstpad.c:
5768           check if data is NULL before outputting debug info. (fixes #145100)
5769
5770 2004-07-21  Benjamin Otte  <otte@gnome.org>
5771
5772         * gst/schedulers/entryscheduler.c:
5773         (gst_entry_scheduler_loop_wrapper),
5774         (gst_entry_scheduler_chain_wrapper),
5775         (gst_entry_scheduler_get_wrapper):
5776           reset the state when the cothread starts, so we don't get assertion
5777           failures on restarting of cothreads
5778
5779 2004-07-20  Benjamin Otte  <otte@gnome.org>
5780
5781         * gst/gstelement.c: (gst_element_link_pads_filtered):
5782           use correct sinkpad, if only sinkpad is specified, but not srcpad
5783           (fixes #147889)
5784         * gst/gstelement.c: (gst_element_set_state_func),
5785         (gst_element_change_state): ref/unref the element, signal handlers
5786         could get rid of the element otherwise
5787
5788 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
5789
5790         * docs/random/ds/0.9-suggested-changes:
5791           Make note about renaming fixed-list to array.
5792         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
5793         (_gst_value_initialize):
5794           Add array intersections.
5795         * testsuite/caps/intersect2.c: (main):
5796           Add test for array intersections.
5797
5798 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5799
5800         * configure.ac: back to cvs
5801
5802 === release 0.8.4 ===
5803
5804 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5805
5806         * configure.ac:
5807           releasing 0.8.4, "Paella"
5808           bump libtool versioning
5809
5810 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5811
5812         * po/LINGUAS:
5813         * po/ca.po:
5814           adding Catalan translation (Jordi Mallach)
5815
5816 2004-07-20  Wim Taymans  <wim@fluendo.com>
5817
5818         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
5819         (handoff_identity), (main):
5820         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5821         (handoff_identity), (main):
5822         * testsuite/schedulers/Makefile.am:
5823         Added failing testcase for variant of #147894
5824
5825 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5826
5827         patch by: David Moore
5828
5829         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
5830         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
5831         (group_migrate_connected):
5832         * testsuite/schedulers/Makefile.am:
5833           fix for #142813 (Deadlock in optimal scheduler)
5834
5835 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5836
5837         patch by: Wim Taymans
5838
5839         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
5840         (gst_opt_scheduler_schedule_run_queue),
5841         (gst_opt_scheduler_get_wrapper), (get_group),
5842         (group_migrate_connected):
5843         * testsuite/schedulers/Makefile.am:
5844           fix for #147819 (Add some checks in the opt scheduler)
5845
5846 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5847
5848         patch by: Benjamin Otte
5849
5850         * gst/gstelementfactory.c: (__gst_element_details_set):
5851           fix for #147929: running gst-register in non-utf8 locale can cause
5852           invalid registry
5853
5854 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5855
5856         patch by: Wim Taymans
5857
5858         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
5859         (group_has_element), (element_get_reachables_func),
5860         (group_migrate_connected):
5861           fix for #147894 (opt scheduler decoupled elements mismanagement)
5862         * testsuite/schedulers/Makefile.am:
5863           testsuite app now passes
5864
5865 2004-07-19  Wim Taymans  <wim@fluendo.com>
5866
5867         * testsuite/schedulers/147819.c: (handoff_identity1),
5868         (handoff_identity2), (main):
5869         * testsuite/schedulers/Makefile.am:
5870         Added testcase for bug 147819
5871
5872 2004-07-19  Wim Taymans  <wim@fluendo.com>
5873
5874         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5875         (handoff_identity), (main):
5876         * testsuite/schedulers/Makefile.am:
5877         Added testcase for bug 147894
5878
5879 2004-07-16  Wim Taymans  <wim@fluendo.com>
5880
5881         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
5882         * testsuite/schedulers/142183.c: (handoff_identity), (main):
5883         * testsuite/schedulers/Makefile.am:
5884         Added testsuite for bug 142183 in its two incarnations. Refcount
5885         is not increased for scheduled elements and threadsafe properties
5886         mutexes are not properly unlocked.
5887
5888 2004-07-16  Wim Taymans  <wim@fluendo.com>
5889
5890         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
5891         (create_chain), (destroy_chain), (create_group), (destroy_group),
5892         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
5893         (group_dec_link), (gst_opt_scheduler_pad_link),
5894         (group_inc_links_for_element), (group_migrate_connected):
5895         Call group_inc_link with the proper src->sink ordering -- 
5896         break this, and we break sort_chain. patch from wingo for bug
5897         147713.
5898         Partially revert patch 1.89. When adding a loop based element to 
5899         the scheduler, the links to other groups are automatically followed
5900         and incremented. This should not happen because the bin will call
5901         pad_link explicitly for those connection, resulting in them counted 
5902         twice. Results in assertion failure on pipeline cleanup.
5903
5904 2004-07-16  Wim Taymans  <wim@fluendo.com>
5905
5906         * testsuite/schedulers/143777-2.c: (main):
5907         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
5908         (main):
5909         * testsuite/schedulers/Makefile.am:
5910         Added cleanup code to testcase 143777-2.
5911         Added testcase to show bug 147713, does not really show the
5912         deadlock as I can't figure out how to trigger it, but it does
5913         demonstrate bad ordering in the scheduler.
5914
5915 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5916
5917         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5918           change strndup to g_strndup.  Fixes #147707
5919
5920 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5921
5922         * po/af.po:
5923         * po/az.po:
5924         * po/cs.po:
5925         * po/en_GB.po:
5926         * po/fr.po:
5927         * po/nl.po:
5928         * po/sr.po:
5929         * po/sv.po:
5930         * po/tr.po:
5931         * po/uk.po:
5932           updated translations
5933
5934 2004-07-16  Benjamin Otte  <otte@gnome.org>
5935
5936         * gst/gstvalue.c: (gst_greatest_common_divisor):
5937           use ints and return ints, fractions only use ints, too, so this
5938           avoids accidently casting multiplications to unsigned
5939         (gst_value_lcopy_fraction): it's ints, not uint32
5940         (gst_value_set_fraction): disallow minint, multiplying and negation
5941           are broken with it
5942         (gst_value_fraction_multiply): fix to make large numbers work and get
5943         rid of the assumption that the multiplication of two ints fits an
5944         int64 - dunno if that's true for all systems
5945         * testsuite/caps/Makefile.am:
5946         * testsuite/caps/fraction-multiply-and-zero.c:
5947         (check_multiplication), (check_equal), (zero_test), (main):
5948           add tests for all the stuff above
5949         * testsuite/caps/value_compare.c: (test1):
5950           fix comment
5951         * tests/.cvsignore:
5952         * testsuite/caps/.cvsignore:
5953         * testsuite/debug/.cvsignore:
5954         * testsuite/dlopen/.cvsignore:
5955         * testsuite/states/.cvsignore:
5956           get up to date
5957
5958 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5959
5960         * docs/manual/bins-api.xml:
5961         * docs/manual/factories.xml:
5962         * docs/manual/helloworld.xml:
5963         * docs/manual/links-api.xml: 
5964           fixes for out of date info, incorrect info and grammar
5965
5966 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5967
5968         * docs/manual/pads.xml:
5969         * docs/manual/pads-api.xml: grammar fix
5970
5971 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5972
5973         * docs/manual/pads-api.xml: typo + grammar fix
5974
5975 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5976
5977         * docs/gst/gstreamer-sections.txt:
5978           add new symbols
5979         * docs/gst/tmpl/gstelement.sgml:
5980         * docs/gst/tmpl/gstpad.sgml:
5981         * docs/gst/tmpl/gsttypes.sgml:
5982         * docs/gst/tmpl/gstvalue.sgml:
5983           update docs
5984         * gst/gststructure.c: (gst_structure_set_valist),
5985         (gst_structure_from_abbr), (gst_structure_to_abbr):
5986         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
5987         (gst_greatest_common_divisor), (gst_value_init_fraction),
5988         (gst_value_copy_fraction), (gst_value_collect_fraction),
5989         (gst_value_lcopy_fraction), (gst_value_set_fraction),
5990         (gst_value_get_fraction_numerator),
5991         (gst_value_get_fraction_denominator),
5992         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
5993         (gst_value_deserialize_fraction),
5994         (gst_value_transform_fraction_string),
5995         (gst_value_transform_string_fraction),
5996         (gst_value_compare_fraction), (_gst_value_initialize):
5997         * gst/gstvalue.h:
5998           adding GstFraction GValue type, get/set, and multiply
5999         * testsuite/caps/Makefile.am:
6000         * testsuite/caps/fraction.c: (test), (main):
6001         * testsuite/caps/string-conversions.c: (main):
6002         * testsuite/caps/value_compare.c: (test1), (main):
6003           add regression tests for GstFraction
6004
6005 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6006         
6007         * docs/manual/init-api.xml: Grammar fix
6008
6009 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6010
6011         * docs/manual/states.xml: Fix inconsistent information
6012
6013 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6014
6015         * gst/gstelement.c: (gst_element_set_state):
6016         * gst/gstpad.c: (gst_pad_try_set_caps):
6017         * gst/gststructure.c:
6018         * gst/gstthread.c: (gst_thread_child_state_change):
6019         * gst/gstvalue.c: (gst_value_compare_double):
6020         * gst/gstvalue.h:
6021         * testsuite/parse/parse1.c: (main):
6022           debugging additions and style cleanups
6023
6024 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6025
6026         * docs/manual/states.xml: Grammar fix
6027
6028 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6029
6030         * docs/manual/pads.xml: Grammar fix
6031
6032 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6033
6034         * docs/manual/elements.xml: Fixed image reference
6035
6036 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6037
6038         * docs/manual/goals.xml: Grammar fix
6039
6040 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6041
6042         * docs/manual/motivation.xml:
6043         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
6044
6045 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6046
6047         * docs/manual/motivation.xml: Fix spelling
6048
6049 2004-07-15  Benjamin Otte  <otte@gnome.org>
6050
6051         * gst/gstelement.h: 
6052           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
6053           strings.
6054         * gst/gstelement.c (gst_element_class_init):
6055           GError's are boxed, not objects
6056         * gst/gstmarshal.list:
6057           update list for the fixed error signal
6058
6059 2004-07-14  Andy Wingo  <wingo@pobox.com>
6060
6061         * gst/gsttag.c: Add a tag merge func for pointers. The header was
6062         there all along, but the function wasn't. (guile-gstreamer's build
6063         system uses the address of the function -- I wasn't actually
6064         trying to use this.)
6065
6066 2004-07-14  Andy Wingo  <wingo@pobox.com>
6067
6068         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
6069         as gst_pad_proxy_pad_link) just link to every other pad when they
6070         are called. In the case where the graph has cycles, this will mean
6071         that a call to try_set_caps will recurse. Allow this recursion
6072         and return OK, while we wait for the first try_set_caps to give a
6073         proper return value.
6074         (gst_pad_link_call_link_functions): Since this function is the
6075         only one to set the NEGOTIATING flag on a pad, if the flag is set
6076         it means that the link functions have indirectly recursed. If this
6077         happens, error out to avoid infinite recursion and an eventual
6078         SEGV.
6079         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
6080         (gst_pad_proxy_getcaps): Intersect the result with the template
6081         caps to ensure that the return value is valid.
6082
6083 2004-07-14  Andy Wingo  <wingo@pobox.com>
6084
6085         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
6086         one refcount, the calling function is the owner of the buffer.
6087
6088 2004-07-14  Wim Taymans  <wim@fluendo.com>
6089
6090         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
6091         (gst_opt_scheduler_pad_link), (group_migrate_connected):
6092         Fix stupid warning when an element is to be migrated but
6093         is already migrated.
6094
6095 2004-07-14  Wim Taymans  <wim@fluendo.com>
6096
6097         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
6098         (gst_opt_scheduler_pad_link), (group_migrate_connected):
6099         Make sure that a single non-loop-based element does not 
6100         end up in a group. This fixes the testsuite again.
6101
6102 2004-07-14  Wim Taymans  <wim@fluendo.com>
6103
6104         * gst/schedulers/gstoptimalscheduler.c: (create_group),
6105         (add_to_group), (merge_groups), (schedule_group),
6106         (gst_opt_scheduler_get_wrapper), (group_elements),
6107         (group_dec_link), (gst_opt_scheduler_pad_link),
6108         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
6109         (gst_opt_scheduler_iterate):
6110         move isolated groups to a new chain.
6111         Emit a warning instead of segfaulting in some error cases.
6112         Fix a bug where the link count between groups was not calculated 
6113         correctly. Fixes #144510.
6114
6115 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
6116         * gst/elements/gstfilesrc.c:
6117           Binary files support under Windows now OK
6118       
6119 2004-07-13  Benjamin Otte  <otte@gnome.org>
6120
6121           compatibility fixes for Solaris 8/gcc 2.95
6122         * configure.ac:
6123           include libintl libs in LDFLAGS
6124         * gstvalue.c (gst_value_deserialize_buffer):
6125           cast isxdigit stuff to int to silence compiler warning
6126
6127 2004-07-12  Benjamin Otte  <otte@gnome.org>
6128
6129         * gst/gsttypes.h:
6130           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
6131           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
6132           just causes support madness
6133         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
6134           make it work without this
6135         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
6136         (gst_file_index_commit):
6137           glib IO channels don't want binary mode
6138         * testsuite/bytestream/filepadsink.c: (main):
6139         * testsuite/bytestream/test1.c: (read_param_file):
6140           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
6141
6142 2004-07-12  Benjamin Otte  <otte@gnome.org>
6143
6144         * gst/gstelement.c: (gst_element_class_init),
6145         (gst_element_set_state), (gst_element_set_state_func):
6146           virutalize gst_element_set_state, use set_state member in class
6147           struct that was already added in 0.7 for this.
6148         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
6149         (gst_bin_change_state):
6150           make gst_bin_foreach works similar to other foreach functions, plug
6151           memleaks in it. Make functions using it work with the new approach.
6152           Document gst_bin_foreach, so it can be exported if we want to
6153         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
6154           use virtualized set_state to make set_state on bins set the state of
6155           all its children.
6156
6157 2004-07-12  Benjamin Otte  <otte@gnome.org>
6158
6159         * configure.ac:
6160           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
6161           http://bugs.gentoo.org/show_bug.cgi?id=53967)
6162         * gst/gstpad.c: (gst_pad_alloc_buffer):
6163           allow buffer_alloc functions to return NULL and allocate a normal
6164           buffer in that case
6165
6166 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
6167         * gst/elements/gstfilesink.c:
6168         * gst/elements/gstfilesrc.c:
6169         * gst/indexers/gstfileindex.c:
6170         * gst/gsttypes.h:
6171         * testsuite/bytestream/filepadsink.c:
6172         * testsuite/bytestream/test1.c:
6173           Handle binary files under Windows
6174
6175 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
6176         * docs/manual/win32.xml:
6177         * win32/config.h:
6178         * win32/gst-register.vcproj:
6179         * win32/gstreamer.def:
6180           Update to another gettext public build
6181
6182 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
6183         * gst/gstplugin.c:
6184           Fix an impossible C syntax
6185         * win32/config.h:
6186           Disable i18n under Windows for the moment
6187         * win32/gst-register.vcproj:
6188           Use this configuration
6189
6190 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
6191         * docs/manual/quotes.xml:
6192           Keep the quotes file alive
6193         * docs/random/ds/0.9-suggested-changes:
6194           Add the suggestion of including a 'rowstride' as part of video
6195           format caps
6196
6197 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6198
6199         * gst/gstelement.c: (gst_element_set_state),
6200         (gst_element_change_state):
6201           d'oh.  Set PENDING state correctly before forcing bin to change.
6202         * gst/gststructure.c: (gst_structure_value_get_generic_type),
6203         (gst_structure_parse_fixed_list):
6204         * gst/schedulers/gstoptimalscheduler.c:
6205         (gst_opt_scheduler_state_transition):
6206         * testsuite/states/parent.c: (main):
6207           remove comment now that it's fixed.
6208
6209 2004-07-11  Benjamin Otte  <otte@gnome.org>
6210
6211         * gst/gstclock.h:
6212           GST_SECOND shouldn't cause a conversion to unsigned.
6213         * testsuite/clock/.cvsignore:
6214         * testsuite/clock/Makefile.am:
6215         * testsuite/clock/signedness.c: (main):
6216           make sure it never will again
6217
6218 2004-07-11  Andy Wingo  <wingo@pobox.com>
6219
6220         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
6221         whose state is higher than the bin state, raise the bin state to
6222         ensure that bin state := highest child state.
6223         
6224 2004-07-11  Andy Wingo  <wingo@pobox.com>
6225
6226         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
6227         procedure on the children of a bin. Assumes that the procedure can
6228         change the set of children.
6229         (set_kid_state_func): New static function.
6230         (gst_bin_change_state): Use gst_bin_foreach to call
6231         set_kid_state_func. Fixes a bug: if a child had a state-change
6232         handler that removes it from the bin, there would be a segfault.
6233         Hopefully it should also work in the case where the state-change
6234         handler on one child adds or removes other children. In any case,
6235         fixes should go to gst_bin_foreach.
6236
6237 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6238
6239         * gst/gstelement.c: (gst_element_set_state):
6240           compatibility fix for latest plugins release.  Change loop back
6241           to while {}
6242
6243 2004-07-09  Wim Taymans  <wim@fluendo.com>
6244
6245         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
6246         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
6247         (gst_thread_main_loop):
6248         Since remove is virtual in GstBin we must not assume the 
6249         elements GList to have anothing useful.
6250         Add some more logging to GstThread and be a bit more paranoid
6251         when resetting the scheduler.
6252         Set the state of the bin to NULL before removing the children.
6253
6254 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6255
6256         * testsuite/threads/Makefile.am:
6257         * testsuite/threads/threadg.c:
6258           added test to check if problem when removing all elements from a
6259           GstThread before setting GstThread state to NULL
6260
6261 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6262
6263         * docs/gst/tmpl/gstelement.sgml:
6264         * docs/gst/tmpl/gsttypes.sgml:
6265         * gst/gstbin.c: (gst_bin_change_state):
6266         * gst/gstelement.c: (gst_element_set_state),
6267         (gst_element_change_state):
6268           rework so that for bins we try to set the state on all children
6269           as well even if the bin is in the correct state already.
6270           change while to do so at least one iteration is done.
6271           For regular elements, we fall back to the previous behaviour for
6272           now since we first need a new plugins release.
6273         * testsuite/states/parent.c: (main):
6274           test for this case
6275           Fixes #123774
6276
6277 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6278
6279         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
6280         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
6281         (gst_queue_release_locks), (gst_queue_change_state),
6282         (gst_queue_set_property):
6283           add proper lock debugging.  Change dispose to finalize, since
6284           we're freeing mutexes and other stuff which should happen only once.
6285
6286 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6287
6288         * docs/gst/tmpl/gstelement.sgml:
6289         * docs/gst/tmpl/gstplugin.sgml:
6290         * docs/gst/tmpl/gsttypes.sgml:
6291         * docs/pwg/building-state.xml:
6292         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
6293         * gst/gstelement.c: (gst_element_change_state):
6294         * gst/gstthread.c: (gst_thread_change_state):
6295           catch wrong state changes in element base class.
6296
6297 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6298
6299         * gst/gstinfo.h:
6300           clean up layout a little.
6301
6302 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6303
6304         * configure.ac:
6305         * testsuite/Makefile.am:
6306         * testsuite/states/Makefile.am:
6307         * testsuite/states/parent.c: (main):
6308           re-enable states testsuite dir.  Add test for state changes and
6309           parent behaviour
6310
6311 2004-07-09  Wim Taymans  <wim@fluendo.com>
6312
6313         * gst/schedulers/gstoptimalscheduler.c:
6314         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
6315         (element_get_reachables_func), (element_get_reachables),
6316         (debug_element), (rechain_group), (group_migrate_connected),
6317         (gst_opt_scheduler_pad_unlink):
6318         Do not try to migrate decoupled elements to a new group since
6319         they are not added to groups.
6320
6321 2004-07-08  Benjamin Otte  <otte@gnome.org>
6322
6323         * gst/gstelement.c: (gst_element_error_func):
6324           make reentrant (= allow removing elements in error handler)
6325
6326 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6327
6328         * gst/gstpad.c: (gst_pad_event_default_dispatch),
6329         (gst_pad_send_event), (gst_pad_call_chain_function):
6330           events sent to elements below PAUSED cannot be handled, so
6331           don't try to
6332
6333 2004-07-08  Wim Taymans  <wim@fluendo.com>
6334
6335         * gst/schedulers/gstoptimalscheduler.c:
6336         (chain_recursively_migrate_group), (create_group),
6337         (schedule_group), (gst_opt_scheduler_pad_link),
6338         (group_elements_set_visited), (element_get_reachables_func),
6339         (element_get_reachables), (group_can_reach_group), (debug_element),
6340         (rechain_group), (group_migrate_connected),
6341         (gst_opt_scheduler_pad_unlink):
6342         * testsuite/schedulers/Makefile.am:
6343         Implemented group splitting and rechaining.
6344         Fixes 143777 and 143777-2 in the testsuite.
6345
6346 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6347
6348         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
6349           extra debugging
6350         * gst/gstevent.h:
6351         * gst/gstinfo.c: (gst_debug_log_default):
6352           print time nicely.  add thread pointer until someone figures out
6353           a completely portable way of getting at thread id's.
6354         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
6355         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
6356         (gst_pad_call_chain_function):
6357           extra debugging
6358         * gst/schedulers/gstoptimalscheduler.c:
6359         (get_group_schedule_function), (loop_group_schedule_function),
6360         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
6361         (pad_clear_queued), (gst_opt_scheduler_iterate):
6362           rename BUFPEN and friends to DATAPEN since that's what they are.
6363
6364 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6365
6366         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
6367         * gst/gstbuffer.h:
6368         * gst/gstpad.c:
6369           cleanups and debugging
6370
6371 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
6372
6373         * configure.ac:
6374         * gst/gstvalue.c: (gst_value_compare_enum),
6375         (gst_value_serialize_enum), (gst_value_deserialize_enum),
6376         (gst_value_can_compare), (gst_value_compare):
6377         * testsuite/Makefile.am:
6378         * testsuite/enumcaps/Makefile.am:
6379         * testsuite/enumcaps/enumcaps.c:
6380           Fix enum serialization, deserialization, comparison in caps, add
6381           a test to ensure that this continues working in the future.
6382
6383 2004-07-06  David Schleef  <ds@schleef.org>
6384
6385         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
6386         Fix memleak.
6387
6388 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6389
6390         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
6391         * gst/gstplugin.h:
6392         * gst/registries/gstxmlregistry.c:
6393         (plugin_times_older_than_recurse), (plugin_times_older_than),
6394         (gst_xml_registry_parse_padtemplate):
6395           only rebuild registry when actual plugins have a newer time than
6396           the registry.  Fixes #145520
6397
6398 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6399
6400         * docs/manual/manual.xml:
6401         * docs/manual/win32.xml:
6402           add chapter on win32 building.  fixes #142422
6403
6404 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6405
6406         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
6407
6408         * gst/autoplug/gstspider.c: (gst_spider_init),
6409         (gst_spider_dispose):
6410           fix spider memleaks.  fixes #137863
6411
6412 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6413
6414         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
6415
6416         * gst/schedulers/gstoptimalscheduler.c:
6417         (gst_opt_scheduler_pad_unlink):
6418           fix SIGBUS error, fixes #145338
6419
6420 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6421
6422         * gst/gstobject.c: (gst_object_replace):
6423         * gst/gstscheduler.c: (gst_scheduler_get_clock):
6424         * gst/gstsystemclock.c: (gst_system_clock_obtain):
6425           clean up clock lifecycle.  Fixes #109831
6426
6427 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6428
6429         * po/LINGUAS:
6430         * po/cs.po:
6431           added Czech translation (Miloslav Trmac)
6432
6433 2004-07-04  David Schleef  <ds@schleef.org>
6434
6435         * tools/Makefile.am:
6436         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
6437
6438 2004-07-04  David Schleef  <ds@schleef.org>
6439
6440         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
6441
6442 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6443
6444         * gst/gstbin.c: (gst_bin_restore_thyself):
6445           chain to parent restore so the bins get restored correctly
6446           in the editor
6447
6448 2004-07-03  David Schleef  <ds@schleef.org>
6449
6450         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
6451         Actually do something in these functions, like before the big
6452         caps change.  (bug #145137)
6453
6454 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6455
6456         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
6457         (gst_element_get_compatible_pad_filtered):
6458         * gst/gstthread.c: (gst_thread_main_loop):
6459           more debugging
6460
6461 2004-07-02  David Schleef  <ds@schleef.org>
6462
6463         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
6464         * gst/gstobject.h:
6465         * gst/gstparse.h:
6466         * gst/gsttrace.h:
6467         * gst/gstxml.h:
6468
6469 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6470
6471         * gst/gstpad.c: (gst_pad_check_schedulers),
6472         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
6473         (gst_pad_link_prepare):
6474           revert until testsuite is fixed
6475
6476 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6477
6478         * testsuite/Makefile.am:
6479         * testsuite/caps/filtercaps.c: (main):
6480         * testsuite/clock/clock1.c: (main):
6481         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
6482           fix some more tests
6483
6484 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6485
6486         * testsuite/cleanup/cleanup1.c: (create_pipeline):
6487         * testsuite/cleanup/cleanup2.c: (create_pipeline):
6488         * testsuite/cleanup/cleanup4.c: (main):
6489           fix testsuite
6490
6491 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6492
6493         * libs/gst/control/control.c:
6494         * libs/gst/control/dparam.c:
6495         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
6496         * libs/gst/control/dparammanager.c:
6497         * libs/gst/control/dparammanager.h:
6498         * testsuite/dynparams/Makefile.am:
6499         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
6500         (gst_dptest_change_state), (gst_dptest_chain), (main):
6501           fix testcase for dparams
6502           add debugging category
6503
6504 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6505
6506         * testsuite/Rules:
6507           change path
6508
6509 2004-07-02  Benjamin Otte  <otte@gnome.org>
6510
6511         * tests/.cvsignore:
6512         * tests/Makefile.am:
6513         * tests/mass_elements.c: (gst_get_current_time), (main):
6514           add simple benchmark to test various speeds of fakesrc ! identity !
6515           identity ! ... ! fakesink.
6516           Usage: mass_elements [num_identities] [num_buffers]
6517           If not specified they default to 1000.
6518
6519 2004-07-02  Benjamin Otte  <otte@gnome.org>
6520
6521         * gst/gstpad.c: (gst_pad_check_schedulers),
6522         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
6523         (gst_pad_link_prepare):
6524           check that pads that get linked belong to the same manager. The old
6525           code allowed linking elements before putting them into bins, so it
6526           worked to link them and then put them in different threads, which
6527           lead to weird behaviour.
6528           Since this effectively disallows linking elements before putting
6529           them in a bin, some applications might not work after this and error
6530           out. If these applications are too critical, we might need to revert
6531           that patch. Please test this before the next release...
6532
6533 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6534
6535         * gst/gstpad.c: (gst_pad_get_caps):
6536           throw an error if the getcaps function does not return a subset of
6537           the template caps.
6538         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
6539           make disconts without position info an error in debugging
6540         * tests/spidey_bench.c: (handoff), (main):
6541           don't count first try when averaging
6542
6543 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6544
6545         * gst/gstplugin.c: (gst_plugin_load_file):
6546           figure out problem with dynamic test
6547
6548 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6549
6550         * docs/gst/Makefile.am:
6551           fix docs build
6552
6553 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6554
6555         * po/POTFILES.in:
6556         * po/af.po:
6557         * po/az.po:
6558         * po/en_GB.po:
6559         * po/fr.po:
6560         * po/nl.po:
6561         * po/sr.po:
6562         * po/sv.po:
6563         * po/tr.po:
6564         * po/uk.po:
6565         * tools/gst-register.c: (plugin_added_func), (main):
6566           i18n-ize -register, fix plural
6567
6568 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6569
6570         * gst/elements/gstidentity.c: (gst_identity_class_init),
6571         (gst_identity_init), (gst_identity_chain),
6572         (gst_identity_set_property), (gst_identity_get_property):
6573         * gst/elements/gstidentity.h:
6574           check for perfect stream
6575
6576 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6577
6578         * gst/elements/gstidentity.c: (gst_identity_chain):
6579           print offset_end
6580
6581 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6582
6583         * docs/gst/Makefile.am:
6584         * docs/gst/gstreamer-docs.sgml:
6585           doc fixes
6586
6587 2004-06-24  David Schleef  <ds@schleef.org>
6588
6589         * autogen.sh:  Remove call to env, since the buildbot isn't
6590         broken anymore.
6591
6592 2004-06-24  Wim Taymans  <wim@fluendo.com>
6593
6594         * gst/elements/Makefile.am:
6595         * gst/elements/gstelements.c:
6596         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
6597         (gst_multifdsink_class_init), (gst_multifdsink_init),
6598         (gst_multifdsink_add), (gst_multifdsink_remove),
6599         (gst_multifdsink_clear), (gst_multifdsink_chain),
6600         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
6601         * gst/elements/gstmultifdsink.h:
6602         Added an element that writes to multiple filedescriptors at once.
6603
6604 2004-06-24  Benjamin Otte  <otte@gnome.org>
6605
6606         * gst/parse/grammar.y:
6607           don't try to link elements before they have been added to bins
6608
6609 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6610
6611         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
6612         (gst_file_pad_get_length):
6613         * libs/gst/bytestream/filepad.h:
6614           add 2 new functions
6615
6616 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6617
6618         * docs/gst/gstreamer-sections.txt:
6619         remove from docs, the define that Benjamin removed from gstelement.h
6620
6621 2004-06-22  Benjamin Otte  <otte@gnome.org>
6622
6623         * gst/gstelement.h:
6624           remove define that referenced a nonexisting GstElement struct member
6625
6626 2004-06-20  Benjamin Otte  <otte@gnome.org>
6627
6628         * gst/gstdata.c: (gst_data_is_writable):
6629           whoops, return values were wrong, so writable data was marked as
6630           non-writable and vice versa. (fixes #143953, spotted by Francis
6631           Labonte)
6632           Shows how rarely we need to copy data ;)
6633
6634 2004-06-20  Benjamin Otte  <otte@gnome.org>
6635
6636         * testsuite/schedulers/.cvsignore:
6637         * testsuite/schedulers/Makefile.am:
6638         * testsuite/schedulers/143777-2.c: (main):
6639           add test for opt breakage in bug #143777
6640
6641 2004-06-20  Benjamin Otte  <otte@gnome.org>
6642
6643         * gst/gstpad.c: (gst_pad_call_chain_function):
6644           check for if we were unlinked while inside the chainfunction (fixes
6645           entrygthread having issues with #143777)
6646         * testsuite/schedulers/143777.c: (main):
6647         * testsuite/schedulers/Makefile.am:
6648           add a test for that fix
6649
6650 2004-06-20  Benjamin Otte  <otte@gnome.org>
6651
6652         * gst/gstvalue.c: (gst_value_set_int_range):
6653           test that start is smaller then end
6654         * libs/gst/bytestream/Makefile.am:
6655         * libs/gst/bytestream/filepad.c: 
6656         * libs/gst/bytestream/filepad.h:
6657           add GstFilePad - a pad that behaves like a FILE*
6658         * testsuite/bytestream/.cvsignore:
6659         * testsuite/bytestream/Makefile.am:
6660         * testsuite/bytestream/filepadsink.c: 
6661           test for the GstFilePad
6662
6663 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6664
6665         * gst/elements/gstidentity.c: (gst_identity_class_init),
6666         (gst_identity_init), (gst_identity_set_clock),
6667         (gst_identity_chain), (gst_identity_set_property),
6668         (gst_identity_get_property):
6669         * gst/elements/gstidentity.h:
6670         * gst/gstclock.c: (gst_clock_id_wait):
6671           add a "sync" property to sync to the clock
6672
6673 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6674
6675         * gst/gstelementfactory.c: (gst_element_factory_create):
6676           make the freakin "elementfactory bla has no type" message more
6677           useful. So we actually can do something when someone shows up
6678           complaining about it.
6679
6680 2004-06-15  Johan Dahlin  <johan@gnome.org>
6681
6682         * tools/gst-inspect.c (main): Fallback to plugin if no element is
6683         found. This matches the old behavior better. Thanks to Thomas for
6684         pointing out.
6685
6686 2004-06-14  David Schleef  <ds@schleef.org>
6687
6688         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
6689         -fomit-frame-pointer.  Appears to generate correct code in
6690         other cases as well.
6691
6692 2004-06-14  Johan Dahlin  <johan@gnome.org>
6693
6694         * tools/gst-inspect.c (main): Add two new command line options: -a
6695         to print all elements and -n to print the name on each line. Also
6696         fix some error reporting.
6697         (main): Simplify, remove -n and always print names if -a is specified
6698
6699 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
6700
6701         * win32/gstconfig.h:
6702         * win32/GSTreamer.vcproj:
6703         * win32/Makefile:
6704         * gst/gstconfig.h.in:
6705         * gst/gst.h:
6706         * gst/gstbin.h:
6707         * gst/gstelement.h:
6708         * gst/gstevent.h:
6709         * gst/gstobject.h:
6710         * gst/gstpad.h:
6711         * docs/gst/gstreamer-sections.txt:
6712         * docs/gst/tmpl/gstconfig.sgml:
6713           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
6714
6715 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6716         * docs/gst/gstreamer-sections.txt:
6717         * docs/gst/tmpl/gstconfig.sgml:
6718         Add the GSTREAMER_EXPORT macro to the docs
6719
6720 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6721
6722         * tools/gst-compprep.c: (handle_xmlerror), (main):
6723         Add a check for the version that introduced SetStructuredError to fix
6724         the build on FC1
6725
6726 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6727
6728         * win32/msvc71.sln:
6729         * win32/testsuite/:
6730           prepare to compile the testsuite with MSVC
6731
6732 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6733
6734         * docs/manual/win32.xml:
6735           attempt to transform the Win32 README into an XML doc
6736
6737 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6738
6739         * gst/gst.c:
6740         * gst/gstbin.*:
6741         * gst/config.h.in:
6742         * gst/gstelement.*:
6743         * gst/gstevent.h:
6744         * gst/gstobject.*:
6745         * gst/gstpad.h:
6746         * tools/gst-register.c:
6747         * win32/gstreamer.def:
6748           extern symbols are now exported for the Windows DLL
6749
6750 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6751
6752         * gst/gstinfo.h:
6753           fix a problem to enable/disable DEBUG under MSVC
6754
6755 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6756
6757         * win32/:
6758           enable more debug code in DEBUG build
6759
6760 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6761
6762         * win32/config.h:
6763         * gst/gst-i18n-app.h:
6764           enable NLS under Windows
6765
6766 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
6767         * tools/gst-compprep.c: (handle_xmlerror), (main):
6768           Make an error that baffled me a bit clearer
6769
6770 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6771
6772         * gst/gstqueue.c:
6773           don't use g_queue_get_length () because it's 2.4, use ->length
6774
6775 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
6776
6777         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
6778
6779         * tools/gst-inspect.c: (print_signal_info):
6780           don't free random data twice. (fixes #144185)
6781
6782 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6783
6784         * gst/gstqueue.c:
6785         * gst/gstqueue.h:
6786           fix removing from the wrong queue on event timeout
6787           fix disposing of the event queue by casting correctly
6788           add mutexes for handling the event queue
6789           someone was sleeping when fixing queue last time around :)
6790
6791 2004-06-10  Johan Dahlin  <johan@gnome.org>
6792
6793         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
6794         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
6795
6796 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6797
6798         * docs/random/gdp:
6799         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
6800         * libs/gst/dataprotocol/dataprotocol.c:
6801         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6802         (gst_dp_buffer_from_header):
6803         * libs/gst/dataprotocol/dataprotocol.h:
6804         * libs/gst/dataprotocol/dp-private.h:
6805           rev version to 0.1, add buffer flags and copy them
6806
6807 2004-06-09  Johan Dahlin  <johan@gnome.org>
6808
6809         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
6810         the flags from the buffer we're copying.
6811
6812 2004-06-09  Wim Taymans  <wim@fluendo.com>
6813
6814         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
6815         * gst/elements/gstidentity.c: (gst_identity_init),
6816         (gst_identity_chain):
6817         Print more buffer info in fakesink.
6818         Make identity output similar to fakesink.
6819
6820 2004-06-07  Daniel Gazard  <dany42@free.fr>
6821
6822         reviewed by Benjamin Otte  <otte@gnome.org>
6823
6824         * configure.ac:
6825           fix cross compiling not working. (fixes #143741)
6826
6827 2004-06-07  Benjamin Otte  <otte@gnome.org>
6828
6829         * gst/gstelement.c: (gst_element_set_time_delay):
6830           add failure check
6831         * gst/gstinfo.h:
6832           put brackets around macro arguments of GST_TIME_ARGS, add note to
6833           move it to correct header in 0.9
6834
6835 2004-06-07  Benjamin Otte  <otte@gnome.org>
6836
6837         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
6838         (gst_file_index_load), (_file_index_id_save_entries),
6839         (gst_file_index_commit), (gst_file_index_add_association),
6840         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
6841         (gst_file_index_plugin_init):
6842           make debugging use a default category
6843
6844 2004-06-06  David Moore  <dcm@acm.org>
6845
6846         reviewed by Benjamin Otte  <otte@gnome.org>
6847
6848         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6849         (gst_fdsrc_change_state):
6850           reset offset counter when going READY => PAUSED. (fixes #142903)
6851
6852 2004-06-06  ed@catmur.co.uk
6853
6854         reviewed by Benjamin Otte  <otte@gnome.org>
6855
6856         * gst/registries/gstxmlregistry.c:
6857         (gst_xml_registry_rebuild_recurse):
6858           don't rely on g_dir_open to figure out if a file is a directory, use
6859           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
6860           directories. (fixes #142850)
6861
6862 2004-06-06  Benjamin Otte  <otte@gnome.org>
6863
6864         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
6865           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
6866         * libs/gst/bytestream/adapter.c:
6867         * libs/gst/bytestream/adapter.h:
6868           fix copyright in header and typo in debugging category name
6869
6870 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6871
6872         * configure.ac:
6873           bump nano to cvs
6874
6875 === release 0.8.3 ===
6876
6877 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6878
6879         * configure.ac:
6880           update libtool versioning
6881           do a new release
6882         * docs/gst/tmpl/gstelement.sgml:
6883         * docs/gst/tmpl/gsttypes.sgml:
6884         * gst/gstinfo.c: (_gst_debug_init):
6885           put back GST_CAT_DATAFLOW to fix API breakage
6886
6887 2004-06-04  David Schleef  <ds@schleef.org>
6888
6889         * autogen.sh: Add a temporary 'env' to test buildbot problems.
6890
6891 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6892
6893         * configure.ac:
6894           bump nano to cvs
6895
6896 === release 0.8.2 ===
6897
6898 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6899
6900         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
6901           check GST_DEBUG environment variable which is parsed the same way
6902           as --gst-debug=
6903
6904 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
6905
6906         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
6907                             gstmd5sink.c gstshaper.c gsttee.c
6908                             gsttypefindelement.c
6909         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
6910
6911           - removing trailing commas at end of enums
6912             it is correct C99 code but C90 compilers would complain
6913             (AIX, Forte, ...)
6914             ('should' fix #143290, at least partially)
6915
6916 2004-05-27  Wim Taymans  <wim@fluendo.com>
6917
6918         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
6919         (chain_group_set_enabled), (create_group), (add_to_group),
6920         (merge_groups), (setup_group_scheduler), (group_elements),
6921         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
6922         Don't try to follow the pad connections with other groups
6923         when a loop based element is added to the scheduler because
6924         the bin will inform the scheduler about the pad links a little
6925         later.
6926
6927 2004-05-27  Wim Taymans  <wim@fluendo.com>
6928
6929         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
6930         (remove_from_chain), (chain_group_set_enabled),
6931         (setup_group_scheduler), (group_element_set_enabled),
6932         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
6933         (gst_opt_scheduler_show):
6934         Elements without a group can do a state change as well, just wait
6935         with the setup of the scheduling function when it is added to a
6936         chain.
6937
6938 2004-05-27  Wim Taymans  <wim@fluendo.com>
6939
6940         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
6941         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
6942         (merge_groups), (setup_group_scheduler),
6943         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
6944         (gst_opt_scheduler_show):
6945         Fixes to maintain internal consistency of the scheduler data
6946         structures. 
6947          - adding an enabled group to a chain should increment the
6948            number of enabled elements in that chain.
6949          - removing an enabled group from a chain could disable the
6950            chain.
6951          - removing a disabled group from a chain could enable the
6952            chain.
6953          - add g_assert when internal inconsistency is detected.
6954          - adding an element to a group could increase the number of
6955            links this group has with other groups.
6956          - merging two groups also merges the chains.
6957          - also show group links in the _show method.
6958            
6959
6960 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6961
6962         * gst/gstcaps.c: (gst_caps_structure_simplify):
6963           don't print error messages when there is no error
6964         * gst/gstvalue.c: (gst_value_compare_int_range):
6965           compare the second value, too
6966         * testsuite/caps/Makefile.am:
6967         * testsuite/caps/random.c: (assert_on_error), (main):
6968           add tests to make sure the two things above are checked for
6969
6970 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6971
6972         * configure.ac:
6973         * libs/gst/dataprotocol/Makefile.am:
6974         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
6975         * libs/gst/dataprotocol/dataprotocol.h:
6976           wrap header in GST_ENABLE_NEW.  make code use it
6977
6978 2004-05-23  Johan Dahlin  <johan@gnome.org>
6979
6980         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
6981         so verbose and print GstElement signal names all the time.
6982
6983 2004-05-22  David Schleef  <ds@schleef.org>
6984
6985         * gst/registries/gstxmlregistry.c:
6986         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
6987         (bug #142957)
6988
6989 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6990
6991         * configure.ac:
6992           scrub cflags for glib2 so gcc doesn't complain when glib is in
6993           /usr/local
6994
6995 2004-05-21  Johan Dahlin  <johan@gnome.org>
6996
6997         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
6998         __GNUC__, patch from Brian Cameron, fixes bug #142804
6999
7000 2004-05-20  David Schleef  <ds@schleef.org>
7001
7002         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
7003         comparison code.  (bug #142819)
7004
7005 2004-05-20  Wim Taymans  <wim@fluendo.com>
7006
7007         * gst/gstbuffer.c: (gst_buffer_default_copy):
7008         * gst/gstbuffer.h:
7009         Added Comment to a flag.
7010         copy relevant flags in _buffer_copy.
7011
7012 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7013
7014         reviewed by: Wim Taymans <wim at fluendo dot com>
7015
7016         * gst/gstbuffer.h:
7017           add GST_BUFFER_IN_CAPS buffer flag
7018         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7019         (gst_structure_parse_any_list), (gst_structure_parse_list),
7020         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
7021         * gst/gstvalue.c: (gst_value_serialize_any_list),
7022         (gst_value_transform_any_list_string),
7023         (gst_value_list_prepend_value), (gst_value_list_append_value),
7024         (gst_value_list_get_size), (gst_value_list_get_value),
7025         (gst_value_transform_list_string),
7026         (gst_value_transform_fixed_list_string),
7027         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
7028         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
7029         (_gst_value_initialize):
7030         * gst/gstvalue.h:
7031           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
7032           < , > as a format.
7033         * testsuite/caps/string-conversions.c: (main):
7034           add regression tests for < >
7035
7036 2004-05-20  Johan Dahlin  <johan@gnome.org>
7037
7038         * docs/gst/Makefile.am (all-local): Re-add
7039
7040 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7041
7042         * docs/gst/Makefile.am:
7043         * docs/gst/gstreamer-docs.sgml:
7044         * docs/libs/Makefile.am:
7045         * docs/libs/gstreamer-libs-docs.sgml:
7046           fix distcheck issues
7047
7048 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7049
7050         * libs/gst/dataprotocol/Makefile.am:
7051           add to autotest
7052
7053 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7054
7055         * libs/gst/dataprotocol/Makefile.am:
7056         * libs/gst/dataprotocol/dataprotocol.c:
7057         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7058         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
7059         * libs/gst/dataprotocol/dp-private.h:
7060           use GST macros to read/write fixed length ints
7061           add some more asserts
7062
7063 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7064
7065         * docs/libs/gstreamer-libs-docs.sgml:
7066         * docs/libs/gstreamer-libs-sections.txt:
7067           remove idct and putbits
7068         * configure.ac:
7069         * docs/libs/tmpl/gstdataprotocol.sgml:
7070         * libs/gst/Makefile.am:
7071         * libs/gst/dataprotocol/Makefile.am:
7072         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
7073         (buffer_test), (caps_test), (event_test), (main):
7074         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
7075         (gst_dp_dump_byte_array), (gst_dp_init),
7076         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
7077         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
7078         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
7079         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
7080         (gst_dp_validate_header), (gst_dp_validate_payload),
7081         (gst_dp_validate_packet), (plugin_init):
7082         * libs/gst/dataprotocol/dataprotocol.h:
7083         * libs/gst/dataprotocol/dp-private.h:
7084           add dataprotocol
7085
7086 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7087
7088         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
7089           fix int variable deserialization and add a helper so we can actually
7090           debug this.
7091
7092 2004-05-18  David Schleef  <ds@schleef.org>
7093
7094         * testsuite/debug/commandline.c: (main): Call ./commandline, not
7095           argv[0].  Calling yourself is probably not the best way to
7096           construct a test like this, btw.
7097
7098 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7099
7100         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
7101           don't claim to be more intelligent than a scheduler when the
7102           scheduler claims the pipeline is stopped
7103         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
7104         (safe_cothread_destroy),
7105         (gst_entry_scheduler_remove_all_cothreads),
7106         (gst_entry_scheduler_reset), (_remove_cothread),
7107         (gst_entry_scheduler_state_transition):
7108           hold off cothread destruction if we're not in main cothread
7109         * configure.ac:
7110         * testsuite/Makefile.am:
7111           add new test dir
7112         * testsuite/schedulers/.cvsignore:
7113         * testsuite/schedulers/Makefile.am:
7114           add tests
7115         * testsuite/schedulers/relink.c: (cb_handoff), (main):
7116           check relinking and adding/removing elements from a running pipeline
7117         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
7118           check unlinking in a running pipeline
7119         * testsuite/schedulers/unref.c: (cb_handoff), (main):
7120           check unreffing a running pipeline
7121         * testsuite/schedulers/useless_iteration.c: (main):
7122           check iterating a pipeline that contains running threads works
7123
7124 2004-05-18  David Schleef  <ds@schleef.org>
7125
7126         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
7127           is false.
7128
7129 2004-05-18  Wim Taymans  <wim@fluendo.com>
7130
7131         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7132         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
7133         Fixed an error introduced with patch for 1.63. When setting
7134         a get based element as the entry point in a group, make sure
7135         to mark the group as GET based.
7136
7137 2004-05-18  Wim Taymans  <wim@fluendo.com>
7138
7139         * gst/schedulers/gstoptimalscheduler.c: (create_group),
7140         (setup_group_scheduler), (loop_group_schedule_function),
7141         (gst_opt_scheduler_pad_link):
7142         Added some more debug info and fixed a bug where the group
7143         type was set to LOOP but it was in fact unknown.
7144
7145 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7146
7147         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
7148           make resetting scheduler work twice in a row
7149
7150 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7151
7152         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
7153         (CREATE_USERIALIZATION), (_gst_value_initialize),
7154         (gst_value_compare_float), (gst_value_serialize_float),
7155         (gst_value_deserialize_float), (gst_value_compare_enum),
7156         (gst_value_serialize_enum), (gst_value_deserialize_enum):
7157           add serialization and comparison functions for long, int64, enum and
7158           float values
7159         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
7160           use best serialization function in type hierarchy instead of only a
7161           matching one. This is required for enums to work.
7162         * gst/parse/grammar.y:
7163           use gst_caps_deserialize
7164         * testsuite/parse/Makefile.am:
7165           parse1 now works
7166         * testsuite/parse/parse1.c: (main):
7167           remove aggregator check, aggregator is broken, this test works now
7168           but fails because of bug #138012
7169         * testsuite/parse/parse2.c: (main):
7170           s/xvideosink/xvimagesink - this test looks a lot like we should
7171           disable it
7172
7173 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7174
7175         * gst/gstelement.c: (gst_element_class_init):
7176           whoops, store the signal id correctly
7177         * gst/schedulers/gstbasicscheduler.c:
7178         (gst_basic_scheduler_chain_wrapper):
7179           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
7180           chain function isn't linked
7181
7182 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
7183         * configure.ac:
7184         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
7185         support until we decide where the flags should be used
7186         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
7187         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
7188         * gst/gstpad.c: (gst_pad_link_call_link_functions):
7189         Output refused caps in the debug info
7190
7191 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7192
7193         * gst/elements/gstidentity.c: (gst_identity_chain):
7194           add duration debug
7195         * gst/gstinfo.c: (gst_debug_log_default):
7196           add timestamp
7197
7198 2004-05-13  Benjamin Otte  <otte@gnome.org>
7199
7200         * gst/gstpipeline.c: (gst_pipeline_dispose),
7201         (gst_pipeline_change_state):
7202           call gst_scheduler_reset on dispose (fixes #141416)
7203
7204 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7205
7206         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
7207           compute mapsize correctly
7208         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
7209           use correct datatypes when calling a varargs function
7210         * gst/elements/gsttypefindelement.c: (stop_typefinding):
7211           push a DISCONT event as first thing
7212         * gst/gst_private.h:
7213         * gst/gstinfo.c: (_gst_debug_init):
7214           remove GST_DATAFLOW debugging category
7215         * gst/gstbin.c: (gst_bin_iterate):
7216           use GST_SCHEDULING category
7217         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
7218         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
7219         (gst_pad_call_get_function):
7220           add GST_DATAFLOW to easily track flow of buffers or events.
7221         * gst/gstqueue.c: (gst_queue_get_type),
7222         (gst_queue_handle_pending_events), (gst_queue_chain),
7223         (gst_queue_get), (gst_queue_handle_src_event):
7224           use own static debugging category GST_DATAFLOW for dataflow,
7225           use DEBUG category for showing which path events go, use LOG
7226           category for buffers.
7227
7228 2004-05-10  David Schleef  <ds@schleef.org>
7229
7230         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
7231
7232 2004-05-10  David Schleef  <ds@schleef.org>
7233
7234         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
7235         symbols, because otherwise we don't know what they are.  Thanks,
7236         the GStreamer team.
7237         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
7238
7239 2004-05-10  David Schleef  <ds@schleef.org>
7240
7241         (from Steve Lhomme)
7242         * win32/Makefile: When using make clean the MS Visual Studio makefiles
7243         are deleted.  Fix.
7244         * win32/Makefile.inspect:
7245         * win32/Makefile.launch:
7246         * win32/Makefile.register:
7247
7248 2004-05-10  David Schleef  <ds@schleef.org>
7249
7250         * gst/gstinfo.h: Add missing inline function.
7251         * gst/gsttrace.c: add include
7252         * gst/parse/grammar.y: remove unused code
7253         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
7254         more portable.
7255         * tools/gst-register.c: wrap unistd.h
7256         
7257         More additions/fixes from Steve for the MSVC build.
7258         * win32/GStreamer.vcproj:
7259         * win32/Makefile:
7260         * win32/Makefile.inspect:
7261         * win32/Makefile.launch:
7262         * win32/Makefile.register:
7263         * win32/README.txt:
7264         * win32/gst-inspect.vcproj:
7265         * win32/gst-launch.vcproj:
7266         * win32/gst-register.vcproj:
7267         * win32/gstbytestream.def:
7268         * win32/gstbytestream.vcproj:
7269         * win32/gstconfig.h:
7270         * win32/gstelements.def:
7271         * win32/gstelements.vcproj:
7272         * win32/gstenumtypes.c:
7273         * win32/gstenumtypes.h:
7274         * win32/gstoptimalscheduler.def:
7275         * win32/gstoptimalscheduler.vcproj:
7276         * win32/gstreamer.def:
7277         * win32/gstspider.def:
7278         * win32/gstspider.vcproj:
7279         * win32/gstversion.h:
7280         * win32/msvc71.sln:
7281
7282 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7283
7284         * gst/gstelement.c: (gst_element_class_init),
7285         (gst_element_no_more_pads):
7286         * gst/gstelement.h:
7287           add gst_element_no_more_pads and the "no-more-pads" signal
7288
7289 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7290
7291         * gst/gstregistry.c: (gst_registry_add_plugin):
7292           refuse to add plugins when a plugin with same name is already
7293           registered. Fixes a bunch of "How to remove plugins?" issues.
7294           May lead to other problems though, let's test
7295
7296 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7297
7298         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
7299         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
7300         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
7301
7302 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7303
7304         * tests/Makefile.am: fix am16 issue
7305
7306 2004-05-09  Benjamin Otte  <otte@gnome.org>
7307
7308         * libs/gst/bytestream/Makefile.am:
7309           we should indeed add .c files to makefiles or they won't be built
7310           (d'oh)
7311
7312 2004-05-08  Benjamin Otte  <otte@gnome.org>
7313
7314         * gst/gstpad.c: (gst_pad_proxy_fixate):
7315           really reduce the set of caps
7316
7317 2004-05-08  Benjamin Otte  <otte@gnome.org>
7318
7319         * tests/Makefile.am:
7320         * tests/spidey_bench.c: (handoff), (main):
7321           add benchmark to test how long spider needs to create a pipeline
7322
7323 2004-05-08  Benjamin Otte  <otte@gnome.org>
7324
7325         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
7326           mark links as unengaged when unnegotiating instead of deactivating.
7327           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
7328
7329 2004-05-08  Benjamin Otte  <otte@gnome.org>
7330
7331         * docs/manual/helloworld.xml:
7332           s/audiosink/osssink (patch by Patrick Guimond)
7333
7334 2004-05-07  David Schleef  <ds@schleef.org>
7335
7336         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
7337         since it contains important stuff.
7338
7339 2004-05-07  David Schleef  <ds@schleef.org>
7340
7341         * testsuite/caps/caps.c: (test3), (main): A check for appending
7342         ANY caps.
7343
7344 2004-05-07  David Schleef  <ds@schleef.org>
7345
7346         * common/m4/as-compiler-flag.m4: Properly quote arguments,
7347         which may contain commas.  Fixes detection of -Wa,-mregnames
7348
7349 2004-05-06  David Schleef  <ds@schleef.org>
7350
7351         Changes to handle compilers that don't have variadic macro
7352         support.  In particular, glib headers define some inlines
7353         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
7354         builds.
7355         * gst/Makefile.am:
7356         * gst/cothreads.c:
7357         * gst/elements/gstfdsink.c:
7358         * gst/elements/gstfdsrc.c:
7359         * gst/elements/gstfilesink.c:
7360         * gst/elements/gstfilesrc.c:
7361         * gst/gst_private.h:
7362         * gst/gstatomic.c:
7363         * gst/gstcaps.c: (gst_caps_append):
7364         * gst/gstcpu.c: (gst_cpuid_i386):
7365         * gst/gstelement.c:
7366         * gst/gsterror.c:
7367         * gst/gstfilter.c:
7368         * gst/gstinfo.h:
7369         * gst/gstprobe.c:
7370         * gst/gstquery.c:
7371         * gst/gstregistry.c:
7372         * gst/gststructure.c:
7373         * gst/gsttaginterface.c:
7374         * gst/gsttrace.c: (gst_trace_new):
7375         * gst/gsttrashstack.c:
7376         * gst/gsturi.c:
7377         * gst/gstvalue.c:
7378         * gst/parse/grammar.y:
7379         * gst/parse/parse.l:
7380         * tools/gst-inspect.c: (main):
7381         * tools/gst-launch.c: (main):
7382         * tools/gst-xmlinspect.c: (PUT_STRING):
7383
7384 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7385
7386         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
7387         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
7388         * gst/elements/gstfilesrc.h:
7389           send NEW_MEDIA events correctly
7390         * gst/elements/gsttypefindelement.c: (start_typefinding),
7391         (gst_type_find_element_handle_event):
7392           restart typefinding when we get a NEW_MEDIA event
7393         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
7394         (gst_bin_dispose):
7395           don't die when someone removes elements in callbacks
7396         * gst/gstelement.c: (gst_element_change_state):
7397           improve debugging
7398         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
7399           we need a NEW_MEDIA event to engage a link
7400         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
7401           don't g_print debugging stuff
7402         * testsuite/caps/simplify.c: (check_caps):
7403
7404 2004-05-04  Benjamin Otte  <otte@gnome.org>
7405
7406         * gst/parse/grammar.y:
7407           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
7408
7409 2004-05-04  Benjamin Otte  <otte@gnome.org>
7410
7411         * testsuite/caps/renegotiate.c: (main):
7412           improve output in error case
7413
7414 2004-05-04  Benjamin Otte  <otte@gnome.org>
7415
7416         * gst/parse/grammar.y:
7417           fix assert to not trigger when there's no error argument
7418         * gst/parse/parse.l:
7419           fix definition of caps to allow more than two structures
7420         * testsuite/caps/Makefile.am:
7421         * testsuite/caps/renegotiate.c: (main):
7422           it's sinesrc and works in that case
7423
7424 2004-05-04  Wim Taymans  <wim@fluendo.com>
7425
7426         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7427         (group_dec_link), (gst_opt_scheduler_pad_unlink):
7428         when removing an element from a group, we always need to
7429         decrement the link count that this group had with other 
7430         groups through the element.
7431         added an extra assert to catch inconsistencies when decrementing
7432         the link count.
7433
7434 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7435
7436         * configure.ac:
7437         * docs/gst/Makefile.am:
7438         * docs/gst/gstreamer-sections.txt:
7439         * docs/gst/tmpl/gstcompat.sgml:
7440         * examples/appreader/Makefile.am:
7441         * examples/cutter/Makefile.am:
7442         * examples/events/Makefile.am:
7443         * examples/helloworld/Makefile.am:
7444         * examples/helloworld2/Makefile.am:
7445         * examples/launch/Makefile.am:
7446         * examples/manual/Makefile.am:
7447         * examples/mixer/Makefile.am:
7448         * examples/pingpong/Makefile.am:
7449         * examples/plugins/Makefile.am:
7450         * examples/queue/Makefile.am:
7451         * examples/queue2/Makefile.am:
7452         * examples/queue3/Makefile.am:
7453         * examples/queue4/Makefile.am:
7454         * examples/retag/Makefile.am:
7455         * examples/thread/Makefile.am:
7456         * examples/typefind/Makefile.am:
7457         * examples/xml/Makefile.am:
7458         * gst/Makefile.am:
7459         * gst/autoplug/Makefile.am:
7460         * gst/elements/Makefile.am:
7461         * gst/gstcompat.h:
7462         * gst/indexers/Makefile.am:
7463         * gst/parse/Makefile.am:
7464         * gst/registries/Makefile.am:
7465         * gst/schedulers/Makefile.am:
7466         * libs/gst/bytestream/Makefile.am:
7467         * libs/gst/control/Makefile.am:
7468         * libs/gst/getbits/Makefile.am:
7469         * po/af.po:
7470         * po/az.po:
7471         * po/en_GB.po:
7472         * po/fr.po:
7473         * po/nl.po:
7474         * po/sr.po:
7475         * po/sv.po:
7476         * po/tr.po:
7477         * po/uk.po:
7478         * tests/Makefile.am:
7479         * tests/bufspeed/Makefile.am:
7480         * tests/instantiate/Makefile.am:
7481         * tests/memchunk/Makefile.am:
7482         * tests/muxing/Makefile.am:
7483         * tests/negotiation/Makefile.am:
7484         * tests/probes/Makefile.am:
7485         * tests/sched/Makefile.am:
7486         * tests/seeking/Makefile.am:
7487         * tests/threadstate/Makefile.am:
7488         * testsuite/caps/Makefile.am:
7489         * testsuite/cleanup/Makefile.am:
7490         * testsuite/dlopen/Makefile.am:
7491         * testsuite/dynparams/Makefile.am:
7492         * testsuite/plugin/Makefile.am:
7493         * testsuite/states/Makefile.am:
7494         * tools/Makefile.am:
7495           reorganize compile/link flags to be consistent
7496           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
7497
7498 2004-05-04  David Schleef  <ds@schleef.org>
7499
7500         The "once more, with feeling" check-in.
7501         * testsuite/caps/Makefile.am: dist caps_strings
7502         * testsuite/caps/renegotiate.c: (main): This test triggers a
7503           segfault in the core.  Marking as failing.
7504
7505 2004-05-03  David Schleef  <ds@schleef.org>
7506
7507         * testsuite/caps/deserialize.c: (main): Fix problems noticed
7508           by the build bots.
7509         * testsuite/caps/renegotiate.c: (main): Same.
7510
7511 2004-05-03  David Schleef  <ds@schleef.org>
7512
7513         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
7514
7515 2004-05-03  David Schleef  <ds@schleef.org>
7516
7517         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
7518           variable to find our source file.
7519
7520 2004-05-03  David Schleef  <ds@schleef.org>
7521
7522         * configure.ac:  Link plugins with libgstreamer and dependent
7523           libraries
7524         * testsuite/caps/Makefile.am:
7525         * testsuite/caps/caps_strings:
7526         * testsuite/caps/deserialize.c: (main): Add a little test to slog
7527           through a file of caps strings and test each one
7528
7529 2004-05-04  Benjamin Otte  <otte@gnome.org>
7530
7531         * libs/gst/bytestream/Makefile.am:
7532         * libs/gst/bytestream/adapter.c: 
7533         * libs/gst/bytestream/adapter.h:
7534           add GstAdapter, similar to bytestream, but doesn't require ugly event
7535           handling or uglier loopbased elements
7536
7537 2004-05-03  David Schleef  <ds@schleef.org>
7538
7539         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
7540         * testsuite/caps/erathostenes.c:
7541         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
7542
7543 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7544
7545         * docs/pwg/pwg.xml:
7546           remove hardcoded stylesheet path (duh)
7547         * docs/random/release:
7548         * docs/gst/gstreamer-sections.txt:
7549         * gst/Makefile.am:
7550         * gst/gst.h:
7551         * gst/gst_private.h:
7552         * gst/gstcaps.c:
7553         * gst/gstevent.c:
7554         * gst/gstformat.c:
7555         * gst/gstinfo.c:
7556         * gst/gstinfo.h:
7557         * gst/gstinterface.c:
7558         * gst/gstmemchunk.c:
7559         * gst/gstprobe.c:
7560         * gst/gstquery.c:
7561         * gst/gstregistry.c:
7562         * gst/gstregistrypool.c:
7563         * gst/gststructure.c:
7564         * gst/gsttaginterface.c:
7565         * gst/gstthread.c:
7566         * gst/gsttrace.c:
7567         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
7568         * gst/gsturi.c:
7569         * gst/gstvalue.c:
7570           deprecate gst_info; remove gstlog.h
7571    
7572
7573 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7574
7575         * Makefile.am:
7576         * po/en_GB.po:
7577         * po/sv.po:
7578         * po/uk.po:
7579           updated translations
7580
7581 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7582
7583         * gst/gstbin.c: (gst_bin_dispose):
7584           better debugging
7585
7586 2004-05-03  Johan Dahlin  <johan@gnome.org>
7587
7588         * gst/schedulers/gstoptimalscheduler.c
7589         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
7590         really is a GstElement. Avoids critical when running gst-launch -v
7591         and a oggdemux/decoding pipeline.
7592
7593 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7594
7595         * docs/gst/tmpl/gstpipeline.sgml :
7596         * docs/manual/elements-api.xml :
7597                 doc fix by Patrick Guimond (Protector) from devel ML
7598                 reviewed by ronald
7599
7600 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7601
7602         * docs/gst/Makefile.am :
7603         * docs/libs/Makefile.am :
7604                 apply a patch from Arwed v. Merkatz so that gtk-doc
7605                 generated docs install (same for .devhelp file)
7606                 (fixes part 1 of #138836)
7607
7608 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7609
7610         * docs/faq/dependencies.xml: typo
7611         * docs/faq/getting.xml :
7612             - fix download URL for new gstreamer site
7613             - hide sf.net download page as latest version aren't there
7614             - fix apt URLs
7615             - fill "get via CVS" paragraph (link to dev page on the site)
7616         * docs/faq/general.xml:
7617             hide status tables as they no more exists
7618             change case on plugins license file to reflect reality
7619         * docs/faq/troubleshooting.xml:
7620             remove the wiki question/answer as there is no more wiki
7621
7622 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7623
7624         * gst/gsterror.h:
7625           include the headers needed for declarations used in this header
7626
7627 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7628
7629         * docs/random/uraeus/gstreamer_and_midi.txt :
7630           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
7631           (fixes #132288)
7632
7633 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
7634
7635         reviewed by Benjamin Otte  <otte@gnome.org>
7636
7637         * gst/schedulers/gthread-cothreads.h:
7638           free allocated data for main cothread, too when destroying context
7639           (fixes #141417)
7640
7641 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7642
7643         * docs/manual/goals.xml : remove duplicated paragraph at end 
7644         of doc page (fixes #141448)
7645
7646 2004-04-29  David Schleef  <ds@schleef.org>
7647
7648         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
7649         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
7650
7651 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7652
7653         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
7654           fix property
7655         * gst/gstcaps.c:
7656           fix doc string
7657         * po/POTFILES.in:
7658           rename typefind source file
7659
7660 2004-04-28  David Schleef  <ds@schleef.org>
7661
7662         Several new files from Steve Lhomme's MSVC patch (bug #141317):
7663         * win32/GStreamer.vcproj:
7664         * win32/Makefile:
7665         * win32/config.h:
7666         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
7667         (_trewinddir), (_ttelldir), (_tseekdir):
7668         * win32/dirent.h:
7669         * win32/gst-inspect.vcproj:
7670         * win32/gst-launch.vcproj:
7671         * win32/gst-register.vcproj:
7672         * win32/gstbytestream.vcproj:
7673         * win32/gstelements.vcproj:
7674         * win32/gstoptimalscheduler.vcproj:
7675         * win32/gstspider.vcproj:
7676         * win32/gtchar.h:
7677         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
7678         * win32/mman.h:
7679         * win32/mman.inl:
7680         * win32/msvc71.sln:
7681
7682 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7683
7684         * gst/gst.c: (init_post):
7685         * gst/gstinfo.c:
7686           remove useless _gst_progname stuff
7687         * tools/gst-inspect.c: (print_field), (print_caps):
7688           improve caps output
7689
7690 2004-04-28  David Schleef  <ds@schleef.org>
7691
7692         Disable parsing of a lot of files that aren't part of the
7693         exported API.  Move corresponding template files to old/,
7694         waiting for removal when they don't contain anything
7695         interesting.
7696         * docs/gst/Makefile.am:
7697         * docs/gst/gstreamer-sections.txt:
7698         * docs/gst/tmpl/cothreads.sgml:
7699         * docs/gst/tmpl/cothreads_compat.sgml:
7700         * docs/gst/tmpl/gettext.sgml:
7701         * docs/gst/tmpl/gobject2gtk.sgml:
7702         * docs/gst/tmpl/grammar.tab.sgml:
7703         * docs/gst/tmpl/gst-i18n-app.sgml:
7704         * docs/gst/tmpl/gst-i18n-lib.sgml:
7705         * docs/gst/tmpl/gst_private.sgml:
7706         * docs/gst/tmpl/gstaggregator.sgml:
7707         * docs/gst/tmpl/gstarch.sgml:
7708         * docs/gst/tmpl/gstatomic_impl.sgml:
7709         * docs/gst/tmpl/gstbufferstore.sgml:
7710         * docs/gst/tmpl/gstdata_private.sgml:
7711         * docs/gst/tmpl/gstdisksink.sgml:
7712         * docs/gst/tmpl/gstdisksrc.sgml:
7713         * docs/gst/tmpl/gstelementfactory.sgml:
7714         * docs/gst/tmpl/gstextratypes.sgml:
7715         * docs/gst/tmpl/gstfakesink.sgml:
7716         * docs/gst/tmpl/gstfakesrc.sgml:
7717         * docs/gst/tmpl/gstfdsink.sgml:
7718         * docs/gst/tmpl/gstfdsrc.sgml:
7719         * docs/gst/tmpl/gstfilesink.sgml:
7720         * docs/gst/tmpl/gstfilesrc.sgml:
7721         * docs/gst/tmpl/gsthttpsrc.sgml:
7722         * docs/gst/tmpl/gstidentity.sgml:
7723         * docs/gst/tmpl/gstindexfactory.sgml:
7724         * docs/gst/tmpl/gstmarshal.sgml:
7725         * docs/gst/tmpl/gstmd5sink.sgml:
7726         * docs/gst/tmpl/gstmultidisksrc.sgml:
7727         * docs/gst/tmpl/gstmultifilesrc.sgml:
7728         * docs/gst/tmpl/gstpadtemplate.sgml:
7729         * docs/gst/tmpl/gstpipefilter.sgml:
7730         * docs/gst/tmpl/gstschedulerfactory.sgml:
7731         * docs/gst/tmpl/gstsearchfuncs.sgml:
7732         * docs/gst/tmpl/gstshaper.sgml:
7733         * docs/gst/tmpl/gstspider.sgml:
7734         * docs/gst/tmpl/gstspideridentity.sgml:
7735         * docs/gst/tmpl/gststatistics.sgml:
7736         * docs/gst/tmpl/gsttee.sgml:
7737         * docs/gst/tmpl/gsttimecache.sgml:
7738         * docs/gst/tmpl/gsttypefind.sgml:
7739         * docs/gst/tmpl/gsttypefindfactory.sgml:
7740         * docs/gst/tmpl/gstxmlregistry.sgml:
7741         * docs/gst/tmpl/gthread-cothreads.sgml:
7742         * docs/gst/tmpl/old/cothreads.sgml:
7743         * docs/gst/tmpl/old/cothreads_compat.sgml:
7744         * docs/gst/tmpl/old/gettext.sgml:
7745         * docs/gst/tmpl/old/gobject2gtk.sgml:
7746         * docs/gst/tmpl/old/grammar.tab.sgml:
7747         * docs/gst/tmpl/old/gst-i18n-app.sgml:
7748         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
7749         * docs/gst/tmpl/old/gst_private.sgml:
7750         * docs/gst/tmpl/old/gstaggregator.sgml:
7751         * docs/gst/tmpl/old/gstarch.sgml:
7752         * docs/gst/tmpl/old/gstatomic_impl.sgml:
7753         * docs/gst/tmpl/old/gstbufferstore.sgml:
7754         * docs/gst/tmpl/old/gstdata_private.sgml:
7755         * docs/gst/tmpl/old/gstdisksink.sgml:
7756         * docs/gst/tmpl/old/gstdisksrc.sgml:
7757         * docs/gst/tmpl/old/gstelementfactory.sgml:
7758         * docs/gst/tmpl/old/gstextratypes.sgml:
7759         * docs/gst/tmpl/old/gstfakesink.sgml:
7760         * docs/gst/tmpl/old/gstfakesrc.sgml:
7761         * docs/gst/tmpl/old/gstfdsink.sgml:
7762         * docs/gst/tmpl/old/gstfdsrc.sgml:
7763         * docs/gst/tmpl/old/gstfilesink.sgml:
7764         * docs/gst/tmpl/old/gstfilesrc.sgml:
7765         * docs/gst/tmpl/old/gsthttpsrc.sgml:
7766         * docs/gst/tmpl/old/gstidentity.sgml:
7767         * docs/gst/tmpl/old/gstindexfactory.sgml:
7768         * docs/gst/tmpl/old/gstmarshal.sgml:
7769         * docs/gst/tmpl/old/gstmd5sink.sgml:
7770         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
7771         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
7772         * docs/gst/tmpl/old/gstpadtemplate.sgml:
7773         * docs/gst/tmpl/old/gstpipefilter.sgml:
7774         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
7775         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
7776         * docs/gst/tmpl/old/gstshaper.sgml:
7777         * docs/gst/tmpl/old/gstspider.sgml:
7778         * docs/gst/tmpl/old/gstspideridentity.sgml:
7779         * docs/gst/tmpl/old/gststatistics.sgml:
7780         * docs/gst/tmpl/old/gsttee.sgml:
7781         * docs/gst/tmpl/old/gsttimecache.sgml:
7782         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
7783         * docs/gst/tmpl/old/gstxmlregistry.sgml:
7784         * docs/gst/tmpl/old/gthread-cothreads.sgml:
7785         * docs/gst/tmpl/old/types.sgml:
7786         * docs/gst/tmpl/types.sgml:
7787
7788         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
7789         gtkdoc-scan doesn't like files with the same name in different
7790         directories.
7791         * gst/elements/Makefile.am:
7792         * gst/elements/gstelements.c:
7793         * gst/elements/gsttypefind.c: 
7794         * gst/elements/gsttypefind.h:
7795         * gst/elements/gsttypefindelement.c:
7796         * gst/elements/gsttypefindelement.h:
7797
7798 2004-04-28  David Schleef  <ds@schleef.org>
7799
7800         A bunch of portability fixes, derived from Steve Lhomme's MSVC
7801         patch (bug #141317):
7802         * gst/gst-i18n-lib.h: Allow disabling gettext.
7803         * gst/gstatomic_impl.h: disable warning when it's dumb.
7804         * gst/gstclock.c: fix include
7805         * gst/gstcompat.h: fix variadic macro
7806         * gst/gstinfo.c: fix include
7807         * gst/gstmacros.h: add defines for inlines on MSVC
7808         * gst/gstplugin.c: fix includes
7809         * gst/gstregistry.c: fix includes
7810         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
7811         * gst/gstsystemclock.c: fix include
7812         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
7813         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
7814         * gst/registries/gstxmlregistry.c:
7815         (gst_xml_registry_parse_element_factory): fix use of non-portable
7816         functions
7817         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
7818         * libs/gst/control/dparammanager.h: same
7819
7820 2004-04-28  David Schleef  <ds@schleef.org>
7821
7822         Move a bunch of unused files to old/ with names that are
7823         not case-insensitive-unique.  These files still contain some
7824         useful information that needs to be merged into gstbin.sgml,
7825         etc., so they shouldn't be deleted yet.
7826         * docs/gst/tmpl/GstBin.sgml:
7827         * docs/gst/tmpl/GstBuffer.sgml:
7828         * docs/gst/tmpl/GstCaps.sgml:
7829         * docs/gst/tmpl/GstClock.sgml:
7830         * docs/gst/tmpl/GstCompat.sgml:
7831         * docs/gst/tmpl/GstData.sgml:
7832         * docs/gst/tmpl/GstElement.sgml:
7833         * docs/gst/tmpl/GstEvent.sgml:
7834         * docs/gst/tmpl/GstIndex.sgml:
7835         * docs/gst/tmpl/GstStructure.sgml:
7836         * docs/gst/tmpl/GstTag.sgml:
7837         * docs/gst/tmpl/old/GstBin.sgml:
7838         * docs/gst/tmpl/old/GstBuffer.sgml:
7839         * docs/gst/tmpl/old/GstCaps.sgml:
7840         * docs/gst/tmpl/old/GstClock.sgml:
7841         * docs/gst/tmpl/old/GstCompat.sgml:
7842         * docs/gst/tmpl/old/GstData.sgml:
7843         * docs/gst/tmpl/old/GstElement.sgml:
7844         * docs/gst/tmpl/old/GstEvent.sgml:
7845         * docs/gst/tmpl/old/GstIndex.sgml:
7846         * docs/gst/tmpl/old/GstStructure.sgml:
7847         * docs/gst/tmpl/old/GstTag.sgml:
7848
7849 2004-04-28  David Schleef  <ds@schleef.org>
7850
7851         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7852         (gst_caps_append), (gst_caps_append_structure),
7853         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
7854         (gst_caps_set_simple), (gst_caps_set_simple_valist),
7855         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
7856         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
7857         (gst_caps_intersect), (gst_caps_normalize),
7858         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
7859         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
7860         * gst/gstcaps.h: use GST_IS_CAPS().
7861
7862 2004-04-26  David Schleef  <ds@schleef.org>
7863
7864         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
7865         assembly.  gcc doesn't handle it correctly. (bug #141083)
7866         * gst/gsttrashstack.h: same
7867
7868 2004-04-25  Benjamin Otte  <otte@gnome.org>
7869
7870         * gst/gstelement.c: (gst_element_change_state):
7871           fix assertion to do an int comparison
7872
7873 2004-04-25  Benjamin Otte  <otte@gnome.org>
7874
7875         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7876           better debugging output on error
7877
7878 2004-04-25  Benjamin Otte  <otte@gnome.org>
7879
7880         * gst/gstcaps.c: (gst_caps_subtract):
7881           fix memleak
7882
7883 2004-04-23  Benjamin Otte  <otte@gnome.org>
7884
7885         * gst/gstvalue.c: (gst_value_compare_buffer),
7886         (_gst_value_initialize):
7887           add comparison function for buffers
7888
7889 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7890
7891         * docs/pwg/pwg.xml:
7892           Just found out that this so-called "ima-wav" format is really
7893           just "dvi adpcm" (according to the MS WAV documentation). So
7894           renaming it. We didn't use it yet anyway.
7895
7896 2004-04-23  Benjamin Otte  <otte@gnome.org>
7897
7898         * gst/gstcaps.c: (gst_caps_is_always_compatible):
7899           call gst_caps_is_subset
7900
7901 2004-04-23  Benjamin Otte  <otte@gnome.org>
7902
7903         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
7904         (gst_caps_is_subset):
7905           add documentation
7906
7907 2004-04-23  Benjamin Otte  <otte@gnome.org>
7908           
7909         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
7910         (gst_caps_structure_subtract), (gst_caps_subtract),
7911         (gst_caps_structure_figure_out_union),
7912         (gst_caps_structure_simplify), (gst_caps_do_simplify):
7913           fix simplifying and subtracting not working correctly with optional
7914           properties
7915           solve assorted problems that make it now simplify ebven more
7916         * docs/gst/tmpl/gstcaps.sgml:
7917         * gst/gstcaps.h:
7918           make gst_caps_do_simplify return a bool to indicate if it simplified
7919         * testsuite/caps/simplify.c: (main):
7920           add more checks. The tests is quite a bit useless right now because
7921           the core is heavily simplifying itself.
7922         * testsuite/caps/caps.h:
7923           fix caps to contain all optional properties
7924
7925 2004-04-22  Benjamin Otte  <otte@gnome.org>
7926
7927         * docs/gst/tmpl/gstcaps.sgml:
7928         * docs/gst/tmpl/gstfilesrc.sgml:
7929         * docs/gst/tmpl/gststructure.sgml:
7930         * docs/gst/tmpl/gstvalue.sgml:
7931           update for recent API changes
7932         * gst/gstcaps.c: (gst_caps_do_simplify):
7933           fix to stop trying with a freed structure
7934         * gst/gstpad.c: (gst_pad_link_fixate):
7935           simplify caps
7936         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
7937           remove C++ comment
7938         * gst/gstpad.h:
7939           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
7940         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7941         (gst_structure_to_string):
7942           keep the correct type when using lists of ranges
7943         * gst/gstvalue.c: (gst_value_list_prepend_value),
7944         (gst_value_list_append_value):
7945           copy the value before adding to the list (d'oh)
7946         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
7947         (gst_value_subtract_int_range_int_range):
7948           handle overflows correctly
7949         * gst/gstvalue.c: (gst_value_subtract_from_list):
7950           fix memleak
7951         * testsuite/caps/caps.h:
7952           add a caps that caused segfaults
7953
7954 2004-04-22  Benjamin Otte  <otte@gnome.org>
7955
7956         * testsuite/refcounting/pad.c: (main):
7957           fix test
7958
7959 2004-04-22  Benjamin Otte  <otte@gnome.org>
7960
7961         * gst/gstcaps.c: (gst_caps_subtract):
7962           allow subtracting ANY and EMPTY from ANY caps
7963
7964 2004-04-22  Benjamin Otte  <otte@gnome.org>
7965
7966         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
7967         (gst_caps_union):
7968           only simplify in functions that create new caps. Simplifying in
7969           gst_caps_append breaks tests.
7970
7971 2004-04-22  Benjamin Otte  <otte@gnome.org>
7972
7973         * gst/gstcaps.c: (gst_caps_structure_simplify):
7974           unset GValue after use
7975         * gst/gstcaps.c: (gst_caps_append), 
7976         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
7977           use gst_caps_simplify (reduces registry size by 30%)
7978         * gst/gstpad.c: (gst_pad_template_new):
7979           don't allow NULL caps
7980
7981 2004-04-22  Benjamin Otte  <otte@gnome.org>
7982
7983         * docs/gst/gstreamer-sections.txt:
7984           add gst_caps_do_simplify
7985         * gst/gstcaps.c:
7986           add documentation for gst_caps_do_simplify
7987         * gst/gstvalue.h:
7988           fix typo in gst_value_register_subtract_func declaration for gst-doc
7989
7990 2004-04-22  Benjamin Otte  <otte@gnome.org>
7991
7992         * gst/gstcaps.c: (gst_caps_from_string_inplace):
7993           fix bug when converting from empty string.
7994         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
7995         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
7996           use gst_caps_new_empty to allocate a new caps. Only that function
7997           allocates memory for caps now.
7998         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
7999         (gst_caps_remove_structure):
8000           add ability to remove one structure (but not to header yet)
8001         * gst/gstcaps.c: (gst_caps_compare_structures),
8002         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
8003         (gst_caps_structure_simplify), (gst_caps_do_simplify),
8004         * gst/gstcaps.h:
8005           add gst_caps_do_simplify that tries to simplify a caps in place.
8006           Deprecate old gst_caps_simplify function.
8007         * testsuite/caps/caps.h:
8008           add caps.h containing a common set of caps to test against.
8009         * testsuite/caps/sets.c: (check_caps), (main):
8010           use it.
8011         * testsuite/caps/.cvsignore:
8012         * testsuite/caps/Makefile.am:
8013         * testsuite/caps/simplify.c: (check_caps), (main):
8014           add test to check correctness and efficency of caps simplification.
8015
8016 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
8017
8018         reviewed by Benjamin Otte  <otte@gnome.org>
8019
8020         * gst/gstparse.c: (_gst_parse_escape):
8021           Free the GString used in _gst_parse_escape()
8022
8023 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8024
8025         * gst/gstpad.c: (gst_pad_link_negotiate):
8026           refuse to link if the link is not possible
8027         * configure.ac:
8028         * testsuite/Makefile.am:
8029         * testsuite/negotiation/.cvsignore:
8030         * testsuite/negotiation/Makefile.am:
8031         * testsuite/negotiation/pad_link.c: (main):
8032           add test that checks the above behaviour
8033
8034 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8035
8036         * docs/gst/gstreamer-sections.txt:
8037           add newly added API
8038
8039 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8040
8041         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
8042         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
8043         (gst_filesrc_open_file), (gst_filesrc_close_file),
8044         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
8045         * gst/elements/gstfilesrc.h:
8046           add support for non-regular files (#140734)
8047
8048 2004-04-21  Benjamin Otte  <otte@gnome.org>
8049
8050         * gst/gstpad.c: (gst_pad_link_fixate):
8051           add sophisticated error checking code to see if fixation functions
8052           did their fixation right
8053
8054 2004-04-21  Benjamin Otte  <otte@gnome.org>
8055
8056         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
8057           check for ANY caps before appending/unioning
8058         * gst/gstcaps.c: (gst_caps_is_subset),
8059         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
8060         (gst_caps_structure_subtract), (gst_caps_subtract):
8061         * gst/gstcaps.h:
8062           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
8063           the API. deprecate gst_caps_is_equal_fixed
8064         * gst/gstpad.c: (gst_pad_try_set_caps):
8065         * gst/gstqueue.c: (gst_queue_link):
8066           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
8067         * gst/gststructure.c: (gst_structure_get_name_id):
8068         * gst/gststructure.h:
8069           add function gst_structure_get_name_id
8070         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
8071         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
8072         (gst_value_subtract_int_range_int_range),
8073         (gst_value_subtract_double_double_range),
8074         (gst_value_subtract_double_range_double),
8075         (gst_value_subtract_double_range_double_range),
8076         (gst_value_subtract_from_list), (gst_value_subtract_list),
8077         (gst_value_can_intersect), (gst_value_subtract),
8078         (gst_value_can_subtract), (gst_value_register_subtract_func),
8079         (_gst_value_initialize):
8080         * gst/gstvalue.h:
8081           add support for subtracting values from each other. Note that
8082           subtracting means subtracting as in set theory. Required for caps
8083           stuff above.
8084         * testsuite/caps/.cvsignore:
8085         * testsuite/caps/Makefile.am:
8086         * testsuite/caps/erathostenes.c: (erathostenes), (main):
8087         * testsuite/caps/sets.c: (check_caps), (main):
8088         * testsuite/caps/subtract.c: (check_caps), (main):
8089           add tests for subtraction and equality code.
8090
8091 2004-04-20  David Schleef  <ds@schleef.org>
8092
8093         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
8094         * gst/indexers/Makefile.am:
8095         * gst/schedulers/Makefile.am:
8096         * libs/gst/bytestream/Makefile.am:
8097         * libs/gst/control/Makefile.am:
8098         * libs/gst/getbits/Makefile.am:
8099
8100 2004-04-20  David Schleef  <ds@schleef.org>
8101
8102         * common/as-libtool.mak: Fine-tune DLL building.
8103         * configure.ac: Link plugins against libgstreamer.  Define plugindir
8104         (like gst-plugins)
8105         * examples/plugins/Makefile.am: remove plugindir
8106         * gst/autoplug/Makefile.am: DLL building fixes
8107         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
8108         Windows.
8109         * gst/elements/gstelements.c: Conditionally disable pipefilter.
8110         * gst/indexers/Makefile.am: DLL building fixes
8111         * gst/schedulers/Makefile.am: DLL building fixes.
8112         * libs/gst/bytestream/Makefile.am: DLL building fixes.
8113         * libs/gst/control/Makefile.am: same
8114         * libs/gst/getbits/Makefile.am: same
8115         * testsuite/Makefile.am: New dlopen directory
8116         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
8117         when dlopened.
8118         * testsuite/dlopen/dlopen_gst.c: (main): same
8119         * testsuite/dlopen/loadgst.c: (do_test): same
8120
8121 2004-04-20  David Schleef  <ds@schleef.org>
8122
8123         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
8124         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
8125
8126 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8127
8128         * gst/gstelement.c: (gst_element_wait),
8129         (gst_element_set_time_delay), (gst_element_change_state):
8130           Use GST_TIME_*
8131
8132 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8133
8134         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
8135         (gst_spider_identity_plug):
8136           improve debugging messages
8137         * gst/gstbin.c: (gst_bin_remove_func):
8138           make sure the state_change function is only called with simple state
8139           transitions
8140
8141 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8142
8143         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
8144         (gst_fakesink_set_property), (gst_fakesink_chain):
8145         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
8146         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
8147         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
8148         * gst/elements/gstidentity.c: (gst_identity_chain),
8149         (gst_identity_set_property):
8150         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
8151         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
8152           add warnings to _set_property for unknown arguments
8153           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
8154
8155 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8156
8157         * Makefile.am:
8158         * docs/manuals.mak:
8159           add .po file download snippet
8160           fix a bug in the doc makefile
8161
8162 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8163
8164         * Makefile.am:
8165         * po/LINGUAS:
8166         * po/en_GB.po:
8167           Added en_GB translation (Gareth Owen)
8168
8169 2004-04-20  Johan Dahlin  <johan@gnome.org>
8170
8171         * gst/gstpad.c (_invent_event): Clean up
8172
8173 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8174
8175         * testsuite/caps/filtercaps.c: (main):
8176           fix test to test things correctly (caps are complicated)
8177
8178 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8179
8180         * testsuite/caps/Makefile.am:
8181         * testsuite/caps/filtercaps.c: (main):
8182           add test (that doesn't work right now, but should)
8183
8184 2004-04-19  David Schleef  <ds@schleef.org>
8185
8186         * configure.ac: Add test for allowing unaligned access.  Add define
8187         to put in gstconfig.h.
8188         * docs/gst/gstreamer-sections.txt: New symbols
8189         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
8190         * docs/gst/tmpl/gstfilesrc.sgml:
8191         * docs/gst/tmpl/gstparse.sgml:
8192         * docs/gst/tmpl/gsttypes.sgml:
8193         * docs/gst/tmpl/gstutils.sgml:
8194         * docs/gst/tmpl/gstvalue.sgml:
8195         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
8196         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
8197         on most !i386/!powerpc architectures.  From Daniel Gazard
8198         <daniel.gazard@free.fr>.  (bug #140156)
8199         * po/af.po: Check in changes made by gettext.
8200         * po/az.po:
8201         * po/fr.po:
8202         * po/nl.po:
8203         * po/sr.po:
8204         * po/sv.po:
8205
8206 2004-04-20  Benjamin Otte  <otte@gnome.org>
8207
8208         * gst/schedulers/entryscheduler.c: 
8209         (gst_entry_scheduler_yield):
8210           refuse to yield when decoupled elements insist on doing that.
8211           At least it's better than crashing
8212
8213 2004-04-19  David Schleef  <ds@schleef.org>
8214
8215         * docs/libs/Makefile.am: Change sinclude to include
8216         * docs/gst/Makefile.am: same
8217         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
8218
8219 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8220
8221         * po/LINGUAS:
8222         * po/uk.po:
8223           Added Ukrainian translation (Maxim V. Dziumanenko)
8224
8225 2004-04-19  Johan Dahlin  <johan@gnome.org>
8226
8227         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
8228         checking here, do it before calling the function.
8229         Clean up, use for loops instead of while loops while iterating
8230         over lists.
8231
8232         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
8233         in debug message.
8234         (gst_spider_create_and_plug): Improve debug message.
8235         General: Replace while loops which iterates over GLists with for
8236         loops. Which are much cleaner, improves readability, especially
8237         for gst_spider_identity_plug
8238
8239         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
8240         fixes bug 140477
8241
8242 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8243
8244         * po/LINGUAS:
8245         * po/tr.po:
8246           Added Turkish translation (Baris Cicek)
8247
8248 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8249
8250         * docs/faq/troubleshooting.xml:
8251           Mention gst-register in the FAQ (fixes 139045).
8252
8253 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8254
8255         * docs/gst/gstreamer-sections.txt:
8256
8257 2004-04-17  Benjamin Otte  <otte@gnome.org>
8258
8259         * gst/gstelement.c: (gst_element_dispose):
8260           simplify
8261         * gst/gstpad.c: (gst_pad_call_chain_function):
8262           don't create loads of events due to bad macro usage
8263
8264 2004-04-16  David Schleef  <ds@schleef.org>
8265
8266         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
8267         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
8268         * gst/gstvalue.c: (gst_value_serialize_buffer),
8269         (gst_value_deserialize_buffer), (gst_type_is_fixed),
8270         (_gst_value_initialize): Create a new function gst_type_is_fixed()
8271         to indicate types that are fixed wrt caps or not.  Switching to
8272         this function fixes (bug #140298).
8273         * gst/gstvalue.h:
8274
8275 2004-04-16  David Schleef  <ds@schleef.org>
8276
8277         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
8278         for GST_UNALIGNED_ACESS, since we essentially know which archs
8279         are ok.
8280
8281 2004-04-17  Benjamin Otte  <otte@gnome.org>
8282
8283         * docs/gst/Makefile.am:
8284           ignore gst/parse directory when building docs (fixes #140205)
8285
8286 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8287
8288         * testsuite/refcounting/mem.c: (vmsize):
8289           do error checking
8290
8291 2004-04-16  Johan Dahlin  <johan@gnome.org>
8292
8293         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
8294         and gst_pad_call_get_function.
8295
8296 2004-04-15  David Schleef  <ds@schleef.org>
8297
8298         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
8299         checks if we can access unaligned memory.
8300         * configure.ac: Use it.
8301
8302 2004-04-16  Benjamin Otte  <otte@gnome.org>
8303
8304         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
8305         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
8306         * gst/elements/gstfilesrc.h:
8307           s/seek_happened/need_discont/ and require discont before sending any
8308           data
8309
8310 2004-04-15  David Schleef  <ds@schleef.org>
8311
8312         * gst/gstvalue.c: (gst_value_serialize_buffer),
8313         (gst_value_deserialize_buffer), (_gst_value_initialize):
8314         Register these types as fundamental types. (bug #140015)
8315
8316 2004-04-16  Benjamin Otte  <otte@gnome.org>
8317
8318         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
8319         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
8320         (gst_pad_pull):
8321           implement enforcing discont events before buffers are passed. This
8322           allows state changes of only some elements and later correctly going
8323           on where they left off (or in short: you can now set audio sinks to
8324           NULL to release the device when the pipeline is paused)
8325         * gst/gstpad.c: (gst_pad_call_chain_function),
8326         (gst_pad_call_get_function):
8327         * gst/gstpad.h:
8328           add gst_pad_call_chain_function and gst_pad_call_get_function for
8329           scheduler interaction. They are required because of the changes
8330           above.
8331         * gst/schedulers/entryscheduler.c: (get_buffer),
8332         (gst_entry_scheduler_chain_wrapper),
8333         (gst_entry_scheduler_get_wrapper),
8334         (gst_entry_scheduler_state_transition),
8335         (gst_entry_scheduler_pad_link):
8336         * gst/schedulers/gstbasicscheduler.c:
8337         (gst_basic_scheduler_chain_wrapper),
8338         (gst_basic_scheduler_src_wrapper),
8339         (gst_basic_scheduler_chainhandler_proxy),
8340         (gst_basic_scheduler_gethandler_proxy),
8341         (gst_basic_scheduler_cothreaded_chain),
8342         (gst_basic_scheduler_chain_elements):
8343         * gst/schedulers/gstoptimalscheduler.c:
8344         (get_group_schedule_function), (pad_clear_queued),
8345         (gst_opt_scheduler_pad_link):
8346           use the new functions instead of calling get/chain-functions
8347           directly.
8348
8349 2004-04-15  David Schleef  <ds@schleef.org>
8350
8351         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
8352         * docs/gst/tmpl/gstinfo.sgml: same
8353         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
8354         gtk-doc put here.
8355         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
8356         * examples/queue/queue.c: (main):  We iterate pipelines, not
8357         bins.  (bug #139996)
8358
8359 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8360
8361         * docs/pwg/advanced-types.xml:
8362           Add MS RLE support. Also document Qt RLE although I have no sample
8363           files for that yet. And document an extra property for ADPCM.
8364
8365 2004-04-15  David Schleef  <ds@schleef.org>
8366
8367         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
8368         (_gst_plugin_fault_handler_setup):  Disable more stuff on
8369         Windows.
8370
8371 2004-04-15  David Schleef  <ds@schleef.org>
8372
8373         * gst/gstinfo.c: (_gst_debug_init): Change some internal
8374         symbol names to not conflict with new gstinfo.h symbols.
8375         * gst/gstinfo.h: Add inline functions for all those crazy
8376         compilers that don't know how to handle variadic macros (MSVC).
8377
8378 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8379
8380         * configure.ac: bump nano to 1
8381
8382 === release 0.8.1 ===
8383
8384 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8385
8386         * NEWS:
8387         * RELEASE:
8388         * configure.ac:
8389           releasing 0.8.1, "Snow Brigade"
8390
8391 2004-04-14  David Schleef  <ds@schleef.org>
8392
8393         * testsuite/Makefile.am: define tests_ignore
8394         * testsuite/Rules: Added new tests_ignore, which get compiled,
8395         but not run (generally because they're inconsistent or have
8396         heisenbugs).  Now we can ensure all the .c files compile in
8397         testsuite/.
8398         * testsuite/bins/Makefile.am: define tests_ignore
8399         * testsuite/bytestream/Makefile.am:
8400         * testsuite/caps/Makefile.am:
8401         * testsuite/clock/Makefile.am:
8402         * testsuite/debug/Makefile.am:
8403         * testsuite/debug/global.c: (gst_debug_log_one),
8404         (gst_debug_log_two): Fix compilation problem.
8405         * testsuite/dynparams/Makefile.am:
8406         * testsuite/elements/Makefile.am:
8407         * testsuite/ghostpads/Makefile.am:
8408         * testsuite/indexers/Makefile.am:
8409         * testsuite/parse/Makefile.am:
8410         * testsuite/plugin/Makefile.am:
8411         * testsuite/refcounting/Makefile.am:
8412         * testsuite/refcounting/element_pad.c: (main): Don't return leak
8413         results, because it's not calculated correctly.
8414         * testsuite/refcounting/pad.c: (main): same
8415         * testsuite/states/Makefile.am:
8416         * testsuite/tags/Makefile.am:
8417         * testsuite/threads/Makefile.am:
8418
8419 2004-04-14  David Schleef  <ds@schleef.org>
8420
8421         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
8422         generating bad code around the cpu detection asm code.
8423
8424 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8425
8426         * tools/gst-inspect.c: (print_element_info):
8427           print numeric version of rank as well, since we added some - 1
8428           rank values to elements
8429
8430 2004-04-13  David Schleef  <ds@schleef.org>
8431
8432         * configure.ac:  Disable various code when compiling for MinGW.
8433         * gst/elements/Makefile.am:
8434         * gst/elements/gstelements.c:
8435         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
8436         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
8437         * gst/registries/gstxmlregistry.c: (make_dir):
8438
8439 2004-04-13  David Schleef  <ds@schleef.org>
8440
8441         * gst/Makefile.am:
8442         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
8443         assembly.
8444         * gst/gstcpuid_i386.s: remove
8445
8446 2004-04-13  David Schleef  <ds@schleef.org>
8447
8448         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
8449         seems to think it needs to be done.
8450         * docs/gst/tmpl/gstfakesink.sgml:
8451         * docs/gst/tmpl/gstfakesrc.sgml:
8452         * docs/gst/tmpl/gstfdsink.sgml:
8453         * docs/gst/tmpl/gstfdsrc.sgml:
8454         * docs/gst/tmpl/gstfilesink.sgml:
8455         * docs/gst/tmpl/gstfilesrc.sgml:
8456         * docs/gst/tmpl/gstidentity.sgml:
8457         * docs/gst/tmpl/gstmd5sink.sgml:
8458         * docs/gst/tmpl/gstmultifilesrc.sgml:
8459         * docs/gst/tmpl/gstpipefilter.sgml:
8460         * docs/gst/tmpl/gstshaper.sgml:
8461         * docs/gst/tmpl/gstspider.sgml:
8462         * docs/gst/tmpl/gstspideridentity.sgml:
8463         * docs/gst/tmpl/gststatistics.sgml:
8464         * docs/gst/tmpl/gsttee.sgml:
8465         * docs/gst/tmpl/gsttypefind.sgml:
8466         * docs/gst/tmpl/gstutils.sgml:
8467
8468 2004-04-13  David Schleef  <ds@schleef.org>
8469
8470         * configure.ac: Changes to remove POSIXisms (mmap in this case)
8471         and to build DLLs on Windows.
8472         * gst/Makefile.am:
8473         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
8474         (gst_filesrc_open_file):
8475         * gst/schedulers/Makefile.am:
8476
8477 2004-04-13  David Schleef  <ds@schleef.org>
8478
8479         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
8480         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
8481         fixating lists.
8482
8483 2004-04-12  David Schleef  <ds@schleef.org>
8484
8485         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
8486         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
8487         to using it.
8488         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
8489         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
8490         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
8491         * gst/gststructure.c: (gst_structure_set_valist),
8492         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
8493         support for buffers.
8494         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
8495         intended to be const.
8496         * gst/gsttag.h: same
8497         * gst/gstvalue.c: (gst_value_serialize_buffer),
8498         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
8499         to (de)serialize buffers.
8500         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
8501         * testsuite/caps/string-conversions.c: (main):
8502         * testsuite/caps/value_serialize.c: add new test
8503
8504 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8505
8506         * docs/pwg/advanced-types.xml:
8507           Document MS video 1 (video/x-msvideocodec) mimetype/format.
8508
8509 2004-04-11  Benjamin Otte  <otte@gnome.org>
8510
8511         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
8512           rename categories to basic_*
8513         * gst/schedulers/gstbasicscheduler.c: 
8514         (gst_basic_scheduler_chain_wrapper),
8515         (gst_basic_scheduler_chainhandler_proxy),
8516         (gst_basic_scheduler_gethandler_proxy),
8517         (gst_basic_scheduler_eventhandler_proxy):
8518           debugging category fixes - put common stuff in log category
8519         * gst/schedulers/gstbasicscheduler.c: 
8520         (gst_basic_scheduler_chain_elements):
8521           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
8522           active and linking two active chains
8523
8524 2004-04-10  Benjamin Otte  <otte@gnome.org>
8525
8526         * docs/pwg/intro-preface.xml:
8527           fix dead links and remove reference to Wiki
8528
8529 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8530
8531         * gst/schedulers/gstbasicscheduler.c:
8532           make sure we can switch back to the main function if we're still in
8533           the main function (supposed to fix #139617)
8534         * gst/schedulers/gthread-cothreads.h:
8535           don't throw an error when switching to the same cothread
8536
8537 2004-04-09  Benjamin Otte  <otte@gnome.org>
8538
8539         * gst/gstbin.c: (gst_bin_get_type):
8540         * gst/gstclock.c: (gst_clock_get_type):
8541         * gst/gstindex.c: (gst_index_get_type):
8542         * gst/gstobject.c: (gst_object_get_type),
8543         (gst_signal_object_get_type):
8544         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
8545         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
8546         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
8547         * gst/gstqueue.c: (gst_queue_get_type):
8548         * gst/gstregistry.c: (gst_registry_get_type):
8549         * gst/gstsystemclock.c: (gst_system_clock_get_type):
8550         * gst/gstthread.c: (gst_thread_get_type):
8551           don't use memchunks for these objects, use malloc instead
8552
8553 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8554
8555         * docs/gst/.cvsignore:
8556         * docs/gst/Makefile.am:
8557         * docs/gst/gstreamer-sections.txt:
8558         * docs/gst/tmpl/gstaggregator.sgml:
8559         * docs/gst/tmpl/gstbuffer.sgml:
8560         * docs/gst/tmpl/gstclock.sgml:
8561         * docs/gst/tmpl/gstelement.sgml:
8562         * docs/gst/tmpl/gstfakesink.sgml:
8563         * docs/gst/tmpl/gstfakesrc.sgml:
8564         * docs/gst/tmpl/gstfdsink.sgml:
8565         * docs/gst/tmpl/gstfdsrc.sgml:
8566         * docs/gst/tmpl/gstfilesink.sgml:
8567         * docs/gst/tmpl/gstfilesrc.sgml:
8568         * docs/gst/tmpl/gstidentity.sgml:
8569         * docs/gst/tmpl/gstindex.sgml:
8570         * docs/gst/tmpl/gstinfo.sgml:
8571         * docs/gst/tmpl/gstmd5sink.sgml:
8572         * docs/gst/tmpl/gstmultifilesrc.sgml:
8573         * docs/gst/tmpl/gstpad.sgml:
8574         * docs/gst/tmpl/gstpipefilter.sgml:
8575         * docs/gst/tmpl/gstpipeline.sgml:
8576         * docs/gst/tmpl/gstpluginfeature.sgml:
8577         * docs/gst/tmpl/gstqueue.sgml:
8578         * docs/gst/tmpl/gstregistry.sgml:
8579         * docs/gst/tmpl/gstscheduler.sgml:
8580         * docs/gst/tmpl/gstshaper.sgml:
8581         * docs/gst/tmpl/gstspider.sgml:
8582         * docs/gst/tmpl/gstspideridentity.sgml:
8583         * docs/gst/tmpl/gststatistics.sgml:
8584         * docs/gst/tmpl/gstsystemclock.sgml:
8585         * docs/gst/tmpl/gsttee.sgml:
8586         * docs/gst/tmpl/gstthread.sgml:
8587         * docs/gst/tmpl/gsttypefind.sgml:
8588         * docs/gst/tmpl/gstutils.sgml:
8589           further doc build fixes
8590
8591 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8592
8593         * docs/gst/Makefile.am:
8594           make docs exit on scanning problems
8595           fix nonsrcdir build issues
8596         * docs/gst/gstreamer-sections.txt:
8597           adding stuff from -unused
8598         * gst/gstqueue.h:
8599           create GstQueueSize
8600         * gst/schedulers/cothreads_compat.h:
8601           fix cothread warnings
8602
8603 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8604
8605         * docs/gst/gstreamer-sections.txt:
8606           remove defines deprecated by Benjamin
8607
8608 2004-04-07  Benjamin Otte  <otte@gnome.org>
8609
8610         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
8611           when the buffer is complete, don't check if other buffers are needed
8612         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
8613           check that the offset is >0 so we don't try to read before the
8614           beginning of the file
8615         * gst/gstpad.c: (gst_pad_set_pad_template):
8616           sink the template, so we don't end up with 130k pad templates
8617
8618 2004-04-06  Benjamin Otte  <otte@gnome.org>
8619
8620         * gst/autoplug/gstspider.c: (gst_spider_link_add):
8621           don't ref the element, adding already reffed it. And we didn't unref
8622           it later anyway... (huge memleak when you used many spider elements)
8623         * gst/gstelement.c: (gst_element_base_class_finalize):
8624         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
8625         (gst_element_register):
8626         * gst/gsturi.c: (gst_element_make_from_uri):
8627           use gst_object_(un)ref instead of g_object(un)ref
8628
8629 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8630
8631         * gst/gstbuffer.h:
8632           remove macro that wouldn't work anymore because struct member has
8633           been removed.
8634         * gst/schedulers/entryscheduler.c: (schedule_forward):
8635           fix segfault for unconnected pads
8636         
8637 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8638
8639         reviewed by David Schleef <ds@schleef.org>
8640
8641         * gst/gstinfo.h:
8642           *_FORMAT modifiers should require putting a % in front of them for
8643           consistency reasons.
8644
8645 2004-04-05  Colin Walters  <walters@redhat.com>
8646
8647         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
8648         space.
8649
8650 2004-04-05  Benjamin Otte  <otte@gnome.org>
8651
8652         * configure.ac:
8653         * gst/Makefile.am:
8654         * gst/gst_private.h:
8655         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
8656           add support for detecting if GStreamer runs inside valgrind.
8657           requires valgrind (d'oh) and --enable-debug for correct cdetection.
8658           print a big message in valgrind that GStreamer has detected it's
8659           running inside and might now use different code.
8660         * gst/gstmemchunk.c: (populate), (free_area),
8661         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
8662         (gst_mem_chunk_free):
8663           flag memchunks for valgrind, so it can detect leaking of chunks.
8664           This allows detecting leaks of GstBuffer and GstEvent correctly
8665           inside valgrind.
8666
8667 2004-04-05  David Schleef  <ds@schleef.org>
8668
8669         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
8670           jensgr@gmx.net (Jens Granseuer)
8671
8672 2004-04-05  David Schleef  <ds@schleef.org>
8673
8674         * gst/gstbuffer.c: (_gst_buffer_sub_free),
8675         (gst_buffer_default_free), (gst_buffer_default_copy),
8676         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
8677         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
8678         structures in one place.
8679
8680 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8681
8682         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
8683           (GST_TIME_FORMAT, GST_TIME_ARGS)
8684
8685 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8686
8687         * testsuite/elements/Makefile.am:
8688           disable test until it stops breaking make distcheck
8689
8690 2004-04-05  Johan Dahlin  <johan@gnome.org>
8691
8692         * po/sv.po: Updated translation
8693
8694 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8695
8696         * gst/gstplugin.c: (gst_plugin_load_file):
8697           fix segfault for when original plugin was loaded statically
8698
8699 2004-04-05  Benjamin Otte  <otte@gnome.org>
8700
8701         * testsuite/debug/category.c: (main):
8702         * testsuite/debug/commandline.c: (main):
8703         * testsuite/debug/output.c: (main):
8704           fix tests to work again with debugging enabled
8705
8706 2004-04-05  Benjamin Otte  <otte@gnome.org>
8707
8708         * gst/schedulers/gstbasicscheduler.c:
8709         (gst_basic_scheduler_pad_link):
8710           fix to work with recent scheduling changes
8711
8712 2004-04-05  Benjamin Otte  <otte@gnome.org>
8713
8714         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
8715         prepareChangeLog doesn't work when cvs indents):
8716           don't throw an error when no element can be scheduled, there's too
8717           many weird reasons why it doesn't work. Return STOPPED instead.
8718           decoupled elemts' schedulability doesn't depend on bufpens.
8719
8720 2004-04-04  Benjamin Otte  <otte@gnome.org>
8721
8722         * gst/schedulers/gstbasicscheduler.c:
8723         (gst_basic_scheduler_pad_select):
8724           fix uninitialized variable warnings
8725
8726 2004-04-04  Benjamin Otte  <otte@gnome.org>
8727
8728         * gst/gstpad.c: (gst_pad_collect_valist):
8729           fix uninitialized variable warning
8730         * gst/schedulers/entryscheduler.c: (schedule_forward):
8731           fix shadowed variable
8732
8733 2004-04-04  Benjamin Otte  <otte@gnome.org>
8734
8735         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
8736         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
8737         (gst_pad_select):
8738         * gst/gstpad.h:
8739         * gst/gstscheduler.c: (gst_scheduler_pad_select),
8740         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
8741         * gst/gstscheduler.h:
8742           implement gst_pad_collect as replacement for gst_pad_select.
8743           deprecate gst_pad_select and gst_scheduler_(un)lock_element
8744           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
8745           new pad_select, lock and unlock calls.
8746         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
8747         * gst/cothreads.h:
8748         * gst/schedulers/cothreads_compat.h:
8749         * gst/schedulers/gthread-cothreads.h:
8750           remove unused cothread_lock and cothread_unlock calls
8751         * gst/schedulers/entryscheduler.c:
8752         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
8753         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
8754         (gst_entry_scheduler_pad_select):
8755           update to new API
8756         * gst/schedulers/gstbasicscheduler.c:
8757         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
8758         (gst_basic_scheduler_pad_select):
8759           remove useless lock and unlock calls, update pad_select to new API
8760           (untested)
8761         * gst/schedulers/gstoptimalscheduler.c:
8762         (gst_opt_scheduler_class_init):
8763           remove useless select, lock and unlock function calls
8764         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
8765           use gst_pad_collect instead of gst_pad_select
8766
8767 2004-04-04  Benjamin Otte  <otte@gnome.org>
8768
8769         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
8770         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
8771         (schedule_next_element), (print_entry):
8772           add can_schedule_pad to handle element states.
8773           add schedule_forward to select the correct entry to schedule next
8774
8775 2004-04-03  Benjamin Otte  <otte@gnome.org>
8776
8777         * gst/schedulers/entryscheduler.c: 
8778           remove unused variable, fix error inside Rb, fix compile warning in
8779           unreachable code
8780
8781 2004-04-03  Benjamin Otte  <otte@gnome.org>
8782
8783         * gst/schedulers/entryscheduler.c:
8784           completely revamp the inner workings, so it's a lot easier to
8785           understand and extend
8786
8787 2004-04-03  Andy Wingo  <wingo@pobox.com>
8788
8789         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
8790         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
8791         This allows better introspection of pipeline topology.
8792         (add_to_chain): Don't do trickery to put loop elements first;
8793         rather, queue a chain sort by marking the chain as dirty.
8794         (remove_from_chain): Mark the chain dirty.
8795         (sort_chain): New function. Sorts the group list so that terminal
8796         sinks are first. This means elements on the sink side will be
8797         preferentially sscheduled before elements on the src side of the
8798         pipeline.
8799         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
8800         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
8801         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
8802         (group_inc_link): Change argument and variable names to match the
8803         new link structure member names (src and sink).
8804         (group_dec_link): Add some description
8805
8806 2004-04-03  Benjamin Otte  <otte@gnome.org>
8807
8808         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
8809         * gst/gstinfo.h:
8810         * testsuite/debug/category.c: (main):
8811         * testsuite/debug/commandline.c: (main):
8812         * testsuite/debug/output.c: (main):
8813         * testsuite/debug/printf_extension.c: (main):
8814           fix to successfully build and test with --disable-gst-debug
8815           configure switch (fixes #138705)
8816
8817 2004-04-03  Benjamin Otte  <otte@gnome.org>
8818
8819         * docs/pwg/building-boiler.xml:
8820           add cvs login line and s/anonymous/anoncvs/
8821
8822 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
8823
8824         reviewed by Benjamin Otte  <otte@gnome.org>
8825
8826         * gst/gststructure.c: (gst_structure_free):
8827           memleak fix: free fields array (partial fix for #134839)
8828
8829 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8830
8831         * docs/random/ds/0.9-suggested-changes:
8832           Add a note to change handoff use in fakesrc to be usable in
8833           a more generic way (fakesrc should be renamed to appsrc or so).
8834         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8835           Change signal type to scope, so we can fill the buffer in the
8836           handoff handler (that's the whole use of this signal...).
8837
8838 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8839
8840         * docs/pwg/other-ntoone.xml:
8841           Document muxers and n-to-1 elements.
8842
8843 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
8844
8845         * gst/registries/gstxmlregistry.c
8846         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
8847         determine if a file is a G_MODULE. The old one discards paths
8848         containing "so" somewhere in the middle. My home directory is
8849         called "soto". Go figure...
8850
8851 2004-03-31  David Schleef  <ds@schleef.org>
8852
8853         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
8854         to eventually deprecate gst_buffer_merge().  (bug: #136408)
8855         * gst/gstbuffer.h:
8856
8857 2004-03-31  David Schleef  <ds@schleef.org>
8858
8859         * gst/gstvalue.c: (gst_value_union_int_int_range),
8860         (gst_value_union_int_range_int_range), (gst_value_can_union),
8861         (gst_value_union), (_gst_value_initialize):  Add some union
8862         implementations.  We didn't have any previously.
8863         * testsuite/caps/Makefile.am:
8864         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
8865         (gst_audioscale_getcaps), (test_caps), (main): A little test
8866         that is the same as the caps manipulation in audioscale.
8867
8868 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8869
8870         * docs/faq/general.xml:
8871           add entry about "does gst support format X?"
8872
8873 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8874
8875         * gst/gstthread.c:
8876           fix docs
8877         * gst/gstutils.h:
8878           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
8879
8880 2004-03-30  Benjamin Otte  <otte@gnome.org>
8881
8882         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
8883           set the offset of the buffer to the requested offset
8884         * gst/elements/gsttypefind.c: (stop_typefinding):
8885           revert patch 1.18 (which I unfortunately don't know the reason for).
8886           This is needed to allow downstream elements to seek. Otherwise
8887           typefind might overwrite a previous seek by downstream elements.
8888           This lead to errors with id3tag and typefind on some mp3s.
8889         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
8890         (gst_entry_scheduler_iterate):
8891           be more verbose when debugging
8892
8893 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8894
8895         * gst/gstcaps.c: (gst_caps_from_string_inplace):
8896           make sure we don't get NULL strings
8897
8898 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8899
8900         * gst/gstcaps.c:
8901         * gst/gstelement.c:
8902         * gst/gstelementfactory.c: (gst_element_factory_get_type):
8903         * gst/gstindex.c: (gst_index_resolver_get_type),
8904         (gst_index_get_type), (gst_index_factory_get_type):
8905         * gst/gstinfo.c:
8906         * gst/gstpad.c:
8907         * gst/gstplugin.c:
8908         * gst/gsturi.c: (gst_uri_handler_get_type):
8909         * gst/gstvalue.c:
8910           first batch of documentation fixes
8911
8912 2004-03-29  David Schleef  <ds@schleef.org>
8913
8914         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
8915         * docs/gst/gstreamer-docs.sgml:  More hacking
8916         * docs/gst/gstreamer-sections.txt:
8917         * docs/gst/tmpl/cothreads_compat.sgml:
8918         * docs/gst/tmpl/gstcaps.sgml:
8919         * docs/gst/tmpl/gstclock.sgml:
8920         * docs/gst/tmpl/gstelement.sgml:
8921         * docs/gst/tmpl/gstevent.sgml:
8922         * docs/gst/tmpl/gstpad.sgml:
8923         * docs/gst/tmpl/gstutils.sgml:
8924         * docs/gst/tmpl/gstxml.sgml:
8925         * docs/gst/tmpl/gthread-cothreads.sgml:
8926         * docs/random/ds/0.9-suggested-changes:
8927         * gst/elements/gstfakesink.h: doc fixes
8928         * gst/elements/gstfakesrc.h: doc fixes
8929         * gst/gstcaps.c: doc fixes
8930         * gst/gstcaps.h: doc fixes
8931         * gst/gstelement.c: doc fixes
8932         * gst/gstelement.h: doc fixes
8933         * gst/gstindex.c: doc fixes
8934         * gst/gstinfo.c: doc fixes
8935         * gst/gstpad.c: doc fixes
8936         * gst/gstpad.h: doc fixes
8937         * gst/gstplugin.c: doc fixes
8938         * gst/gsttypefind.h: doc fixes
8939         * gst/gsturi.c: doc fixes
8940         * gst/gstvalue.c: doc fixes
8941
8942 2004-03-29  Colin Walters  <walters@redhat.com>
8943
8944         * gst/registries/gstxmlregistry.c (get_time)
8945         (plugin_times_older_than_recurse):
8946         Use the result of stat to determine whether a path is a file,
8947         so we don't attempt to opendir() files.
8948
8949 2004-03-29  Benjamin Otte  <otte@gnome.org>
8950
8951         * gst/gstpad.c: (gst_pad_set_explicit_caps):
8952           print caps in debugging output when setting caps failed
8953         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
8954         (schedule_next_element), (get_buffer), (run_chainhandler),
8955         (element_may_start), (gst_entry_scheduler_chain_handler),
8956         (gst_entry_scheduler_get_handler),
8957         (gst_entry_scheduler_state_transition),
8958         (gst_entry_scheduler_pad_link):
8959           make this scheduler a testcase for mandatory
8960           discont-before-first-buffer which is needed if we want to allow apps
8961           to release the sound device.
8962           add SCHED_ASSERT macro to print scheduler state before an assertion
8963           triggers.
8964
8965 2004-03-29  Benjamin Otte  <otte@gnome.org>
8966
8967         * COPYING:
8968           replace by LGPL (former COPYING.LIB). The core is completely
8969           licensed LGPL.
8970         * COPYING.LIB:
8971           remove
8972
8973 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8974
8975         * po/af.po:
8976         * po/sv.po:
8977           updated Afrikaans and Swedish
8978
8979 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8980
8981         * po/LINGUAS:
8982         * po/az.po:
8983           adding Azerbaijani (Mətin Əmirov)
8984
8985 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
8986
8987         * gst/gstelement.h: 
8988         * gst/gstelement.c (gst_element_set_time_delay): New function for
8989         setting element time taking into account a hardware buffering
8990         delay.
8991         (gst_element_set_time): Now just an invocation of
8992         gst_element_set_time_delay.
8993         * gst/gstclock.h: 
8994         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
8995         allowing to set event times in the future.
8996         (gst_clock_get_event_time): Now just an invocation of
8997         gst_clock_get_event_time_delay.
8998
8999 2004-03-28  Benjamin Otte  <otte@gnome.org>
9000
9001         * gst/gstbin.c: (gst_bin_set_element_sched),
9002         (gst_bin_unset_element_sched):
9003           don't add decoupled elements to schedulers - otherwise it's
9004           impossible to control if a link to a decoupled element was already
9005           removed from a scheduler or not.
9006         * gst/schedulers/cothreads_compat.h:
9007         * gst/schedulers/gthread-cothreads.h:
9008           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
9009           is no "unused" warning.
9010         * gst/schedulers/Makefile.am:
9011         * gst/schedulers/entryscheduler.c:
9012           add new scheduler, based on ideas from talking to David and Martin.
9013           It's supposed to be small and correct. Currently it's also slow (but
9014           it's not noticable)
9015         * examples/retag/retag.c: (main):
9016         * testsuite/bytestream/test1.c: (main):
9017           fix missing NULLs at end of variadic functions
9018         * testsuite/elements/.cvsignore:
9019           update
9020
9021 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
9022
9023         * gst/gstevent.h:
9024         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
9025
9026 2004-03-25  David Schleef  <ds@schleef.org>
9027
9028         * docs/gst/gstreamer-sections.txt:  More doc hacking.
9029         * docs/gst/tmpl/gstaggregator.sgml:
9030         * docs/gst/tmpl/gstautoplugfactory.sgml:
9031         * docs/gst/tmpl/gstbin.sgml:
9032         * docs/gst/tmpl/gstbuffer.sgml:
9033         * docs/gst/tmpl/gstbufferstore.sgml:
9034         * docs/gst/tmpl/gstfakesink.sgml:
9035         * docs/gst/tmpl/gstfakesrc.sgml:
9036         * docs/gst/tmpl/gstmd5sink.sgml:
9037         * docs/gst/tmpl/gstreamer-unused.sgml:
9038         * docs/gst/tmpl/gstsearchfuncs.sgml:
9039         * docs/gst/tmpl/gstshaper.sgml:
9040         * docs/gst/tmpl/gstspider.sgml:
9041         * docs/gst/tmpl/gsttee.sgml:
9042         * docs/gst/tmpl/gstutils.sgml:
9043         * docs/gst/tmpl/gstvalue.sgml:
9044         * docs/gst/tmpl/gstxml.sgml:
9045         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
9046         and we don't support it.
9047         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9048         (gst_use_threads), (gst_has_threads): same
9049         * gst/gstthreaddummy.c: same
9050         * gst/autoplug/gstspider.c: Make gst_spider_details static.
9051         * gst/autoplug/gstspider.h: same
9052         * gst/elements/gstaggregator.h: Remove bogus function from header
9053         * gst/elements/gstfakesink.h: same
9054         * gst/elements/gstfakesrc.h: same
9055         * gst/elements/gstmd5sink.h: same
9056         * gst/elements/gstshaper.h: same
9057         * gst/elements/gsttee.h: same
9058         * gst/gstbin.c: doc fixes
9059         * gst/gstbin.h: Remove unused definition.
9060         * gst/gstbuffer.c: doc fixes
9061         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
9062         * gst/gstfilter.c: doc fixes
9063         * gst/gsttag.c: doc fixes
9064         * gst/gstvalue.c: doc fixes
9065
9066 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9067
9068         * docs/pwg/advanced-types.xml:
9069           Document typefinding.
9070         * docs/pwg/other-oneton.xml:
9071           Document one-to-n elements, demuxers and parsers.
9072
9073 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
9074
9075         reviewed by: David Schleef  <ds@schleef.org>
9076
9077         * configure.ac: Check bison version (bug #127838)
9078
9079 2004-03-25  David Schleef  <ds@schleef.org>
9080
9081         * docs/gst/gstreamer-docs.sgml: More fine tuning.
9082         * docs/gst/gstreamer-sections.txt:
9083         * docs/gst/tmpl/gstautoplug.sgml:
9084         * docs/gst/tmpl/gststaticautoplug.sgml:
9085         * docs/gst/tmpl/gststaticautoplugrender.sgml:
9086         * docs/gst/tmpl/gstutils.sgml:
9087         * docs/gst/tmpl/gstxml.sgml:
9088
9089 2004-03-24  David Schleef  <ds@schleef.org>
9090
9091         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
9092         manual being such complete crap, that I decided to do major
9093         hacking of it.  This checkin replaces any fine tuning that
9094         may have been done previously, with the benefit of actually
9095         being complete for much of the API that was changed since
9096         0.6.  Further fine tuning will occur shortly.  (bug #134721)
9097         * docs/gst/gstreamer-sections.txt:
9098         * docs/gst/tmpl/GstBin.sgml:
9099         * docs/gst/tmpl/GstBuffer.sgml:
9100         * docs/gst/tmpl/GstCaps.sgml:
9101         * docs/gst/tmpl/GstClock.sgml:
9102         * docs/gst/tmpl/GstCompat.sgml:
9103         * docs/gst/tmpl/GstData.sgml:
9104         * docs/gst/tmpl/GstElement.sgml:
9105         * docs/gst/tmpl/GstEvent.sgml:
9106         * docs/gst/tmpl/GstIndex.sgml:
9107         * docs/gst/tmpl/GstStructure.sgml:
9108         * docs/gst/tmpl/GstTag.sgml:
9109         * docs/gst/tmpl/cothreads.sgml:
9110         * docs/gst/tmpl/cothreads_compat.sgml:
9111         * docs/gst/tmpl/gettext.sgml:
9112         * docs/gst/tmpl/grammar.tab.sgml:
9113         * docs/gst/tmpl/gst-i18n-app.sgml:
9114         * docs/gst/tmpl/gst-i18n-lib.sgml:
9115         * docs/gst/tmpl/gst.sgml:
9116         * docs/gst/tmpl/gst_private.sgml:
9117         * docs/gst/tmpl/gstaggregator.sgml:
9118         * docs/gst/tmpl/gstarch.sgml:
9119         * docs/gst/tmpl/gstatomic.sgml:
9120         * docs/gst/tmpl/gstatomic_impl.sgml:
9121         * docs/gst/tmpl/gstbin.sgml:
9122         * docs/gst/tmpl/gstbuffer.sgml:
9123         * docs/gst/tmpl/gstbufferstore.sgml:
9124         * docs/gst/tmpl/gstcaps.sgml:
9125         * docs/gst/tmpl/gstclock.sgml:
9126         * docs/gst/tmpl/gstcompat.sgml:
9127         * docs/gst/tmpl/gstconfig.sgml:
9128         * docs/gst/tmpl/gstcpu.sgml:
9129         * docs/gst/tmpl/gstdata.sgml:
9130         * docs/gst/tmpl/gstdata_private.sgml:
9131         * docs/gst/tmpl/gstelement.sgml:
9132         * docs/gst/tmpl/gstenumtypes.sgml:
9133         * docs/gst/tmpl/gsterror.sgml:
9134         * docs/gst/tmpl/gstevent.sgml:
9135         * docs/gst/tmpl/gstfakesink.sgml:
9136         * docs/gst/tmpl/gstfakesrc.sgml:
9137         * docs/gst/tmpl/gstfilesink.sgml:
9138         * docs/gst/tmpl/gstfilter.sgml:
9139         * docs/gst/tmpl/gstindex.sgml:
9140         * docs/gst/tmpl/gstinfo.sgml:
9141         * docs/gst/tmpl/gstinterface.sgml:
9142         * docs/gst/tmpl/gstlog.sgml:
9143         * docs/gst/tmpl/gstmacros.sgml:
9144         * docs/gst/tmpl/gstmarshal.sgml:
9145         * docs/gst/tmpl/gstmd5sink.sgml:
9146         * docs/gst/tmpl/gstmultifilesrc.sgml:
9147         * docs/gst/tmpl/gstobject.sgml:
9148         * docs/gst/tmpl/gstpad.sgml:
9149         * docs/gst/tmpl/gstparse.sgml:
9150         * docs/gst/tmpl/gstpipeline.sgml:
9151         * docs/gst/tmpl/gstplugin.sgml:
9152         * docs/gst/tmpl/gstpluginfeature.sgml:
9153         * docs/gst/tmpl/gstqueue.sgml:
9154         * docs/gst/tmpl/gstreamer-unused.sgml:
9155         * docs/gst/tmpl/gstregistry.sgml:
9156         * docs/gst/tmpl/gstregistrypool.sgml:
9157         * docs/gst/tmpl/gstscheduler.sgml:
9158         * docs/gst/tmpl/gstsearchfuncs.sgml:
9159         * docs/gst/tmpl/gstshaper.sgml:
9160         * docs/gst/tmpl/gstspider.sgml:
9161         * docs/gst/tmpl/gstspideridentity.sgml:
9162         * docs/gst/tmpl/gststructure.sgml:
9163         * docs/gst/tmpl/gstsystemclock.sgml:
9164         * docs/gst/tmpl/gsttag.sgml:
9165         * docs/gst/tmpl/gsttaginterface.sgml:
9166         * docs/gst/tmpl/gsttee.sgml:
9167         * docs/gst/tmpl/gstthread.sgml:
9168         * docs/gst/tmpl/gsttrace.sgml:
9169         * docs/gst/tmpl/gsttrashstack.sgml:
9170         * docs/gst/tmpl/gsttypefind.sgml:
9171         * docs/gst/tmpl/gsttypes.sgml:
9172         * docs/gst/tmpl/gsturi.sgml:
9173         * docs/gst/tmpl/gsturitype.sgml:
9174         * docs/gst/tmpl/gstutils.sgml:
9175         * docs/gst/tmpl/gstvalue.sgml:
9176         * docs/gst/tmpl/gstversion.sgml:
9177         * docs/gst/tmpl/gstxml.sgml:
9178         * docs/gst/tmpl/gstxmlregistry.sgml:
9179         * docs/gst/tmpl/gthread-cothreads.sgml:
9180         * docs/gst/tmpl/types.sgml:
9181
9182 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9183
9184         * docs/pwg/other-sink.xml:
9185         * docs/pwg/other-source.xml:
9186           Documentation on how to write source and sink elements. Other
9187           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
9188           manager, autoplugger) are all still pending.
9189
9190 2004-03-25  Benjamin Otte  <otte@gnome.org>
9191
9192         * testsuite/elements/Makefile.am:
9193         * testsuite/elements/gst-compprep-check:
9194           add check to make sure gst-compprep works
9195         * testsuite/elements/gst-inspect-check.in:
9196           improve initialization output
9197         * testsuite/Makefile.am:
9198         * testsuite/gst-inspect-check:
9199           remove old file
9200
9201 2004-03-24  David Schleef  <ds@schleef.org>
9202
9203         * testsuite/elements/Makefile.am:
9204         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
9205         to the testsuite.
9206
9207 2004-03-24  Benjamin Otte  <otte@gnome.org>
9208
9209         * libs/gst/control/dparam.c: (gst_dparam_attach),
9210         (gst_dparam_detach):
9211         * libs/gst/control/dparammanager.c: (gst_dpman_init):
9212           fix lvalue casts for real
9213
9214 2004-03-24  Benjamin Otte  <otte@gnome.org>
9215
9216         * gst/schedulers/gstbasicscheduler.c:
9217         (gst_basic_scheduler_src_wrapper):
9218         * gst/schedulers/gstoptimalscheduler.c:
9219         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
9220         (pad_clear_queued), (gst_opt_scheduler_add_element),
9221         (gst_opt_scheduler_remove_element):
9222           fix GStreamer to not have issues with lvalue casts anymore (fixes
9223           #136841)
9224
9225 2004-03-24  Benjamin Otte  <otte@gnome.org>
9226
9227         * gst/gstelement.c:
9228           add documentation about a gobject quirk where the object hasn't the
9229           correct class pointer set on initialization
9230         * gst/schedulers/gstbasicscheduler.c:
9231         (gst_basic_scheduler_src_wrapper):
9232           make sure to not run into an infinite loop
9233
9234 2004-03-22  Benjamin Otte  <otte@gnome.org>
9235
9236         * gst/gstutils.c: (gst_util_dump_mem):
9237         * gst/gstutils.h:
9238           first argument of gst_util_dump_mem should be const
9239
9240 2004-03-22  Johan Dahlin  <johan@gnome.org>
9241
9242         * gst/gstvalue.h: Clean up a little bit.
9243
9244 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
9245
9246         reviewed by Benjamin Otte  <otte@gnome.org>
9247
9248         * gst/autoplug/gstspider.c: (gst_spider_dispose):
9249         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
9250         (gst_aggregator_class_init), (gst_aggregator_init):
9251         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9252         (gst_filesrc_dispose), (gst_filesrc_set_location):
9253         * gst/elements/gstidentity.c: (gst_identity_finalize),
9254         (gst_identity_class_init), (gst_identity_chain):
9255         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
9256         * gst/elements/gststatistics.c: (gst_statistics_finalize),
9257         (gst_statistics_class_init):
9258         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
9259         (gst_tee_get_property):
9260           clean up used memory in this elements correctly on teardown (closes
9261           #137279)
9262
9263 2004-03-20  Colin Walters  <walters@redhat.com>
9264
9265         * gst/registries/gstxmlregistry.c:
9266         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
9267         registry saving atomic.
9268
9269 2004-03-20  Colin Walters  <walters@redhat.com>
9270
9271         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
9272         Just use
9273         access() instead of actually creating and deleting files.
9274
9275 2004-03-18  David Schleef  <ds@schleef.org>
9276
9277         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
9278         (bug #137625)
9279
9280 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9281
9282         * po/sv.po: updated translation (Christian Rose)
9283
9284 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9285
9286         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
9287         (gst_filesink_get_query_types), (_do_init),
9288         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
9289           return FALSE silently
9290         * po/af.po: updated translation (Petri Jooste)
9291
9292 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9293
9294         * Makefile.am:
9295         * configure.ac:
9296           dist common properly
9297         * po/af.po:
9298         * po/fr.po:
9299         * po/nl.po:
9300         * po/sr.po:
9301         * po/sv.po:
9302           refreshing translations
9303
9304 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9305
9306         * po/LINGUAS:
9307         * po/sv.po:
9308         * po/af.po:
9309           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
9310
9311 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9312
9313         * Makefile.am: use common/release.mak
9314
9315 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9316
9317         * docs/faq/gst-uninstalled:
9318           adding gst-monkeysaudio to the list of possible plugin dirs
9319
9320 2004-03-16  David Schleef  <ds@schleef.org>
9321
9322         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
9323         (gst_init_check_with_popt_table):  Fix some gettext strings to
9324         make them easier to translate.  Required making the strings
9325         non-const.
9326
9327 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9328
9329         * configure.ac: bump nano to 1
9330
9331 === release 0.8.0 ===
9332
9333 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9334
9335         * configure.ac: release 0.8.0, "Executive Slacks"
9336
9337 2004-03-16  Johan Dahlin  <johan@gnome.org>
9338
9339         * gst/schedulers/gstoptimalscheduler.c
9340         (gst_opt_scheduler_pad_unlink): Remove double ;,
9341         spotted by Scott Wheeler
9342
9343 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9344
9345         * configure.ac: bump libtool version
9346
9347 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9348
9349         * gst/gstcaps.h:
9350         * gst/gststructure.h:
9351           add reserved padding
9352
9353 2004-03-15  Benjamin Otte  <otte@gnome.org>
9354
9355         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
9356           set the first parameter for select call correctly.
9357           (fixes #137230)
9358
9359 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9360
9361         * *.c,*.h: don't mix tabs and spaces
9362
9363 2004-03-15  Johan Dahlin  <johan@gnome.org>
9364
9365         * gst/schedulers/gstoptimalscheduler.c
9366         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
9367         crash on MPEG playback. My boolean arithmetic is a bit rusty.
9368
9369         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
9370         
9371 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9372
9373         * testsuite/Rules:
9374           fix gst-register rules
9375
9376 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9377
9378         * testsuite/Rules:
9379           use versioned gst-register
9380
9381 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9382
9383         * docs/libs/gstreamer-libs-sections.txt:
9384           remove </SUBSECTION>
9385         * gst/gstplugin.c:
9386         * gst/gstregistry.c: (gst_registry_add_plugin):
9387         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
9388         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
9389           add debugging and fix some comment blocks
9390
9391 2004-03-15  Johan Dahlin  <johan@gnome.org>
9392
9393         * *.h: Revert indent changes.
9394         
9395 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9396
9397         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
9398           g_error_free the g_error
9399         * tools/gst-feedback-m.m:
9400           check for other versions of gstreamer
9401         * tools/gst-indent:
9402           use sh, not bash
9403
9404 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9405
9406         * tools/gst-register.c: do not spill paths when registries are not
9407           writable, until we fix the "user running gst-register" case.
9408
9409 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9410
9411         * *.c, *.h: commit of gst-indent run on core
9412
9413 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9414
9415         * tools/gst-indent:
9416         * tools/Makefile.am:
9417           add our indentation style as a script
9418
9419 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9420
9421         * po/sr.po:
9422         * po/LINGUAS:
9423           added Serbian translation
9424
9425 2004-03-13  Benjamin Otte  <otte@gnome.org>
9426
9427         * gst/gstelement.c:
9428           add documentation note about gst_element_found_tags_for_pad not
9429           being usable in getfunctions. (see #137042)
9430
9431 2004-03-12  David Schleef  <ds@schleef.org>
9432
9433         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
9434         change API right now!  Readd gst_caps_is_simple() macro.
9435         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
9436         uninitialized variable.  I'd bet this caused crashes.
9437         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
9438
9439 2004-03-12  Johan Dahlin  <johan@gnome.org>
9440
9441         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
9442         * gst/gstcaps.h: Clean up
9443
9444         * gst/gst.c (init_post): call gst_caps_get_type() instead of
9445         _gst_caps_initalize()
9446
9447         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
9448         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
9449
9450         * gst/gststructure.c (gst_structure_get_type): Ditto
9451
9452         * gst/gststructure.h: Ditto
9453         
9454 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9455
9456         * gst/gstqueue.c: (gst_queue_init):
9457           Reset default max. values in queues. Reason is simply to avoid
9458           braindead use. If you want wider values, use the properties. The
9459           default is supposed to always work. Wider values would make this
9460           beast a memory hog by default (250 full-PAL RGB32 video frames?
9461           That's 440 MB! No thank you).
9462
9463 2004-03-10  David Schleef  <ds@schleef.org>
9464
9465         * tools/gst-run.c: (main):  Fix crash when no relevant tools
9466         were found.  (bug #136793)
9467
9468 2004-03-10  Johan Dahlin  <johan@gnome.org>
9469
9470         * gst/schedulers/gstoptimalscheduler.c
9471         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
9472         links to elements within the same group, so we can finally remove
9473         that annoying warning. Refactor the code a little bit
9474         (group_dec_links_for_element): Split out
9475
9476 2004-03-09  David Schleef  <ds@schleef.org>
9477
9478         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
9479         (bug #134863)
9480
9481 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9482
9483         * configure.ac: first bug fix due to major/minor bump
9484
9485 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9486
9487         * configure.ac: bump nano to 1
9488
9489 === release 0.7.6 ===
9490
9491 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9492
9493         * NEWS:
9494         * RELEASE:
9495         * configure.ac:
9496           releasing 0.7.6, "Almost"
9497         * po/fr.po:
9498         * po/nl.po:
9499         * tools/Makefile.am:
9500         * tools/gst-feedback-m.m:
9501           unversioned source
9502
9503 2004-03-09  Johan Dahlin  <johan@gnome.org>
9504
9505         Reviewed by: Thomas Vander Stichele
9506
9507         * gst/gstelement.c (gst_element_class_init): register second
9508         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
9509         language bindings can (de)marshall correctly.
9510
9511         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
9512
9513         * gst/gsterror.c (gst_g_error_get_type): New function
9514
9515         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
9516         with VOID:OBJECT,OBJECT,STRING 
9517
9518 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
9519
9520         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
9521         Free a leaked g_timer on early returns.
9522
9523 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9524
9525         * docs/pwg/advanced-types.xml:
9526           Add cinepak description.
9527
9528 2004-03-07  David Schleef  <ds@schleef.org>
9529
9530         * docs/random/mimetypes:  Added cinepak description
9531
9532 2004-03-07  Andy Wingo  <wingo@pobox.com>
9533
9534         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
9535
9536         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
9537         there are no links to other groups when a group is destroyed.
9538         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
9539         removed from a group, make sure the link count to elements linked
9540         to other pads is appropriately decremented. This really fixes
9541         #135672.
9542
9543         The 1.60->1.61 patch has been reapplied in light of this fix.
9544
9545         * gst/gstelement.c (gst_element_dispose): Really protect against
9546         multiple invocations this time.
9547
9548 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9549
9550         * docs/gst/gstreamer-sections.txt:
9551         * docs/gst/tmpl/gsttag.sgml:
9552           remove some deprecated functions, document some existing ones
9553         * gst/gsttag.c: (gst_tag_get_flag):
9554         * gst/gsttag.h:
9555           add accessor function
9556
9557 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9558
9559         * docs/gst/gstreamer-sections.txt:
9560         * docs/gst/tmpl/gsttag.sgml:
9561         * docs/gst/tmpl/gstxml.sgml:
9562         * gst/gsttag.c: (gst_tag_get_flag):
9563         * gst/gsttag.h:
9564
9565 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
9566
9567         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
9568         leak
9569
9570 2004-03-05  David Schleef  <ds@schleef.org>
9571
9572         * REQUIREMENTS: Add bison and flex.
9573         * configure.ac: Fix comment about bison.
9574         * docs/random/ds/0.9-suggested-changes: yer ma
9575         * tools/gst-inspect.c: (print_element_info):  Fix warning.
9576
9577 2004-03-05  Benjamin Otte  <otte@gnome.org>
9578
9579         * gst/gstelement.c: (gst_element_error_full):
9580           revert recent recursive state changing commit - messing with other
9581           elements' states is evil and should be done by apps only.
9582
9583 2004-03-05  Benjamin Otte  <otte@gnome.org>
9584
9585         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
9586           check for empty intersection instead of NULL caps
9587         (gst_element_get_compatible_pad_filtered):
9588           remove old workaround that is only a bug nowadays
9589
9590 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9591
9592         * gst/gstelement.c: (gst_element_error_full):
9593           make elements try to recursively change state to PAUSED on all
9594           parents after an error to suppress ensuing warnings
9595         * gst/parse/grammar.y:
9596           make it check if it was able to sync the state, and throw an error
9597           if not, so stuff like
9598           oggdemux ! vorbisdec ! osssink gets caught
9599
9600 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9601
9602         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
9603           it contains lib64; use AS_AC_EXPAND to handle it properly
9604
9605 2004-03-05  David Schleef  <ds@schleef.org>
9606
9607         * gst/gstcpuid_i386.s:  Remove unused code
9608         * libs/gst/getbits/getbits.c: (gst_getbits_init),
9609         (gst_getbits_newbuf): Remove MMX code
9610         * libs/gst/getbits/getbits.h: Remove MMX code
9611
9612 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
9613
9614         * debian/.cvsignore:
9615         * debian/README.Debian:
9616         * debian/changelog:
9617         * debian/control:
9618         * debian/control.in:
9619         * debian/copyright:
9620         * debian/gstreamer-core-libs-dev.files:
9621         * debian/gstreamer-core-libs.files:
9622         * debian/gstreamer-core.files:
9623         * debian/gstreamer-core.postinst:
9624         * debian/gstreamer-core.postrm:
9625         * debian/gstreamer-doc.files:
9626         * debian/gstreamer-doc.links:
9627         * debian/gstreamer-doc.lintian:
9628         * debian/gstreamer-runtime.files:
9629         * debian/gstreamer-runtime.manpages:
9630         * debian/gstreamer-runtime.postinst:
9631         * debian/gstreamer-runtime.postrm:
9632         * debian/gstreamer-tools.files:
9633         * debian/gstreamer-tools.manpages:
9634         * debian/libgstreamer-dev.files:
9635         * debian/libgstreamer0.4.1.files:
9636         * debian/libgstreamerVERSION.files:
9637         * debian/rules:
9638         Debian package info not maintained here.
9639
9640 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9641
9642         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
9643         * gst/gstbin.c: (gst_bin_class_init):
9644         * gst/gstelement.c: (gst_element_class_init):
9645         * gst/gstindex.c: (gst_index_class_init):
9646         * gst/gstobject.c: (gst_object_class_init),
9647         (gst_signal_object_class_init):
9648         * gst/gstpad.c: (gst_pad_template_class_init):
9649         * gst/gstregistry.c: (gst_registry_class_init):
9650         * gst/gsturi.c: (gst_uri_handler_base_init):
9651         * gst/gstxml.c: (gst_xml_class_init):
9652         * libs/gst/control/dparam.c: (gst_dparam_class_init):
9653         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
9654           make all signal names use dashes instead of underscore
9655
9656 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9657
9658         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
9659
9660 2004-03-03  Benjamin Otte  <otte@gnome.org>
9661
9662         * gst/schedulers/gstoptimalscheduler.c:
9663           revert last commit by Andy Wingo. It causes segfaults on unreffing
9664           in Rhythmbox. (see bug #135672)
9665
9666 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
9667
9668         * po/fr.po: fix typo
9669
9670 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
9671
9672         * tools/gst-inspect.c: (main): 
9673         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
9674
9675 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9676
9677         * configure.ac:
9678           get GLIB_ONLY and POPT flags for the nonversioned binaries
9679         * tools/Makefile.am:
9680           use them
9681
9682 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9683
9684         * gst/gst.c: (init_post):
9685           change so that GST_REGISTRY now is where the global registry gets
9686           saved, since that is where plugins now get attached to first, and
9687           spilled over to the user registry.  Note that in the case of using
9688           GST_REGISTRY env var, we don't want to affect any real registries
9689           beyond the one given by this var, and thus we don't set a user
9690           registry to spill to.  So make sure GST_REGISTRY is writable.
9691
9692 2004-03-01  David Schleef  <ds@schleef.org>
9693
9694         * AUTHORS:  Added some names.  Add yourself if you're missing.
9695
9696 2004-03-01  David Schleef  <ds@schleef.org>
9697
9698         * MAINTAINERS: Add
9699
9700 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9701
9702         * configure.ac:
9703           remove whitespace
9704         * docs/gst/tmpl/gstbuffer.sgml:
9705         * docs/gst/tmpl/gstdata.sgml:
9706         * docs/gst/tmpl/gstreamer-unused.sgml:
9707         * docs/gst/tmpl/gstxml.sgml:
9708           doc update
9709         * docs/manuals.mak:
9710           add a FIXME
9711         * docs/pwg/intro-preface.xml:
9712         * docs/pwg/pwg.xml:
9713           remove GNOME
9714         * gst/gst.c: (init_post):
9715           try GST_PLUGIN_PATH paths for the _global_registry first
9716         * gst/gstelement.h:
9717           add the error message as well, otherwise (null) debug info doesn't
9718           make much sense
9719         * tools/gst-register.c: (main):
9720           spill paths to next registry if this registry is not writable
9721         * po/fr.po:
9722         * po/nl.po:
9723           translation updates
9724
9725 2004-03-01  Johan Dahlin  <johan@gnome.org>
9726
9727         * gst/gstbuffer.c (_gst_buffer_initialize): 
9728         * gst/gstdata.c (gst_data_get_type): 
9729         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
9730         instead of ref, since some applications that uses GBoxed
9731         routines depends on a function that actually returns a copy.
9732
9733 2004-02-27  Benjamin Otte  <otte@gnome.org>
9734
9735         * gst/gstbuffer.h:
9736           remove gst_buffer_free, use gst_data_unref
9737         * gst/gstdata.c: (gst_data_get_type):
9738           use refcounting in GstData GBoxed registration
9739         * gst/gstdata.h:
9740           remove gst_data_free, use gst_data_unref
9741
9742 2004-02-27  Johan Dahlin  <johan@gnome.org>
9743
9744         * gst/gstdata.c (gst_data_get_type): New function, register
9745         GstData as a GBoxed type.
9746
9747         * gst/gstdata.h (GST_TYPE_DATA): New macro
9748
9749 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9750
9751         * Makefile.am:
9752         * gstreamer.spec.in:
9753           put back RELEASE
9754         * gst/Makefile.am:
9755           clean up non-disting of built files
9756         * testsuite/debug/commandline.c:
9757           test fix for option rename
9758
9759 2004-02-26  David Schleef  <ds@schleef.org>
9760
9761         * configure.ac:  We don't really need glib-2.3.  Also remove
9762         some unneeded checks for library functions.
9763         * gst/Makefile.am:  Instead, we need to not dist files created
9764         by glib-genmarshal.
9765
9766 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9767
9768         * configure.ac:
9769           bump glib required version to 2.3.0 for g_value_takes_boxed
9770
9771  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
9772
9773         * common/m4/gst-docs.m4
9774         change flavour text from enable to disable as enable is our default
9775         closes bug Bug 135304
9776
9777 === release 0.7.5 ===
9778  
9779  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9780  
9781         * NEWS:
9782           instate NEWS file
9783         * Makefile.am:
9784         * gstreamer.spec.in:
9785         * RELEASE:
9786           put back release
9787         * configure.ac:
9788         * docs/random/release:
9789           more updates
9790
9791 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9792
9793         * gst/gsttag.c: (_gst_tag_initialize):
9794         * po/fr.po:
9795         * po/nl.po:
9796           remove hyphen from codec tags
9797
9798 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9799
9800         * gst/parse/Makefile.am:
9801           fix dependency so that a make from a clean build works the first
9802           time
9803
9804 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9805
9806         * docs/random/release:
9807           update release strategy
9808         * po/fr.po:
9809           auto-update po file
9810         * po/nl.po:
9811           update dutch translation
9812
9813 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9814
9815         * docs/manual/debugging.xml:
9816         fix manual for new debugging system
9817
9818 2004-02-25  Andy Wingo  <wingo@pobox.com>
9819
9820         * gst/gstpad.c (gst_pad_link_prepare): Re-add
9821         gst_pad_link_prepare. Please email the list with specific reasons
9822         for reverting.
9823
9824 2004-02-24  Andy Wingo  <wingo@pobox.com>
9825
9826         * gst/gstelement.c (gst_element_dispose): Protect against multiple
9827         invocations.
9828
9829         * gst/schedulers/gstoptimalscheduler.c:
9830         I added a mess of prototypes at the top of the file by way of
9831         documentation. Some of the operations on chains and groups were
9832         re-organized.
9833
9834         (create_group): Added a type argument so if the group is enabled,
9835         the setup_group_scheduler knows what to do.
9836         (group_elements): Added a type argument here, too, to be passed on
9837         to create_group.
9838         (group_element_set_enabled): If an unlinked PLAYING element is
9839         added to a bin, we have to create a new group to hold the element,
9840         and this function will be called before the group is added to the
9841         chain. Thus we have a valid case for group->chain==NULL. Instead
9842         of calling chain_group_set_enabled, just set the flag on the group
9843         (the chain's status will be set when the group is added to it).
9844         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
9845         Setup the group scheduler when the group is enabled, not
9846         specifically when an element goes PAUSED->PLAYING. This means
9847         PLAYING elements can be added, linked, and scheduled into a
9848         PLAYING pipeline, as was intended.
9849         (add_to_group): Don't ref the group twice. I don't know when this
9850         double-ref got in here. Removing it has the potential to cause
9851         segfaults if other parts of the scheduler are buggy. If you find
9852         that the scheduler is segfaulting for you, put in an extra ref
9853         here and see if that hacks over the underlying issue. Of course,
9854         then find out what code is unreffing a group it doesn't own...
9855         (create_group): Make the extra refcount floating, and remove it
9856         after adding the element. This means that...
9857         (unref_group): Destroy when the refcount reaches 0, not 1, like
9858         every other refcounted object in the known universe.
9859         (remove_from_group): When a group becomes empty, set it to be not
9860         active, and remove it from its chain. Don't unref it again,
9861         there's no floating reference any more.
9862         (destroy_group): We have to remove the group from the chain in
9863         remove_from_group (rather than here) to break refcounting cycles
9864         (the chain always has a ref on the group). So assert that
9865         group->chain==NULL.
9866         (ref_group_by_count): Removed, it was commented out anyway.
9867         (merge_chains): Use the remove_from_chain and add_to_chain
9868         primitives to do the reparenting, instead of rolling our own
9869         implementation.
9870         (add_to_chain): The first non-disabled group in the chain's group
9871         list will be the entry point for the chain. Because buffers can
9872         accumulate in loop elements' peer bufpens, we preferentially
9873         schedule loop groups before get groups to avoid unnecessary
9874         execution of get-based groups when the bufpens are already full.
9875         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
9876         (get_group_schedule_function): Ditto.
9877         (loop_group_schedule_function): Ditto.
9878         (gst_opt_scheduler_loop_wrapper): Ditto.
9879         (gst_opt_scheduler_iterate): Ditto.
9880
9881         I understand the opt scheduler now, yippee!
9882
9883         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
9884         (gst_pad_get_name, gst_pad_set_chain_function) 
9885         (gst_pad_set_get_function, gst_pad_set_event_function) 
9886         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
9887         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
9888         (gst_pad_set_query_function, gst_pad_get_query_types) 
9889         (gst_pad_get_query_types_default) 
9890         (gst_pad_set_internal_link_function) 
9891         (gst_pad_set_formats_function, gst_pad_set_link_function) 
9892         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
9893         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
9894         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
9895         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
9896         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
9897         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
9898         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
9899         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
9900         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
9901         (gst_pad_event_default_dispatch, gst_pad_event_default) 
9902         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
9903         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
9904         (gst_pad_get_formats_default, gst_pad_get_formats): Better
9905         argument checks, and some doc fixes.
9906
9907         (gst_pad_custom_new_from_template): Um, does anyone
9908         use these functions? Actually make a custom pad instead of a
9909         normal one.
9910         (gst_pad_try_set_caps): Transpose some checks.
9911         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
9912         the pad is in negotiation.
9913         (gst_pad_try_relink_filtered): Use pad_link_prepare.
9914         
9915         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
9916
9917         * gst/gstelement.h: 
9918         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
9919         on the list.
9920
9921 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9922
9923         * gst/gstbin.c: (gst_bin_add):
9924           add error for not being able to add elements
9925
9926 2004-02-22  Julien MOUTTE <julien@moutte.net>
9927
9928         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
9929         audio-codec and video-codec.
9930
9931 2004-02-22  Benjamin Otte  <otte@gnome.org>
9932
9933         reported by: Padraig O'Briain <padraig.obriain@sun.com>
9934
9935         * autogen.sh:
9936           replace test -e with test -x for mkinstalldirs to be more portable.
9937           (fixes #134816)
9938
9939 2004-02-22  Benjamin Otte  <otte@gnome.org>
9940
9941         * gst/gstpad.c:
9942           revert last patch from Andy, it makes gst_pad_can_link_filtered much
9943           too noisy
9944         * gst/gsttag.c: (_gst_tag_initialize):
9945         * gst/gsttag.h:
9946           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
9947         * libs/gst/control/dparam.c: (gst_dparam_attach):
9948         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
9949           check that types for attached dparams match
9950
9951 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9952
9953         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
9954         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9955         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
9956           fix errors
9957
9958 2004-02-20  Andy Wingo  <wingo@pobox.com>
9959
9960         * gst/gstbin.c:
9961         * gst/gstbuffer.c:
9962         * gst/gstplugin.c:
9963         * gst/registries/gstxmlregistry.c: 
9964         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
9965
9966         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
9967         (gst_element_add_pad): DEBUG->INFO, some fixes.
9968         (gst_element_get_compatible_pad_template): Just see if the
9969         templates' caps intersect, not if one is a strict subset of the
9970         other. This conforms more to what gst_pad_link_intersect() does.
9971         (gst_element_class_add_pad_template): Don't memcpy the pad
9972         template, just ref it.
9973         (gst_element_get_compatible_pad_filtered): Clean up debug messages
9974
9975         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
9976         (gst_pad_link_filtered): Debug changes.
9977         (gst_pad_link_prepare): New function, consolidated from
9978         can_link_filtered and link_filtered.
9979
9980         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
9981         look more like that of the functions in gstelement.c
9982
9983         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
9984         object, and return the empty string if object is NULL.
9985
9986         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
9987         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
9988         LOG, not DEBUG. We still get flex info on debug.
9989
9990         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
9991         debug string more verbose.
9992         (plugin_times_older_than): DEBUG->LOG.
9993
9994 2004-02-20  Julien MOUTTE <julien@moutte.net>
9995
9996         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
9997         will emit found_tag for each stream they demux with the codec.
9998
9999 2004-02-20  Benjamin Otte  <otte@gnome.org>
10000
10001         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
10002           copy navigation event correctly. Check freeing tag lists. 
10003         * gst/gstthread.c: (gst_thread_change_state):
10004           don't abort() on state changing mess - it might happen because of
10005           bugs.
10006         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
10007           use boxed functions
10008         * gst/gstvalue.h:
10009           fix GST_VALUE_HOLDS_CAPS
10010
10011 2004-02-19  David Schleef  <ds@schleef.org>
10012
10013         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
10014         and use it for GST_FUNCTION.  (bug #134750)
10015
10016 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10017
10018         * po/fr.po:
10019         * po/nl.po:
10020           updating translations
10021
10022 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10023
10024         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
10025
10026 2004-02-18  kost@imn.htwk-leipzig.de
10027
10028         reviewed by: David Schleef  <ds@schleef.org>
10029
10030         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
10031         for libgstcontrol.
10032
10033 2004-02-18  David Schleef  <ds@schleef.org>
10034
10035         * libs/gst/control/dparam.c: (gst_dparam_class_init):
10036         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
10037         (gst_dpsmooth_new): Additional fixes to get double dparams working.
10038         * tools/gst-inspect.c: (print_element_info): Support dumping of
10039         double dparam information.
10040
10041 2004-02-17  David Schleef  <ds@schleef.org>
10042
10043         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
10044         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
10045         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
10046         Use GST_TYPE_CAPS in signal prototype.
10047         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
10048         Convert GST_TYPE_CAPS to boxed.
10049         * gst/gstelement.c: (gst_element_class_init):
10050         Use GST_TYPE_TAG_LIST in signal prototype.
10051         * gst/gstindex.c: (gst_index_class_init):
10052         * gst/gstindex.h:
10053         Add GST_TYPE_INDEX_ENTRY type.
10054         * gst/gstmarshal.list:
10055         Add necessary marshal types.
10056         * gst/gstpad.c: (gst_real_pad_class_init),
10057         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
10058         (gst_pad_recover_caps_error):
10059         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
10060         * gst/gststructure.c: (_gst_structure_initialize),
10061         (gst_structure_copy), (_gst_structure_copy_conditional):
10062         * gst/gststructure.h:
10063         Convert GST_TYPE_STRUCTURE to boxed.
10064         * gst/gsttag.c: (gst_tag_list_get_type):
10065         * gst/gsttag.h:
10066         Add GST_TYPE_TAG_LIST type.
10067
10068 2004-02-17  Julien MOUTTE  <julien@moutte.net>
10069
10070         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
10071         to what we agreed with david.
10072         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
10073
10074 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10075
10076         * po/nl.po: update translation
10077
10078 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10079
10080         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
10081           throw an error if spider is trying to play a mime type there is
10082           no decoder for
10083         * po/POTFILES.in:
10084           add gst/autoplug/gstspider.c for translation
10085
10086 2004-02-17  Julien MOUTTE  <julien@moutte.net>
10087
10088         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
10089         silently when the pad is negotiating.
10090
10091 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10092
10093         * docs/faq/Makefile.am:
10094           add script to run gstreamer uninstalled 
10095         * docs/faq/faq.xml:
10096         * docs/faq/developing.xml:
10097         * docs/faq/gst-uninstalled:
10098           extract script to run gstreamer uninstalled
10099         * docs/manuals.mak:
10100           add EXTRA_SOURCES variable for Makefile.am's to set to
10101           use additional SOURCE files for the doc build
10102
10103 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10104
10105         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
10106
10107 2004-02-15  Julien MOUTTE  <julien@moutte.net>
10108
10109         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
10110         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
10111         an error was thrown by osssink. Basically a state change failure for
10112         an element in a different scheduling group was considered as
10113         successful, which means that caps nego was going on and weird stuff
10114         happened. Like I wrote in the comment there, if someone wants to
10115         revert that please drop me a mail explaining why because I really see
10116         no point in keeping that broken behaviour there.
10117         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
10118         be empty, we then return NULL which will trigger a nice error when 
10119         pulling from the pad.
10120
10121 2004-02-13  David Schleef  <ds@schleef.org>
10122
10123         * libs/gst/control/dparam.c: (gst_dparam_class_init),
10124         (gst_dparam_get_property), (gst_dparam_set_property),
10125         (gst_dparam_do_update_default):
10126         * libs/gst/control/dparam.h:
10127         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
10128         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
10129         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
10130         (gst_dpsmooth_do_update_double):
10131         * libs/gst/control/dparam_smooth.h:
10132         * libs/gst/control/dparammanager.c:
10133         (gst_dpman_inline_direct_update):
10134         Add support for double dparams.
10135
10136 2004-02-13  David Schleef  <ds@schleef.org>
10137
10138         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
10139         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
10140
10141 2004-02-13  Mattias Wadman  <mattias@sudac.org>
10142
10143         reviewed by: David Schleef  <ds@schleef.org>
10144
10145         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10146         (gst_fdsrc_init), (gst_fdsrc_set_property),
10147         (gst_fdsrc_get_property), (gst_fdsrc_get):
10148         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
10149         and sends an EOS event if file descriptor reading times out.
10150
10151 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10152
10153         * configure.ac:
10154           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
10155
10156 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10157
10158         * configure.ac: pass required libxml version as argument
10159         (bug reported by Christophe Fergeau)
10160
10161 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10162   
10163         * docs/gst/gstreamer-docs.sgml:
10164         * docs/gst/tmpl/gstxml.sgml:
10165         * docs/libs/gstreamer-libs-docs.sgml:
10166           version API docs
10167
10168 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10169
10170         * gst/gstinfo.c:
10171         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
10172         (gst_registry_pool_feature_filter):
10173         * gst/gstthread.c: (gst_thread_class_init):
10174         * gst/gstvalue.c:
10175           add includes exposed by building without libxml
10176         * gst/indexers/Makefile.am:
10177           do not build fileindex when LOADSAVE disabled; we should have
10178           a better libxml check later since fileindex depends on xml, not
10179           LOADSAVE or REGISTRY
10180         * libs/gst/control/Makefile.am:
10181           link with m
10182         * tools/Makefile.am:
10183           fix wrong source code for gst-xmlinspect
10184
10185 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10186
10187         * configure.ac:
10188           fix gcov help output
10189           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
10190         * docs/random/release:
10191           some updated releasing notes
10192         * gstreamer.spec.in:
10193           more updates
10194
10195 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10196
10197         * docs/faq/faq.xml:
10198         * docs/manual/manual.xml:
10199         * docs/pwg/pwg.xml:
10200         * docs/pwg/titlepage.xml:
10201           put version in documentation
10202
10203 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10204
10205         * tools/Makefile.am: fix man page installation
10206
10207 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10208
10209         * configure.ac:
10210           don't check for libxml when load/save and registry disabled (#105844)
10211         * gstreamer.spec.in:
10212           sync with fedora candidate spec
10213
10214 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10215
10216         * po/fr.po:
10217         * po/nl.po:
10218           replace multidisksrc with multifilesrc
10219
10220 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10221
10222         * po/POTFILES.in:
10223           update to multidisksrc => multifilesrc file renaming (#134145)
10224
10225 2004-02-11  David Schleef  <ds@schleef.org>
10226
10227         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
10228         * docs/gst/tmpl/gstpadtemplate.sgml: same
10229         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
10230         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
10231         fixing dance.
10232         * gst/gstutils.c: Remove disabled code that uses GstProps.
10233         * gst/registries/gstxmlregistry.h: same
10234         * docs/random/ds/0.9-suggested-changes: random notes
10235
10236 2004-02-11  kost@imn.htwk-leipzig.de
10237
10238         reviewed by: David Schleef  <ds@schleef.org>
10239
10240         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
10241         initialisation of clock (bug #134128)
10242
10243 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10244
10245         * configure.ac:
10246         * gst/elements/Makefile.am:
10247         * gst/elements/gstelements.c:
10248         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
10249         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
10250         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
10251         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
10252         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
10253         * gst/elements/gstmultifilesrc.h:
10254           rename multidisksrc to multifilesrc (part of #122200)
10255
10256 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10257
10258         * docs/manuals.mak:
10259           fix automake complaints
10260         * gst-element-check.m4:
10261           fix unquotedness
10262
10263 2004-02-11  David Schleef  <ds@schleef.org>
10264
10265         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
10266         * gst/gstatomic_impl.h: Disable sparc implementation.
10267
10268 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10269
10270         * gst-element-check.m4:
10271           fix underquoted macros as reported by automake 1.8.x (#133800)
10272         * configure.ac:
10273           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
10274           by autopoint (fixes #132996)
10275
10276 2004-02-10  Andy Wingo  <wingo@pobox.com>
10277
10278         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
10279         way to do inheritance.
10280         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
10281         (gst_pad_get_query_types, gst_pad_get_query_types_default):
10282         Routine docs.
10283         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
10284         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
10285         doc.
10286         (gst_pad_unlink, gst_pad_is_linked): Docs.
10287         (gst_pad_renegotiate): A brief description of capsnego.
10288         (gst_pad_try_set_caps): Document.
10289         (gst_pad_try_set_caps_nonfixed): Document.
10290         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
10291         (gst_pad_set_parent): Deprecated (although not out of the API).
10292         (gst_pad_get_parent): Deprecated, although many plugins use this.
10293         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
10294         are private and will go away in 0.9.
10295         (gst_pad_perform_negotiate): Doc.
10296         (gst_pad_link_unnegotiate): I think this is meant to be static.
10297         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
10298         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
10299         (gst_pad_get_peer): Doc updates.
10300         (gst_pad_caps_change_notify): Doc.
10301         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
10302         (gst_ghost_pad_new): Doc fixes.
10303
10304         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
10305         (gst_object_check_uniqueness): 
10306
10307         * gst/gstelement.c (gst_element_add_pad) 
10308         (gst_element_add_ghost_pad, gst_element_remove_pad) 
10309         (gst_element_remove_ghost_pad, gst_element_get_pad) 
10310         (gst_element_get_static_pad, gst_element_get_pad_list) 
10311         (gst_element_class_get_pad_template_list) 
10312         (gst_element_class_get_pad_template): Work on the docs.
10313         (gst_element_get_pad_template_list): Uses the class method.
10314         (gst_element_get_compatible_pad_template): Docs, and consolidate
10315         some test conditions. 
10316         (gst_element_get_pad_from_template): New static function.
10317         (gst_element_request_compatible_pad): Docs, and work with
10318         non-request compatible templates. 
10319         (gst_element_get_compatible_pad_filtered): Docs and remove
10320         redundant checks.
10321         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
10322         (gst_element_link_filtered, gst_element_link_many) 
10323         (gst_element_link, gst_element_link_pads) 
10324         (gst_element_unlink_many): Docs.
10325
10326 2004-02-05  Andy Wingo  <wingo@pobox.com>
10327
10328         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
10329         s/pointer/boxed/.
10330
10331         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
10332
10333         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
10334         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
10335         with the type=GST_TYPE_CAPS. This allows language bindings to know
10336         what kind of data they're dealing with.
10337
10338         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
10339         to NULL when g_value_init is called. GstCaps, which rolls its own
10340         type implementation, now does the same instead of allocating empty
10341         caps.
10342         (_gst_caps_initialize, _gst_caps_collect_value,
10343         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
10344         table methods. This allows G_VALUE_COLLECT to work.
10345
10346 2004-02-05  Andy Wingo  <wingo@pobox.com>
10347
10348         * configure.ac:
10349         * testsuite/Makefile.am (SUBDIRS): 
10350         * testsuite/ghostpads/Makefile.am: 
10351         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
10352
10353         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
10354         These two routines are the only ones that set
10355         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
10356         pad template. They should be made static, depending on ABI needs.
10357         (gst_real_pad_dispose): Handle the case of ghost pads without a
10358         parent. Assert after dealing with ghost pads that the ghost pad
10359         list is empty.
10360         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
10361         set after creation.
10362         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
10363         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
10364         functions. set_property will call add_ghost_pad/remove_ghost_pad
10365         as appropriate.
10366         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
10367
10368         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
10369         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
10370         (gst_element_remove_pad): Handle ghost pads as well.
10371         (gst_element_remove_ghost_pad): Deprecated (could be removed,
10372         depending on API-stability needs).
10373
10374 2004-02-05  Andy Wingo  <wingo@pobox.com>
10375
10376         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
10377         of course they're const
10378
10379 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10380
10381         * tools/Makefile.am:
10382         * tools/gst-feedback:
10383         * tools/gst-feedback-0.7:
10384           make gst-feedback versioned too for consistency
10385
10386 2004-02-11  David Schleef  <ds@schleef.org>
10387
10388         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10389         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
10390
10391 2004-02-10  Julien MOUTTE <julien@moutte.net>
10392
10393         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
10394         the structure does not contain a valid tag list. Adding a safety check
10395         to remove a noisy warning in that case.
10396
10397 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10398
10399         * gst/gst.c: fix name to be in line with others
10400
10401 2004-02-09  Julien MOUTTE <julien@moutte.net>
10402
10403         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
10404         not shout that loud when len is 0. Just return 0 silently.
10405
10406 2004-02-09  Julien MOUTTE  <julien@moutte.net>
10407
10408         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
10409         because data_unref has one and I prefer the debug to be symetric.
10410         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
10411         were refed when added to the queue and unrefed only once when the queue
10412         was flushed. Now the flush handler unref the buffers two times : first
10413         unref for the ref added when pushing in the queue's tail and second
10414         unref to destroy the flushed buffer.
10415
10416 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10417
10418         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
10419
10420 2004-02-06  David Schleef  <ds@schleef.org>
10421
10422         * docs/random/ds/0.9-suggested-changes: Random ramblings
10423         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
10424         to int before printing.
10425         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
10426         * gst/parse/parse.l: same.  See bug #129600
10427
10428 2004-02-06  David Schleef  <ds@schleef.org>
10429
10430         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
10431         (gst_index_add_entry), (gst_index_add_associationv),
10432         (gst_index_add_association): Add gst_index_add_associationv()
10433         and clean up gst_index_add_association(). #127133
10434
10435 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10436
10437         * autogen.sh: check out common with right tag if CVS/Tag exists
10438
10439 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10440
10441         * testsuite/ghostpads/ghostpads.c: (main):
10442           fix testsuite from segfaulting
10443
10444 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10445
10446         * Makefile.am: add release target
10447         * configure.ac: bump nano to 1
10448         * docs/random/release:
10449
10450 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10451
10452         * gst/gstcaps.h:
10453         * gst/gstelement.c: (gst_element_base_class_init),
10454         (gst_element_class_set_details), (gst_element_clear_pad_caps):
10455         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10456         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
10457         (gst_real_pad_dispose):
10458         * gst/gststructure.c: (gst_structure_free),
10459         (gst_structure_from_string):
10460           put reverted patch back in
10461         * gst/gstelement.c: (gst_element_remove_pad):
10462           free explicit caps if they're set
10463         * gst/gstpad.c: (_gst_pad_default_fixate_func):
10464           copy the structure when fixating
10465
10466 2004-02-05  David Schleef  <ds@schleef.org>
10467
10468         * gst/gstmarshal.list:
10469         * gst/gstpad.c: (gst_real_pad_class_init),
10470         (_gst_real_pad_fixate_accumulator):
10471         Revert POINTER->BOXED change in signal marshaller.
10472
10473 === release 0.7.4 ===
10474                                                                                 
10475 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10476                                                                                 
10477         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
10478         * configure.ac: changed for release
10479
10480 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10481
10482         * gstreamer.spec.in:
10483           bump required version of gtk-doc
10484
10485 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10486
10487         * gst/gstcaps.h:
10488         * gst/gstelement.c: (gst_element_base_class_init),
10489         (gst_element_class_set_details), (gst_element_clear_pad_caps):
10490         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10491         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
10492         (gst_real_pad_dispose):
10493         * gst/gststructure.c: (gst_structure_free),
10494         (gst_structure_from_string):
10495           revert patch that breaks applications, reapply after release
10496           to get this fixed properly
10497
10498 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10499
10500         * gst/gsttag.c: (_gst_tag_initialize):
10501         * gst/gsttag.h:
10502           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
10503
10504 2004-02-04  David Schleef  <ds@schleef.org>
10505
10506         Fix some memleaks:
10507         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
10508         (gst_spider_plug_from_srcpad):
10509         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
10510
10511 2004-02-04  David Schleef  <ds@schleef.org>
10512
10513         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
10514         a GstRealPad before accessing its structure members.
10515
10516 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10517
10518         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
10519         (gst_clock_get_speed):
10520         * gst/gstclock.h:
10521           reset padding, remove unused fields
10522
10523 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10524
10525         * gst/autoplug/gstspideridentity.c:
10526         (gst_spider_identity_sink_loop_type_finding):
10527           use get_allowed_caps, not get_caps (fixes #132519)
10528         * gst/elements/gsttypefind.c: (stop_typefinding):
10529           use correct order when sending buffers and seeking
10530
10531 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10532
10533         * configure.ac:
10534         * gst/gstelement.h:
10535         * gst/gstpad.h:
10536         * gst/gstqueue.h:
10537           upgrade libtool CURRENT, reset padding
10538
10539 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10540
10541         * configure.ac:
10542           bump to prerelease
10543           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
10544
10545 2004-02-04  David Schleef  <ds@schleef.org>
10546
10547         * docs/random/ds/0.9-suggested-changes: random notes
10548         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
10549         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
10550         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
10551         expansion.
10552         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10553         (gst_filesink_get_query_types): same
10554         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
10555         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
10556         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
10557         to use new GST_PTR_FORMAT.
10558         * gst/gstelement.h: deprecate function factory macros
10559         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
10560         These are our last variadic macros that can't be replaced with
10561         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
10562         attempting to deprecate gst_element_clock_wait().
10563         * gst/gstevent.h: same
10564         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10565         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
10566         * gst/gstpad.h: deprecate function factory macros similar to above.
10567
10568 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10569
10570         * configure.ac:
10571         * tools/Makefile.am:
10572         * tools/gst-run.c: (popt_callback), (hash_print_key),
10573         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
10574         (get_candidates), (main):
10575           add new source file to generate non-versioned wrapper binaries
10576           for our tools.
10577
10578 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10579
10580         * gst/gstevent.c: (_gst_event_free):
10581           actually break; inside the switch statement
10582         * gst/parse/grammar.y:
10583           fix memleak where GValues weren't unset
10584
10585 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10586
10587         * gst/gststructure.c: (gst_structure_from_string):
10588           fix huge memleak
10589         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
10590         (new_entry), (gst_type_find_element_chain):
10591         * gst/gstelement.c: (gst_element_base_class_init),
10592         (gst_element_class_set_details):
10593         * gst/gstpad.c: (gst_pad_can_link_filtered):
10594           fix smaller memleaks
10595         * gst/gstpad.c: (gst_real_pad_dispose):
10596           check that explicit caps are gone
10597         * gst/gststructure.c: (gst_structure_free):
10598           actually free the structure
10599         * gst/gstelement.c: (gst_element_clear_pad_caps):
10600           unset explicit caps
10601
10602 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10603
10604         * tools/Makefile.am:
10605           use AM_CFLAGS since all the CFLAGS are the same
10606           use AM_LDFAGS
10607
10608 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10609
10610         * docs/manual/gnome.xml:
10611           expand example a little
10612         * gst/gst.c: (gst_init_with_popt_table),
10613         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
10614           make sure popt option displays are done with right textdomain
10615           use GstPoptOption type
10616         * gst/gst.h:
10617           create GstPoptOption type
10618
10619 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10620
10621         * gst/gsterror.c: (_gst_stream_errors_init):
10622         * gst/gsterror.h:
10623           adding error type for no codec
10624         * po/POTFILES.in:
10625           add gst-inspect
10626         * po/nl.po:
10627           update dutch translation
10628         * tools/gst-inspect.c: (print_element_list), (main):
10629           do proper internationalization
10630         * tools/gst-launch.c: (idle_func):
10631           remove commented out function call
10632
10633 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10634
10635         * docs/README:
10636           add some error fixing notes
10637         * docs/gst/gstreamer-sections.txt:
10638           remove double entries
10639         * docs/gst/tmpl/gstbin.sgml:
10640         * docs/gst/tmpl/gstclock.sgml:
10641           remove override
10642         * docs/gst/tmpl/gstelement.sgml:
10643         * docs/gst/tmpl/gstindex.sgml:
10644         * docs/gst/tmpl/gstobject.sgml:
10645         * docs/gst/tmpl/gstpadtemplate.sgml:
10646         * docs/gst/tmpl/gstreamer-unused.sgml:
10647         * docs/gst/tmpl/gsttag.sgml:
10648         * docs/gst/tmpl/gstthread.sgml:
10649         * docs/gst/tmpl/gstxml.sgml:
10650         * gst/gsttag.h:
10651           sync header prototypes with c decls
10652         * gst/gsttaginterface.c:
10653           fix doc headers
10654
10655 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10656
10657         * gst/parse/Makefile.am:
10658         * gst/gstobject.h:
10659           get rid of gstmarshal.h dependency. It's not needed.
10660         * gst/gst.h:
10661         * gst/elements/gstfakesink.c:
10662         * gst/elements/gstfakesrc.c:
10663         * gst/elements/gstidentity.c:
10664         * gst/gstbin.c:
10665         * gst/gstelement.c:
10666         * gst/gstindex.c:
10667         * gst/gstobject.c:
10668         * gst/gstpad.c:
10669         * gst/gstthread.c:
10670         * gst/gstxml.c:
10671         * libs/gst/control/dparam.c:
10672         * libs/gst/control/dparammanager.c:
10673           include gstmarshal.h.
10674         Fixes #132045
10675
10676 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10677
10678         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10679         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
10680         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
10681         * gst/elements/gstfilesrc.h:
10682           don't ref the filesrc when creating mmaped buffers. Don't keep a
10683           list of not-yet-destroyed buffers.
10684         * gst/gstbuffer.h:
10685           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
10686
10687 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10688
10689         * gst/gst.c: (init_pre):
10690           remove textdomain
10691
10692 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10693
10694         * docs/pwg/advanced-events.xml:
10695         * docs/pwg/advanced-scheduling.xml:
10696         * docs/pwg/intro-basics.xml:
10697         * docs/pwg/other-manager.xml:
10698         * docs/pwg/other-nton.xml:
10699         * docs/pwg/other-ntoone.xml:
10700         * docs/pwg/other-oneton.xml:
10701         * docs/pwg/pwg.xml:
10702           All sort of documentation... Forgot what. Point is that I want this
10703           in before I leave. The 'other-*' will be the last section and will
10704           explain issues specific to these type of elements.
10705
10706 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10707
10708         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10709         (gst_filesrc_get_read):
10710           set all the values on buffers that we can
10711
10712 2004-02-02  David Schleef  <ds@schleef.org>
10713
10714         Change usage of isblah() to g_ascii_isblah() to be more locale
10715         independent.  (#133076)
10716         * gst/gsturi.c: (gst_uri_protocol_check_internal):
10717         * gst/gstutils.c:
10718         * gst/parse/parse.l:
10719
10720 2004-02-02  Jon Trowbridge  <trow@gnu.org>
10721
10722         reviewed by: David Schleef  <ds@schleef.org>
10723
10724         Fix memory leaks:
10725         * gst/gstcaps.c: (gst_caps_to_string):
10726         * gst/registries/gstxmlregistry.c:
10727         (gst_xml_registry_add_path_list_func),
10728         (gst_xml_registry_parse_padtemplate):
10729
10730 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10731
10732         * gst/gstelement.c: (gst_element_default_error):
10733           suffix error messages with period
10734
10735 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10736
10737         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10738         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10739         * gst/gsterror.c: (gst_error_get_message):
10740           Suffix with dots
10741         * po/fr.po:
10742         * po/nl.po:
10743           Update translation files
10744
10745 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10746
10747         * gst/autoplug/gstspideridentity.c:
10748         (gst_spider_identity_sink_loop_type_finding):
10749         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10750         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10751         (gst_filesink_close_file), (gst_filesink_handle_event),
10752         (gst_filesink_chain):
10753         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10754         (gst_filesrc_get_read), (gst_filesrc_open_file):
10755         * gst/elements/gstidentity.c: (gst_identity_chain):
10756         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10757         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10758         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10759         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10760         * gst/gsterror.c: (_gst_core_errors_init),
10761         (_gst_library_errors_init), (_gst_resource_errors_init),
10762         (_gst_stream_errors_init), (gst_error_get_message):
10763         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10764         (gst_pad_recover_caps_error), (gst_pad_pull):
10765         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
10766         * gst/schedulers/gstbasicscheduler.c:
10767         (gst_basic_scheduler_chainhandler_proxy),
10768         (gst_basic_scheduler_gethandler_proxy),
10769         (gst_basic_scheduler_cothreaded_chain):
10770           Suffix error messages with period.
10771           Use (NULL) instead of NULL
10772
10773 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10774
10775         * docs/gst/tmpl/gstelement.sgml:
10776         * docs/gst/tmpl/gstxml.sgml:
10777         * gst/gstelement.c: (gst_element_error_full):
10778           add element path to error
10779
10780 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10781
10782         * docs/random/mimetypes:
10783           update raw int/float info
10784         * gst/gsttag.c: (_gst_tag_initialize):
10785         * gst/gsttag.h:
10786           add GST_TAG_ENCODER
10787
10788 2004-01-30  David Schleef  <ds@schleef.org>
10789
10790         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
10791           missing (#132991)
10792
10793 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
10794
10795         reviewed by Benjamin Otte 
10796           parts of the patch submitted in bug #113913
10797
10798         * configure.ac:
10799           use AC_C_INLINE. Use = instead of == with test
10800         * examples/plugins/example.c:
10801         * gst/autoplug/gstspideridentity.c:
10802         * gst/elements/gstfdsrc.c:
10803         * gst/elements/gstfilesrc.c:
10804         * gst/elements/gstidentity.c:
10805         * gst/elements/gstmultidisksrc.c:
10806         * gst/elements/gststatistics.c:
10807         * gst/gstelement.c:
10808         * gst/gstobject.c:
10809         * gst/gstpad.c:
10810         * gst/gstpipeline.c:
10811         * gst/gstthread.c:
10812           don't end enums with a comma
10813         * gst/gstindex.c: (gst_index_compare_func):
10814           do explicit casting to gint
10815         * gst/gsttrace.c: (gst_trace_text_flush):
10816           #define strsize as a macro
10817
10818 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10819
10820         * docs/README:
10821         * docs/gst/gstreamer-docs.sgml:
10822         * docs/gst/gstreamer-sections.txt:
10823         * docs/gst/tmpl/gstelement.sgml:
10824         * docs/gst/tmpl/gsterror.sgml:
10825         * docs/gst/tmpl/gstinterface.sgml:
10826         * docs/gst/tmpl/gstreamer-unused.sgml:
10827         * docs/gst/tmpl/gststructure.sgml:
10828         * docs/gst/tmpl/gsttag.sgml:
10829         * docs/gst/tmpl/gsttaginterface.sgml:
10830         * docs/gst/tmpl/gstvalue.sgml:
10831         make sure all API ends up in the built docs
10832         * gst/gstinterface.c:
10833         * gst/gststructure.c: (gst_structure_id_set_value),
10834         (gst_structure_set_value), (gst_structure_id_get_value):
10835         * gst/gststructure.h:
10836         * gst/gstvalue.h:
10837         sync .h with .c declarations
10838
10839 2004-01-30  Julien Moutte  <julien@moutte.net>
10840
10841         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
10842         Ronald will fix riffread.
10843
10844 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10845
10846         * docs/pwg/advanced-interfaces.xml:
10847           Added tuner interface docs.
10848
10849 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10850
10851         * docs/random/mimetypes:
10852           correct Theora information
10853         * gst/gstelement.h:
10854           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
10855
10856 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10857
10858         * gst/gstelement.c: (gst_element_error_full):
10859         * gst/gstelement.h:
10860           GST_ELEMENT_ERROR in enum -> _IN_ERROR
10861
10862 2004-01-29  Julien MOUTTE  <julien@moutte.net>
10863
10864         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10865         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
10866         again and even before DISCONT.
10867         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
10868         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
10869         bytestream so that it's not stopping to fill the bytestream if events
10870         different than EOS or DISCONT are received. Instead it process them so
10871         that they go downstream.
10872
10873 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10874
10875         * docs/gst/tmpl/gstelement.sgml:
10876         * docs/gst/tmpl/gstreamer-unused.sgml:
10877         * docs/gst/tmpl/gstxml.sgml:
10878         * gst/autoplug/gstspideridentity.c:
10879         (gst_spider_identity_sink_loop_type_finding):
10880         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10881         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10882         (gst_filesink_close_file), (gst_filesink_handle_event),
10883         (gst_filesink_chain):
10884         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10885         (gst_filesrc_get_read), (gst_filesrc_open_file):
10886         * gst/elements/gstidentity.c: (gst_identity_chain):
10887         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10888         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10889         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10890         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10891         * gst/gstelement.h:
10892         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10893         (gst_pad_recover_caps_error), (gst_pad_pull):
10894         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
10895         * gst/schedulers/gstbasicscheduler.c:
10896         (gst_basic_scheduler_chainhandler_proxy),
10897         (gst_basic_scheduler_gethandler_proxy),
10898         (gst_basic_scheduler_cothreaded_chain):
10899           gst_element_error -> GST_ELEMENT_ERROR
10900
10901 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10902
10903         * docs/Makefile.am:
10904         * docs/gst/tmpl/gstelement.sgml:
10905         * docs/gst/tmpl/gstxml.sgml:
10906         * docs/manuals.mak:
10907         * docs/pwg/advanced-request.xml:
10908         * docs/pwg/advanced-scheduling.xml:
10909         * docs/pwg/advanced-tagging.xml:
10910           fix non-validating docbook using CDATA
10911           make sure make check-local gets run first to check if it validates
10912
10913 2004-01-29  Julien MOUTTE <julien@moutte.net>
10914
10915         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
10916         handling (up and downstream).
10917         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
10918         my_filter thing.
10919
10920 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10921
10922         * docs/pwg/advanced-tagging.xml:
10923           Add docs about tag writing.
10924
10925 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10926
10927         * docs/pwg/advanced-tagging.xml:
10928           Add a part about tag reading and application signalling... Tag
10929           writing still needs to be documented.
10930         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
10931           We can set file locations in READY, too.
10932
10933 2004-01-29  Julien MOUTTE <julien@moutte.net>
10934
10935         * docs/random/ds/element-checklist: Adding some notes about src
10936         events.
10937
10938 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10939
10940         * docs/random/mimetypes:
10941           Update docs to point to correct elements for various mimetypes, and
10942           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
10943           <stephane.loeuillet@tiscali.fr>.
10944
10945 2004-01-28  David Schleef  <ds@schleef.org>
10946
10947         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
10948
10949 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10950
10951         * docs/random/mimetypes:
10952           update docs for audio/x-raw-float. Add "buffer-frames=0 means
10953           undefined"
10954         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
10955           make it only work in NULL.
10956         * gst/gstcaps.c:
10957           don't posion NULL caps
10958         * gst/gstelement.c: (gst_element_set_time):
10959           add debugging statement
10960         * gst/gstelement.c: (gst_element_emit_found_tag),
10961         (gst_element_found_tag_func), (gst_element_found_tags):
10962         * gst/gstelement.h:
10963           These functions take const taglists
10964         * gst/gstpad.c: (gst_pad_proxy_getcaps):
10965           fix memleak
10966         * gst/gstpad.c: (gst_pad_event_default):
10967           make more effort on handling discont and clocks, g_warn if everything
10968           fails
10969         * gst/gststructure.c: (gst_structure_remove_fields),
10970         (gst_structure_remove_fields_valist):
10971         * gst/gststructure.h:
10972           add gst_structure_remove_fields(_valist)
10973         * gst/gsttag.c:
10974           fix doc glitch
10975
10976 2004-01-28  David Schleef  <ds@schleef.org>
10977
10978         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
10979         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
10980         Fix memory leakage of gst_caps_to_string().
10981
10982         Use GST_PTR_FORMAT instead of gst_caps_to_string():
10983         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
10984         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
10985         (gst_spider_identity_sink_loop_type_finding):
10986         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
10987         (find_suggest):
10988         * gst/gstpad.c: (gst_pad_try_relink_filtered),
10989         (gst_pad_set_explicit_caps):
10990         * gst/parse/grammar.y:
10991
10992 2004-01-28  David Schleef  <ds@schleef.org>
10993
10994         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
10995         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
10996         * docs/random/ds/0.9-suggested-changes: Notes from Company.
10997         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
10998         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
10999         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
11000         (gst_debug_log_default), (_gst_info_printf_extension),
11001         (_gst_info_printf_extension_arginfo):  Add printf extension.
11002         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
11003         * gst/gststructure.c: (gst_structure_to_string),
11004         (_gst_structure_parse_value): Use gst_value_deserialize() and
11005         remove old code.
11006         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
11007         (gst_value_deserialize_boolean), (gst_strtoi),
11008         (gst_value_deserialize_int), (gst_value_deserialize_double),
11009         (gst_value_deserialize_string), (gst_value_deserialize): Implement
11010         a bunch of deserialize functions and gst_value_deserialize.
11011         * gst/gstvalue.h: er, _de_serialize, not unserialize
11012         * testsuite/caps/string-conversions.c: (main): We don't currently
11013         handle (float) in caps, so convert these to (double).
11014         * testsuite/debug/Makefile.am: Add new test for the printf extension
11015         * testsuite/debug/printf_extension.c: (main): same
11016
11017 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11018
11019         * docs/random/company/time:
11020           Add some docs about clocking and time
11021
11022 2004-01-28  Julien MOUTTE <julien@moutte.net>
11023
11024         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
11025
11026 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11027
11028         * docs/pwg/advanced-clock.xml:
11029         * docs/pwg/advanced-dparams.xml:
11030         * docs/pwg/advanced-events.xml:
11031         * docs/pwg/advanced-interfaces.xml:
11032         * docs/pwg/advanced-midi.xml:
11033         * docs/pwg/advanced-request.xml:
11034         * docs/pwg/advanced-scheduling.xml:
11035         * docs/pwg/advanced-tagging.xml:
11036         * docs/pwg/advanced-types.xml:
11037         * docs/pwg/appendix-checklist.xml:
11038         * docs/pwg/building-boiler.xml:
11039         * docs/pwg/building-chainfn.xml:
11040         * docs/pwg/building-filterfactory.xml:
11041         * docs/pwg/building-pads.xml:
11042         * docs/pwg/building-props.xml:
11043         * docs/pwg/building-signals.xml:
11044         * docs/pwg/building-state.xml:
11045         * docs/pwg/building-testapp.xml:
11046         * docs/pwg/intro-basics.xml:
11047         * docs/pwg/intro-preface.xml:
11048         * docs/pwg/other-autoplugger.xml:
11049         * docs/pwg/other-sink.xml:
11050         * docs/pwg/other-source.xml:
11051         * docs/pwg/titlepage.xml:
11052           fix up id's
11053
11054 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11055
11056         * docs/95NonPath:
11057         * docs/HACKING:
11058         * docs/README:
11059         * docs/building-the-docs-on-debian:
11060           collect relevant bits of doc info
11061
11062 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11063
11064         * docs/pwg/advanced_tagging.xml:
11065           Half-assed commit so Thomas can re-arrange document IDs here to be
11066           consistent, too.
11067
11068 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11069
11070         * docs/manual/autoplugging.xml:
11071         * docs/manual/bins-api.xml:
11072         * docs/manual/bins.xml:
11073         * docs/manual/buffers-api.xml:
11074         * docs/manual/buffers.xml:
11075         * docs/manual/clocks.xml:
11076         * docs/manual/components.xml:
11077         * docs/manual/cothreads.xml:
11078         * docs/manual/debugging.xml:
11079         * docs/manual/dparams-app.xml:
11080         * docs/manual/dynamic.xml:
11081         * docs/manual/elements-api.xml:
11082         * docs/manual/elements.xml:
11083         * docs/manual/factories.xml:
11084         * docs/manual/gnome.xml:
11085         * docs/manual/goals.xml:
11086         * docs/manual/helloworld.xml:
11087         * docs/manual/helloworld2.xml:
11088         * docs/manual/init-api.xml:
11089         * docs/manual/intro.xml:
11090         * docs/manual/links-api.xml:
11091         * docs/manual/links.xml:
11092         * docs/manual/manual.xml:
11093         * docs/manual/motivation.xml:
11094         * docs/manual/pads-api.xml:
11095         * docs/manual/pads.xml:
11096         * docs/manual/plugins-api.xml:
11097         * docs/manual/plugins.xml:
11098         * docs/manual/programs.xml:
11099         * docs/manual/queues.xml:
11100         * docs/manual/quotes.xml:
11101         * docs/manual/schedulers.xml:
11102         * docs/manual/states-api.xml:
11103         * docs/manual/states.xml:
11104         * docs/manual/threads.xml:
11105         * docs/manual/typedetection.xml:
11106         * docs/manual/xml.xml:
11107           use chapter, part, section or misc as id starts for all bits
11108
11109 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11110
11111         * docs/gst/gstreamer-sections.txt:
11112           Fix up TITLE of the sections
11113
11114 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11115
11116         * docs/pwg/advanced_interfaces.xml:
11117           Add documentation on propertyprobing.
11118         * docs/pwg/advanced_events.xml:
11119         * docs/pwg/advanced_tagging.xml:
11120         * docs/pwg/building_boiler.xml:
11121         * docs/pwg/building_filterfactory.xml:
11122         * docs/pwg/pwg.xml:
11123           Move filterfactory and tagging into their own chapter, add a chapter
11124           on events. all these are empty placeholders that will be filled in
11125           some day.
11126
11127 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11128
11129         * docs/pwg/advanced_interfaces.xml:
11130           Docs for mixer interface. Also a check for website uploading.
11131
11132 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11133
11134         * docs/HACKING:
11135         * docs/Makefile.am:
11136         * docs/faq/Makefile.am:
11137         * docs/gst/Makefile.am:
11138         * docs/gst/tmpl/gstelement.sgml:
11139         * docs/gst/tmpl/gstplugin.sgml:
11140         * docs/gst/tmpl/gstreamer-unused.sgml:
11141         * docs/libs/Makefile.am:
11142         * docs/manual/Makefile.am:
11143         * docs/manuals.mak:
11144         * docs/pwg/Makefile.am:
11145         * docs/upload.mak:
11146           Separate out upload target and make it similar for
11147           both docbook and gtk-doc docs
11148
11149 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11150
11151         * docs/manuals.mak:
11152           Fix upload target to work with freedesktop
11153
11154 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11155
11156         * docs/pwg/advanced_types.xml:
11157           Add notes on creating your own types.
11158         * docs/pwg/building_boiler.xml:
11159         * docs/pwg/building_pads.xml:
11160         * docs/pwg/building_state.xml:
11161           Add some stuff about how to retrieve values from structures, how
11162           that relates to types and change layout slightly again to be almost
11163           perfect.
11164
11165 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11166
11167         * docs/pwg/advanced_dparams.xml:
11168         * docs/pwg/advanced_scheduling.xml:
11169           Change index layout slightly.
11170
11171 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11172
11173         * docs/pwg/advanced_clock.xml:
11174         * docs/pwg/advanced_interfaces.xml:
11175         * docs/pwg/advanced_midi.xml:
11176           General placeholders for now.
11177         * docs/pwg/advanced_request.xml:
11178           Explanation about sometimes and request pads.
11179         * docs/pwg/advanced_scheduling.xml:
11180           Concept of bytestream, loopfunctions and schedulers.
11181         * docs/pwg/building_boiler.xml:
11182           Add something about plugin-init.
11183
11184 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11185
11186         * docs/pwg/building_pads.xml:
11187           Fix broken docbook
11188
11189 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11190
11191         * docs/pwg/advanced_interfaces.xml:
11192         * docs/pwg/pwg.xml:
11193           Add as a placeholder for future filling-in.
11194         * docs/pwg/basics_autoplugging.xml:
11195         * docs/pwg/basics_buffers.xml:
11196         * docs/pwg/basics_elements.xml:
11197         * docs/pwg/basics_events.xml:
11198         * docs/pwg/basics_plugins.xml:
11199         * docs/pwg/basics_types.xml:
11200           Remove, because unused (this is all in intro_basics.xml).
11201         * docs/pwg/building_signals.xml:
11202           Short intro to signals + reference to GObject docs - we really
11203           shouldn't go into these sort of things to deply because we don't
11204           use them that extensively anyway.
11205         * docs/pwg/building_state.xml:
11206           Explanation of states. Benjamin, please check.
11207         * docs/pwg/building_testapp.xml:
11208           Put everything in one page - putting only a few lines of content
11209           per page doesn't really make sense.
11210
11211           Time to get into the advanced topics. ;).
11212
11213 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11214
11215         * docs/pwg/advanced_types.xml:
11216           Finish documenting the current state of mimetypes.
11217         * docs/pwg/building_boiler.xml:
11218         * docs/pwg/building_chainfn.xml:
11219         * docs/pwg/building_pads.xml:
11220         * docs/pwg/building_props.xml:
11221         * docs/pwg/building_testapp.xml:
11222           Start documenting the "how to build a simple audio filter" part
11223           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
11224           states and (maybe?) a short introduction to capsnego in the chapter
11225           on pads (building_pads.xml). Capsnego should probably be explained
11226           fully in advanced_capsnego.xml or so.
11227
11228 2004-01-26  David Schleef  <ds@schleef.org>
11229
11230         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
11231         * gst/gstpad.h: Add new function to allow element to (somewhat)
11232         specify non-fixed caps on a pad.
11233         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
11234         that I added a few weeks ago.
11235
11236 2004-01-26  David Schleef  <ds@schleef.org>
11237
11238         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
11239           making try_set_caps() work with non-fixed caps.
11240
11241 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11242
11243         * docs/pwg/advanced_types.xml:
11244         * docs/pwg/intro_basics.xml:
11245         * docs/pwg/intro_preface.xml:
11246         * docs/pwg/pwg.xml:
11247         * docs/pwg/titlepage.xml:
11248           First try to resurrect the PWG. I'm halfway integrating the mimetypes
11249           in here (docs/random/mimetypes), and will from there on work on both
11250           updating outdated parts and adding missing parts.
11251           That doesn't mean I'll fix it completely, but I'll try at least. ;).
11252
11253 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11254
11255         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
11256           policy is set
11257
11258 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11259
11260         * gst/gstelement.h:
11261           remove gst_element_factory_get_version. It doesn't exist anymore.
11262         * gst/gstplugin.c:
11263         * gst/gstplugin.h:
11264           remove gst_plugin_set_name and change gst_plugin_get_longname to
11265           gst_plugin_get_description to match code.
11266         * gst/gsterror.h:
11267           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
11268         * gst/gstpad.c: (gst_pad_try_set_caps):
11269           make it work with nonfixed caps.
11270           Note that even in the nonfixed case the link function of the pad
11271           that tries to set caps isn't called.
11272
11273 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11274
11275         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
11276           fix bug where buffer was not assembled correctly
11277         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
11278           silence by default
11279         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
11280           only seek if there's no more buffers that could work without seeking
11281
11282 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11283
11284         * gst/gsttag.c: (_gst_tag_initialize):
11285         * gst/gsttag.h:
11286           Add application tag (for encoding/muxing app).
11287
11288 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11289
11290         * autogen.sh:
11291           make autopoint force, and libtoolize not copy
11292         * common/m4/as-docbook.m4:
11293           added docbook xml catalog setup check
11294         * common/m4/gst-doc.m4:
11295           use docbook check
11296
11297 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11298
11299         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
11300         * gst/gsttag.h:
11301           add GstTagFlag
11302
11303 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11304
11305         * docs/gst/gstreamer-sections.txt:
11306         * docs/gst/tmpl/gst.sgml:
11307         * docs/gst/tmpl/gstbuffer.sgml:
11308         * docs/gst/tmpl/gstclock.sgml:
11309         * docs/gst/tmpl/gstelement.sgml:
11310         * docs/gst/tmpl/gstreamer-unused.sgml:
11311         * docs/gst/tmpl/gstxml.sgml:
11312           sync latest API changes to docs
11313
11314 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11315
11316         * gst/gstpluginfeature.c:
11317           fix doc snippet
11318         * tools/gst-inspect.c: (print_element_list):
11319           fix output of typefind
11320           add GPL header
11321         * tools/gst-launch.c:
11322           add GPL header
11323
11324 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11325
11326         * gst/elements/Makefile.am:
11327         * gst/elements/gstelements.c:
11328         * gst/elements/gsttypefindelement.c:
11329         * gst/elements/gsttypefindelement.h:
11330         * po/POTFILES.in:
11331         * po/fr.po:
11332         * po/nl.po:
11333           renamed gsttypefindelement to gsttypefind, conserving CVS history
11334
11335 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11336
11337         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
11338         * gst/gsttag.h:
11339           add some tags used in ogg as well
11340           fix _ in replaygain tags
11341
11342 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11343
11344         * gst/gsterror.h:
11345           fix wrong GST_LIBRARY_ERROR_ENCODE addition
11346
11347 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11348
11349         * gst/gstelement.c: (gst_element_error_full):
11350         * gst/gstelement.h:
11351           change _extended to _full
11352
11353 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11354
11355         reviewed by: <delete if not using a buddy>
11356
11357         * docs/gst/tmpl/gst.sgml:
11358         * docs/gst/tmpl/gstbuffer.sgml:
11359         * docs/gst/tmpl/gstclock.sgml:
11360         * docs/gst/tmpl/gstelement.sgml:
11361         * docs/gst/tmpl/gstreamer-unused.sgml:
11362         * docs/gst/tmpl/gstxml.sgml:
11363         * gst/gstelement.c: (gst_element_error_full):
11364         * gst/gstelement.h:
11365
11366 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11367
11368         * gst/gstelement.h: fix _gst_element_error_printf prototype
11369
11370 2004-01-20  David Schleef  <ds@schleef.org>
11371
11372         * gst/gststructure.c: (gst_structure_to_string):
11373         Convert function to use gst_value_serialize().
11374         * gst/gstvalue.c: (gst_value_serialize_list),
11375         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
11376         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
11377         (gst_value_serialize_int), (gst_value_serialize_double),
11378         (gst_string_wrap), (gst_value_serialize_string),
11379         (gst_value_serialize), (gst_value_deserialize):
11380         * gst/gstvalue.h:
11381         Add implementations for serialize.
11382
11383 2004-01-20  Julien MOUTTE  <julien@moutte.net>
11384
11385         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
11386         we want to keep that one in the future or change xvidenc.c to use 
11387         another error.
11388
11389 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11390
11391         * gst/gstelement.c: (_gst_element_error_printf):
11392         * gst/gstelement.h:
11393           privatise function
11394
11395 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11396
11397         * docs/random/error:
11398           doc explaining error system
11399         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11400           cleanup
11401
11402 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11403
11404         * gst/gst-i18n-app.h:
11405         * gst/gst-i18n-lib.h:
11406           remove inclusion of config.h
11407         * po/POTFILES.in:
11408         * po/nl.po:
11409           add gst/gstelement.c
11410
11411 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11412
11413         * po/nl.po: updated Dutch translation
11414
11415 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11416
11417         * gst/gsterror.c: (_gst_core_errors_init),
11418         (_gst_library_errors_init), (_gst_resource_errors_init),
11419         (_gst_stream_errors_init):
11420         remove ending punctuation dots
11421
11422 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11423
11424         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
11425         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
11426         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11427         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11428         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11429         use GST_ERROR_SYSTEM
11430
11431 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11432
11433         * gst/gstelement.c: (gst_element_error_printf),
11434         (gst_element_error_extended):
11435         * gst/gstelement.h:
11436           add a helper printf function so we can have NULL values passed.
11437
11438 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11439
11440         * gst/gstelement.h:
11441           add G_STMT macros to gst_element_error, which isn't strictly
11442           necessary but people tell me to anyway.
11443
11444 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11445
11446         * gst/Makefile.am:
11447         * gst/autoplug/gstspideridentity.c:
11448         (gst_spider_identity_sink_loop_type_finding):
11449         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11450         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11451         (gst_filesink_close_file), (gst_filesink_handle_event),
11452         (gst_filesink_chain):
11453         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
11454         (gst_filesrc_map_region), (gst_filesrc_get_read),
11455         (gst_filesrc_open_file):
11456         * gst/elements/gstidentity.c: (gst_identity_chain):
11457         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11458         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11459         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11460         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
11461         * gst/gst.h:
11462         * gst/gst_private.h:
11463         * gst/gstelement.c: (gst_element_class_init),
11464         (gst_element_default_error), (gst_element_error_func),
11465         (gst_element_error_extended):
11466         * gst/gstelement.h:
11467         * gst/gsterror.c: (_gst_core_errors_init),
11468         (_gst_library_errors_init), (_gst_resource_errors_init),
11469         (_gst_stream_errors_init), (gst_error_get_message):
11470         * gst/gsterror.h:
11471         * gst/gstinfo.c: (_gst_debug_init):
11472         * gst/gstmarshal.list:
11473         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11474         (gst_pad_recover_caps_error), (gst_pad_pull):
11475         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11476         * gst/schedulers/gstbasicscheduler.c:
11477         (gst_basic_scheduler_chainhandler_proxy),
11478         (gst_basic_scheduler_gethandler_proxy),
11479         (gst_basic_scheduler_cothreaded_chain):
11480         * po/POTFILES.in:
11481         * po/fr.po:
11482         * po/nl.po:
11483           change error signal
11484           add error categories
11485
11486 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
11487
11488         * gst/gsttag.c: (_gst_tag_initialize):
11489         * gst/gsttag.h:
11490         Add replaygain tag
11491
11492 2004-01-18  Colin Walters  <walters@verbum.org>
11493
11494         * examples/retag/retag.c: Call gst_init before processing
11495         program args.  Add g_assert to _link_many call.
11496
11497 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11498
11499         * gst/gstpad.c: (gst_pad_alloc_buffer):
11500           Return a newly allocated buffer when the pad has no peer.
11501
11502 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11503
11504         * gst/gstclock.c: (gst_clock_get_time):
11505           make it compile with gcc 2.95 again.
11506           Patch by Scott Wheeler
11507
11508 2004-01-15  David Schleef  <ds@schleef.org>
11509
11510         * gst/gstcaps.h:
11511         Added gst_caps_is_simple() macro.
11512         * testsuite/caps/caps.c: (test1):
11513         * testsuite/caps/intersect2.c: (main):
11514         * testsuite/caps/intersection.c: (main):
11515         Fixes to make 'make check' work again after removing
11516         gst_caps_is_chained().
11517
11518 2004-01-15  Leif Johnson <leif@ambient.2y.net>
11519
11520         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
11521         and additions to the MIDI document.
11522
11523 2004-01-15  David Schleef  <ds@schleef.org>
11524
11525         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
11526         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
11527         of GST_RPAD_, since we don't know if it's a real or ghost pad.
11528
11529 2004-01-15  David Schleef  <ds@schleef.org>
11530
11531         * gst/gstqueue.c:
11532         * gst/gstqueue.h:
11533         Fix the spelling of "treshold" and make min_threshold actually
11534         affect the queue.
11535
11536 2004-01-15  David Schleef  <ds@schleef.org>
11537
11538         * gst/gstcaps.c:
11539         Add lots of documentation.
11540         * gst/gstcaps.h:
11541         Deprecate a few functions.
11542         * gst/gstpad.c:
11543         Removed use of deprecated functions.
11544
11545 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11546
11547         * gst/gstpad.c: (gst_pad_is_linked):
11548         * gst/gstpad.h:
11549           implement gst_pad_is_linked
11550         * gst/gstelement.h:
11551           reserve space for initiate_state_change
11552
11553 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11554
11555         * gst/autoplug/gstspideridentity.c:
11556         (gst_spider_identity_sink_loop_type_finding):
11557           break infinite loop by just returning instead of looping
11558         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
11559           set event time difference correctly. Set it to 1 second instead
11560           of 100ms to be more tolerant
11561         * gst/gstelement.c: (gst_element_set_time):
11562           add debugging output
11563
11564 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11565
11566         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
11567           query if buffers are inside the pool, ignore events
11568
11569 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11570
11571         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
11572         (gst_clock_set_speed), (gst_clock_set_active),
11573         (gst_clock_is_active), (gst_clock_reset),
11574         (gst_clock_handle_discont):
11575         * gst/gstclock.h:
11576           deprecate old interface and disable functions that aren't in use
11577           anymore.
11578         * gst/gstelement.h:
11579         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
11580         (gst_element_set_time), (gst_element_adjust_time):
11581           add concept of "element time" and functions to get/set this time.
11582         * gst/gstelement.c: (gst_element_change_state):
11583           update element time correctly.
11584         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
11585           This is a debug message, not a g_critical.
11586         * gst/gstpad.c: (gst_pad_event_default):
11587           handle discontinuous events right with element time.
11588         * gst/gstscheduler.c: (gst_scheduler_state_transition):
11589           update to clocking fixes.
11590           set clocks on elements in READY=>PAUSED. The old behaviour caused
11591           a wrong element time on the first element that started playing.
11592         * gst/schedulers/gstbasicscheduler.c:
11593         (gst_basic_scheduler_class_init):
11594         * gst/schedulers/gstoptimalscheduler.c:
11595         (gst_opt_scheduler_class_init):
11596           remove code that just implements the default behaviour.
11597         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
11598           update to use new clocking functions
11599         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
11600         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
11601           update to test new element time.
11602         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
11603           use _get_allowed_caps instead of _get_caps. This catches filtered
11604           caps correctly.
11605         * testsuite/debug/commandline.c:
11606           update for new GST_DEBUG syntax.
11607         * testsuite/threads/Makefile.am:
11608           disable a test that only works sometimes.
11609
11610 2004-01-13  Julien MOUTTE <julien@moutte.net>
11611
11612         * po/LINGUAS: Adding fr.
11613         * po/fr.po: Adding french translation.
11614
11615 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11616
11617         * gst/parse/grammar.y:
11618         * po/POTFILES.in:
11619         * po/nl.po:
11620         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
11621           translate parsing error messages
11622
11623 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11624
11625         * po/POTFILES.in: adding gst-launch
11626         * po/nl.po: updated translation, all 99 strings translated
11627         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
11628         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
11629           fix strings for translation
11630
11631 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11632
11633         * gst/gst.c:
11634           - capitalize beginnings of popt options
11635           - fix strings for translation
11636           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
11637
11638 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11639
11640         * po/README: add some notes on how to update translations
11641
11642 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11643
11644         * ABOUT-NLS: removed, is autogenerated from autopoint
11645         * autogen.sh: add autopoint stuff
11646         * configure.ac: fix up gettext stuff
11647         * gst/Makefile.am: add i18n headers to noinst_HEADERS
11648         * gst/elements/gsttypefindelement.c: add header include
11649         * gst/gettext.h: add header, copy from system-installed header
11650         * gst/gst-i18n-app.h: to be included by each app having translations
11651         * gst/gst-i18n-lib.h: to be included by each lib having translations
11652         * gst/gst.c: (init_pre): fix up gettext calls
11653         * gst/gst_private.h: remove i18n stuff, moving to separate headers
11654         * po/LINGUAS: the new way to specify translations present
11655         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
11656         * po/Makevars: the variables filled in for GStreamer
11657         * po/POTFILES.in: added new files with translations
11658         * po/de.po: has new strings
11659         * po/nl.po: readded, has new strings
11660
11661 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11662
11663         * gst/gsttag.c: fix some strings marked for translation
11664
11665 2004-01-13  Iain <iain@prettypeople.org>
11666
11667         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
11668         group when we add an element to it, cos we unref it when we remove one
11669
11670 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11671
11672         * testsuite/debug/commandline.c: (debug_not_reached):
11673         * testsuite/debug/output.c: (check_message):
11674           fix testsuite
11675
11676 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11677
11678         * examples/cutter/.cvsignore:
11679         * examples/helloworld/.cvsignore:
11680         * examples/launch/.cvsignore:
11681         * examples/manual/.cvsignore:
11682         * examples/mixer/.cvsignore:
11683         * examples/pingpong/.cvsignore:
11684         * examples/plugins/.cvsignore:
11685         * examples/queue/.cvsignore:
11686         * examples/queue2/.cvsignore:
11687         * examples/queue3/.cvsignore:
11688         * examples/queue4/.cvsignore:
11689         * examples/retag/.cvsignore:
11690         * examples/thread/.cvsignore:
11691         * examples/typefind/.cvsignore:
11692         * examples/xml/.cvsignore:
11693         * gst/.cvsignore:
11694         * gst/autoplug/.cvsignore:
11695         * gst/elements/.cvsignore:
11696         * gst/indexers/.cvsignore:
11697         * gst/parse/.cvsignore:
11698         * gst/registries/.cvsignore:
11699         * gst/schedulers/.cvsignore:
11700         * libs/gst/bytestream/.cvsignore:
11701         * libs/gst/control/.cvsignore:
11702         * libs/gst/getbits/.cvsignore:
11703         * tests/.cvsignore:
11704         * tests/bufspeed/.cvsignore:
11705         * tests/instantiate/.cvsignore:
11706         * tests/memchunk/.cvsignore:
11707         * tests/muxing/.cvsignore:
11708         * tests/sched/.cvsignore:
11709         * tests/seeking/.cvsignore:
11710         * tests/threadstate/.cvsignore:
11711         * testsuite/.cvsignore:
11712         * testsuite/caps/.cvsignore:
11713         * testsuite/cleanup/.cvsignore:
11714         * testsuite/dynparams/.cvsignore:
11715         * testsuite/plugin/.cvsignore:
11716         * tools/.cvsignore:
11717           update - this is huge, because it includes *.bb, *.bbg and *.da files
11718           which are generated for gcov.
11719
11720 2004-01-11  David Schleef  <ds@schleef.org>
11721
11722         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
11723         a function to parse integers in ways that strto[u]l() does not.
11724
11725 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11726
11727         * tools/gst-inspect.c: (print_caps):
11728           improve output of caps a bit
11729
11730 2004-01-11  David Schleef  <ds@schleef.org>
11731
11732         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
11733         inherit correct flags (READONLY and DONTKEEP).
11734
11735 2004-01-11  David Schleef  <ds@schleef.org>
11736
11737         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
11738         (gst_filesrc_map_region):
11739         * gst/gstbuffer.c: (_gst_buffer_initialize),
11740         (_gst_buffer_sub_free), (gst_buffer_default_copy),
11741         (gst_buffer_new), (gst_buffer_create_sub),
11742         (gst_buffer_is_span_fast), (gst_buffer_span):
11743         * gst/gstbuffer.h:
11744         Change GstBuffer private structure element names. (all files)
11745         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11746         (gst_queue_link):
11747         * gst/gstqueue.h:
11748         Implement getcaps/pad_link functions that handle the case where
11749         there are data in the queue.
11750
11751 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11752
11753         * gst/elements/gstbufferstore.c:
11754           initialize debugging structure correctly
11755         * gst/elements/gsttee.c: (gst_tee_set_property):
11756           g_object_notify when property was changed
11757         * gst/elements/gsttypefindelement.c:
11758         (gst_type_find_element_change_state):
11759           clear caps correctly
11760
11761 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11762
11763         * gst/gstqueue.c: (gst_queue_init):
11764           Use better defaults for when a queue should block. This
11765           gets rid of jerky playback for quite a few files.
11766           It takes more memory.
11767
11768 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11769
11770         (gst_xml_registry_parse_padtemplate):
11771           make critical message slightly more useful
11772
11773 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11774
11775         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
11776         (gst_debug_message_get), (gst_debug_log_default):
11777         * gst/gstinfo.h:
11778           Change gst_debug_log(_valist) to take a const format string.
11779           Change prototype of log function and functions using those to 
11780           take a GstDebugMessage instead of a string that requires using
11781           gst_debug_message_get.
11782
11783 2004-01-08  David Schleef  <ds@schleef.org>
11784
11785         * Makefile.am:
11786         * configure.ac:
11787         Add option --enable-gcov to build GStreamer with -fprofile-arcs
11788         and -ftest-coverage, which allows gcov to show information about
11789         testsuite coverage.
11790
11791 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11792
11793         * gst/gstutils.h:
11794           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
11795           GST_PARENT_CALL_WITH_DEFAULT
11796         * gst/elements/gstaggregator.c: 
11797         * gst/elements/gstbufferstore.c: 
11798         * gst/elements/gstfakesink.c: 
11799         * gst/elements/gstfakesrc.c: 
11800         * gst/elements/gstfdsink.c: 
11801         * gst/elements/gstfdsrc.c: 
11802         * gst/elements/gstfilesink.c: 
11803         * gst/elements/gstfilesrc.c: 
11804         * gst/elements/gstidentity.c: 
11805         * gst/elements/gstmd5sink.c: 
11806         * gst/elements/gstmultidisksrc.c:
11807         * gst/elements/gstpipefilter.c: 
11808         * gst/elements/gstshaper.c:
11809         * gst/elements/gststatistics.c:
11810         * gst/elements/gsttee.c:
11811         * gst/elements/gsttypefindelement.c:
11812           use them.
11813
11814 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11815
11816         * docs/gst/gstreamer-docs.sgml: remove props
11817         * docs/gst/gstreamer-sections.txt: remove props
11818         * docs/gst/tmpl/gst.sgml:
11819         * docs/gst/tmpl/gstbin.sgml:
11820         * docs/gst/tmpl/gstbuffer.sgml:
11821         * docs/gst/tmpl/gstcaps.sgml:
11822         * docs/gst/tmpl/gstclock.sgml:
11823         * docs/gst/tmpl/gstelement.sgml:
11824         * docs/gst/tmpl/gstindex.sgml:
11825         * docs/gst/tmpl/gstobject.sgml:
11826         * docs/gst/tmpl/gstpad.sgml:
11827         * docs/gst/tmpl/gstpadtemplate.sgml:
11828         * docs/gst/tmpl/gstreamer-unused.sgml:
11829         * docs/gst/tmpl/gstthread.sgml:
11830         * docs/gst/tmpl/gstxml.sgml:
11831           sync with code reorganization
11832
11833 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
11834
11835         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
11836         Make the 'Could not find compatible pad' message more informative.
11837
11838 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11839                                                                                 
11840         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
11841           Fix for if we pass NULL as property to location.
11842         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
11843         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
11844           Fix for instantiate-test (see below).
11845         * gst/gststructure.c: (_gst_structure_parse_value):
11846           Fix compile error on gcc-2.96.
11847         * configure.ac:
11848         * tests/Makefile.am:
11849         * tests/instantiate/Makefile.am:
11850         * tests/instantiate/create.c: (create_all_elements), (main):
11851           Add a test that instantiates all elements. This makes it easy to
11852           track dead code for old API/design (like setting event functions
11853           on sink pads and so on).
11854
11855 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
11856
11857         * gst/gstcaps.c: (gst_caps_append_structure):
11858           Move the poisoning to allow a NULL structure
11859         * gst/gstevent.c: (_gst_event_free):
11860           When freeing a navigation event, free the structure
11861           also
11862
11863 2004-01-04  David Schleef  <ds@schleef.org>
11864
11865         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
11866         Remove usage of gst_pad_proxy_fixate.
11867         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
11868         (gst_caps_split_one), (gst_caps_replace):
11869         Add poisoning code.
11870         * gst/gstmarshal.list:
11871         Add pointer__pointer for fixate signal
11872         * gst/gstpad.c: (gst_real_pad_class_init),
11873         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11874         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
11875         (gst_pad_set_explicit_caps), (gst_pad_template_new):
11876         Add poisoning code. Add fixate signal on RealPad. Change
11877         set_explicit_caps() to take const GstCaps, like try_set_caps().
11878         * gst/gstpad.h:
11879         * testsuite/caps/Makefile.am:
11880         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
11881
11882 2004-01-03  David Schleef  <ds@schleef.org>
11883
11884         * gst/elements/gsttypefindelement.c:
11885         (gst_type_find_element_have_type), (gst_type_find_element_init):
11886         Use gst_pad_use_explicit_caps for src pad.
11887         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
11888         before using it.
11889
11890 2004-01-03  David Schleef  <ds@schleef.org>
11891
11892         * gst/gstelement.c: (gst_element_link_pads_filtered),
11893         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
11894         that linking was successful.
11895         * gst/gstpad.c: (gst_pad_link_free),
11896         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
11897         (gst_pad_link_try), (gst_pad_link_unnegotiate),
11898         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
11899         GstPadLinkReturn correctly between functions, and don't fail
11900         when DELAYED is used (DELAYED is very important).  Better
11901         cleanup on unlinking and unnegotiation.  Should fix some spider
11902         bugs.
11903
11904 2004-01-02  David Schleef  <ds@schleef.org>
11905
11906         * gst/gstelement.c: (gst_element_class_init),
11907         (gst_element_base_class_init): ->padtemplates should be cleared
11908         in base_init, since we need to have a fresh list for every
11909         class.  (Alternately, we chould copy the list and share the
11910         actual pad templates (not the list), but that would require
11911         changing every plugin to move pad template registration from
11912         base_init to class_init.)
11913
11914 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11915
11916         * gst/gstelement.c: (gst_element_class_add_pad_template):
11917           Refuse registering a pad template if another pad template
11918           with the same name already exists (#114715).
11919
11920 2004-01-02  David Schleef  <ds@schleef.org>
11921
11922         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
11923         (gst_caps_is_equal_fixed): Add new function.
11924         * gst/gstcaps.h: ditto.
11925         * gst/gstpad.c: (gst_real_pad_class_init),
11926         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
11927         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
11928         check new caps against existing caps -- if they're the same, return
11929         OK without renegotiating.  caps-nego-failed signal fixed so that
11930         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
11931         to save an extra caps copy.  Don't complete negotiation if a pad
11932         link function returns DELAYED.
11933
11934 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11935
11936         * gst/gstpad.c: (gst_pad_try_relink_filtered):
11937           Fix wrong g_return_if_fail
11938
11939 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
11940
11941         * gst/gstbin.c: (gst_bin_class_init):
11942         Change the marshalling of element_added/element_removed
11943         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
11944         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
11945
11946 2004-01-01  David Schleef  <ds@schleef.org>
11947
11948         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11949         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
11950         (gst_pad_use_explicit_caps):
11951         * gst/gstpad.h:
11952         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
11953         to use an internal getcaps and link fuction so that negotiation
11954         always results in the explicitly set caps.
11955         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
11956         are particularly useful for decoders.
11957
11958 2003-12-31  David Schleef  <ds@schleef.org>
11959
11960         * gst/elements/gstidentity.c: (gst_identity_class_init),
11961         (gst_identity_init), (gst_identity_chain),
11962         (gst_identity_set_property), (gst_identity_get_property):
11963         * gst/elements/gstidentity.h:
11964         * gst/gstqueue.c: (gst_queue_init):
11965           Negotiation fixes.
11966
11967 2003-12-31  David Schleef  <ds@schleef.org>
11968
11969         * gst/gstcaps.c: (gst_caps_intersect),
11970         (_gst_caps_normalize_foreach), (gst_caps_normalize):
11971           Implement gst_caps_normalize().
11972         * testsuite/caps/normalisation.c: (main):
11973           Add an additional test
11974
11975 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11976
11977         * gst/gstqueue.c: (gst_queue_init):
11978           use gst_pad_proxy_getcaps()
11979
11980 2003-12-31  David Schleef  <ds@schleef.org>
11981
11982         * gst/elements/gstshaper.c: (gst_shaper_link):
11983         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
11984         * gst/gstqueue.c: (gst_queue_link):
11985           Negotiation fixes.
11986
11987 2003-12-31  David Schleef  <ds@schleef.org>
11988
11989         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
11990         * gst/gstpad.h: Add functions that are useful as default pad
11991         link and fixate functions for elements.
11992
11993 2003-12-30  David Schleef  <ds@schleef.org>
11994
11995         * gst/gstpad.c: (gst_pad_link_try):
11996           Fix segfault when attempting to return to old caps
11997
11998 2003-12-29  David Schleef  <ds@schleef.org>
11999
12000         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
12001         (gst_caps_structure_simplify), (gst_caps_simplify):
12002         * gst/gstcaps.h:
12003           Add simplify function
12004         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
12005         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
12006         * gst/gstpad.h:
12007           Copy over srcnotify, sinknotify when calling old pad_link
12008           functions.  Add new is_negotiated() function.
12009         * gst/gststructure.c: (gst_structure_copy):
12010           Fix an incredibly stupid bug that should have been noticed
12011           weeks ago.  _copy() returned the argument, not the new copy.
12012
12013 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12014
12015         * gst/gstcaps.c: (gst_caps_append):
12016           add sanity checks
12017         * gst/gstcaps.h: (gst_caps_debug):
12018           remove, it doesn't exist anymore.
12019         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
12020         (gst_element_threadsafe_properties_post_run):
12021           make debugging messages not clutter up THREAD debug category
12022         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
12023         (gst_element_change_state):
12024           update to new caps API
12025         * gst/gstinterface.c: (gst_implements_interface_cast):
12026           don't put vital code in g_return_if_fail
12027         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
12028         (gst_pad_link_filtered):
12029           add pst_pad_try_link and use it.
12030         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
12031           implement correctly, deprecate first one.
12032         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
12033           add and implement.
12034         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
12035           implement.
12036         (gst_pad_get_negotiated_caps):
12037           add and implement. Make GST_PAD_CAPS call this function.
12038         (gst_pad_get_caps):
12039           remove unneeded check..
12040         (gst_pad_recover_caps_error):
12041           disable, always return FALSE.
12042         (gst_real_pad_dispose):
12043           don't free caps and appfilter anymore, they're unused.
12044         * gst/gstpad.h:
12045           Reflect changes mentioned above.
12046         * gst/gstsystemclock.c: (gst_system_clock_wait):
12047           Make 'clock is way behind' a debugging message.
12048         * gst/gstthread.c: (gst_thread_change_state):
12049           Fix debugging message
12050
12051 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12052
12053         * gst/gstinfo.h:
12054           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
12055         * docs/gst/tmpl/gstreamer-unused.sgml:
12056           removed all traces of cvs conflicts
12057
12058 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12059
12060         * configure.ac:
12061         * gst/schedulers/cothreads_compat.h:
12062         * libs/Makefile.am:
12063           remove last instances of wingo cothread usage
12064
12065 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12066
12067         * gst/gstplugin.c:
12068         * gst/gstversion.h.in:
12069         * gst/parse/grammar.y:
12070           change comment block from /** to /* when not gtk-doc comments
12071
12072 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12073
12074         * gst/gst.c: whitespace and doc style fixes
12075
12076 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12077
12078         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
12079
12080 2003-12-24  Colin Walters  <walters@verbum.org>
12081
12082         * gst/elements/gsttypefindelement.c:
12083           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
12084           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
12085           Don't double-free caps.
12086
12087 2003-12-23  David Schleef  <ds@schleef.org>
12088
12089         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
12090           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
12091           Many little fixes and additions of debug statements to
12092           get rhythmbox working.
12093
12094 2003-12-23  Colin Walters  <walters@verbum.org>
12095
12096         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
12097         Use GST_PAD_LINK_SUCCESSFUL.
12098
12099 2003-12-23  David Schleef  <ds@schleef.org>
12100
12101         * gst/elements/gstaggregator.c:
12102         * gst/elements/gsttee.c:
12103           Use gst_pad_proxy_getcaps().
12104         * gst/gstpad.c:
12105         * gst/gstpad.h:
12106           Add gst_pad_proxy_getcaps(), which filter elements can use
12107           as a generic getcaps implementation.
12108           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
12109           was advertised.
12110
12111 2003-12-23  David Schleef  <ds@schleef.org>
12112
12113         * gst/gstpad.c:
12114           Rearrange/rewrite much of the pad negotiation code, since it
12115           resembled pasta.  This actually changes the way some
12116           negotiation works, since the previous code was inconsistent
12117           depending on how it was invoked.  Add (internal) structure
12118           GstPadLink, which is used to hold some information (more in
12119           the future) about the link between two pads.  Fixes a number
12120           of bugs, including random lossage of filter caps when the
12121           initial negotiation is delayed.  A few functions are still
12122           unimplemented.
12123         * gst/gstpad.h:
12124           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
12125           these when testing GstPadLinkReturn values instead of comparing
12126           directly.
12127
12128 2003-12-23  David Schleef  <ds@schleef.org>
12129
12130         * gst/gstvalue.c: 
12131         * gst/gstvalue.h:
12132           Rearrange lots of code.  Change registration of compare function
12133           into registration of compare/serialize/deserialize functions.
12134           Doesn't include implementation of gst_value_[de]serialize(),
12135           but that should be easy.
12136
12137 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12138
12139         * docs/gst/gstreamer-sections.txt:
12140         * docs/gst/tmpl/gstprops.sgml: removed
12141         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
12142           David removed props and caps code, so let's remove their docs as well.
12143           Removed all no longer existing symbols from gstreamer-sections.txt
12144           
12145 2003-12-22  Colin Walters  <walters@verbum.org>
12146
12147         * gst/gsttaginterface.c, gst/gsttaginterface.h,
12148           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
12149           of tags directly.
12150
12151 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12152
12153         * gst/elements/gstelements.c:
12154           Set ranks of elements to NONE, so the autoplugger doesn't use them.
12155         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
12156           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
12157           gst_caps (peer).
12158
12159 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12160
12161         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
12162         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
12163         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
12164         (gst_spider_identity_sink_loop_type_finding):
12165         * gst/autoplug/gstspideridentity.h:
12166           Fix autoplugging in spider element, so it works with new caps.
12167           This was mainly caused by identifying empty caps incorrectly.
12168
12169 2003-12-22  David Schleef  <ds@schleef.org>
12170
12171         * gststructure.c, gstvalue.c, gstvalue.h: Add
12172           gst_value_init_and_copy() and use it, to avoid silly mistakes in
12173           using g_value_copy()
12174
12175 2003-12-21  David Schleef  <ds@schleef.org>
12176
12177         * many, many files: Merge CAPS branch.  This includes:
12178           - implemention of GstValue and several GstValue types
12179           - implemention of GstStructure
12180           - entire rewrite of GstCaps
12181           - removal of GstProps
12182           - many changes to GstPad to compensate for new caps paradigm
12183           - removal of GstBufferpool
12184         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
12185         gstvalue.h, gst/gstcaps[2]*.[ch]:
12186           - rename gstcaps2.[ch] to gstcaps.[ch]
12187
12188 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12189
12190         * gst/gstqueue.c: (gst_queue_handle_pending_events),
12191         (gst_queue_chain), (gst_queue_handle_src_event):
12192           implement timeout for sending events. Workaround for if the
12193           pipeline on this queue is not passing any data.
12194
12195 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
12196                                                                                 
12197         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
12198         * moved CVS to freedesktop.org
12199