gst/gstghostpad.c: Correctly proxy the check_pull_range function.
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-06-28  Wim Taymans  <wim@fluendo.com>
2
3         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
4         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
5         (gst_proxy_pad_do_fixatecaps):
6         Correctly proxy the check_pull_range function.
7
8 2005-06-28  Andy Wingo  <wingo@pobox.com>
9
10         * tests/network-clock.scm: Removed need for slib.
11         
12 2005-06-28  Wim Taymans  <wim@fluendo.com>
13
14         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
15         (gst_basesink_preroll_queue_flush):
16         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
17         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
18         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
20         (gst_proxy_pad_set_property):
21         * gst/gstpad.c:
22         * gst/gstpad.h:
23         * gst/gstqueue.c: (gst_queue_init):
24         The deprecated pad loop function is removed now.
25
26 2005-06-28  Andy Wingo  <wingo@pobox.com>
27
28         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
29         New parameters, simulate network packet loss.
30
31         * tests/network-clock-utils.scm: Initialize the RNG.
32
33 2005-06-28  Wim Taymans  <wim@fluendo.com>
34
35         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
36         (gst_basesink_event), (gst_basesink_deactivate):
37         Flushing the preroll queue always needs to unlock the waiters.
38
39 2005-06-28  Edward Hervey  <edward@fluendo.com>
40
41         * gst/gstpipeline.c: (gst_pipeline_send_event): 
42         Wheen a seek was successful on a pipeline, set the stream_time to the
43         seek offset in order to have a synchronized stream_time.
44
45 2005-06-28  Wim Taymans  <wim@fluendo.com>
46
47         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
48         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
49         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
50         (gst_proxy_pad_do_fixatecaps):
51         Call wrapper function instead of just calling the function
52         pointers. This takes care of any locking and whatmore.
53
54 2005-06-28  Wim Taymans  <wim@fluendo.com>
55
56         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
57         (gst_pad_pull_range):
58         * gst/gstpad.h:
59         CONNECTED -> LINKED.
60
61 2005-06-28  Andy Wingo  <wingo@pobox.com>
62
63         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
64         source-munging commit!!!
65
66         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
67         (gst_object_sink): Take gpointer arguments, not GstObject --
68         avoids casts. Like GLib.
69
70         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
71         activate.
72
73 2005-06-27  Andy Wingo  <wingo@pobox.com>
74
75         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
76         remaining buffer.
77
78         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
79         returns a sorted copy of the trace list.
80         (gst_alloc_trace_print_live): New API, only prints traces with
81         live objects. Sort the list.
82         (gst_alloc_trace_print_all): Sort the list.
83         (gst_alloc_trace_print): Align columns.
84
85         * gst/elements/gstttypefindelement.c:
86         * gst/elements/gsttee.c:
87         * gst/base/gstbasesrc.c:
88         * gst/base/gstbasesink.c:
89         * gst/base/gstbasetransform.c:
90         * gst/gstqueue.c: Adapt for pad activation changes.
91
92         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
93         sched.
94         (gst_pipeline_dispose): Drop ref on sched.
95
96         * gst/gstpad.c (gst_pad_init): Set the default activate func.
97         (gst_pad_activate_default): Push mode by default.
98         (pre_activate_switch, post_activate_switch): New stubs, things to
99         do before and after switching activation modes on pads.
100         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
101         the pad's activate function to choose which mode to activate.
102         Shortcut on deactivation and call the right function directly.
103         (gst_pad_activate_pull): New API, (de)activates a pad in pull
104         mode.
105         (gst_pad_activate_push): New API, same for push mode.
106         (gst_pad_set_activate_function) 
107         (gst_pad_set_activatepull_function) 
108         (gst_pad_set_activatepush_function): Setters for new API.
109
110         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
111         Trace all miniobjects.
112         (gst_mini_object_make_writable): Unref the arg if we copy, like
113         gst_caps_make_writable.
114
115         * gst/gstmessage.c (_gst_message_initialize): No trace init.
116
117         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
118         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
119         Adapt for new pad API.
120
121         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
122
123         * gst/gstelement.h:
124         * gst/gstelement.c (gst_element_iterate_src_pads) 
125         (gst_element_iterate_sink_pads): New API functions.
126         
127         * gst/gstelement.c (iterator_fold_with_resync): New utility,
128         should fold into gstiterator.c in some form.
129         (gst_element_pads_activate): Simplified via use of fold and
130         delegation of decisions to gstpad->activate.
131
132         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
133         help in debugging.
134
135         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
136         class once in init, like gstmessage. Didn't run into this issue
137         but it seems correct. Don't initialize a trace, gstminiobject does
138         that.
139
140         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
141         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
142         to the bus.
143         (assert_live_count): New util function, uses alloc traces to check
144         cleanup.
145
146         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
147         To be modified when unlink drops the internal pad.
148
149 2005-06-27  Wim Taymans  <wim@fluendo.com>
150
151         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
152         (gst_bin_change_state):
153         Cleanup the get_state() function a little, make sure it
154         iterates the same set of elements.
155         Added stub iterate_state_order().
156
157 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
158
159         * docs/gst/gstreamer-docs.sgml:
160         * docs/gst/gstreamer-sections.txt:
161         * docs/gst/gstreamer.types:
162         * docs/gst/tmpl/gstbasesink.sgml:
163         * docs/gst/tmpl/gstbasesrc.sgml:
164         * docs/gst/tmpl/gstbasetransform.sgml:
165         * docs/gst/tmpl/gstelement.sgml:
166         * docs/gst/tmpl/gstiterator.sgml:
167         * gst/base/gstbasesrc.c:
168         * gst/base/gstbasesrc.h:
169         * gst/base/gstbasetransform.h:
170         * gst/gstelement.c:
171         * gst/gstiterator.h:
172           adding basetransform and iterator docs
173
174 2005-06-27  Andy Wingo  <wingo@pobox.com>
175
176         * docs/design/part-activation.txt: Notes on how activation should
177         work -- not quite implemented yet.
178
179 2005-06-25  Wim Taymans  <wim@fluendo.com>
180
181         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
182         At least get the chain function correct, needs more
183         fixing.
184
185 2005-06-25  Wim Taymans  <wim@fluendo.com>
186
187         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
188         (gst_basesink_handle_object), (gst_basesink_event),
189         (gst_basesink_do_sync), (gst_basesink_handle_event),
190         (gst_basesink_change_state):
191         * gst/gsttask.h:
192         Right, two problems here: ghostpads don't take locks and
193         glib _rec_mutex_lock_full() with depth==0 still locks.
194         Catch illegal locking and g_warn them.
195
196 2005-06-25  Wim Taymans  <wim@fluendo.com>
197
198         * check/states/sinks.c: (START_TEST), (gst_object_suite):
199         Have to check for completion now...
200
201 2005-06-25  Wim Taymans  <wim@fluendo.com>
202
203         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
204         (gst_basesink_handle_object), (gst_basesink_event),
205         (gst_basesink_do_sync), (gst_basesink_handle_event),
206         (gst_basesink_change_state):
207         * gst/gstpad.h:
208         Unlock STREAM_LOCK whatever the recursion was.
209
210 2005-06-25  Wim Taymans  <wim@fluendo.com>
211
212         * gst/base/gstbasesink.c: (gst_basesink_set_property),
213         (gst_basesink_preroll_queue_empty),
214         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
215         (gst_basesink_event), (gst_basesink_do_sync),
216         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
217         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
218         (gst_basesink_change_state):
219         Reworked the base sink, handle event and buffer serialisation
220         correctly and removed possible deadlock.
221         Handle EOS correctly.
222
223 2005-06-25  Wim Taymans  <wim@fluendo.com>
224
225         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
226         (gst_pipeline_change_state):
227         * tools/gst-launch.c: (check_intr), (event_loop), (main):
228         Allow elements to post EOS in the state change function.
229         Fix up -launch, make it exit the poll loop when the
230         pipeline actually changed state.
231         Fix up warning parsing in -launch.
232
233 2005-06-25  Wim Taymans  <wim@fluendo.com>
234
235         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
236         (gst_tee_sink_activate):
237         Core takes STREAM_LOCK for us now.
238
239 2005-06-25  Wim Taymans  <wim@fluendo.com>
240
241         * gst/gstelement.c: (gst_element_get_state_func),
242         (gst_element_set_state):
243         * gst/gstelement.h:
244         * gst/gstmessage.c: (gst_message_parse_error),
245         (gst_message_parse_warning):
246         Keep track of current target state while performing a state
247         change so that subclasses can do something interesting.
248         Fix parsing of warning/error messages when GError is NULL.
249
250 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
251
252         * docs/gst/Makefile.am:
253         * docs/gst/gstreamer-docs.sgml:
254         * docs/gst/gstreamer-sections.txt:
255         * docs/gst/gstreamer.types:
256         * docs/gst/tmpl/gstbasesink.sgml:
257         * docs/gst/tmpl/gstbasesrc.sgml:
258         * docs/gst/tmpl/gstbin.sgml:
259         * docs/gst/tmpl/gstcompat.sgml:
260         * docs/gst/tmpl/gstfakesink.sgml:
261         * docs/gst/tmpl/gstfakesrc.sgml:
262         * docs/gst/tmpl/gstfilesink.sgml:
263         * docs/gst/tmpl/gstfilesrc.sgml:
264         * docs/gst/tmpl/gstindex.sgml:
265         * docs/manual/appendix-quotes.xml:
266         * gst/base/gstbasesrc.h:
267         * gst/elements/gstfakesrc.h:
268         * gst/gstmessage.h:
269           start pulling in base classes and elements in our docs
270
271 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
272
273         * docs/gst/Makefile.am:
274         * docs/libs/Makefile.am:
275           fixed make distcheck with gtk-doc 1.3
276
277 2005-06-23  Wim Taymans  <wim@fluendo.com>
278
279         * gst/gstelement.c: (gst_element_get_state_func),
280         (gst_element_set_state), (gst_element_change_state):
281         When the state did not change, also report NO_PREROLL
282         when it matters.
283
284 2005-06-23  Wim Taymans  <wim@fluendo.com>
285
286         * gst/gstpad.c: (gst_pad_event_default):
287         * gst/gstqueue.c: (gst_queue_loop):
288         No unsafe task pausing please.
289
290 2005-06-23  Wim Taymans  <wim@fluendo.com>
291
292         * gst/schedulers/threadscheduler.c:
293         (gst_thread_scheduler_task_start),
294         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
295         Ref the task before pushing it on the threadpool. This
296         makes sure that we have a ref when the threadfunction is
297         actually called.
298
299 2005-06-23  Andy Wingo  <wingo@pobox.com>
300
301         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
302         offset is greater than the file's size.
303
304         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
305         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
306         * gst/gstobject.c (gst_object_class_init): Make the class lock
307         recursive. Wim won't let me drop deep_notify. Decodebin works
308         again, whoopdy doo.
309
310         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
311         internal pad, and hacks accordingly. Doesn't do it on the target
312         pad because we change its caps. Probably catches all cases of
313         interest tho.
314         (gst_ghost_pad_set_property): Connect to notify::caps as
315         appropritate.
316
317         * tests/network-clock.scm (plot-simulation): Pipe data to the
318         elite python skript.
319
320         * tests/network-clock-utils.scm (define-parameter): New macro,
321         defines a parameter that can be set via the command line.
322         (set-parameter!, parse-parameter-arguments): Command line args
323         parser.
324
325         * tests/plot-data: Simple matplotlib-based plotter, takes input on
326         stdin.
327
328 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
329
330         * gst/elements/gsttypefindelement.c:
331         (gst_type_find_element_handle_event):
332           Don't restart typefinding on a discont.
333         * gst/gstelement.c: (gst_element_set_state):
334           Debug spelling fix.
335         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
336           Allow changing mode of an active pad.
337           Debug output fixes.
338         * gst/registries/gstlibxmlregistry.c: (load_feature):
339           Don't cast a static pad template to a normal pad template.
340
341 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
342
343         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
344         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
345           remove gst_strtoll completely, since it didn't actually do
346           anything more than what g_ascii_strtoull already does.
347           check for range errors when deserializing
348           do a cast for the unsigned cases; but further fixing needs
349           a decision on what the interpretation of "(int)" and
350           deserialization should be for values that fall outside the
351           type's boundaries (ie, refuse, or interpret as casting)
352
353 2005-06-23  Wim Taymans  <wim@fluendo.com>
354
355         * check/Makefile.am:
356         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
357         * docs/design/part-live-source.txt:
358         * docs/design/part-states.txt:
359         * gst/base/gstbasesrc.c: (gst_basesrc_init),
360         (gst_basesrc_set_live), (gst_basesrc_is_live),
361         (gst_basesrc_get_range), (gst_basesrc_activate),
362         (gst_basesrc_change_state):
363         * gst/base/gstbasesrc.h:
364         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
365         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
366         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
367         * gst/gstelement.c: (gst_element_get_state_func),
368         (gst_element_set_state):
369         * gst/gstelement.h:
370         * gst/gsttypes.h:
371         * tools/gst-launch.c: (event_loop), (main):
372         Added support for live sources and other elements that
373         cannot do preroll.
374         Updated design docs, added live-source design doc.
375         Implemented live source functionality in basesrc
376         Fix error condition in _bin_get_state()
377         Implement live source handling in -launch.
378         Added check for live sources.
379         Fixed case in GstBin where elements were changed state
380         multiple times.
381
382
383 2005-06-23  Andy Wingo  <wingo@pobox.com>
384
385         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
386         borken refcounting.
387
388         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
389         gst_caps_replace takes care of this for us.
390
391         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
392         gst_pad_set_caps on the target, not just its setcaps() function.
393
394         * tests/network-clock.scm: 
395         * tests/network-clock-utils.scm: A network clock simulator.
396         Something of an algorithmic testbed before doing something in C.
397
398 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
399
400         * check/Makefile.am:
401         * check/gst/capslist.h:
402           copy over from 0.8, and add two with bitmasks specified with
403           (int) 0xFF...
404         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
405           add test to parse everything from capslist.h
406         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
407         (main):
408           add test for structure deserialization
409         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
410           add tests for deserialization of strings to int types
411         * gst/gststructure.c: (gst_structure_nth_field_name):
412         * gst/gststructure.h:
413           add a way to get the name of a field referenced by index
414         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
415           instead of checking if the resulting long long lies between
416           min and max, we check if the long long would fit into
417           a number of bytes for the final type.
418           This fixes cases where a string represents 2^32 - 1, which
419           when cast to int would be the (valid) -1, but is bigger than
420           G_MAXINT
421
422 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
423
424         * gst/parse/grammar.y:
425           add a log line for type deserialization
426
427 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
428
429         * check/gst/gstvalue.c: (START_TEST):
430         * gst/gstvalue.c: (gst_value_deserialize):
431           return long long, not int, so gint64 deserialization actually
432           works.  Is there any flag that makes the compiler check this ?
433           Fixes #308559
434
435 2005-06-22  Wim Taymans  <wim@fluendo.com>
436
437         * gst/gstbuffer.h:
438         Added convenience macros for setting buffers in GValue.
439
440 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
441
442         * check/gst/.cvsignore:
443         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
444           add a test deserializing int64, and comment part out because
445           it fails, yay !
446
447 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
448
449         * check/Makefile.am:
450         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
451         * testsuite/Makefile.am:
452         * testsuite/caps/Makefile.am:
453         * testsuite/caps/value_serialize.c:
454         * testsuite/test_gst_init.c:
455           move a value_serialize test over
456
457 2005-06-20  Wim Taymans  <wim@fluendo.com>
458
459         * gst/gstpad.c:
460         Small doc updates.
461         
462         * gst/gstvalue.c: (gst_value_compare_buffer),
463         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
464         (gst_value_compare_flags), (gst_value_serialize_flags),
465         (gst_value_deserialize_flags), (_gst_value_initialize):
466         Fix serialisation of buffers, they are not boxed types anymore
467
468 2005-06-20  Wim Taymans  <wim@fluendo.com>
469
470         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
471         Testcase to show error in buffer-on-caps serialisation.
472
473 2005-06-20  Andy Wingo  <wingo@pobox.com>
474
475         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
476         will be adding to later.
477
478         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
479         if its socks fill with rocks.
480         (gst_system_clock_obtain): Set the name on object construction.
481         Avoid double-checked locking.
482
483 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
484
485         * gst/gsturi.c: (gst_element_make_from_uri):
486           Fix potential endless loop.
487
488 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
489
490         * check/Makefile.am:
491           add gsttag
492         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
493         (main):
494           move over from testsuite dir and clean up
495         * configure.ac:
496         * gst/gsttag.c:
497         * testsuite/Makefile.am:
498         * testsuite/tags/.cvsignore:
499         * testsuite/tags/Makefile.am:
500         * testsuite/tags/merge.c:
501           remove testsuite/tags
502
503 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
504
505         * docs/gst/gstreamer-sections.txt:
506         * docs/gst/tmpl/gstenumtypes.sgml:
507         * win32/gstenumtypes.c:
508           clean up documentation build a little
509
510 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
511
512         * check/gstcheck.h:
513           add macros for checking refcounts on objects and caps
514         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
515           add some more unit tests
516         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
517         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
518           fix leaked refcounts (I hope :)) so unittest works
519         * gst/gstpad.h:
520           whitespace removal
521
522 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
523
524         * configure.ac: back to HEAD
525
526 === release 0.9.1 ===
527
528 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
529
530         * NEWS:
531         * RELEASE:
532           updated
533
534 2005-06-17  Andy Wingo  <wingo@pobox.com>
535
536         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
537         assert; it's always possible that the pad gets deactivated in
538         between the checks in gstpad.c and the implementation. Rely on
539         finish_preroll() to return a FLUSHING or similar instead of on the
540         assert.
541         
542         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
543         clock and post an EOS message if we come out of finish_preroll in
544         the playing state.
545
546 2005-06-16  David Schleef  <ds@schleef.org>
547
548         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
549         (gst_capsfilter_set_property): Allow NULL as possible value
550         for filter_caps property, indicating GST_CAPS_ANY.
551
552 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
553
554         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
555           fix debug output
556         * gst/schedulers/Makefile.am:
557           use libgst prefix
558         * gstreamer.spec.in:
559           fix spec for it
560
561 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
562
563         * gstreamer.spec.in:
564           clean up
565
566 2005-06-08  Andy Wingo  <wingo@pobox.com>
567
568         * gst/gstutils.c: RPAD fixes all around.
569         (gst_element_link_pads): Refcounting fixes.
570
571         * tools/gst-inspect.c:
572         * tools/gst-xmlinspect.c:
573         * parse/grammar.y:
574         * gst/base/gsttypefindhelper.c:
575         * gst/base/gstbasesink.c:
576         * gst/gstqueue.c: RPAD fixes.
577
578         * gst/gstghostpad.h:
579         * gst/gstghostpad.c: New ghost pad implementation as full proxy
580         pads. The tricky thing is they provide both source and sink
581         interfaces, since they proxy the internal pad for the external
582         pad, and vice versa. Implement with lower-level ProxyPad objects,
583         with the interior proxy pad as a child of the exterior ghost pad.
584         Should write a doc on this.
585         
586         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
587         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
588         gst_object API.
589         
590         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
591         pads are real pads. No ghost pads in this file. Not documenting
592         the myriad s/RPAD/PAD/ and REALIZE fixes.
593         (gst_pad_class_init): Add properties for "direction" and
594         "template". Both are construct-only, so they can't change during
595         the life of the pad. Fixes properly deriving from GstPad.
596         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
597         derived objects, just set properties when creating the objects via
598         g_object_new.
599         (gst_pad_get_parent): Implement as a function, return NULL if the
600         parent is not an element.
601         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
602         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
603         
604         * gst/gstobject.c (gst_object_class_init): Make name a construct
605         property. Don't set it in the object init.
606
607         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
608         with UNKNOWN direction.
609         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
610         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
611         (gst_element_remove_pad): Remove ghost-pad special cases.
612         (gst_element_pads_activate): Remove rpad cruft.
613
614         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
615         catch the pad's-parent-not-an-element case.
616
617         * gst/gst.h: Include gstghostpad.h.
618
619         * gst/gst.c (init_post): No more real, ghost pads.
620
621         * gst/Makefile.am: Add gstghostpad.[ch].
622
623         * check/Makefile.am:
624         * check/gst/gstbin.c:
625         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
626         into a bin creates ghost pads, and that the refcounts are right.
627         Partly moved from gstbin.c.
628
629 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
630
631         * check/gst-libs/.cvsignore:
632         * check/gst/.cvsignore:
633         * check/pipelines/.cvsignore:
634           ignore more
635         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
636         (START_TEST), (cleanup_suite), (main):
637           add some tests related to cleanup after running pipelines
638
639 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
640
641         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
642           add a testsuite for GstBuffer
643
644 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
645
646         * gst/gstminiobject.h:
647           add defines for accessing the refcount
648
649 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
650
651         * Makefile.am: added support for html unit test coverage reports
652
653 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
654
655         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
656           Free existing caps if the capsfilter changes. Add a FIXME about
657           setting those caps on the pads.
658
659         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
660           Before adding a ghost pad to a parent bin, check that there isn't
661           already one for the element on the bin. Prevents infinite recursion
662           when using decodebin in parse pipelines. Andy says he'll rewrite the
663           way this works anyway, so ignore the hack.
664
665 2005-06-02  Andy Wingo  <wingo@pobox.com>
666
667         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
668         file size, pass it on to the type find helper.
669
670         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
671         segment_start and segment_end properly according to the seek
672         method. Segment_end is still a bit flaky because offset can be
673         negative for CUR and END cases, but it takes -1 as an "unset"
674         value.
675
676 2005-06-02  Wim Taymans  <wim@fluendo.com>
677
678         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
679         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
680         (gst_basesink_activate):
681         * gst/base/gstbasesink.h:
682         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
683         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
684         (gst_pad_query), (gst_pad_start_task):
685         * gst/gstpad.h:
686         * gst/gstqueue.c: (gst_queue_bufferalloc),
687         (gst_queue_handle_sink_event), (gst_queue_chain):
688         Bufferalloc: return GstFlowReturn to more accuratly report
689         why allocation failed.
690
691 2005-06-02  Wim Taymans  <wim@fluendo.com>
692
693         * gst/gstpipeline.c: (gst_pipeline_send_event):
694         Take snapshot of state without blocking.
695
696 2005-06-02  Wim Taymans  <wim@fluendo.com>
697
698         * docs/design/part-TODO.txt:
699         * docs/design/part-caps.txt:
700         * docs/design/part-clocks.txt:
701         * docs/design/part-negotiation.txt:
702         * docs/design/part-preroll.txt:
703         Small doc updates 
704
705 2005-05-30  Wim Taymans  <wim@fluendo.com>
706
707         * gst/elements/gstidentity.c: (gst_identity_event),
708         (gst_identity_transform), (gst_identity_get_property):
709         Protect last_message property as it is accessed from
710         multiple threads.
711
712 2005-05-30  Wim Taymans  <wim@fluendo.com>
713
714         * gst/gstelement.c: (gst_element_init),
715         (gst_element_pads_activate), (gst_element_change_state):
716         Slicker pad activation code.
717
718 2005-05-30  Wim Taymans  <wim@fluendo.com>
719
720         * gst/Makefile.am:
721         * gst/gstelement.h:
722         * gst/gstelementfactory.h:
723         * gst/gsttypes.h:
724         Move elementfactory methods to separate .h file.
725
726 2005-05-30  Wim Taymans  <wim@fluendo.com>
727
728         * docs/design/part-overview.txt:
729         * gst/gstsystemclock.h:
730         Small typo fixes, doc updates.
731
732 2005-05-30  Wim Taymans  <wim@fluendo.com>
733
734         * gst/gst.c: (gst_init_get_popt_table), (init_post),
735         (init_popt_callback):
736         Remove cpu-opt flag.
737
738 2005-05-30  Wim Taymans  <wim@fluendo.com>
739
740         * gst/gstbuffer.c: (gst_subbuffer_finalize),
741         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
742         * gst/gstbuffer.h:
743         Avoid typechecking in places where not needed.
744         Added accessor for malloc_data.
745
746 2005-05-30  Wim Taymans  <wim@fluendo.com>
747
748         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
749         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
750         (gst_pad_configure_sink), (gst_pad_configure_src),
751         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
752         (gst_pad_start_task):
753         Propagate errors from _set_caps() in configure_src/sink
754         functions instead of returning TRUE.
755         FLUSH events can travel up and downstream
756
757
758 2005-05-30  Wim Taymans  <wim@fluendo.com>
759
760         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
761         (gst_basesink_activate):
762         Handle EOS in preroll.
763
764 2005-05-30  Wim Taymans  <wim@fluendo.com>
765
766         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
767         (gst_queue_loop), (gst_queue_handle_src_event):
768         Remove old pieces of code
769         Flushing the queue in an upstream event is a very bad idea.
770
771 2005-05-26  Andy Wingo  <wingo@pobox.com>
772
773         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
774         gst_value_set_mini_object so as to add a ref on the object (which
775         will be removed when the value is unset).
776
777         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
778         arg type in ::handoff.
779
780         * gst/gstelement.c (gst_element_change_state): Also deactivate
781         pads in READY->NULL, just in case the element didn't make it to
782         PAUSED. Wingo tested, Wim approved.
783
784 2005-05-26  Wim Taymans  <wim@fluendo.com>
785
786         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
787         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
788         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
789         A flushing pad cannot be used to alloc_buffer from.
790
791 2005-05-26  Wim Taymans  <wim@fluendo.com>
792
793         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
794         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
795         (gst_bus_source_dispatch), (gst_bus_source_finalize),
796         (gst_bus_create_watch), (gst_bus_add_watch_full):
797         * gst/gstbus.h:
798         Implement a real GSource and use g_main_context_wakeup() to
799         signal new messages instead of the socketpair.
800
801 2005-05-25  Wim Taymans  <wim@fluendo.com>
802
803         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
804         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
805         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
806         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
807         (gst_pad_send_event), (gst_pad_start_task):
808         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
809         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
810         (gst_queue_sink_activate), (gst_queue_src_activate),
811         (gst_queue_change_state):
812         * gst/gstqueue.h:
813         Fix state changes for non sinks. We now change sinks, then elements
814         with unconnected srcpads, then the rest.
815         More efficient queue unlocking in flush and state changes.
816         Set the pad activate mode even if it does not have an activate
817         function.
818
819 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
820
821         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
822           Don't go in pull mode for non-seekable sources.
823         * gst/elements/gsttypefindelement.h:
824         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
825         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
826         (free_entry), (stop_typefinding),
827         (gst_type_find_element_handle_event), (find_peek),
828         (gst_type_find_element_chain), (do_pull_typefind),
829         (gst_type_find_element_change_state):
830           Allow typefinding (w/o seeking) in push-mode, simplified version
831           of what was in 0.8.
832         * gst/gstutils.c: (gst_buffer_join):
833         * gst/gstutils.h:
834           gst_buffer_join() from 0.8.
835
836 2005-05-25  Wim Taymans  <wim@fluendo.com>
837
838         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
839         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
840         (gst_pad_send_event), (gst_pad_start_task):
841         Disable attempt at mode switching until it is figured out.
842
843 2005-05-25  Wim Taymans  <wim@fluendo.com>
844
845         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
846         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
847         (gst_basesink_finish_preroll), (gst_basesink_chain),
848         (gst_basesink_loop), (gst_basesink_activate),
849         (gst_basesink_change_state):
850         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
851         (gst_basesrc_get_range), (gst_basesrc_loop),
852         (gst_basesrc_activate):
853         * gst/elements/gsttee.c: (gst_tee_sink_activate):
854         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
855         (gst_real_pad_init), (gst_real_pad_set_property),
856         (gst_real_pad_get_property), (gst_pad_set_active),
857         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
858         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
859         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
860         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
861         (gst_pad_event_default_dispatch), (gst_pad_event_default),
862         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
863         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
864         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
865         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
866         (gst_pad_stop_task):
867         * gst/gstpad.h:
868         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
869         (gst_queue_loop), (gst_queue_src_activate):
870         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
871         (gst_task_get_state):
872         * gst/gsttask.h:
873         * gst/schedulers/threadscheduler.c:
874         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
875         Implement gst_pad_pause/start/stop_task(), take STREAM lock
876         in task function.
877         Remove ACTIVE pad flag, use FLUSHING everywhere
878         Added _pad_chain(), _pad_get_range() to call chain/getrange 
879         functions.
880         Add locks around IS_FLUSHING when reading.
881         Take STREAM lock in chain(), get_range() functions so plugins
882         don't need to take it anymore.
883         
884
885
886 2005-05-25  Wim Taymans  <wim@fluendo.com>
887
888         * tools/gst-launch.c: (event_loop):
889         Unref message after using its contents instead of
890         before.
891
892 2005-05-24  Wim Taymans  <wim@fluendo.com>
893
894         * docs/design/draft-ghostpads.txt:
895         * docs/design/draft-push-pull.txt:
896         * docs/design/draft-query.txt:
897         * docs/design/part-overview.txt:
898         Docs updates, added general overview doc.
899
900 2005-05-21  David Schleef  <ds@schleef.org>
901
902         * docs/gst/tmpl/old/GstBin.sgml:
903         * docs/gst/tmpl/old/GstBuffer.sgml:
904         * docs/gst/tmpl/old/GstCaps.sgml:
905         * docs/gst/tmpl/old/GstClock.sgml:
906         * docs/gst/tmpl/old/GstCompat.sgml:
907         * docs/gst/tmpl/old/GstData.sgml:
908         * docs/gst/tmpl/old/GstElement.sgml:
909         * docs/gst/tmpl/old/GstEvent.sgml:
910         * docs/gst/tmpl/old/GstIndex.sgml:
911         * docs/gst/tmpl/old/GstStructure.sgml:
912         * docs/gst/tmpl/old/GstTag.sgml:
913         * docs/gst/tmpl/old/cothreads.sgml:
914         * docs/gst/tmpl/old/cothreads_compat.sgml:
915         * docs/gst/tmpl/old/gettext.sgml:
916         * docs/gst/tmpl/old/gobject2gtk.sgml:
917         * docs/gst/tmpl/old/grammar.tab.sgml:
918         * docs/gst/tmpl/old/gst-i18n-app.sgml:
919         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
920         * docs/gst/tmpl/old/gst_private.sgml:
921         * docs/gst/tmpl/old/gstaggregator.sgml:
922         * docs/gst/tmpl/old/gstarch.sgml:
923         * docs/gst/tmpl/old/gstatomic_impl.sgml:
924         * docs/gst/tmpl/old/gstbufferstore.sgml:
925         * docs/gst/tmpl/old/gstdata_private.sgml:
926         * docs/gst/tmpl/old/gstdisksink.sgml:
927         * docs/gst/tmpl/old/gstdisksrc.sgml:
928         * docs/gst/tmpl/old/gstelementfactory.sgml:
929         * docs/gst/tmpl/old/gstextratypes.sgml:
930         * docs/gst/tmpl/old/gstfakesink.sgml:
931         * docs/gst/tmpl/old/gstfakesrc.sgml:
932         * docs/gst/tmpl/old/gstfdsink.sgml:
933         * docs/gst/tmpl/old/gstfdsrc.sgml:
934         * docs/gst/tmpl/old/gstfilesink.sgml:
935         * docs/gst/tmpl/old/gstfilesrc.sgml:
936         * docs/gst/tmpl/old/gsthttpsrc.sgml:
937         * docs/gst/tmpl/old/gstidentity.sgml:
938         * docs/gst/tmpl/old/gstindexfactory.sgml:
939         * docs/gst/tmpl/old/gstmarshal.sgml:
940         * docs/gst/tmpl/old/gstmd5sink.sgml:
941         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
942         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
943         * docs/gst/tmpl/old/gstpadtemplate.sgml:
944         * docs/gst/tmpl/old/gstpipefilter.sgml:
945         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
946         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
947         * docs/gst/tmpl/old/gstshaper.sgml:
948         * docs/gst/tmpl/old/gstspider.sgml:
949         * docs/gst/tmpl/old/gstspideridentity.sgml:
950         * docs/gst/tmpl/old/gststatistics.sgml:
951         * docs/gst/tmpl/old/gsttee.sgml:
952         * docs/gst/tmpl/old/gsttimecache.sgml:
953         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
954         * docs/gst/tmpl/old/gstxmlregistry.sgml:
955         * docs/gst/tmpl/old/gthread-cothreads.sgml:
956         * docs/gst/tmpl/old/types.sgml:
957           I didn't intend to add these or check them in.
958
959 2005-05-19  David Schleef  <ds@schleef.org>
960
961         * configure.ac: Use -no-common everywhere.  In a sane world, it
962           would be the default in libtool, because without it, you can't
963           build DLLs on Windows.
964         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
965         * docs/gst/gstreamer-sections.txt:
966         * docs/gst/tmpl/gstcpu.sgml:
967         * docs/gst/tmpl/gstdata.sgml:
968         * docs/gst/tmpl/gstthread.sgml:
969
970 2005-05-19  David Schleef  <ds@schleef.org>
971
972         * gst/gstminiobject.c: (gst_value_set_mini_object),
973         (gst_value_take_mini_object), (gst_value_get_mini_object):
974         * gst/gstminiobject.h: Add GValue set/get functions.
975
976 2005-05-19  Wim Taymans  <wim@fluendo.com>
977
978         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
979         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
980         (gst_subbuffer_init), (gst_buffer_is_span_fast):
981         * gst/gstbuffer.h:
982         * gst/gstbus.c: (gst_bus_post):
983         * gst/gstelement.c: (gst_element_get_random_pad):
984         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
985         Make subbufer unref the parent in finalize.
986         some more debugging info.
987
988
989 2005-05-19  Wim Taymans  <wim@fluendo.com>
990
991         * gst/base/gstbasesink.c: (gst_basesink_class_init),
992         (gst_basesink_init), (gst_basesink_finalize),
993         (gst_basesink_activate), (gst_basesink_change_state):
994         Don't free preroll queue too early.
995
996 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
997
998         * gst/Makefile.am:
999         * gst/ROADMAP:
1000           Hi, I'm outdated. Please shoot me.
1001
1002 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1003
1004         * gst/gstpipeline.c: (gst_pipeline_send_event):
1005           Do not access variables after they have been deleted.
1006
1007 2005-05-19  Wim Taymans  <wim@fluendo.com>
1008
1009         * tools/gst-inspect.c: (print_plugin_features):
1010         A plugin feature does unfortunatly not use the
1011         object name yet...
1012
1013 2005-05-18  Wim Taymans  <wim@fluendo.com>
1014
1015         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
1016         Port _span() functions to new subbuffers.
1017
1018 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1019
1020         * gst/gstbin.c: (gst_bin_add_func):
1021           Fix clock settery in bins when adding kids after the clock has
1022           been selected.
1023
1024 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1025
1026         * gst/elements/gstidentity.c: (gst_identity_class_init):
1027           Workaround until signals support GstMiniObject.
1028
1029 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
1030
1031         * gst/gstbuffer.c:
1032         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
1033
1034 2005-05-18  Wim Taymans  <wim@fluendo.com>
1035
1036         * gst/base/Makefile.am:
1037         * gst/base/gstadapter.c: (gst_adapter_base_init),
1038         (gst_adapter_class_init), (gst_adapter_init),
1039         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
1040         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
1041         (gst_adapter_flush), (gst_adapter_available),
1042         (gst_adapter_available_fast):
1043         * gst/base/gstadapter.h:
1044         Ported and added adapter to the base classes.
1045
1046 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1047
1048         * gst/gst.c:
1049         * gst/gstmessage.c:
1050           Make sure the class is reffed/unreffed once before threads can be
1051           used.  Fixes #304551.
1052
1053 2005-05-17  Wim Taymans  <wim@fluendo.com>
1054
1055         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
1056         (gst_basesink_chain_unlocked), (gst_basesink_activate):
1057         * gst/gstminiobject.c: (gst_mini_object_get_type),
1058         (gst_mini_object_free):
1059         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
1060         (gst_pad_push), (gst_pad_push_event):
1061         * gst/gstqueue.c: (gst_queue_change_state):
1062         Don't queue buffers in basesink when we are flushing.
1063         Unref buffer when flushing in basesink.
1064         Flush queue when going to READY
1065         Unref buffer when _push() returns an error.
1066         Don't free MiniObject instance when refcount is incremented
1067         in _finalize() so that we can recover objects.
1068
1069 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1070
1071         * docs/manual/advanced-schedulers.xml:
1072         * docs/manual/appendix-checklist.xml:
1073         * docs/pwg/advanced-clock.xml:
1074         * docs/pwg/advanced-interfaces.xml:
1075         * docs/pwg/advanced-request.xml:
1076         * docs/pwg/advanced-types.xml:
1077         * docs/pwg/intro-preface.xml:
1078         * examples/plugins/example.c: (gst_example_get_type),
1079         (gst_example_class_init), (gst_example_chain),
1080         (gst_example_set_property), (gst_example_get_property),
1081         (gst_example_change_state), (plugin_init):
1082         * examples/plugins/example.h:
1083           small doc fixes
1084
1085 2005-05-17  Wim Taymans  <wim@fluendo.com>
1086
1087         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
1088         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
1089         * gst/gstqueue.c: (gst_queue_change_state):
1090         Clear queue when going to READY.
1091         Remove IN_SETCAPS flag too.
1092
1093 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
1094
1095         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
1096           Remove implicit cast from gboolean to GstElementStateReturn;
1097           make sure we still return failure in paused => ready case if
1098           the parent class fails to change state and our own stop 
1099           vfunc succeeds.
1100
1101 2005-05-17  Wim Taymans  <wim@fluendo.com>
1102
1103         * tools/gst-launch.c: (event_loop):
1104         Message was unreffed too soon.
1105
1106 2005-05-16  Andy Wingo  <wingo@pobox.com>
1107
1108         * gst/gstbin.c (sink_iterator_filter): Err... um...
1109
1110         * check/gst/gstbin.c (test_ghost_pads): New test for the
1111         ghosting-if-elements-not-in-same-bin behavior.
1112
1113 2005-05-16  David Schleef  <ds@schleef.org>
1114
1115         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
1116         accessing refcount directly.
1117
1118 2005-05-15  David Schleef  <ds@schleef.org>
1119
1120         * check/Makefile.am: remove GstData checks
1121         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
1122         * gst/Makefile.am: add miniobject, remove data
1123         * gst/gst.h: add miniobject, remove data
1124         * gst/gstdata.c: remove
1125         * gst/gstdata.h: remove
1126         * gst/gstdata_private.h: remove
1127         * gst/gsttypes.h: remove GstEvent and GstMessage
1128         * gst/gstelement.c: (gst_element_post_message): fix for API changes
1129         * gst/gstmarshal.list: change BOXED -> OBJECT
1130
1131         Implement GstMiniObject.
1132         * gst/gstminiobject.c:
1133         * gst/gstminiobject.h:
1134
1135         Modify to be subclasses of GstMiniObject.
1136         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
1137         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
1138         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
1139         (gst_subbuffer_get_type), (gst_subbuffer_init),
1140         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
1141         (gst_buffer_span):
1142         * gst/gstbuffer.h:
1143         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
1144         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
1145         (_gst_event_copy), (gst_event_new):
1146         * gst/gstevent.h:
1147         * gst/gstmessage.c: (_gst_message_initialize),
1148         (gst_message_get_type), (gst_message_class_init),
1149         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
1150         (gst_message_new), (gst_message_new_error),
1151         (gst_message_new_warning), (gst_message_new_tag),
1152         (gst_message_new_state_changed), (gst_message_new_application):
1153         * gst/gstmessage.h:
1154         * gst/gstprobe.c: (gst_probe_perform),
1155         (gst_probe_dispatcher_dispatch):
1156         * gst/gstprobe.h:
1157         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
1158         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
1159         (_gst_query_copy), (gst_query_new):
1160
1161         Update elements for GstData -> GstMiniObject changes
1162         * gst/gstquery.h:
1163         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
1164         (gst_queue_chain), (gst_queue_loop):
1165         * gst/elements/gstbufferstore.c:
1166         (gst_buffer_store_add_buffer_func),
1167         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
1168         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1169         (gst_fakesink_render):
1170         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
1171         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
1172         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
1173         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
1174         (gst_filesrc_create_read):
1175         * gst/elements/gstidentity.c: (gst_identity_class_init):
1176         * gst/elements/gsttypefindelement.c:
1177         (gst_type_find_element_src_event), (free_entry_buffers),
1178         (gst_type_find_element_handle_event):
1179         * libs/gst/dataprotocol/dataprotocol.c:
1180         (gst_dp_header_from_buffer):
1181         * libs/gst/dataprotocol/dataprotocol.h:
1182         * libs/gst/dataprotocol/dp-private.h:
1183
1184 2005-05-15  David Schleef  <ds@schleef.org>
1185
1186         * gst/elements/gstelements.c: Don't include headers that were
1187         just removed.
1188
1189 2005-05-15  David Schleef  <ds@schleef.org>
1190
1191         * gst/elements/Makefile.am: Remove some elements that don't
1192         need to be in the core (or even exist at all).
1193         * gst/elements/gstaggregator.c:
1194         * gst/elements/gstaggregator.h:
1195         * gst/elements/gstmd5sink.c:
1196         * gst/elements/gstmd5sink.h:
1197         * gst/elements/gstmultifilesrc.c:
1198         * gst/elements/gstmultifilesrc.h:
1199         * gst/elements/gstpipefilter.c:
1200         * gst/elements/gstpipefilter.h:
1201         * gst/elements/gstshaper.c:
1202         * gst/elements/gstshaper.h:
1203         * gst/elements/gststatistics.c:
1204         * gst/elements/gststatistics.h:
1205         * po/POTFILES.in: Remove above files.
1206
1207 2005-05-14  Andy Wingo  <wingo@pobox.com>
1208
1209         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
1210         so as to get the refs right.
1211         (sink_iterator_filter): New function, wraps bin_element_is_sink,
1212         unreffing objects that don't pass the filter.
1213
1214         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
1215         gst_element_set_bus.
1216         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
1217         normal cases, this will destroy the bus.
1218
1219         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
1220         object.
1221
1222         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
1223         has no sinks.
1224
1225 2005-05-13  Andy Wingo  <wingo@pobox.com>
1226
1227         * gst/gstutils.c (gst_element_link_pads): Instead of calling
1228         gst_pad_link, call pad_link_maybe_ghosting,
1229         (pad_link_maybe_ghosting): Links pads, making sure that the
1230         elements being linked are in the same bin.
1231         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
1232         Helpers for pad_link_maybe_ghosting.
1233
1234 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1235
1236         * configure.ac:
1237           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
1238
1239 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1240
1241         * docs/design/part-element-source.txt:
1242           Mention GstPushSrc
1243
1244 2005-05-12  Wim Taymans  <wim@fluendo.com>
1245
1246         * gst/base/gstbasesink.c: (gst_basesink_init),
1247         (gst_basesink_activate):
1248         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
1249         (gst_basesrc_is_seekable):
1250         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1251         (bin_element_is_sink), (gst_bin_change_state):
1252         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
1253         * gst/gstelement.h:
1254         Identify sinks by their flag to avoid overly complicated
1255         checks (fow now).
1256         Do state changes even for elements not reachable from the
1257         sinks.
1258         BaseSink is a sink now :)
1259         Some more debugging info in the basesrc.
1260
1261
1262 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1263
1264         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
1265           Implement _query on a bin, similar to _send_event.
1266
1267 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1268
1269         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
1270           Discont event offset format should be GST_FORMAT_BYTES,
1271           not GST_FORMAT_TIME.
1272
1273 2005-05-12  Wim Taymans  <wim@fluendo.com>
1274
1275         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
1276         Same fix as Ronald's but without the signal. 
1277
1278 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1279
1280         * gst/gstutils.c: (gst_element_query_position):
1281           No, an element is not a pad.
1282
1283 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1284
1285         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
1286         (gst_bin_get_state):
1287           If a child is removed from a bin while we remove the child from
1288           the bin and while we're retrieving its state, signal this to the
1289           get_state function so we abort the wait (instead of waiting for
1290           a timeout) and can immediately re-iterate over all other elements.
1291
1292 2005-05-12  Wim Taymans  <wim@fluendo.com>
1293
1294         * gst/base/Makefile.am:
1295         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
1296         (gst_basesrc_start):
1297         * gst/base/gstbasesrc.h:
1298         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
1299         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
1300         (gst_pushsrc_init), (gst_pushsrc_create):
1301         * gst/base/gstpushsrc.h:
1302         Added is_seekable to BaseSrc
1303         Added simple PushSrc.
1304
1305 2005-05-11  Wim Taymans  <wim@fluendo.com>
1306
1307         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
1308         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1309         (gst_element_link_pads), (gst_element_query_position),
1310         (gst_element_query_convert), (intersect_caps_func),
1311         (gst_pad_query_position), (gst_pad_query_convert):
1312         Fix refcounting in utils function.
1313         No point in trying to activate a pad when it's added, it could
1314         be added from the state change function and then we deadlock, the
1315         element has to decide what to do.
1316
1317 2005-05-10  Andy Wingo  <wingo@pobox.com>
1318
1319         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
1320         *all* the arguments.
1321
1322         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
1323         stream lock if it's a FLUSH_DONE; normal flushes don't get the
1324         lock (according to the docs -- if this is wrong change the docs).
1325
1326         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
1327         flush messages in the NULL state.
1328
1329         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
1330         message immediately and return.
1331         (gst_bus_set_flushing): New function. If a bus is flushing, it
1332         flushes out any queued messages and immediately unrefs new
1333         messages. This is so when an element goes to NULL, all of the
1334         unhandled messages coming from it can be freed, and their
1335         references to the element dropped. In other words: message source
1336         ref considered harmful :P
1337
1338         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
1339         we're finished with it.
1340
1341         * gst/gstmessage.c (gst_message_new_state_changed): 
1342
1343 2005-05-10  Wim Taymans  <wim@fluendo.com>
1344
1345         * gst/gstvalue.c: (gst_value_compare_flags),
1346         (gst_value_serialize_flags), (gst_value_deserialize_flags),
1347         (_gst_value_initialize):
1348         Added flags serialize/deserialize/compare code.
1349
1350 2005-05-09  Andy Wingo  <wingo@pobox.com>
1351
1352         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
1353         Intersect the peer's caps with our caps.
1354
1355 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1356
1357         * gst/base/gsttypefindhelper.c: (helper_find_peek):
1358         * gst/elements/gsttypefindelement.c: (find_peek):
1359           Handle negative offsets better. Fixes decodebin.
1360
1361 2005-05-09  Wim Taymans  <wim@fluendo.com>
1362
1363         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
1364         (gst_base_transform_event):
1365         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
1366         Implement accept_caps.
1367         Fix silly lock/unlock mismatch in base class.
1368
1369 2005-05-09  Wim Taymans  <wim@fluendo.com>
1370
1371         * docs/design/draft-push-pull.txt:
1372         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
1373         * gst/elements/gstfilesink.c: (gst_filesink_init),
1374         (gst_filesink_query):
1375         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
1376         (gst_type_find_handle_src_query), (find_element_get_length):
1377         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
1378         * gst/gstelement.h:
1379         * gst/gstmessage.c:
1380         * gst/gstmessage.h:
1381         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
1382         (gst_real_pad_get_caps_unlocked),
1383         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
1384         (gst_pad_event_default_dispatch), (gst_pad_event_default),
1385         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
1386         (gst_real_pad_dispose), (gst_real_pad_finalize),
1387         (gst_pad_load_and_link), (gst_pad_save_thyself),
1388         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
1389         (gst_pad_check_pull_range), (gst_pad_pull_range),
1390         (gst_pad_template_get_type), (gst_pad_template_class_init),
1391         (gst_pad_template_init), (gst_pad_template_dispose),
1392         (name_is_valid), (gst_static_pad_template_get),
1393         (gst_pad_template_new), (gst_static_pad_template_get_caps),
1394         (gst_pad_template_get_caps), (gst_pad_set_element_private),
1395         (gst_pad_get_element_private), (gst_pad_start_task),
1396         (gst_pad_pause_task), (gst_pad_stop_task),
1397         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
1398         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
1399         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
1400         (gst_ghost_pad_new):
1401         * gst/gstpad.h:
1402         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
1403         (gst_query_new_position), (gst_query_set_position),
1404         (gst_query_parse_position), (gst_query_new_convert),
1405         (gst_query_set_convert), (gst_query_parse_convert):
1406         * gst/gstquery.h:
1407         * gst/gstqueryutils.c:
1408         * gst/gstqueryutils.h:
1409         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
1410         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
1411         (gst_queue_handle_src_query):
1412         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1413         (gst_element_query_position), (gst_element_query_convert),
1414         (intersect_caps_func), (gst_pad_query_position),
1415         (gst_pad_query_convert):
1416         * gst/gstutils.h:
1417         * tools/gst-inspect.c: (print_pad_info):
1418         * tools/gst-xmlinspect.c: (print_element_info):
1419         Remove old query functions. Ported old code.
1420         Added position/convert helper functions to gstutils.
1421         Reordered gstpad.c code, grouping relevant things.
1422         Remove gst_message_new(), always need to speficy a specific
1423         message.
1424
1425
1426 2005-05-09  Andy Wingo  <wingo@pobox.com>
1427
1428         * gst/gstiterator.h: Add some includes.
1429
1430         * gst/gstqueryutils.h: Include more headers.
1431
1432         * gst/gstpad.h:
1433         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
1434         some uses of gst_pad_query.
1435
1436         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
1437         NULL out parameters.
1438         (gst_query_new_position): New proc, allocates a new position
1439         query.
1440
1441         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
1442         gstqueryutils.c to the build.
1443
1444         * gst/gststructure.c (gst_structure_set_valist): Implement with
1445         the generic G_VALUE_COLLECT.
1446         
1447 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
1448
1449         * gst/Makefile.am: (gst_headers):
1450         Added gstqueryutils.h to the list of headers to install, that was
1451         a 'nachty' move wingo :)
1452
1453 2005-05-06  Andy Wingo  <wingo@pobox.com>
1454
1455         * gst/gstquery.h
1456         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
1457         GstData, init a memchunk.
1458         (standard_definitions): Add a few query types, deprecate a few.
1459         (gst_query_get_type): New proc.
1460         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
1461         implementation.
1462         (gst_query_new_application, gst_query_get_structure): New public
1463         procs.
1464
1465         * docs/design/draft-query.txt: Removed LINKS from the query types,
1466         because all the rest can be dispatched to other pads -- seemed
1467         ugly to have a query that couldn't be dispatched. internal_links
1468         is fine as a pad method.
1469
1470         * gst/gstpad.h: Add query2 as a pad method, add the new functions
1471         in gstpad.c, but maintain binary compatibility for the moment.
1472         Will fix before 0.9 is out.
1473
1474         * gst/gstqueryutils.c: 
1475         * gst/gstqueryutils.h: New files, implement 3 methods for each
1476         query type: parse_query, parse_response, and set. Probably need an
1477         allocator as well.
1478
1479         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
1480
1481         * gst/elements/gstfilesink.c (gst_filesink_query2):
1482         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
1483         query_types, and formats methods.
1484
1485         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
1486         (gst_pad_set_query2_function): New functions.
1487         (gst_real_pad_init): Set query2_default as the default query2
1488         function. Basically just dispatches to internally linked pads.
1489
1490         Needs review!
1491         
1492         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
1493         without using the atomic operations. Only one thread can possibly
1494         be accessing the data at this point. Changed so as to avoid
1495         gst_atomic operations.
1496
1497 2005-05-06  Wim Taymans  <wim@fluendo.com>
1498
1499         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
1500         Also set caps if we use the fallback buffer alloc.
1501
1502 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
1503
1504         * docs/gst/Makefile.am:
1505         * docs/gst/gstreamer-docs.sgml:
1506         * docs/gst/gstreamer-sections.txt:
1507         * docs/gst/tmpl/gstatomic.sgml:
1508         * docs/gst/tmpl/gstmemchunk.sgml:
1509         * testsuite/elements/struct_i386.h:
1510         * win32/GStreamer.vcproj:
1511         * win32/Makefile:
1512           Purge GstAtomic stuff from docs and win32 makefiles as well
1513
1514 2005-05-06  Wim Taymans  <wim@fluendo.com>
1515
1516         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
1517         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
1518         * gst/gstpad.c: (gst_pad_peer_get_caps):
1519         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
1520         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
1521         (gst_queue_src_activate), (gst_queue_change_state):
1522         * gst/gstqueue.h:
1523         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1524         (intersect_caps_func):
1525         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
1526         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
1527         Some fixes for the peer_get_caps() change.
1528
1529 2005-05-06  Wim Taymans  <wim@fluendo.com>
1530
1531         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1532         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
1533         (gst_basesink_activate):
1534         Actually do something with error codes returned from the push
1535         functions.
1536
1537 2005-05-06  Wim Taymans  <wim@fluendo.com>
1538
1539         * docs/design/part-element-sink.txt:
1540         * docs/design/part-element-source.txt:
1541         * gst/base/gstbasesink.c: (gst_basesink_class_init),
1542         (gst_basesink_event), (gst_basesink_activate):
1543         * gst/base/gstbasesink.h:
1544         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
1545         (gst_basesrc_activate):
1546         * gst/base/gstbasesrc.h:
1547         * gst/gstelement.c: (gst_element_pads_activate):
1548         Some more documentation.
1549         Fixed scheduling decision in _pads_activate().
1550
1551 2005-05-05  Andy Wingo  <wingo@pobox.com>
1552
1553         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
1554         the test suite.
1555
1556 2005-05-05  Wim Taymans  <wim@fluendo.com>
1557
1558         * gst/base/Makefile.am:
1559         * gst/base/gstbasesink.h:
1560         * gst/base/gstbasesrc.c: (gst_basesrc_init),
1561         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
1562         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
1563         (gst_collectpads_class_init), (gst_collectpads_init),
1564         (gst_collectpads_finalize), (gst_collectpads_new),
1565         (gst_collectpads_set_function), (gst_collectpads_add_pad),
1566         (find_pad), (gst_collectpads_remove_pad),
1567         (gst_collectpads_is_active), (gst_collectpads_collect),
1568         (gst_collectpads_collect_range), (gst_collectpads_start),
1569         (gst_collectpads_stop), (gst_collectpads_peek),
1570         (gst_collectpads_pop), (gst_collectpads_available),
1571         (gst_collectpads_read), (gst_collectpads_flush),
1572         (gst_collectpads_chain):
1573         * gst/base/gstcollectpads.h:
1574         * gst/elements/Makefile.am:
1575         * gst/elements/gstelements.c:
1576         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
1577         (gst_fakesink_get_times), (gst_fakesink_event),
1578         (gst_fakesink_preroll), (gst_fakesink_render):
1579         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
1580         (gst_filesink_init), (gst_filesink_set_location),
1581         (gst_filesink_open_file), (gst_filesink_close_file),
1582         (gst_filesink_pad_query), (gst_filesink_event),
1583         (gst_filesink_render), (gst_filesink_change_state):
1584         * gst/elements/gstfilesink.h:
1585         Added object to help in making collect pad based elements.
1586         Ported filesink.
1587         Make event function in sink baseclass return gboolean.
1588
1589 2005-05-05  Wim Taymans  <wim@fluendo.com>
1590
1591         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
1592         (gst_bin_get_by_name):
1593         * gst/gstbuffer.h:
1594         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
1595         (gst_clock_finalize):
1596         * gst/gstdata.c: (gst_data_replace):
1597         * gst/gstdata.h:
1598         * gst/gstelement.c: (gst_element_request_pad),
1599         (gst_element_pads_activate):
1600         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1601         (gst_object_unref):
1602         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1603         (gst_pad_set_checkgetrange_function),
1604         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
1605         (gst_pad_check_pull_range), (gst_pad_pull_range),
1606         (gst_static_pad_template_get_caps), (gst_pad_start_task),
1607         (gst_pad_pause_task), (gst_pad_stop_task):
1608         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
1609         (gst_element_request_pad), (gst_pad_proxy_getcaps):
1610         Fix name lookup in GstBin.
1611         Added _data_replace() function and _buffer_replace()
1612         Use finalize method to clean up clock.
1613         Fix refcounting on request pads.
1614         Fix pad schedule mode error.
1615         Some more object refcounting debug info,
1616
1617
1618 2005-05-04  Andy Wingo <wingo@pobox.com>
1619
1620         * check/Makefile.am:
1621         * docs/gst/tmpl/gstatomic.sgml:
1622         * docs/gst/tmpl/gstplugin.sgml:
1623         * gst/base/gstbasesink.c: (gst_basesink_activate):
1624         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
1625         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
1626         (gst_basesrc_query), (gst_basesrc_set_property),
1627         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
1628         (gst_basesrc_activate):
1629         * gst/base/gstbasesrc.h:
1630         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
1631         (gst_base_transform_src_activate):
1632         * gst/elements/gstelements.c:
1633         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1634         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
1635         * gst/elements/gsttee.c: (gst_tee_sink_activate):
1636         * gst/elements/gsttypefindelement.c: (find_element_get_length),
1637         (gst_type_find_element_checkgetrange),
1638         (gst_type_find_element_activate):
1639         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
1640         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
1641         (gst_caps_load_thyself):
1642         * gst/gstelement.c: (gst_element_pads_activate),
1643         (gst_element_save_thyself), (gst_element_restore_thyself):
1644         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
1645         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
1646         * gst/gstpad.h:
1647         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
1648         (gst_xml_parse_file), (gst_xml_parse_memory),
1649         (gst_xml_get_element), (gst_xml_make_element):
1650         * gst/indexers/gstfileindex.c: (gst_file_index_load),
1651         (_file_index_id_save_xml), (gst_file_index_commit):
1652         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
1653         (read_enum), (load_pad_template), (load_feature), (load_plugin),
1654         (load_paths):
1655         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
1656         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
1657         * tools/gst-complete.c: (main):
1658         * tools/gst-compprep.c: (main):
1659         * tools/gst-inspect.c: (print_element_properties_info):
1660         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
1661         * tools/gst-xmlinspect.c: (print_element_properties):
1662         GCC 4 fixen.
1663         
1664 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1665
1666         * gst/gstplugin.c: (gst_plugin_check_module),
1667         (gst_plugin_check_file), (gst_plugin_load_file):
1668             apply patch from #172526 to make register work on MacOSX
1669
1670 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1671
1672         * docs/gst/tmpl/gstconfig.sgml:
1673         * gst/gstconfig.h.in:
1674           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
1675         * testsuite/debug/printf_extension.c: (main):
1676           Do not use GST_PTR_FORMAT on pointers to types with
1677           sizeof < sizeof(gpointer).  Fixes test on 64-bit
1678         * testsuite/elements/property.h:
1679           use correct printf format
1680
1681 2005-05-02  Wim Taymans  <wim@fluendo.com>
1682
1683         * docs/design/draft-push-pull.txt:
1684         * docs/design/draft-query.txt:
1685         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
1686         (gst_basesrc_start):
1687         Added draft for new query API.
1688         Added draft for better selecting scheduling methods.
1689         Make basesrc ignore length if the subclass does not support
1690         it.
1691
1692 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1693
1694         * gst/Makefile.am:
1695           possible fixes for automake-1.5 - _LIBADD is reserved
1696
1697 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1698
1699         * docs/faq/Makefile.am:
1700         * docs/manual/Makefile.am:
1701         * docs/manuals.mak:
1702         * docs/pwg/Makefile.am:
1703         * gst/Makefile.am:
1704           possible fixes for automake-1.5
1705
1706 2005-04-28  Wim Taymans  <wim@fluendo.com>
1707
1708         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1709         (gst_basesink_pad_getcaps), (gst_basesink_init),
1710         (gst_basesink_do_sync):
1711         * gst/gstclock.c: (gst_clock_entry_new):
1712         * gst/gstevent.c: (gst_event_discont_get_value):
1713         * gst/gstpipeline.c: (pipeline_bus_handler),
1714         (gst_pipeline_change_state):
1715         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
1716         Better debugging of clocking info.
1717         Allow NULL values when getting discont values.
1718
1719 2005-04-27  Wim Taymans  <wim@fluendo.com>
1720
1721         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
1722         * check/gst/gstpad.c: (gst_pad_suite):
1723         Increase timeout for checks.
1724
1725 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1726
1727         * check/Makefile.am:
1728           fix the broken rule for cleanup.  Apparently this rule is
1729           only needed on FC2, so maybe this warrants further autotool
1730           inspection.
1731
1732 2005-04-26  Wim Taymans  <wim@fluendo.com>
1733
1734         * gst/gsttrashstack.h:
1735         Ooohh. a nasty one! After having a failed pop() from the stack,
1736         it's possible that the stack is empty. In that case, don't
1737         follow the NULL pointer.
1738
1739 2005-04-25  Wim Taymans  <wim@fluendo.com>
1740
1741         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1742         (gst_pad_set_checkgetrange_function),
1743         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
1744         (gst_pad_check_pull_range), (gst_pad_pull_range),
1745         (gst_static_pad_template_get_caps), (gst_pad_start_task),
1746         (gst_pad_pause_task), (gst_pad_stop_task):
1747         * gst/gstplugin.c: (gst_plugin_load):
1748         * gst/gstplugin.h:
1749         Remove gst_library_load as it does more harm than good with
1750         the new g_module flags.
1751         Revert bogus caps template check in pad linking, pad caps
1752         are important when linking not the template, which is more
1753         general than the current caps.
1754
1755 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1756
1757         * gst/autoplug/.cvsignore:
1758         * gst/autoplug/Makefile.am:
1759         * gst/autoplug/gstsearchfuncs.c:
1760         * gst/autoplug/gstsearchfuncs.h:
1761         * gst/autoplug/gstspider.c:
1762         * gst/autoplug/gstspider.h:
1763         * gst/autoplug/gstspideridentity.c:
1764         * gst/autoplug/gstspideridentity.h:
1765         * gst/autoplug/spidertest.c:
1766           Die, spider, die.
1767
1768 2005-04-25  Wim Taymans  <wim@fluendo.com>
1769
1770         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1771         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
1772         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
1773         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
1774         * gst/gstpad.h:
1775         Added stubs for unimplemented functions. 
1776
1777 2005-04-24  David Schleef  <ds@schleef.org>
1778
1779         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
1780         please fix.
1781
1782 2005-04-24  David Schleef  <ds@schleef.org>
1783
1784         Convert everything from GstAtomicInt to g_atomic_int_*, and
1785         remove gstatomic.
1786         * gst/Makefile.am:
1787         * gst/gstatomic.c:
1788         * gst/gstatomic.h:
1789         * gst/gstatomic_impl.h:
1790         * gst/gstbuffer.c:
1791         * gst/gstcaps.c:
1792         * gst/gstcaps.h:
1793         * gst/gstclock.c:
1794         * gst/gstclock.h:
1795         * gst/gstdata.c:
1796         * gst/gstdata.h:
1797         * gst/gstdata_private.h:
1798         * gst/gstevent.c:
1799         * gst/gstinfo.c:
1800         * gst/gstinfo.h:
1801         * gst/gstmessage.c:
1802         * gst/gstobject.c:
1803         * gst/gstobject.h:
1804         * gst/gststructure.c:
1805         * gst/gststructure.h:
1806         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
1807         * gst/gstutils.h:
1808
1809 2005-04-24  David Schleef  <ds@schleef.org>
1810
1811         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
1812         make the regressions tests work.  Remove some code that is no
1813         longer true.
1814         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
1815         Disable warning for pads without templates.
1816
1817 2005-04-24  David Schleef  <ds@schleef.org>
1818
1819         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
1820         functions that handle filtered links.
1821         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
1822         removed functions.
1823         * gst/gstutils.c: Fix/remove utility functions that handle
1824         filtered caps.
1825         * gst/gstutils.h:
1826         * gst/gstvalue.c: Add serialization/deserialization of caps
1827         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
1828         requires fixing so that the filter caps notation creates
1829         a capsfilter element and sets the filter_caps property.  I
1830         think everyone probably wants to keep the shorthand notation.
1831         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
1832         * docs/gst/tmpl/gstpad.sgml:
1833
1834         * gst/elements/gstelements.c: Register capsfilter element.
1835         * gst/Makefile.am: fix spacing
1836         * docs/random/ds/0.9-suggested-changes: random
1837
1838 2005-04-23  David Schleef  <ds@schleef.org>
1839
1840         * gst/elements/Makefile.am:
1841         * gst/elements/gstcapsfilter.c: New element that acts like an
1842         identity, but filters caps.  Will eventually replace filtered
1843         caps in pad linking.
1844         * gst/gstutils.c: (gst_element_create_all_pads): New function
1845         to create all the ALWAYS pads that are registered with an
1846         element class.  This functionality should eventually be
1847         merged in with GstElement initialization.
1848         * gst/gstutils.h:
1849         * testsuite/trigger/README: part of trigger test code that should
1850         have been checked in a long time ago.
1851
1852 2005-04-23  David Schleef  <ds@schleef.org>
1853
1854         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
1855         needed with new versions of libtool (nobody will confirm this),
1856         and hard to carry around.
1857         * gst/autoplug/Makefile.am:
1858         * gst/base/Makefile.am:
1859         * gst/elements/Makefile.am:
1860         * gst/indexers/Makefile.am:
1861         * gst/schedulers/Makefile.am:
1862         * libs/gst/bytestream/Makefile.am:
1863         * libs/gst/control/Makefile.am:
1864         * libs/gst/dataprotocol/Makefile.am:
1865         * libs/gst/getbits/Makefile.am:
1866
1867 2005-04-21  Wim Taymans  <wim@fluendo.com>
1868
1869         * docs/design/draft-push-pull.txt:
1870         * docs/design/part-MT-refcounting.txt:
1871         * docs/design/part-TODO.txt:
1872         * docs/design/part-caps.txt:
1873         * docs/design/part-events.txt:
1874         * docs/design/part-gstbus.txt:
1875         * docs/design/part-gstpipeline.txt:
1876         * docs/design/part-messages.txt:
1877         * docs/design/part-push-pull.txt:
1878         * docs/design/part-query.txt:
1879         Some more docs.
1880
1881 2005-04-21  Wim Taymans  <wim@fluendo.com>
1882
1883         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
1884         (gst_message_new), (gst_message_new_error),
1885         (gst_message_new_warning), (gst_message_new_tag),
1886         (gst_message_new_state_changed), (gst_message_new_application),
1887         (gst_message_get_structure):
1888         * gst/gstmessage.h:
1889         * gst/gststructure.c: (gst_structure_set_parent_refcount),
1890         (gst_structure_copy_conditional):
1891         Use parent refcount in GstMessage to ensure GstStructure
1892         consistency.
1893         Cleaned up headers a bit.
1894         
1895
1896 2005-04-20  Wim Taymans  <wim@fluendo.com>
1897
1898         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1899         (gst_basesink_pad_getcaps), (gst_basesink_init),
1900         (gst_basesink_chain_unlocked):
1901         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
1902         (gst_type_find_helper):
1903         * gst/elements/gsttypefindelement.c:
1904         (gst_type_find_element_have_type), (gst_type_find_element_init),
1905         (stop_typefinding), (gst_type_find_element_handle_event),
1906         (find_suggest), (gst_type_find_element_chain),
1907         (gst_type_find_element_checkgetrange),
1908         (gst_type_find_element_getrange), (do_typefind),
1909         (gst_type_find_element_activate):
1910         * gst/gstbuffer.c: (_gst_buffer_sub_free),
1911         (gst_buffer_default_free), (gst_buffer_default_copy),
1912         (gst_buffer_set_caps):
1913         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
1914         (gst_caps_replace):
1915         * gst/gstmessage.c: (gst_message_new),
1916         (gst_message_new_state_changed):
1917         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
1918         (gst_pad_set_checkgetrange_function),
1919         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
1920         (gst_pad_set_caps), (gst_pad_check_pull_range),
1921         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
1922         * gst/gstpad.h:
1923         * gst/gsttypefind.c: (gst_type_find_register):
1924         Make gst_caps_replace() work like other _replace() functions.
1925         Use _caps_replace() where possible.
1926         Make sure _message_new() initialises its field.
1927         Add gst_static_pad_template_get_caps()
1928
1929
1930 2005-04-18  Andy Wingo  <wingo@pobox.com>
1931
1932         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
1933         on the peer, not the pad. I think that was a typo. Pass an extra
1934         arg to see if random access is possible. Activate the pads as
1935         PULL_RANGE if possible.
1936
1937         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
1938
1939         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
1940         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
1941         to PROP_....
1942
1943 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1944
1945         * docs/faq/using.xml:
1946           Add note on gstreamer-properties (#154996).
1947
1948 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1949
1950         * docs/random/bbb/optional-properties:
1951           Some analysis on optional properties.
1952
1953 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1954
1955         * docs/gst/tmpl/gstelementfactory.sgml:
1956         * gst/gstelement.h:
1957         * gst/gstelementfactory.c: (gst_element_factory_init),
1958         (gst_element_factory_cleanup), (gst_element_register),
1959         (__gst_element_factory_add_static_pad_template),
1960         (gst_element_factory_get_static_pad_templates),
1961         (gst_element_factory_can_src_caps),
1962         (gst_element_factory_can_sink_caps):
1963         * gst/registries/Makefile.am:
1964         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
1965         (gst_xml_registry_class_init), (gst_xml_registry_init),
1966         (gst_xml_registry_new), (gst_xml_registry_set_property),
1967         (gst_xml_registry_get_property), (get_time), (make_dir),
1968         (gst_xml_registry_get_perms_func),
1969         (plugin_times_older_than_recurse), (plugin_times_older_than),
1970         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
1971         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
1972         (add_to_char_array), (read_string), (read_uint), (read_enum),
1973         (load_pad_template), (load_feature), (load_plugin), (load_paths),
1974         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
1975         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
1976         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
1977         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
1978         (gst_xml_registry_rebuild):
1979         * gst/registries/gstlibxmlregistry.h:
1980         * tools/gst-compprep.c: (main):
1981         * tools/gst-inspect.c: (print_pad_templates_info):
1982         * tools/gst-xmlinspect.c: (print_element_info):
1983           Use libxml2 for registry parsing, use staticpadtemplates in
1984           elementfactories. Makes gst_init() +/- 10x faster.
1985
1986 2005-04-12  Wim Taymans  <wim@fluendo.com>
1987
1988         * gst/base/Makefile.am:
1989         * gst/base/gstbasesink.c: (gst_basesink_base_init),
1990         (gst_basesink_pad_getcaps), (gst_basesink_init),
1991         (gst_basesink_event), (gst_basesink_change_state):
1992         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
1993         (gst_basesrc_init), (gst_basesrc_query),
1994         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
1995         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
1996         (gst_basesrc_check_get_range), (gst_basesrc_loop),
1997         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
1998         (gst_basesrc_stop), (gst_basesrc_activate),
1999         (gst_basesrc_change_state):
2000         * gst/base/gsttypefindhelper.c: (helper_find_peek),
2001         (helper_find_suggest), (gst_type_find_helper):
2002         * gst/base/gsttypefindhelper.h:
2003         * gst/elements/Makefile.am:
2004         * gst/elements/gstelements.c:
2005         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
2006         (gst_fakesink_get_times), (gst_fakesink_event),
2007         (gst_fakesink_preroll), (gst_fakesink_render):
2008         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2009         (gst_fakesrc_init), (gst_fakesrc_event_handler),
2010         (gst_fakesrc_get_property), (gst_fakesrc_create),
2011         (gst_fakesrc_start), (gst_fakesrc_stop):
2012         * gst/elements/gstfakesrc.h:
2013         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
2014         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
2015         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
2016         (gst_filesrc_create_read), (gst_filesrc_create),
2017         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
2018         (gst_filesrc_start):
2019         * gst/elements/gsttypefindelement.c:
2020         (gst_type_find_element_have_type), (gst_type_find_element_init),
2021         (start_typefinding), (stop_typefinding), (push_buffer_store),
2022         (gst_type_find_element_handle_event),
2023         (gst_type_find_element_chain),
2024         (gst_type_find_element_checkgetrange),
2025         (gst_type_find_element_getrange), (do_typefind),
2026         (gst_type_find_element_activate),
2027         (gst_type_find_element_change_state):
2028         * gst/elements/gsttypefindelement.h:
2029         * gst/gstpipeline.c: (pipeline_bus_handler):
2030         Added typefind helper.
2031         Small preroll fix in the base sink.
2032         Disable typefind code in basesrc.
2033         Crude port of typefindelement.
2034         Fakesrc cleanups.
2035
2036
2037 2005-04-11  Wim Taymans  <wim@fluendo.com>
2038
2039         * check/gst/gstbus.c: (gstbus_suite):
2040         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
2041         * check/gstcheck.h:
2042           Fix up the timeout so that the test does not fail.
2043
2044 2005-04-06  Wim Taymans  <wim@fluendo.com>
2045
2046         * gst/base/README:
2047         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
2048         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
2049         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
2050         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
2051         (gst_basesrc_check_get_range), (gst_basesrc_loop),
2052         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
2053         (gst_basesrc_stop), (gst_basesrc_activate),
2054         (gst_basesrc_change_state), (basesrc_find_peek),
2055         (basesrc_find_suggest), (gst_basesrc_type_find):
2056         * gst/base/gstbasesrc.h:
2057         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
2058         (gst_filesrc_class_init), (gst_filesrc_init),
2059         (gst_filesrc_finalize), (gst_filesrc_set_location),
2060         (gst_filesrc_set_property), (gst_filesrc_get_property),
2061         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
2062         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
2063         (gst_filesrc_create_read), (gst_filesrc_create),
2064         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
2065         * gst/elements/gstfilesrc.h:
2066         * gst/gstelement.c: (gst_element_get_state_func),
2067         (gst_element_lost_state), (gst_element_pads_activate):
2068         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2069         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
2070         (gst_pad_pull_range):
2071         * gst/gstpad.h:
2072         More work on the generic source base class, implement seeking,
2073         query.
2074         Make filesrc extend the base source class.
2075         Added gst_pad_set_checkgetrange_function to GstPad.
2076
2077 2005-04-06  Andy Wingo  <wingo@pobox.com>
2078
2079         * pkgconfig/gstreamer-base.pc.in:
2080         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
2081
2082         * pkgconfig/Makefile.am:
2083         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
2084
2085 2005-04-04  Wim Taymans  <wim@fluendo.com>
2086
2087         * gst/base/Makefile.am:
2088         * gst/base/README:
2089         * gst/base/gstbasesink.c: (gst_basesink_base_init),
2090         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
2091         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
2092         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
2093         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
2094         (gst_basesrc_base_init), (gst_basesrc_class_init),
2095         (gst_basesrc_init), (gst_basesrc_get_formats),
2096         (gst_basesrc_get_query_types), (gst_basesrc_query),
2097         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
2098         (gst_basesrc_set_property), (gst_basesrc_get_property),
2099         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
2100         (gst_basesrc_loop), (gst_basesrc_activate),
2101         (gst_basesrc_change_state):
2102         * gst/base/gstbasesrc.h:
2103         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
2104         (gst_fakesrc_class_init), (gst_fakesrc_init),
2105         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
2106         (gst_fakesrc_get_property), (gst_fakesrc_create):
2107         * gst/elements/gstfakesrc.h:
2108         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
2109         (gst_filesrc_open_file), (gst_filesrc_loop),
2110         (gst_filesrc_activate), (filesrc_find_peek),
2111         (gst_filesrc_type_find):
2112         Made base source class, make fakesrc extend it.
2113         Add comments to basesink class.
2114         Some filesrc cleanup.
2115
2116 2005-03-31  David Schleef  <ds@schleef.org>
2117
2118         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
2119         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
2120         expected to link against libgstreamer.
2121         * gst/base/Makefile.am: link against libgstreamer
2122         * gst/elements/Makefile.am: same
2123
2124 2005-03-31  Andy Wingo  <wingo@pobox.com>
2125
2126         * tests/instantiate/Makefile.am:
2127         * tests/instantiate/caps.c: Add test to test speed of caps copy
2128         and free.
2129
2130         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
2131         GMemChunk to be fair.
2132
2133         * gst/gsttrashstack.h: Remove warning about using the fallback
2134         trash stack implementation, it's still faster than malloc.
2135
2136 2005-03-30  Andy Wingo  <wingo@pobox.com>
2137
2138         * tests/complexity.c: Add a copyright.
2139
2140 2005-03-31  Wim Taymans  <wim@fluendo.com>
2141
2142         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
2143         (gst_base_transform_class_init), (gst_base_transform_init),
2144         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
2145         (gst_base_transform_get_property),
2146         (gst_base_transform_sink_activate),
2147         (gst_base_transform_src_activate),
2148         (gst_base_transform_change_state):
2149         * gst/base/gstbasetransform.h:
2150         * gst/elements/gstidentity.c: (gst_identity_class_init),
2151         (gst_identity_event), (gst_identity_check_perfect),
2152         (gst_identity_transform), (gst_identity_start),
2153         (gst_identity_stop):
2154         Added start/stop methods to transform base class so subclasses 
2155         don't need to deal with state changes even.
2156
2157 2005-03-31  Wim Taymans  <wim@fluendo.com>
2158
2159         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
2160         (gst_event_new_discontinuous), (gst_event_discont_get_value):
2161         * gst/gstevent.h:
2162         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2163         (gst_pad_pull_range):
2164         Added rate to the discont event to prepare for variable speed
2165         and reverse playback.
2166
2167 2005-03-29  David Schleef  <ds@schleef.org>
2168
2169         * configure.ac:
2170         * testsuite/trigger/Makefile.am:
2171         * testsuite/trigger/trigger.c: A little example program to show
2172         how trigger-based elements can work.
2173
2174 2005-03-29  Wim Taymans  <wim@fluendo.com>
2175
2176         * gst/base/Makefile.am:
2177         * gst/base/README:
2178         * gst/base/gstbasesink.c: (gst_basesink_get_type),
2179         (gst_basesink_base_init), (gst_basesink_class_init),
2180         (gst_basesink_pad_getcaps), (gst_basesink_init),
2181         (gst_basesink_activate), (gst_basesink_change_state):
2182         * gst/base/gstbasesink.h:
2183         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
2184         (gst_base_transform_base_init), (gst_base_transform_finalize),
2185         (gst_base_transform_class_init), (gst_base_transform_init),
2186         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
2187         (gst_base_transform_event), (gst_base_transform_getrange),
2188         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
2189         (gst_base_transform_set_property),
2190         (gst_base_transform_get_property),
2191         (gst_base_transform_sink_activate),
2192         (gst_base_transform_src_activate),
2193         (gst_base_transform_change_state):
2194         * gst/base/gstbasetransform.h:
2195         * gst/elements/gstidentity.c: (gst_identity_finalize),
2196         (gst_identity_class_init), (gst_identity_init),
2197         (gst_identity_event), (gst_identity_check_perfect),
2198         (gst_identity_transform), (gst_identity_set_property),
2199         (gst_identity_get_property), (gst_identity_change_state):
2200         * gst/elements/gstidentity.h:
2201         * gst/gstelement.c: (gst_element_get_state_func),
2202         (gst_element_lost_state), (gst_element_pads_activate):
2203         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
2204         (gst_pad_check_pull_range), (gst_pad_pull_range):
2205         * gst/gstpad.h:
2206         Simplify pad activation.
2207         Added function to check if pull_range can be performed.
2208         Error out when pulling inactive or flushing pads.
2209         Removed const from refcounted types as it does not make sense.
2210         Simplify pad templates in basesink
2211         Added base class for simple 1-to-1 transforms.
2212         Make identity subclass the base transform.
2213
2214 2005-03-29  Andy Wingo  <wingo@pobox.com>
2215
2216         * docs/libs/gstreamer-libs-overrides.txt: 
2217         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
2218         really don't understand what's going on, but like whatever. I want
2219         green buildbot!
2220
2221         * docs/gst/Makefile.am:
2222         * docs/libs/Makefile.am: Dist the overrides files.
2223
2224         * check/Makefile.am (clean-local): Remove .libs directories.
2225
2226         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
2227         elements to EXTRA_DIST, so po/ files are happy.
2228
2229         * po/POTFILES.in: Er, remove it here.
2230
2231         * po/POTFILES: Remove gstspider.c.
2232
2233         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
2234
2235         * docs/libs/gstreamer-libs-docs.sgml: 
2236         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
2237         bytestream.
2238
2239         * tests/complexity.c (main): Set the length of the preroll queue
2240         on the sinks to prevent a lockup.
2241
2242         * libs/gst/dataprotocol/Makefile.am: 
2243         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
2244         the same as the one in check/gst-libs/gdp.c.
2245
2246         * po/, docs/gst/: Commit automatic changes to docs and po files.
2247
2248         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
2249         the versioned libgstbase.
2250
2251         * check/Makefile.am: Depend on an unversioned gst-register, seems
2252         to make autoconf happier.
2253
2254         * gst/base/Makefile.am: Make libgstbase a versioned lib.
2255
2256 2005-03-28  Wim Taymans  <wim@fluendo.com>
2257
2258         * configure.ac:
2259         * docs/design/part-gstelement.txt:
2260         * docs/design/part-negotiation.txt:
2261         * docs/design/part-preroll.txt:
2262         * docs/design/part-scheduling.txt:
2263         * docs/design/part-states.txt:
2264         * gst/Makefile.am:
2265         * gst/base/Makefile.am:
2266         * gst/base/README:
2267         * gst/base/gstbasesink.c: (gst_basesink_get_template),
2268         (gst_basesink_base_init), (gst_basesink_class_init),
2269         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
2270         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
2271         (gst_basesink_set_pad_functions),
2272         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
2273         (gst_basesink_set_property), (gst_basesink_get_property),
2274         (gst_base_sink_get_template), (gst_base_sink_get_caps),
2275         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
2276         (gst_basesink_preroll_queue_push),
2277         (gst_basesink_preroll_queue_empty),
2278         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
2279         (gst_basesink_event), (gst_basesink_get_times),
2280         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
2281         (gst_basesink_chain_unlocked), (gst_basesink_chain),
2282         (gst_basesink_loop), (gst_basesink_activate),
2283         (gst_basesink_change_state):
2284         * gst/base/gstbasesink.h:
2285         * gst/elements/Makefile.am:
2286         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
2287         (gst_fakesink_class_init), (gst_fakesink_init),
2288         (gst_fakesink_set_property), (gst_fakesink_get_property),
2289         (gst_fakesink_get_times), (gst_fakesink_event),
2290         (gst_fakesink_preroll), (gst_fakesink_render),
2291         (gst_fakesink_change_state):
2292         * gst/elements/gstfakesink.h:
2293         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
2294         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
2295         * gst/gstelement.c: (gst_element_add_pad),
2296         (gst_element_get_state_func), (gst_element_abort_state),
2297         (gst_element_commit_state), (gst_element_lost_state),
2298         (gst_element_set_state), (gst_element_pads_activate):
2299         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
2300         * gst/gstpipeline.c: (gst_pipeline_send_event),
2301         (gst_pipeline_change_state):
2302         Added state change code.
2303         Added/updated docs.
2304         Added sink base class, make fakesink extend the base class.
2305         Small cleanups in GstPipeline.
2306
2307 2005-03-26  David Schleef  <ds@schleef.org>
2308
2309         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
2310         is broken and should be implemented in a different library.
2311         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
2312         * gst/gst.h: remove gstcpu.h
2313         * gst/gstcpu.c: remove
2314         * gst/gstcpu.h: remove
2315         * gst/Makefile.am.future: Remove this file.  It's ancient.
2316
2317 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2318
2319         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
2320         (gst_bin_send_event):
2321           Add default event/set_manager handlers. The set_manager handler
2322           takes care that the manager is distributed over kids that were
2323           already in the bin before the manager was set. The event handler
2324           is a utility virtual function that sends the event over all sinks,
2325           so that gst_element_send_event (bin, event); has the expected
2326           behaviour.
2327         * gst/gstpad.c: (gst_pad_event_default):
2328           Re-install default event handling for discontinuities, so that
2329           seeking works without requiring hacks in applications or extra
2330           code in sinks.
2331         * gst/gstpipeline.c: (gst_pipeline_class_init),
2332         (gst_pipeline_send_event):
2333           Half hack, half utility: set a pipeline to PAUSED for seek events,
2334           since that is the only way we can guarantee a/v sync. Means that
2335           you can do gst_element_seek (pipeline, method, pos); on a pipeline
2336           and it "just works".
2337
2338 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2339
2340         * gst/gstpipeline.c: (gst_pipeline_use_clock):
2341           Lock/unlock mismatch.
2342
2343 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
2344
2345         * docs/faq/gst-uninstalled:
2346           add gst-plugins-base
2347         * docs/gst/Makefile.am:
2348           don't error out until docs are fixed
2349         * docs/gst/gstreamer.types:
2350           remove thread
2351
2352 2005-03-22  Wim Taymans  <wim@fluendo.com>
2353
2354         * check/Makefile.am:
2355         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
2356         * gst/gststructure.c: (gst_structure_set_valist),
2357         (gst_structure_copy_conditional):
2358         Activated more tests.
2359         Added message test.
2360         Added G_TYPE_POINTER to GstStructure.
2361         
2362
2363 2005-03-22  Wim Taymans  <wim@fluendo.com>
2364
2365         * docs/design/part-TODO.txt:
2366         * docs/design/part-events.txt:
2367         * docs/design/part-gstbin.txt:
2368         * docs/design/part-gstbus.txt:
2369         * docs/design/part-gstpipeline.txt:
2370         * docs/design/part-messages.txt:
2371         * gst/gstbus.c:
2372         * gst/gstmessage.c:
2373         Docs updates
2374
2375 2005-03-21  Wim Taymans  <wim@fluendo.com>
2376
2377         * gst/gstbus.c: (gst_bus_post):
2378         Fix copy-and-paste error.
2379
2380 2005-03-21  Wim Taymans  <wim@fluendo.com>
2381
2382         * check/Makefile.am:
2383         * gst/Makefile.am:
2384         * gst/elements/Makefile.am:
2385         * gst/elements/gstelements.c:
2386         * gst/elements/gstfakesink.c: (gst_fakesink_init),
2387         (gst_fakesink_event), (gst_fakesink_chain):
2388         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2389         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
2390         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
2391         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
2392         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
2393         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
2394         (gst_fakesrc_loop), (gst_fakesrc_activate),
2395         (gst_fakesrc_change_state):
2396         * gst/elements/gstfakesrc.h:
2397         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
2398         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
2399         (gst_filesrc_open_file), (gst_filesrc_loop),
2400         (gst_filesrc_activate), (gst_filesrc_change_state),
2401         (filesrc_find_peek), (filesrc_find_suggest),
2402         (gst_filesrc_type_find):
2403         * gst/elements/gstidentity.c: (gst_identity_finalize),
2404         (gst_identity_class_init), (gst_identity_init),
2405         (gst_identity_proxy_getcaps), (identity_queue_push),
2406         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
2407         (gst_identity_getrange), (gst_identity_chain),
2408         (gst_identity_sink_loop), (gst_identity_src_loop),
2409         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
2410         (gst_identity_set_property), (gst_identity_get_property),
2411         (gst_identity_change_state):
2412         * gst/elements/gstidentity.h:
2413         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2414         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
2415         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
2416         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
2417         (gst_tee_sink_activate):
2418         * gst/elements/gsttee.h:
2419         * gst/gst.c: (gst_register_core_elements), (init_post):
2420         * gst/gst.h:
2421         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
2422         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
2423         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
2424         (gst_bin_change_state):
2425         * gst/gstbin.h:
2426         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
2427         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
2428         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
2429         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
2430         (gst_bus_set_sync_handler), (gst_bus_create_watch),
2431         (bus_watch_callback), (bus_watch_destroy),
2432         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
2433         (poll_timeout), (gst_bus_poll):
2434         * gst/gstbus.h:
2435         * gst/gstcaps.h:
2436         * gst/gstdata.h:
2437         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
2438         (gst_element_post_message), (gst_element_message_full),
2439         (gst_element_get_state_func), (gst_element_get_state),
2440         (gst_element_abort_state), (gst_element_commit_state),
2441         (gst_element_lost_state), (gst_element_set_state),
2442         (gst_element_pads_activate), (gst_element_change_state),
2443         (gst_element_dispose), (gst_element_set_manager_func),
2444         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
2445         (gst_element_set_manager), (gst_element_get_manager),
2446         (gst_element_set_bus), (gst_element_get_bus),
2447         (gst_element_set_scheduler), (gst_element_get_scheduler):
2448         * gst/gstelement.h:
2449         * gst/gstevent.c: (gst_event_new_segment_seek),
2450         (gst_event_new_flush):
2451         * gst/gstevent.h:
2452         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
2453         (_gst_message_free), (gst_message_get_type), (gst_message_new),
2454         (gst_message_new_eos), (gst_message_new_error),
2455         (gst_message_new_warning), (gst_message_new_tag),
2456         (gst_message_new_state_changed), (gst_message_new_application),
2457         (gst_message_get_structure), (gst_message_parse_tag),
2458         (gst_message_parse_state_changed), (gst_message_parse_error),
2459         (gst_message_parse_warning):
2460         * gst/gstmessage.h:
2461         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
2462         (gst_real_pad_set_property), (gst_pad_set_active),
2463         (gst_pad_is_active), (gst_pad_set_blocked_async),
2464         (gst_pad_set_blocked), (gst_pad_is_blocked),
2465         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
2466         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
2467         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
2468         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
2469         (gst_pad_link_filtered), (gst_pad_relink_filtered),
2470         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
2471         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
2472         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
2473         (gst_pad_set_caps), (gst_pad_configure_sink),
2474         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
2475         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
2476         (gst_real_pad_dispose), (gst_real_pad_finalize),
2477         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
2478         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2479         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
2480         * gst/gstpad.h:
2481         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
2482         (pipeline_bus_handler), (gst_pipeline_change_state),
2483         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
2484         * gst/gstpipeline.h:
2485         * gst/gstprobe.h:
2486         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
2487         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
2488         (gst_queue_link_src), (gst_queue_bufferalloc),
2489         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2490         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
2491         (gst_queue_loop), (gst_queue_handle_src_event),
2492         (gst_queue_handle_src_query), (gst_queue_src_activate),
2493         (gst_queue_change_state):
2494         * gst/gstqueue.h:
2495         * gst/gstscheduler.c: (gst_scheduler_init),
2496         (gst_scheduler_dispose), (gst_scheduler_create_task),
2497         (gst_scheduler_factory_create):
2498         * gst/gstscheduler.h:
2499         * gst/gststructure.c: (gst_structure_get_type),
2500         (gst_structure_copy_conditional):
2501         * gst/gststructure.h:
2502         * gst/gsttaginterface.h:
2503         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
2504         (gst_task_init), (gst_task_dispose), (gst_task_create),
2505         (gst_task_get_state), (gst_task_start), (gst_task_stop),
2506         (gst_task_pause):
2507         * gst/gsttask.h:
2508         * gst/gstthread.c:
2509         * gst/gstthread.h:
2510         * gst/gsttypes.h:
2511         * gst/schedulers/Makefile.am:
2512         * gst/schedulers/cothreads_compat.h:
2513         * gst/schedulers/entryscheduler.c:
2514         * gst/schedulers/faircothreads.c:
2515         * gst/schedulers/faircothreads.h:
2516         * gst/schedulers/fairscheduler.c:
2517         * gst/schedulers/gstbasicscheduler.c:
2518         * gst/schedulers/gstoptimalscheduler.c:
2519         * gst/schedulers/gthread-cothreads.h:
2520         * gst/schedulers/threadscheduler.c:
2521         (gst_thread_scheduler_task_get_type),
2522         (gst_thread_scheduler_task_class_init),
2523         (gst_thread_scheduler_task_init),
2524         (gst_thread_scheduler_task_start),
2525         (gst_thread_scheduler_task_stop),
2526         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
2527         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
2528         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
2529         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
2530         (plugin_init):
2531         * libs/gst/Makefile.am:
2532         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
2533         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
2534         (gst_file_pad_parent_set):
2535         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
2536         (gst_dp_event_from_packet):
2537         * tests/complexity.c: (main):
2538         * tests/mass_elements.c: (main):
2539         * testsuite/states/locked.c: (message_received), (main):
2540         * testsuite/states/parent.c: (main):
2541         * tools/gst-inspect.c: (print_element_flag_info),
2542         (print_implementation_info), (print_pad_info):
2543         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
2544         (main):
2545         * tools/gst-md5sum.c: (event_loop), (main):
2546         * tools/gst-typefind.c: (main):
2547         * tools/gst-xmlinspect.c: (print_element_info):
2548         Next big merge.
2549         Added GstBus for mainloop integration.
2550         Added GstMessage for sending notifications on the bus.
2551         Added GstTask as an abstraction for pipeline entry points.
2552         Removed GstThread.
2553         Removed Schedulers.
2554         Simplified GstQueue for multithreaded core.
2555         Made _link threadsafe, removed old capsnego.
2556         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
2557         Added pad blocking functions.
2558         Reworked scheduling functions in GstPad to prepare for
2559         scheduling updates soon.
2560         Moved events out of data stream.
2561         Simplified GstEvent types.
2562         Added return values to push/pull.
2563         Removed clocking from GstElement.
2564         Added prototypes for state change function for next merge.
2565         Removed iterate from bins and state change management.
2566         Fixed some elements, disabled others for now.
2567         Fixed -inspect and -launch.
2568         Added check for GstBus.
2569
2570 2005-03-10  Wim Taymans  <wim@fluendo.com>
2571
2572         * docs/design/part-MT-refcounting.txt:
2573         * docs/design/part-clocks.txt:
2574         * docs/design/part-gstelement.txt:
2575         * docs/design/part-gstobject.txt:
2576         * docs/design/part-standards.txt:
2577         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2578         (gst_bin_remove_func), (gst_bin_remove):
2579         * gst/gstbin.h:
2580         * gst/gstbuffer.c:
2581         * gst/gstcaps.h:
2582         * testsuite/clock/clock1.c: (main):
2583         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
2584         (main):
2585         * testsuite/dlopen/loadgst.c: (do_test):
2586         * testsuite/refcounting/bin.c: (add_remove_test1),
2587         (add_remove_test2), (main):
2588         * testsuite/refcounting/element.c: (main):
2589         * testsuite/refcounting/element_pad.c: (main):
2590         * testsuite/refcounting/pad.c: (main):
2591         * tools/gst-launch.c: (sigint_handler_sighandler):
2592         * tools/gst-typefind.c: (main):
2593         Doc updates.
2594         Added doc about clock.
2595         removed gst_bin_iterate_recurse_up(), marked methods
2596         for removal.
2597         Fix more testsuites.
2598
2599 2005-03-09  Wim Taymans  <wim@fluendo.com>
2600
2601         * gst/gstpad.c: (gst_pad_get_direction),
2602         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
2603         (gst_pad_collect_valist):
2604         * testsuite/bins/interface.c: (main):
2605         * testsuite/caps/audioscale.c: (test_caps):
2606         * testsuite/caps/caps.c: (test1), (test2), (test3):
2607         * testsuite/caps/deserialize.c: (main):
2608         * testsuite/caps/enumcaps.c: (main):
2609         * testsuite/caps/filtercaps.c: (main):
2610         * testsuite/caps/intersect2.c: (main):
2611         * testsuite/caps/random.c: (main):
2612         * testsuite/caps/renegotiate.c: (my_fixate), (main):
2613         * testsuite/caps/sets.c: (check_caps):
2614         * testsuite/caps/simplify.c: (check_caps), (main):
2615         * testsuite/caps/subtract.c: (check_caps):
2616         Fix _pad_get_direction wrt ghostpads.
2617         Fix caps testsuite.
2618
2619 2005-03-09  Wim Taymans  <wim@fluendo.com>
2620
2621         * check/Makefile.am:
2622         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
2623         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
2624         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
2625         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
2626         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
2627         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
2628         (gst_bin_remove), (gst_bin_iterate_recurse_up),
2629         (bin_element_is_sink), (gst_bin_iterate_sinks),
2630         (gst_bin_iterate_all_by_interface):
2631         * gst/gstbin.h:
2632         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
2633         (gst_element_change_state), (gst_element_dispose),
2634         (gst_element_finalize), (gst_element_set_loop_function):
2635         * gst/gstelement.h:
2636         * gst/gstiterator.c: (find_custom_fold_func):
2637         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
2638         (gst_pad_collectv), (gst_pad_collect_valist),
2639         (gst_pad_template_new):
2640         * gst/gstpipeline.c: (gst_pipeline_class_init),
2641         (gst_pipeline_dispose), (gst_pipeline_set_property),
2642         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
2643         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
2644         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
2645         * gst/gstutils.h:
2646         * gst/schedulers/entryscheduler.c:
2647         * gst/schedulers/gstbasicscheduler.c:
2648         (gst_basic_scheduler_cothreaded_chain),
2649         (gst_basic_scheduler_chain_add_element):
2650         * testsuite/bins/interface.c: (main):
2651         Added GstBin test.
2652         Added GstSystemClock test.
2653         Implemented clock distribution code in GstBin.
2654         Implemented iterate sinks method for future use.
2655         Rearranged gstelement.h
2656         Fix GstIterator comparison bug.
2657         Moved some code to GstPipeline, mostly clocking related.
2658
2659 2005-03-09  Wim Taymans  <wim@fluendo.com>
2660
2661         * configure.ac:
2662         * gst/gst_private.h:
2663         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2664         (gst_bin_remove_func), (gst_bin_remove),
2665         (gst_bin_get_by_name_recurse_up):
2666         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
2667         (gst_clock_id_compare_func), (gst_clock_id_wait),
2668         (gst_clock_id_wait_async), (gst_clock_init),
2669         (gst_clock_adjust_unlocked), (gst_clock_get_time):
2670         * gst/gstelement.h:
2671         * gst/gstinfo.c: (_gst_debug_init):
2672         * gst/gstobject.h:
2673         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
2674         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
2675         * gst/gstpad.h:
2676         Bump version number, we're now 0.9.0
2677         Add future debugging category.
2678         Fix NULL _unref() in _get_by_name_recurse_up
2679         Rearrange gstpad.h.
2680         Update some docs.
2681
2682 2005-03-08  Wim Taymans  <wim@fluendo.com>
2683
2684         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
2685         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
2686         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
2687         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
2688         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
2689         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
2690         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
2691         * gst/elements/gstidentity.c: (gst_identity_class_init):
2692         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
2693         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
2694         * gst/elements/gstshaper.c: (gst_shaper_class_init):
2695         * gst/elements/gststatistics.c: (gst_statistics_class_init):
2696         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
2697         (gst_tee_link):
2698         * gst/gstelement.c: (gst_element_class_init),
2699         (gst_element_base_class_init), (gst_element_init),
2700         (gst_element_get_random_pad), (gst_element_wait_state_change),
2701         (gst_element_change_state), (gst_element_dispose),
2702         (gst_element_finalize), (gst_element_set_loop_function):
2703         * gst/gstelement.h:
2704         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
2705         * gst/gstthread.c: (gst_thread_class_init),
2706         (gst_thread_release_children_locks), (gst_thread_change_state):
2707         * gst/schedulers/gstbasicscheduler.c:
2708         (gst_basic_scheduler_loopfunc_wrapper),
2709         (gst_basic_scheduler_chain_wrapper),
2710         (gst_basic_scheduler_src_wrapper),
2711         (gst_basic_scheduler_remove_element):
2712         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
2713         Remove threadsafe properties. Fix elements because GObject
2714         complains when installing a property before declaring a
2715         set/get_property handler.
2716         Rearrange gstelement.h file, use STATE macros for state locks.
2717         Free mutexes in the finalize method instead of dispose.
2718
2719 2005-03-08  Wim Taymans  <wim@fluendo.com>
2720
2721         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
2722         * gst/gstthread.c: (gst_thread_release_children_locks):
2723         Added parentage check.
2724         Fix build og GstThread again.
2725
2726 2005-03-08  Wim Taymans  <wim@fluendo.com>
2727
2728         * docs/design/part-MT-refcounting.txt:
2729         * docs/design/part-conventions.txt:
2730         * docs/design/part-gstobject.txt:
2731         * docs/design/part-relations.txt:
2732         * docs/design/part-standards.txt:
2733         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
2734         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
2735         (gst_bin_get_by_name), (gst_bin_get_by_interface),
2736         (gst_bin_iterate_all_by_interface):
2737         * gst/gstbuffer.h:
2738         * gst/gstclock.h:
2739         * gst/gstelement.c: (gst_element_class_init),
2740         (gst_element_change_state), (gst_element_set_loop_function):
2741         * gst/gstelement.h:
2742         * gst/gstiterator.c:
2743         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
2744         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
2745         (gst_object_dispatch_properties_changed), (gst_object_set_name),
2746         (gst_object_set_parent), (gst_object_unparent),
2747         (gst_object_check_uniqueness):
2748         * gst/gstobject.h:
2749         Docs updates, clean up some headers.
2750
2751 2005-03-07  Wim Taymans  <wim@fluendo.com>
2752
2753         * check/.cvsignore:
2754         * check/Makefile.am:
2755         * check/gst-libs/.cvsignore:
2756         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
2757         * check/gst/.cvsignore:
2758         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
2759         (START_TEST), (gstbus_suite), (main):
2760         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
2761         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
2762         (gst_data_suite), (main):
2763         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
2764         (add_fold_func), (gstiterator_suite), (main):
2765         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
2766         (thread_name_object), (thread_name_object_default),
2767         (gst_object_name_compare), (gst_object_suite), (main):
2768         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
2769         (gst_pad_suite), (main):
2770         * check/gstcheck.c: (gst_check_log_message_func),
2771         (gst_check_log_critical_func), (gst_check_init):
2772         * check/gstcheck.h:
2773         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
2774         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
2775         Added checks.
2776
2777 2005-03-07  Wim Taymans  <wim@fluendo.com>
2778
2779         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
2780         (gst_list_iterator_next), (gst_list_iterator_resync),
2781         (gst_list_iterator_free), (gst_iterator_new_list),
2782         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
2783         (gst_iterator_free), (gst_iterator_push), (filter_next),
2784         (filter_resync), (filter_uninit), (filter_free),
2785         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
2786         (gst_iterator_foreach), (find_custom_fold_func),
2787         (gst_iterator_find_custom):
2788         * gst/gstiterator.h:
2789         Added missing files.
2790
2791 2005-03-07  Wim Taymans  <wim@fluendo.com>
2792
2793         * Makefile.am:
2794         * configure.ac:
2795         * docs/design/part-MT-refcounting.txt:
2796         * docs/design/part-conventions.txt:
2797         * docs/design/part-gstobject.txt:
2798         * docs/design/part-relations.txt:
2799         * examples/mixer/mixer.c: (main):
2800         * examples/thread/thread.c: (eos), (main):
2801         * gst/Makefile.am:
2802         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
2803         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
2804         (gst_spider_plug_from_srcpad):
2805         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
2806         (gst_spider_identity_change_state),
2807         (gst_spider_identity_sink_loop_type_finding):
2808         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
2809         * gst/elements/gstidentity.c: (gst_identity_init):
2810         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
2811         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
2812         * gst/elements/gsttypefindelement.c: (free_entry):
2813         * gst/gst.c:
2814         * gst/gst.h:
2815         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
2816         (gst_bin_set_clock_func), (gst_bin_auto_clock),
2817         (gst_bin_set_index), (gst_bin_set_element_sched),
2818         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
2819         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
2820         (gst_bin_iterate_elements), (iterate_child_recurse),
2821         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
2822         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
2823         (compare_interface), (gst_bin_get_by_interface),
2824         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
2825         * gst/gstbin.h:
2826         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
2827         (gst_buffer_default_free), (gst_buffer_default_copy),
2828         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
2829         (gst_buffer_create_sub):
2830         * gst/gstbuffer.h:
2831         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
2832         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
2833         (gst_caps_unref), (gst_static_caps_get),
2834         (gst_caps_remove_and_get_structure), (gst_caps_append),
2835         (gst_caps_append_structure), (gst_caps_remove_structure),
2836         (gst_caps_copy_nth), (gst_caps_set_simple),
2837         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
2838         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
2839         (gst_caps_structure_intersect_field), (gst_caps_intersect),
2840         (gst_caps_structure_subtract_field), (gst_caps_subtract),
2841         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
2842         (gst_caps_structure_figure_out_union),
2843         (gst_caps_switch_structures), (gst_caps_do_simplify),
2844         (gst_caps_replace), (gst_caps_from_string),
2845         (gst_caps_copy_conditional):
2846         * gst/gstcaps.h:
2847         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
2848         (_gst_clock_id_free), (gst_clock_id_unref),
2849         (gst_clock_id_compare_func), (gst_clock_id_wait),
2850         (gst_clock_id_wait_async), (gst_clock_class_init),
2851         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
2852         (gst_clock_get_time), (gst_clock_set_time_adjust),
2853         (gst_clock_set_property), (gst_clock_get_property):
2854         * gst/gstclock.h:
2855         * gst/gstcompat.h:
2856         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
2857         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
2858         * gst/gstdata.h:
2859         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
2860         (gst_element_requires_clock), (gst_element_provides_clock),
2861         (gst_element_set_clock), (gst_element_clock_wait),
2862         (gst_element_wait), (gst_element_set_time_delay),
2863         (gst_element_is_indexable), (gst_element_add_pad),
2864         (gst_element_add_ghost_pad), (gst_element_remove_pad),
2865         (pad_compare_name), (gst_element_get_static_pad),
2866         (gst_element_request_pad), (gst_element_get_request_pad),
2867         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
2868         (gst_element_class_get_pad_template_list),
2869         (gst_element_class_get_pad_template), (gst_element_error_func),
2870         (gst_element_get_random_pad), (gst_element_get_event_masks),
2871         (gst_element_send_event), (gst_element_seek),
2872         (gst_element_get_query_types), (gst_element_query),
2873         (gst_element_get_formats), (gst_element_convert),
2874         (gst_element_is_locked_state), (gst_element_set_locked_state),
2875         (gst_element_sync_state_with_parent), (gst_element_change_state),
2876         (gst_element_finalize), (gst_element_yield),
2877         (gst_element_interrupt), (gst_element_set_scheduler),
2878         (gst_element_get_scheduler), (gst_element_set_loop_function):
2879         * gst/gstelement.h:
2880         * gst/gstevent.h:
2881         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
2882         (gst_format_get_by_nick), (gst_format_get_details),
2883         (gst_format_iterate_definitions):
2884         * gst/gstformat.h:
2885         * gst/gstindex.c: (gst_index_gtype_resolver):
2886         * gst/gstinfo.c:
2887         * gst/gstinfo.h:
2888         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
2889         (gst_mem_chunk_free):
2890         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
2891         (gst_object_ref), (gst_object_unref), (gst_object_sink),
2892         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
2893         (gst_object_dispatch_properties_changed),
2894         (gst_object_set_name_default), (gst_object_set_name),
2895         (gst_object_get_name), (gst_object_set_name_prefix),
2896         (gst_object_get_name_prefix), (gst_object_set_parent),
2897         (gst_object_get_parent), (gst_object_unparent),
2898         (gst_object_check_uniqueness), (gst_object_save_thyself),
2899         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
2900         (gst_object_set_property), (gst_object_get_property),
2901         (gst_object_get_path_string):
2902         * gst/gstobject.h:
2903         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2904         (gst_real_pad_init), (gst_real_pad_get_property),
2905         (gst_pad_custom_new), (gst_pad_get_direction),
2906         (gst_pad_set_active), (gst_pad_is_active),
2907         (gst_pad_set_event_function), (gst_pad_is_linked),
2908         (gst_pad_link_free), (gst_pad_link_intersect),
2909         (gst_pad_link_fixate), (gst_pad_set_caps),
2910         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
2911         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
2912         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
2913         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
2914         (gst_pad_get_caps), (gst_pad_peer_get_caps),
2915         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
2916         (gst_pad_realize), (gst_pad_get_allowed_caps),
2917         (gst_real_pad_dispose), (gst_real_pad_finalize),
2918         (gst_pad_collectv), (gst_pad_collect_valist),
2919         (gst_pad_template_dispose), (gst_pad_template_new),
2920         (gst_pad_get_internal_links):
2921         * gst/gstpad.h:
2922         * gst/gstpipeline.c: (gst_pipeline_dispose),
2923         (gst_pipeline_change_state):
2924         * gst/gstpipeline.h:
2925         * gst/gstplugin.c:
2926         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
2927         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
2928         * gst/gstpluginfeature.h:
2929         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
2930         * gst/gstquery.c: (_gst_query_type_initialize),
2931         (gst_query_type_register), (gst_query_type_get_by_nick),
2932         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
2933         * gst/gstquery.h:
2934         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
2935         * gst/gstscheduler.c: (gst_scheduler_add_element),
2936         (gst_scheduler_factory_create):
2937         * gst/gststructure.c: (gst_structure_set_parent_refcount),
2938         (gst_structure_free), (gst_structure_set_name),
2939         (gst_structure_id_set_value), (gst_structure_set_value),
2940         (gst_structure_set_valist), (gst_structure_remove_field),
2941         (gst_structure_remove_fields),
2942         (gst_structure_remove_fields_valist),
2943         (gst_structure_remove_all_fields), (gst_structure_foreach),
2944         (gst_structure_map_in_place),
2945         (gst_caps_structure_fixate_field_nearest_int),
2946         (gst_caps_structure_fixate_field_nearest_double):
2947         * gst/gststructure.h:
2948         * gst/gstsystemclock.c: (gst_system_clock_class_init),
2949         (gst_system_clock_init), (gst_system_clock_dispose),
2950         (gst_system_clock_async_thread),
2951         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
2952         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
2953         * gst/gstsystemclock.h:
2954         * gst/gsttag.c: (gst_tag_list_add_value_internal),
2955         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
2956         * gst/gsttaginterface.c:
2957         * gst/gstthread.c: (gst_thread_dispose),
2958         (gst_thread_release_children_locks), (gst_thread_change_state),
2959         (gst_thread_main_loop):
2960         * gst/gsttrashstack.h:
2961         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
2962         * gst/gsttypes.h:
2963         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2964         (gst_element_request_pad), (gst_element_get_pad_from_template),
2965         (gst_element_request_compatible_pad),
2966         (gst_element_get_compatible_pad_filtered),
2967         (gst_element_get_compatible_pad), (gst_element_state_get_name),
2968         (gst_element_link_pads_filtered), (gst_element_link_filtered),
2969         (gst_element_link_many), (gst_element_link),
2970         (gst_element_link_pads), (gst_element_unlink_pads),
2971         (gst_element_unlink_many), (gst_element_unlink),
2972         (gst_pad_can_link_filtered), (gst_pad_can_link),
2973         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
2974         (gst_object_default_error), (gst_bin_add_many),
2975         (gst_bin_remove_many), (gst_element_populate_std_props),
2976         (gst_element_class_install_std_props), (gst_buffer_merge),
2977         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
2978         (link_fold_func), (gst_pad_proxy_setcaps):
2979         * gst/gstutils.h:
2980         * gst/gstvalue.c: (gst_value_deserialize_string):
2981         * gst/parse/grammar.y:
2982         * gst/schedulers/gstbasicscheduler.c:
2983         (gst_basic_scheduler_cothreaded_chain),
2984         (gst_basic_scheduler_chain_recursive_add),
2985         (gst_basic_scheduler_pad_link):
2986         * gst/schedulers/gstoptimalscheduler.c:
2987         (get_group_schedule_function),
2988         (gst_opt_scheduler_state_transition),
2989         (gst_opt_scheduler_add_element), (element_get_reachables_func):
2990         * libs/gst/bytestream/bytestream.c:
2991         * libs/gst/dataprotocol/dataprotocol.c:
2992         (gst_dp_header_from_buffer):
2993         * po/nb.po:
2994         * po/ru.po:
2995         * tests/threadstate/threadstate2.c: (eos):
2996         * tools/gst-compprep.c: (main):
2997         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
2998         (print_pad_info), (print_children_info):
2999         * tools/gst-launch.c: (idle_func), (main):
3000         * tools/gst-md5sum.c: (idle_func), (main):
3001         * tools/gst-xmlinspect.c: (print_element_info):
3002         First THREADED backport attempt, focusing on adding locks and
3003         making sure the API is threadsafe. Needs more work. More docs
3004         follow this week.
3005
3006 2005-02-24  Andy Wingo  <wingo@pobox.com>
3007
3008         * tests/bench-complexity.scm:
3009         * tests/complexity.gnuplot: New files, good for running complexity
3010         benchmarks.
3011
3012         * tests/Makefile.am:
3013         * tests/complexity.c: New test, sets up N elements, at each level
3014         teeing into M streams per element. Eeeenteresting.
3015
3016         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
3017         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
3018         running bench-mass_elements.scm.
3019
3020         * tests/bench-mass_elements.scm: New script, runs mass_elements
3021         for various numbers of identities, outputting the results to a
3022         file. Requires guile 1.6. Just for testing.
3023
3024 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3025
3026         * gst/schedulers/fairscheduler.c:
3027           compile with debug disabled
3028
3029 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3030
3031         * configure.ac:
3032           hunting season on 0.9 is now OPEN
3033
3034 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
3035
3036         * docs/libs/tmpl/gstcontrol.sgml:
3037         * docs/libs/tmpl/gstdparam.sgml:
3038         * docs/libs/tmpl/gstdplinint.sgml:
3039         * docs/libs/tmpl/gstdpman.sgml:
3040         * docs/libs/tmpl/gstdpsmooth.sgml:
3041         * docs/libs/tmpl/gstunitconvert.sgml:
3042           more docs for the state of dparams
3043
3044 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3045
3046         * gst/gstelementfactory.c: (gst_element_factory_create):
3047         * gst/gstobject.c: (gst_object_init),
3048         (gst_object_set_name_default), (gst_object_set_name):
3049           name objects by default, not in gst_element_factory_create. Allows
3050           using elements created with g_object_new. (fixes #167283)
3051
3052 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3053
3054         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
3055           make the time that debugging functions print relative to when
3056           gst_init was called
3057
3058 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
3059
3060         * gst/gsttaginterface.c:
3061           Fix inline docs: tag setter vararg functions are NULL-terminated,
3062           GST_TAG_INVALID doesn't exist any more.
3063
3064 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3065
3066         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
3067         Allocate the 1 byte more memory that was forgotten!!!!!
3068         fixes memory corruption on 64bit platforms
3069
3070 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
3071
3072         * docs/pwg/building-pads.xml:
3073         * docs/pwg/intro-basics.xml:
3074           fixed a few typos, relabeled introductionary list of types
3075         * docs/random/ensonic/dparams.txt:
3076           more notes abut dparam changes
3077         * libs/gst/control/dparam.c: (gst_dparam_attach):
3078         * libs/gst/control/dparammanager.c:
3079         * libs/gst/control/dparammanager.h:
3080           - many comments and notes on dparam implementation
3081           - new dparams are were not initialized to the default value
3082             from param spec
3083
3084 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3085
3086         submitted by: Peter Astakhov
3087
3088         * po/LINGUAS:
3089         * po/ru.po:
3090           adding Russian translation
3091
3092 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3093
3094         * configure.ac:
3095         * docs/gst/Makefile.am:
3096         * docs/libs/Makefile.am:
3097           make sure popt is added to gtk-doc flags.  Fixes #147782.
3098
3099 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3100
3101         * docs/faq/using.xml:
3102           Fix typo in FAQ (artssink => artsdsink)
3103
3104 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3105
3106         * tools/gst-launch.1.in:
3107           Fix typo (#166699).
3108
3109 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
3110
3111         * docs/faq/using.xml:
3112           Add -v argument to fakesrc/fakesink gst-launch line,
3113           so that the promised output will actually show up.
3114
3115 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3116
3117         * gst/gstthread.c: (gst_thread_change_state):
3118           Implement state-change error handling (#166073).
3119
3120 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3121
3122         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
3123           Release interrupt after handling (#166250).
3124
3125 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3126
3127         * configure.ac:
3128           back to HEAD
3129
3130 === release 0.8.9 ===
3131
3132 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3133
3134         * NEWS:
3135         * RELEASE:
3136         * configure.ac:
3137           releasing 0.8.9, "Like Eating Glass"
3138
3139 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3140
3141         submitted by: Clytie Siddall
3142
3143         * po/vi.po: Added Vietnamese translation
3144
3145 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3146
3147         patch by: Tim Philipp-Müller
3148
3149         * configure.ac:
3150         * gst/gstpad.c:
3151           unref data when probe function returns FALSE.  Fixes #166362
3152
3153 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3154
3155         * gst/gst.c: (gst_init_get_popt_table):
3156           Fix typo (#166269).
3157
3158 2005-02-04  Andy Wingo  <wingo@pobox.com>
3159
3160         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
3161         the debugging on whether the caps are compatible.
3162
3163 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3164
3165         * docs/manual/basics-elements.xml:
3166           Fix two typos.
3167
3168 2005-02-02  Wim Taymans  <wim@fluendo.com>
3169
3170         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
3171         (schedule_chain), (get_invalid_call), (chain_invalid_call),
3172         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
3173         Remove some FIXMEs after analysing and commenting why they
3174         are not issues.
3175
3176 2005-02-02  Wim Taymans  <wim@fluendo.com>
3177
3178         * gst/schedulers/gstoptimalscheduler.c:
3179         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
3180         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
3181         (get_invalid_call), (chain_invalid_call),
3182         (get_group_schedule_function), (loop_group_schedule_function),
3183         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
3184         (gst_opt_scheduler_state_transition),
3185         (gst_opt_scheduler_add_element),
3186         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
3187         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
3188         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
3189         (gst_opt_scheduler_show):
3190         Added lock to protect scheduler data structures.
3191
3192 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3193
3194         * testsuite/threads/threadi.c: (cb_data):
3195           Fix buglet in test.
3196
3197 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3198
3199         * testsuite/threads/Makefile.am:
3200         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
3201           On Wim's request, split the test in three separately-compiled
3202           tests that each test a very specific bug. Two of them still fail,
3203           will create bugs for those. threadi.c indicates why they fail.
3204
3205 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3206
3207         * gst/schedulers/gstoptimalscheduler.c:
3208         (get_group_schedule_function):
3209           Try to work with the threading mess that queue_link is.
3210
3211 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3212
3213         * gst/gstbin.c: (gst_bin_remove_func):
3214           Explicitely make an element release locks in a group when being
3215           remove from a bin.
3216         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
3217           If there's no scheduler, always return immediately (similar to
3218           gst_element_interrupt).
3219
3220 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3221
3222         * gst/gstbin.c: (gst_bin_child_state_change_func):
3223           Remove a piece of code that could never be reached.
3224         * docs/gst/gstreamer-sections.txt:
3225         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
3226         (gst_pad_call_get_function):
3227         * gst/gstpad.h:
3228         * testsuite/pad/Makefile.am:
3229           Fix #150546, enable tests.
3230
3231 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3232
3233         * docs/pwg/advanced-types.xml:
3234           Fix description for buffer-frames=0.
3235         * docs/gst/tmpl/gstbin.sgml:
3236         * gst/gstbin.c: (gst_bin_child_state_change_func),
3237         (gst_bin_change_state), (gst_bin_change_state_norecurse):
3238         * gst/gstbin.h:
3239         * testsuite/threads/Makefile.am:
3240         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
3241         (cb_state), (cb_play), (main):
3242           Fix non-recursive state changes to *really* change the state
3243           of the object, and not just call parent_class->state_change.
3244           Fix a lot of lockups caused by this. Fixes #132775. Add test
3245           for the problem. Also enable test to show #142588 (fixed).
3246         * gst/gstthread.c: (gst_thread_change_state),
3247         (gst_thread_child_state_change):
3248           Don't exit the thread if we go to NULL and are inside thread
3249           context. Instead, return control to the main thread context
3250           and exit from there.
3251         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
3252           Don't unset virtual functions, since those may still be used.
3253           That's not necessarily correct, but suffices for now.
3254         * configure.ac:
3255         * testsuite/Makefile.am:
3256         * testsuite/pad/Makefile.am:
3257         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
3258         (gst_test_sink_base_init), (gst_test_sink_chain),
3259         (gst_test_sink_init), (main):
3260         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
3261         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
3262         (main):
3263         * testsuite/pad/link.c: (gst_test_element_class_init),
3264         (gst_test_element_base_init), (gst_test_src_get),
3265         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
3266         (gst_test_filter_loop), (gst_test_filter_init),
3267         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
3268         (cb_error), (main):
3269           Add tests to show #150546. Pass, but should fail (currently
3270           disabled from the testsuite).
3271         * gst/gstscheduler.c: (gst_scheduler_dispose):
3272           Dereference child schedulers on dispose (#94464).
3273         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
3274           Fix typo.
3275         * testsuite/threads/thread.c: (main):
3276           Add more debug.
3277
3278 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3279
3280         * gst/gstpad.c: (gst_pad_push):
3281           Oops, revert previous commit, broke testsuite...
3282
3283 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3284
3285         * gst/gstpad.c: (gst_pad_push):
3286           Add check that the pad on which the push is performed is not a
3287           get-based pad (#150546).
3288
3289 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3290
3291         * gst/elements/gsttypefindelement.c:
3292         (gst_type_find_element_handle_event):
3293           Fix buffer pushing if stream EOSes during typefinding.
3294
3295 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
3296
3297         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3298
3299         * gst/gstvalue.c: (gst_string_wrap):
3300           Allow NULL-strings as argument (#165365).
3301
3302 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
3303
3304         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3305
3306         * gst/schedulers/faircothreads.c:
3307         (gst_fair_scheduler_cothread_queue_show):
3308           Fix build without debug enabled.
3309
3310 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
3311
3312         * docs/gst/gstreamer-sections.txt:
3313         * docs/libs/gstreamer-libs-docs.sgml:
3314         * docs/libs/gstreamer-libs-sections.txt:
3315         * docs/libs/tmpl/gstcontrol.sgml:
3316         * docs/libs/tmpl/gstdparam.sgml:
3317         * docs/libs/tmpl/gstdplinint.sgml:
3318         * docs/libs/tmpl/gstdpman.sgml:
3319         * docs/libs/tmpl/gstdpsmooth.sgml:
3320         * docs/libs/tmpl/gstputbits.sgml:
3321         * docs/libs/tmpl/gstunitconvert.sgml:
3322         * libs/gst/control/dparam.c:
3323         * libs/gst/control/dparam.h:
3324         * libs/gst/control/dparammanager.c:
3325         (gst_dpman_add_required_dparam_callback),
3326         (gst_dpman_add_required_dparam_direct),
3327         (gst_dpman_add_required_dparam_array),
3328         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
3329         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
3330         (gst_dpman_get_manager)
3331           restructured DParam docs
3332
3333 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
3334
3335         * gst-element-check.m4:
3336           Only check for gst-inspect if we haven't already
3337           found it in previous element check runs
3338
3339 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
3340
3341         * docs/gst/Makefile.am:
3342         * docs/libs/Makefile.am:
3343           fixed install rules to treat style.css as optional
3344
3345 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
3346
3347         * docs/gst/Makefile.am:
3348         * docs/libs/Makefile.am:
3349           install style.css along with docs
3350         * docs/gst/tmpl/gstbin.sgml:
3351         * docs/gst/tmpl/gstclock.sgml:
3352         * docs/gst/tmpl/gstdata.sgml:
3353         * docs/gst/tmpl/gstelement.sgml:
3354         * gst/gstbin.h:
3355         * gst/gstelement.c: (gst_element_class_init):
3356         * gst/gstelement.h:
3357           fixing incomplete docs
3358
3359 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
3360
3361         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
3362           Don't unref seek event twice when fflush() fails
3363           
3364 2005-01-22  David Schleef  <ds@schleef.org>
3365
3366         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
3367
3368 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
3369
3370         * docs/gst/Makefile.am:
3371         * docs/libs/Makefile.am:
3372           added params for deprecation guards
3373         * gst/gst.c:
3374         * gst/gst.h:
3375         * gst/gsterror.c: (_gst_resource_errors_init),
3376         (_gst_stream_errors_init):
3377         * gst/gsterror.h:
3378           documented some more enums
3379
3380 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3381         * gst/autoplug/gstspideridentity.c:
3382         Cosmetic fix - spider_find_peek should be static
3383         * gst/parse/parse.l:
3384         Applying fix for #164261
3385
3386 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
3387
3388         * docs/gst/gstreamer-sections.txt:
3389         * docs/gst/tmpl/gstplugin.sgml:
3390         * docs/libs/gstreamer-libs-sections.txt:
3391         * docs/libs/tmpl/gstcontrol.sgml:
3392         * gst/gstbuffer.h:
3393         * gst/gsttag.h:
3394         * gst/gstvalue.c:
3395           added docs for the TAG defines
3396
3397 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3398
3399         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
3400           Only unref entry if there is an entry.
3401
3402 2005-01-17  Wim Taymans  <wim@fluendo.com>
3403
3404         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
3405         (remove_from_group), (schedule_group), (normalize_group),
3406         (gst_opt_scheduler_iterate):
3407         Also ref/unref decoupled elements before iterating the
3408         group since they are not added to the list of elements.
3409
3410 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3411
3412         * docs/manual/highlevel-components.xml:
3413           Add subtitle/streamselection as new features to playbin.
3414
3415 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3416
3417         * docs/manual/manual.xml:
3418           Re-enable dataaccess docs (oops).
3419
3420 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3421
3422         * docs/pwg/advanced-types.xml:
3423         * docs/random/mimetypes:
3424           Add documentation on libsndfile types (#163309), by Steve Baker
3425           <steve@stevebaker.org>.
3426         * gst/gstelement.c: (gst_element_release_request_pad):
3427           If an element has no explicit function, just remove the pad.
3428
3429 2005-01-17  Luca Ognibene  <luogni@tin.it>
3430
3431         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3432
3433         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
3434           Fix memleak (#163801).
3435
3436 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3437
3438         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
3439           I think this is actually more correct...
3440
3441 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3442
3443         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
3444           Another workaround for memory access while destroyed in callback.
3445           Please, someone with refcount knowledge, have a look at this.
3446
3447 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3448
3449         * docs/faq/faq.xml:
3450         * docs/faq/legal.xml:
3451           move the legal Q&A here
3452
3453 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3454
3455         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
3456         (gst_tee_request_new_pad):
3457           Fix negotiation.
3458
3459 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3460
3461         * docs/random/omega/caps2:
3462         * testsuite/caps/caps_strings:
3463           replace framerate aproximations by their real value
3464           (24000/1001, 30000/1001, 60000/1001)
3465           Partially fixes bug #164049
3466
3467 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3468
3469         * docs/gst/Makefile.am:
3470           don't fail on the stupid GstPoptOption
3471
3472 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3473
3474         * gst/gstpad.h:
3475         * gst/gstprobe.c:
3476           allow probes to work on ghost pads by realizing the pad
3477           probe debugging
3478
3479 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3480
3481         * docs/gst/gstreamer-sections.txt:
3482         * docs/gst/tmpl/gstpad.sgml:
3483         * gst/gstpad.c: (gst_pad_set_active_recursive):
3484         * gst/gstpad.h:
3485           Add gst_pad_set_active_recursive().
3486
3487 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3488
3489         * docs/random/release:
3490           updates
3491         * gst/gst_private.h:
3492         * gst/gstinfo.c:
3493         * gst/gstobject.c:
3494           move deep_notify logging to a new category
3495         * gst/gstprobe.c:
3496         * gst/gstprobe.h:
3497           add stuff so bindings can wrap probes
3498
3499 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3500
3501         * gst/gstplugin.c: (gst_plugin_load):
3502           Fix plugin loading if plugin/lib was already loaded. Fixes
3503           #163383
3504
3505 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
3506
3507         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3508
3509         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
3510           Protect plugin loading by a mutex so it's threadsafe. Fixes
3511           #163234.
3512
3513 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3514
3515         * gst/gstevent.c: (_gst_event_copy):
3516           Reference source object when copying events, since it'll be
3517           dereferenced on event dereferencing as well.
3518
3519 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3520
3521         * docs/gst/gstreamer-sections.txt:
3522         * docs/gst/tmpl/gstevent.sgml:
3523         * gst/gstevent.c: (gst_event_new_filler_stamped),
3524         (gst_event_filler_get_duration):
3525         * gst/gstevent.h:
3526           Add two new functions for filler events (which are used to
3527           synchronize streams if one of them is not having any data
3528           for a while) without interrupting the actual data-stream.
3529           Basically a no-op.
3530         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3531         (gst_queue_link_sink), (gst_queue_link_src),
3532         (gst_queue_change_state):
3533           Allow for renegotiation while filled. Required for stream
3534           switching while playing.
3535
3536 2005-01-08  Benjamin Otte  <otte@gnome.org>
3537
3538         * gst/gstelement.c: (gst_element_link_many):
3539           fix up g_return_if_fail's
3540         * po/LINGUAS:
3541         * po/de.po:
3542           add German translation, that was somehow not included
3543
3544 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
3545
3546         * docs/random/mimetypes:
3547           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
3548           do not add them to riff-lib as they are not common
3549
3550 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3551
3552         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
3553           Check for existence of probe after performing the probe before
3554           re-accessing it to prevent segfaults caused by removal of the
3555           probe in the callback.
3556
3557 2005-01-05  David Schleef  <ds@schleef.org>
3558
3559         * testsuite/registry/Makefile.am:
3560         * testsuite/registry/gst-print-formats.c:
3561         (print_pad_templates_info), (print_element_list),
3562         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
3563         (g_list_uniqify), (get_pad_templates_info),
3564         (get_element_mime_list), (print_mime_list), (main): A little
3565         program that looks through the registry to find elements of
3566         a given type.  Not particularly interesting as a test, except
3567         that there's no other test covering the same area.
3568
3569 2005-01-05  David Schleef  <ds@schleef.org>
3570
3571         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
3572         (fault_handler_sigaction), (fault_spin),
3573         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
3574         in signal.h-type signal handlers by not calling forbidden functions,
3575         including gst_element_set_state().
3576
3577 2005-01-05  David Schleef  <ds@schleef.org>
3578
3579         * gst/gstvalue.h: Mark _gst_reserved[] as private
3580
3581 2005-01-05  David Schleef  <ds@schleef.org>
3582
3583         * gst/gstvalue.c: Fix doc build problem.
3584
3585 2005-01-05  David Schleef  <ds@schleef.org>
3586
3587         * gst/gstvalue.c: Add some documentation
3588
3589 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
3590
3591         * docs/README:
3592           another shell oneliner for empty return value docs
3593         * gst/gstcaps.c:
3594         * gst/gstvalue.c:
3595         * libs/gst/control/dparam.c:
3596           more doc fixes (parameters and return values)
3597
3598 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
3599
3600         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3601
3602         * gst/gstregistry.h:
3603         * gst/registries/gstxmlregistry.c:
3604           Fix macro's for Mingw (fixes #162276).
3605
3606 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
3607
3608         * docs/README:
3609           quick shell oneliner to find undocumented members
3610         * docs/gst/tmpl/gstplugin.sgml:
3611         * docs/gst/tmpl/gstscheduler.sgml:
3612         * docs/gst/tmpl/gstthread.sgml:
3613           more enumtypes cleanup
3614         * gst/gsterror.h:
3615           activated documentation comments, now someone needs to document
3616           the enums :(
3617
3618 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3619
3620         * docs/manual/manual.xml:
3621           Add dataaccess part (doh!).
3622
3623 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3624
3625         * docs/manual/advanced-autoplugging.xml:
3626           Fix typo (intiate -> initiate).
3627
3628 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3629
3630         * docs/random/bbb/streamselection:
3631           Add some notes on how to handle multi-subtitle/-audio streams.
3632
3633 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
3634
3635         * docs/gst/gstreamer-docs.sgml:
3636         * docs/gst/gstreamer-sections.txt:
3637         * docs/gst/tmpl/gstenumtypes.sgml:
3638         * docs/gst/tmpl/gsterror.sgml:
3639         * docs/gst/tmpl/gstevent.sgml:
3640         * docs/gst/tmpl/gstpad.sgml:
3641         * docs/gst/tmpl/gstpadtemplate.sgml:
3642         * docs/gst/tmpl/gstthread.sgml:
3643           removed gstenumtypes section from docs and put all the enums into
3644           their sections
3645
3646 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
3647
3648         * gst/gstplugin.c:
3649           document gst_library_load a bit more (riff special case + return
3650           value if already loaded)
3651         * testsuite/bytestream/filepadsink.c:
3652           plugin name is 'gstbytestream', not 'bytestream'
3653
3654 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3655
3656         * docs/random/bbb/subtitles:
3657           Add some first mind rumblings on proper subtitle support.
3658
3659 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3660
3661         * po/ca.po:
3662         * po/sv.po:
3663           updated translations
3664
3665 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3666
3667         * docs/manual/advanced-dataaccess.xml:
3668           Add section on how to use fakesrc/fakesink/identity in your
3669           application, plus section on how to embed plugins. Also mention
3670           probes.
3671         * docs/manual/appendix-checklist.xml:
3672         * docs/manual/appendix-debugging.xml:
3673         * docs/manual/appendix-gnome.xml:
3674         * docs/manual/appendix-integration.xml:
3675           Debug -> checklist, GNOME -> integration, add sections on Linux,
3676           KDE integration and add other things useful for application
3677           development.
3678         * docs/manual/manual.xml:
3679           Remove some fixmes, update some file pointers.
3680         * docs/pwg/appendix-checklist.xml:
3681           Fix typo.
3682         * docs/pwg/building-boiler.xml:
3683           Remove ugly header and add commented fixme.
3684         * docs/pwg/pwg.xml:
3685           Add fixme.
3686         * examples/manual/Makefile.am:
3687           Add example for added docs.
3688
3689 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3690
3691         * configure.ac:
3692           back to HEAD
3693
3694 === release 0.8.8 ===
3695
3696 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3697
3698         * NEWS:
3699         * RELEASE:
3700         * configure.ac:
3701           Releasing 0.8.8, "I'll Take Care Of You"
3702
3703 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3704
3705         * configure.ac:
3706           second prerelease
3707
3708 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3709
3710         patch by: Wim Taymans
3711
3712         * gst/gstbin.c:
3713           Fix for #159852 - make iterate emission threadsafe
3714
3715 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3716
3717         * docs/faq/cvs.xml:
3718           notes about new fdo account request
3719
3720 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
3721
3722         * docs/gst/gstreamer-docs.sgml:
3723         * docs/gst/tmpl/gstenumtypes.sgml:
3724         * docs/gst/tmpl/gstplugin.sgml:
3725         * docs/libs/gstreamer-libs-docs.sgml:
3726           Added missing short docs. Added ids for navigation.
3727
3728 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3729
3730         * docs/manual/advanced-autoplugging.xml:
3731         * docs/manual/advanced-schedulers.xml:
3732         * docs/manual/advanced-threads.xml:
3733           Rewrites. Remove cothreads, go a bit into opt specifically,
3734           document threads and their gotchas, and do some technical stuff
3735           on autoplugging plus add some working examples. Fixes #157395.
3736         * examples/manual/Makefile.am:
3737           Add typefind/autoplugger example (one that actually works).
3738           Remove queue example since it's a duplicate of the thread one.
3739
3740 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3741
3742         * gst/gstvalue.c: (gst_value_deserialize_string):
3743           use deprecated g_value_set_string_take_ownership to keep compatible
3744           with glib 2.2
3745
3746 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3747
3748         * gst/gstvalue.c: (gst_value_deserialize_string):
3749           revert last patch, only dom a g_utf8_validate now before accepting
3750           the string - caps parsing strips " from strings so we can't rely on
3751           them
3752         * testsuite/caps/value_serialize.c: (test_string_deserialization):
3753           disable a test that tested the above and comment it
3754
3755 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
3756
3757         Patch reviewed by David Schleef  <ds@schleef.org>
3758
3759         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
3760         bug #153882)
3761         * win32/gstenumtypes.h: same
3762
3763 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3764
3765         * gst/gstpad.c: (gst_pad_query):
3766           Do query on realized pad, similar to how convert/send_event handle
3767           this. Also makes sense, since this pad belongs to the function to
3768           which this query will be sent. Fixes #158163.
3769
3770 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
3771
3772         * docs/manual/appendix-programs.xml: fix pipeline to actually work
3773
3774 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
3775
3776         * docs/faq/general.xml: fix pipeline to actually work
3777
3778 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3779
3780         * gst/gstvalue.c: (gst_value_deserialize_string):
3781           check that a simple string that gets deserialized does not contain
3782           invalid characters
3783         * testsuite/caps/value_serialize.c: (test_string_deserialization):
3784           remove a test that tested a wring behaviour
3785
3786 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
3787
3788         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3789
3790         * docs/manual/intro-motivation.xml:
3791           Fix typos.
3792
3793 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
3794
3795         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3796
3797         * docs/gst/tmpl/gstprobe.sgml:
3798           Fix documentation of probe callback - it is supposed to return
3799           FALSE, not TRUE, to remove data from the stream (#159087).
3800
3801 2004-12-16  Daniel Gazard  <dany42@free.fr>
3802
3803         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3804
3805         * gst/gstelementfactory.c: (gst_element_factory_create):
3806           Fix compile failure if compiling without libxml2 support (#149936).
3807
3808 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3809
3810         * docs/manual/advanced-autoplugging.xml:
3811         * docs/manual/highlevel-components.xml:
3812           Move spider from autoplugging to components. Autoplugging is for
3813           internals, not for solutions. ;-).
3814
3815 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3816
3817         * docs/random/ds/0.9-suggested-changes:
3818           Make note on device/location/uri property names.
3819
3820 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3821
3822         * docs/manual/advanced-autoplugging.xml:
3823         * docs/manual/advanced-clocks.xml:
3824         * docs/manual/advanced-interfaces.xml:
3825         * docs/manual/advanced-metadata.xml:
3826         * docs/manual/advanced-position.xml:
3827         * docs/manual/advanced-schedulers.xml:
3828         * docs/manual/advanced-threads.xml:
3829         * docs/manual/appendix-gnome.xml:
3830         * docs/manual/appendix-programs.xml:
3831         * docs/manual/appendix-quotes.xml:
3832         * docs/manual/autoplugging.xml:
3833         * docs/manual/basics-bins.xml:
3834         * docs/manual/basics-data.xml:
3835         * docs/manual/basics-elements.xml:
3836         * docs/manual/basics-helloworld.xml:
3837         * docs/manual/basics-init.xml:
3838         * docs/manual/basics-pads.xml:
3839         * docs/manual/basics-plugins.xml:
3840         * docs/manual/bins-api.xml:
3841         * docs/manual/bins.xml:
3842         * docs/manual/buffers-api.xml:
3843         * docs/manual/buffers.xml:
3844         * docs/manual/clocks.xml:
3845         * docs/manual/components.xml:
3846         * docs/manual/cothreads.xml:
3847         * docs/manual/debugging.xml:
3848         * docs/manual/dparams-app.xml:
3849         * docs/manual/dynamic.xml:
3850         * docs/manual/elements-api.xml:
3851         * docs/manual/elements.xml:
3852         * docs/manual/factories.xml:
3853         * docs/manual/gnome.xml:
3854         * docs/manual/goals.xml:
3855         * docs/manual/helloworld.xml:
3856         * docs/manual/helloworld2.xml:
3857         * docs/manual/highlevel-components.xml:
3858         * docs/manual/highlevel-xml.xml:
3859         * docs/manual/init-api.xml:
3860         * docs/manual/intro-basics.xml:
3861         * docs/manual/intro-motivation.xml:
3862         * docs/manual/intro-preface.xml:
3863         * docs/manual/intro.xml:
3864         * docs/manual/links-api.xml:
3865         * docs/manual/links.xml:
3866         * docs/manual/manual.xml:
3867         * docs/manual/motivation.xml:
3868         * docs/manual/pads-api.xml:
3869         * docs/manual/pads.xml:
3870         * docs/manual/plugins-api.xml:
3871         * docs/manual/plugins.xml:
3872         * docs/manual/programs.xml:
3873         * docs/manual/queues.xml:
3874         * docs/manual/quotes.xml:
3875         * docs/manual/schedulers.xml:
3876         * docs/manual/states-api.xml:
3877         * docs/manual/states.xml:
3878         * docs/manual/threads.xml:
3879         * docs/manual/typedetection.xml:
3880         * docs/manual/win32.xml:
3881         * docs/manual/xml.xml:
3882           Try 2. This time, include a short preface as a "general
3883           introduction", also add code blocks around all code samples
3884           so they get compiled. We still need a way to tell readers
3885           the filename of the code sample. In some cases, don't show
3886           all code in the documentation, but do include it in the generated
3887           code. This allows for focussing on specific bits in the docs,
3888           while still having a full test application available.
3889         * examples/manual/Makefile.am:
3890           Fix up examples for new ADM. Add several of the new examples that
3891           were either added or were missing from the build system.
3892         * examples/manual/extract.pl:
3893           Allow nameless blocks.
3894
3895 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3896
3897         * docs/manual/elements-api.xml:
3898         * docs/manual/helloworld.xml:
3899         * examples/manual/extract.pl:
3900           fix last example.  Add example of adding code blocks that are not
3901           shown in docbook output.
3902
3903 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3904
3905         * docs/manual/dynamic.xml:
3906         * docs/manual/elements-api.xml:
3907         * docs/manual/gnome.xml:
3908         * docs/manual/helloworld2.xml:
3909         * docs/manual/init-api.xml:
3910         * docs/manual/queues.xml:
3911         * docs/manual/threads.xml:
3912         * docs/manual/xml.xml:
3913         * examples/manual/extract.pl:
3914           Make it possible to extract example code from separate blocks.
3915           Should make Ronald happy.
3916
3917 2004-12-15  Wim Taymans  <wim@fluendo.com>
3918
3919         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
3920         (remove_from_group), (group_elements_set_visited),
3921         (normalize_group), (gst_opt_scheduler_iterate):
3922         Fix bug where a flag was not updated on a decoupled entry point 
3923         because we were just checking the group element list and decoupled
3924         elements are not in that list..
3925
3926 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3927
3928         * docs/manual/advanced-autoplugging.xml:
3929         * docs/manual/advanced-clocks.xml:
3930         * docs/manual/advanced-dparams.xml:
3931         * docs/manual/advanced-interfaces.xml:
3932         * docs/manual/advanced-metadata.xml:
3933         * docs/manual/advanced-position.xml:
3934         * docs/manual/advanced-schedulers.xml:
3935         * docs/manual/advanced-threads.xml:
3936         * docs/manual/appendix-debugging.xml:
3937         * docs/manual/appendix-gnome.xml:
3938         * docs/manual/appendix-programs.xml:
3939         * docs/manual/appendix-quotes.xml:
3940         * docs/manual/appendix-win32.xml:
3941         * docs/manual/autoplugging.xml:
3942         * docs/manual/basics-bins.xml:
3943         * docs/manual/basics-data.xml:
3944         * docs/manual/basics-elements.xml:
3945         * docs/manual/basics-helloworld.xml:
3946         * docs/manual/basics-init.xml:
3947         * docs/manual/basics-pads.xml:
3948         * docs/manual/basics-plugins.xml:
3949         * docs/manual/bins-api.xml:
3950         * docs/manual/bins.xml:
3951         * docs/manual/buffers-api.xml:
3952         * docs/manual/buffers.xml:
3953         * docs/manual/clocks.xml:
3954         * docs/manual/components.xml:
3955         * docs/manual/cothreads.xml:
3956         * docs/manual/debugging.xml:
3957         * docs/manual/dparams-app.xml:
3958         * docs/manual/dynamic.xml:
3959         * docs/manual/elements-api.xml:
3960         * docs/manual/elements.xml:
3961         * docs/manual/factories.xml:
3962         * docs/manual/gnome.xml:
3963         * docs/manual/goals.xml:
3964         * docs/manual/helloworld.xml:
3965         * docs/manual/helloworld2.xml:
3966         * docs/manual/highlevel-components.xml:
3967         * docs/manual/highlevel-xml.xml:
3968         * docs/manual/init-api.xml:
3969         * docs/manual/intro-motivation.xml:
3970         * docs/manual/intro-preface.xml:
3971         * docs/manual/intro.xml:
3972         * docs/manual/links-api.xml:
3973         * docs/manual/links.xml:
3974         * docs/manual/manual.xml:
3975         * docs/manual/motivation.xml:
3976         * docs/manual/pads-api.xml:
3977         * docs/manual/pads.xml:
3978         * docs/manual/plugins-api.xml:
3979         * docs/manual/plugins.xml:
3980         * docs/manual/programs.xml:
3981         * docs/manual/queues.xml:
3982         * docs/manual/quotes.xml:
3983         * docs/manual/schedulers.xml:
3984         * docs/manual/states-api.xml:
3985         * docs/manual/states.xml:
3986         * docs/manual/threads.xml:
3987         * docs/manual/typedetection.xml:
3988         * docs/manual/win32.xml:
3989         * docs/manual/xml.xml:
3990           First try at rewriting the ADM. Needs lotsamore work, but some
3991           parts might already be somewhat useful.
3992         * docs/pwg/advanced-interfaces.xml:
3993           Remove properties interface, it never actually existed (except for
3994           on my HD...).
3995
3996 2004-12-13  David Schleef  <ds@schleef.org>
3997
3998         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
3999         be NULL (bug #160220).
4000
4001 2004-12-13  David Schleef  <ds@schleef.org>
4002
4003         * configure.ac: remove all mmx stuff, because it's not used.
4004         * docs/random/ds/0.9-suggested-changes: additional notes
4005         * include/Makefile.am: we don't use these anymore
4006         * include/mmx.h: remove
4007         * include/sse.h: remove
4008
4009 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
4010
4011         * docs/random/mimetypes:
4012           Add FOURCC code for h264 codec (VSSH)
4013           Add alternate FOURCC codes for h263 related codecs
4014
4015 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
4016
4017         * docs/manual/programs.xml:
4018           Added more gst-launch examples.
4019
4020 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4021
4022         * gst/gstqueue.c: (gst_queue_handle_src_query):
4023           Check for availability again.
4024
4025 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4026
4027         * gst/gstcaps.c: (gst_caps_compare_structures):
4028           Simple caps go first. This has the nice side-effect of fixing an
4029           obscure warning.
4030
4031 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4032
4033         * gst/gstversion.h.in:
4034           Protect header.
4035
4036 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4037
4038         * gst/schedulers/gstoptimalscheduler.c:
4039         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
4040         (gst_opt_scheduler_get_wrapper):
4041           When we're recursing into a chain run, only run the directly
4042           related group, not all queued ones. This will fix a possible
4043           deadlock in chains with more than two groups.
4044
4045 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4046
4047         * autogen.sh:
4048           remove patch if autopoint fails
4049
4050 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4051
4052         * docs/gst/gstreamer-sections.txt:
4053           Document Thomas' addition, fix build, make Luis the sheriff happy.
4054
4055 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4056
4057         * gst/gstplugin.c:
4058         * gst/gstplugin.h:
4059           add accessor for version field
4060
4061 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4062
4063         submitted by: Luca Ferretti <elle.uca@infinito.it>
4064
4065         * po/LINGUAS:
4066         * po/it.po:
4067           New tranlation added: Italian
4068
4069 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4070
4071         * gst/gstpad.c: (gst_pad_is_negotiated),
4072         (gst_pad_get_negotiated_caps):
4073           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
4074           it doesn't actually check the contents), so be sure to hand it
4075           a RealPad else we'll crash.
4076
4077 2004-12-03  Wim Taymans  <wim@fluendo.com>
4078
4079         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4080         (gst_queue_link), (gst_queue_handle_src_query):
4081         Reverted to 1.110 until this makes the testsuite and various
4082         apps work.
4083
4084 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
4085
4086         * docs/upload.mak: fix included CVS conflict strings
4087
4088 2004-12-01  William Jon McCann  <mccann@jhu.edu>
4089
4090         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4091
4092         * gst/gstelement.c: (gst_element_error_full):
4093           Use g_error_new_literal because error text may have
4094           percentage signs in it. Fixes #160019.
4095
4096 2004-12-01  Benjamin Otte  <otte@gnome.org>
4097
4098         * gst/elements/gstbufferstore.c:
4099         (gst_buffer_store_add_buffer_func):
4100           don't try to make subbuffers bigger than they can be. (fixes
4101           #159970)
4102
4103 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4104
4105         * docs/gst/gstreamer-sections.txt:
4106         * docs/gst/tmpl/gstvalue.sgml:
4107           Add new function to docs to fix build.
4108
4109 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4110
4111         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
4112         * gst/gstpad.c: (_gst_pad_default_fixate_value),
4113         (_gst_pad_default_fixate_foreach):
4114         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
4115         * gst/gstvalue.h:
4116           Deprecate _type_is_fixed, use _value_is_fixed instead, since
4117           in some cases (arrays), the fixedness depends on the content.
4118         * gst/gstqueue.c: (gst_queue_handle_src_query):
4119           Check for availability before doing something.
4120
4121 2004-11-29  Wim Taymans  <wim@fluendo.com>
4122
4123         * testsuite/threads/Makefile.am:
4124         * testsuite/threads/signals.c: (gst_test_get_type),
4125         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
4126         (gst_test_set_property), (gst_test_get_property),
4127         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
4128         (gst_test_do_prop), (run_thread), (main):
4129         Added a bunch of testcases that show threadsafety bugs in glib.
4130
4131 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
4132
4133         * docs/manual/programs.xml:
4134           Added a first batch of gst-launch examples, as provided by Ronald
4135           and others from the devel-mlist
4136
4137 2004-11-28  Benjamin Otte  <otte@gnome.org>
4138
4139         * gst/gstelement.c: (gst_element_negotiate_pads):
4140           simplify
4141         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
4142         (gst_value_serialize_string), (gst_value_deserialize_string):
4143           add unwrapping of previously wrapped strings. Fix bug in wrapping
4144           while at it.
4145         * testsuite/caps/value_serialize.c: (test1),
4146         (test_string_serialization), (test_string_deserialization), (main):
4147           add tests for string (de)serialization
4148
4149 2004-11-26  Wim Taymans  <wim@fluendo.com>
4150
4151         * testsuite/threads/159566.c: (object_deep_notify), (main):
4152         * testsuite/threads/Makefile.am:
4153         Added testsuite to show bug #159566
4154
4155 2004-11-25  Wim Taymans  <wim@fluendo.com>
4156
4157         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
4158         (gst_thread_child_state_change), (gst_thread_main_loop):
4159         Ref the thread object in the GThread mainloop. Break out of the
4160         thread mainloop if it holds the last ref. This properly exits
4161         the threads when disposing the thread from its own context. It
4162         also avoids possible deadlocks in the dispose function.
4163
4164 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
4165
4166         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
4167         it is necessary to wait.
4168
4169 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4170
4171         * docs/pwg/building-boiler.xml:
4172           Make description somewhat clearer.
4173
4174 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4175
4176         * docs/upload.mak:
4177           Apparently docs changed location on FDO's server.
4178
4179 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4180
4181         * docs/pwg/appendix-checklist.xml:
4182           Add some random notes on things to check when writing an element.
4183           This list can be extended as people see fit.
4184
4185 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
4186
4187         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
4188         (gst_queue_link_src): Allow for renegotiating the caps of the sink
4189         pad. The queue will now wait until it is empty and forward the new
4190         caps to the source.
4191         * gst/gstbin.c (gst_bin_set_element_sched)
4192         (gst_bin_unset_element_sched): Make sure that all elements and
4193         links are registered and unregistered with the scheduler exactly
4194         once. This elaborates on a fix by Benjamin Otte, but
4195         guarantees that decoupled elements are also registered.
4196
4197 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4198
4199         * docs/manual/quotes.xml:
4200           add a quote
4201         * configure.ac:
4202         * gst/gst.c:
4203         * gst/gstinfo.c:
4204           add LIBDIR and move init message higher up so it's at the start
4205
4206 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
4207
4208         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
4209         * gstreamer.spec.in: add fair
4210
4211 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4212
4213         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4214         * gst/elements/gstidentity.c: (gst_identity_class_init):
4215           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
4216           <teuf@gnome.org> (#157263).
4217         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
4218         (gst_type_find_handle_src_query):
4219           Subtract size of internally stored data from position queries.
4220
4221 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
4222
4223         * gst/schedulers/fairscheduler.c:
4224         * gst/schedulers/faircothreads.c:
4225         * gst/schedulers/faircothreads.h:
4226         New cothread based scheduler: Fair scheduler.
4227         * gst/schedulers/gthread-cothreads.h: 
4228         Add the standard #if around the whole file.
4229         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
4230         compilation of the functions defined in this file. This is
4231         necessary to be able to use this file as a normal header.
4232         * gst/schedulers/Makefile.am: Add compiling support for fair
4233         scheduler.
4234         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
4235         scheduler cothreads layer from documentation generation.
4236
4237 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4238
4239         * gst/autoplug/gstspideridentity.c:
4240         (gst_spider_identity_sink_loop_type_finding):
4241           Don't crash if that function is not implemented.
4242
4243 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4244
4245         * docs/pwg/advanced-types.xml:
4246           Another typo.
4247
4248 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4249
4250         * docs/pwg/intro-preface.xml:
4251           Hm, ok, so the brackets weren't really useful...
4252         * docs/pwg/other-ntoone.xml:
4253           Fix embarassing typo.
4254
4255 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4256
4257         * docs/pwg/intro-preface.xml:
4258           Rewrite preface.
4259
4260 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4261
4262         * docs/pwg/advanced-scheduling.xml:
4263         * docs/pwg/advanced-tagging.xml:
4264         * docs/pwg/advanced-types.xml:
4265         * docs/pwg/building-boiler.xml:
4266         * docs/pwg/building-chainfn.xml:
4267         * docs/pwg/building-signals.xml:
4268         * docs/pwg/building-state.xml:
4269         * docs/pwg/building-testapp.xml:
4270         * docs/pwg/intro-basics.xml:
4271         * docs/pwg/other-manager.xml:
4272         * docs/pwg/other-source.xml:
4273           Typo fixes.
4274         * docs/pwg/other-manager.xml:
4275           Add some first content. No example code yet.
4276         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
4277           Remove double newlines.
4278
4279 2004-11-04  Wim Taymans  <wim@fluendo.com>
4280
4281         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4282         (remove_from_group), (normalize_group), (group_migrate_connected),
4283         (gst_opt_scheduler_iterate):
4284         * testsuite/schedulers/.cvsignore:
4285         * testsuite/schedulers/Makefile.am:
4286         * testsuite/schedulers/queue_link.c: (main):
4287         Added testcase for scheduler segfault.
4288         Fix scheduler segfault when removing a decoupled
4289         entry point as the last element from a group.
4290
4291 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4292
4293         * gst/gstmarshal.list: add missing marshaller, fixes build
4294
4295 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4296
4297         * docs/random/signal: added notes about using BOXED for GstBuffer
4298         signal marshallers, not POINTER
4299
4300 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4301
4302         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4303         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
4304         POINTER=>BOXED changes to marshal GstBuffers
4305
4306 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
4307
4308         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
4309         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
4310
4311 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
4312
4313         * docs/gst/gstreamer-sections.txt:
4314         * docs/gst/tmpl/gstcaps.sgml:
4315         * docs/gst/tmpl/gsterror.sgml:
4316         * docs/gst/tmpl/gstinfo.sgml:
4317         * docs/gst/tmpl/gstmacros.sgml:
4318         * docs/gst/tmpl/gstutils.sgml:
4319         * docs/random/ensonic/interfaces.txt:
4320         * gst/gstinfo.h:
4321           added some more docs, removed two obsolete defines
4322
4323 2004-11-02  Kjartan Maraas <as at gnome.org>
4324
4325         reviewed by: Wim Taymans, Ronald Bultje.
4326
4327         * gst/cothreads.c: (cothread_create):
4328         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4329         (gst_bin_child_state_change_func):
4330         * gst/gstbuffer.c: (gst_buffer_span):
4331         * gst/gstelement.c: (gst_element_get_index),
4332         (gst_element_get_event_masks), (gst_element_get_query_types),
4333         (gst_element_get_formats):
4334         * gst/gsterror.c: (_gst_core_errors_init),
4335         (_gst_library_errors_init), (_gst_resource_errors_init),
4336         (_gst_stream_errors_init):
4337         * gst/gstobject.c: (gst_object_default_deep_notify):
4338         * gst/gstpad.c: (gst_pad_get_event_masks),
4339         (gst_pad_get_internal_links_default):
4340         * gst/gstplugin.c: (gst_plugin_register_func),
4341         (gst_plugin_get_module):
4342         * gst/gststructure.c: (gst_structure_get_string),
4343         (gst_structure_get_abbrs), (gst_structure_from_abbr),
4344         (gst_structure_to_abbr):
4345         * gst/gstutils.c: (gst_print_element_args):
4346         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4347         (setup_group_scheduler), (gst_opt_scheduler_iterate):
4348         Aplied part of patch #157127: Cleanup of issues reported by 
4349         sparse.
4350         Also do not try to use cothreads when there is no cothread
4351         context yet.
4352
4353 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
4354
4355         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4356         (gst_opt_scheduler_iterate):
4357         Applied patch #154061. Running a pipeline in which an element 
4358         calls GST_ELEMENT_ERROR in the chain function, the opt 
4359         scheduler doesn't unref the chain so it never gets freed.
4360
4361 2004-11-02  Wim Taymans  <wim@fluendo.com>
4362
4363         * gst/gststructure.c: (gst_structure_get_abbrs),
4364         (gst_structure_from_abbr), (gst_structure_to_abbr):
4365         Remove that ugly if-then thing in the code that converts
4366         between strings and types.
4367
4368 2004-11-02  Wim Taymans  <wim@fluendo.com>
4369
4370         * gst/gstscheduler.c: (gst_scheduler_add_element),
4371         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
4372         Aplied clock distribution patch, this should fix bug
4373         #148787.
4374
4375 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
4376
4377         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
4378
4379         * po/LINGUAS:
4380         * po/nb.po:
4381           Added Norwegian Bokmaal translation
4382
4383 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4384
4385         * tools/gst-inspect.c: (print_signal_info):
4386           print signal arguments as pointers if they are
4387
4388 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
4389
4390         * docs/pwg/building-boiler.xml:
4391           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
4392
4393 2004-10-19  Wim Taymans  <wim at fluendo dot com>
4394
4395         * gst/parse/parse.l:
4396         * testsuite/parse/parse1.c: (main):
4397         Since parse can do 'element name=a:b' make 'a:b.' work as
4398         well. 
4399         Added testcase to verify fix.
4400
4401 2004-10-19  Wim Taymans  <wim at fluendo dot com>
4402
4403         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
4404         Use the realpad when printing the direction.
4405         Add extra \n when printing extensions of typefind factories.
4406
4407 2004-10-13  David Schleef  <ds@schleef.org>
4408
4409         * examples/manual/Makefile.am: $< isn't portable in Makefile
4410         rules.
4411
4412 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
4413
4414         * docs/gst/tmpl/gstobject.sgml:
4415         * docs/gst/tmpl/gstplugin.sgml:
4416         * docs/gst/tmpl/gstpluginfeature.sgml:
4417         * docs/gst/tmpl/gstregistry.sgml:
4418         * docs/gst/tmpl/gstversion.sgml:
4419         * gst/gstbin.c:
4420           more api documentation
4421         * gst/gstplugin.c: (gst_plugin_register_func),
4422         (gst_plugin_check_file), (gst_plugin_load_file):
4423           better error signaling and logging
4424
4425 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4426
4427         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
4428           Subtract current queue contents from position queries.
4429
4430 2004-10-11  Johan Dahlin  <johan@gnome.org>
4431
4432         * gst/gsturi.c (gst_uri_get_location): unescape string
4433         (gst_uri_construct): escape string.
4434
4435 2004-10-11  Benjamin Otte  <otte@gnome.org>
4436
4437         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
4438         (gst_pad_try_set_caps_nonfixed):
4439           allow renegotiation of unconnected pads (as inside spider). Simply
4440           return OK if unconnected - mimic try_set_caps there.
4441
4442 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4443
4444         * gst/gstbin.c: (gst_bin_sync_children_state):
4445           Add missing break.
4446
4447 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4448
4449         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
4450         Set element to EOS before sending EOS event
4451
4452 2004-10-08  Wim Taymans  <wim at fluendo dot com>
4453
4454         * gst/elements/gsttypefindelement.c:
4455         (gst_type_find_element_handle_event):
4456         Handle EOS events when doing the transition from
4457         typefind to data passing. This should fix the
4458         infinite loops in short files.
4459
4460 2004-10-07  Wim Taymans  <wim at fluendo dot com>
4461
4462         * gst/gstthread.c: (gst_thread_change_state),
4463         (gst_thread_child_state_change):
4464         Make sure no iteration happens while performing
4465         the state change as it could mess up the internal
4466         consistency of the thread state.
4467
4468 2004-10-07  Wim Taymans  <wim at fluendo dot com>
4469
4470         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
4471         (gst_thread_change_state), (gst_thread_child_state_change):
4472         Do not try to grab the iterate lock in the state change method
4473         when we are in the same thread as the iterate or else we
4474         could deadlock. Some other cleanups.
4475
4476 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4477
4478         * configure.ac:
4479           bump nano to cvs
4480
4481 === release 0.8.7 ===
4482
4483 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4484
4485         * configure.ac:
4486         * NEWS:
4487         * RELEASE:
4488         * configure.ac:
4489           releasing 0.8.7, "A Cruise"
4490
4491 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
4492
4493         * docs/random/mimetypes:
4494         Add an entry for Sony ATRAC3 audio format with mime-type
4495         used by rmdemux et riff-read
4496
4497 2004-10-06  Wim Taymans  <wim at fluendo dot com>
4498
4499         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4500         Push the buffer store instead of clearing it in case that
4501         the stream is not seekable.
4502
4503 2004-10-06  Wim Taymans  <wim at fluendo dot com>
4504
4505         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
4506         (gst_thread_main_loop):
4507         Lock the iteration and the state change so that automatic
4508         negotiation and fixation does not happen at the same time
4509         as the in stream negotiation.
4510
4511 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4512
4513         * configure.ac:
4514           bump nano to cvs
4515
4516 === release 0.8.6 ===
4517
4518 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4519
4520         * configure.ac:
4521         * NEWS:
4522         * RELEASE:
4523         * configure.ac:
4524           releasing 0.8.6, "Narc"
4525
4526 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4527
4528         * configure.ac:
4529           prerel bump
4530
4531 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4532
4533         patch by: Steve Lhomme
4534
4535         * gst/elements/gstfakesrc.c:
4536         * gst/elements/gstidentity.c:
4537         * gst/gstthread.c:
4538           Fix for #153881
4539
4540 2004-10-01  Wim Taymans  <wim at fluendo dot com>
4541
4542         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
4543         Fix threadsafety of the crc checking function.
4544
4545 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4546
4547         patch by: Ronald Bultje
4548
4549         * gst/elements/gsttypefindelement.c: (stop_typefinding),
4550         (gst_type_find_element_handle_event),
4551         (gst_type_find_element_chain):
4552         * gst/elements/gsttypefindelement.h:
4553          #153657.
4554          Filter out discont event from seekable sources when typefind
4555          asks them to seek.  Fixes typefind with demuxers for
4556          avi, asf and matroska.
4557
4558 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4559
4560         * docs/gst/gstreamer-sections.txt:
4561         * gst/gstcaps.c:
4562         * gst/gstcaps.h:
4563         * gst/gstpad.c:
4564           Revert preferred caps: (#147789)
4565
4566 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
4567
4568         * win32/dirent.c:
4569           fix a memory leak
4570
4571 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4572
4573         * configure.ac:
4574           bump for prerelease
4575
4576 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4577
4578         * docs/Makefile.am:
4579         * docs/manual/elements-api.xml:
4580           restructure so that common stuff is shown first
4581         * docs/manual/init-api.xml:
4582           convert to examples
4583         * docs/manual/manual.xml:
4584         * docs/manuals.mak:
4585         * docs/url.entities:
4586           link to API on the website, possibly override later in build
4587         * examples/manual/.cvsignore:
4588           ignore more
4589         * examples/manual/Makefile.am:
4590           add more examples
4591         * examples/manual/extract.pl:
4592           error out on failure
4593
4594 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4595
4596         * docs/gst/tmpl/gstthread.sgml:
4597         * docs/manual/init-api.xml:
4598         * examples/manual/Makefile.am:
4599           convert two code bits to examples
4600
4601 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4602
4603         * gst/gstelement.c: (gst_element_change_state):
4604           Well, actually, I was about to remove this insane assert when
4605           I noticed Wim already did that. A warning is nice so we can
4606           fix actual ugs (using --g-fatal-warnings and backtraces), so
4607           I added that instead.
4608
4609 2004-09-06  Wim Taymans  <wim@fluendo.com>
4610
4611         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
4612         (gst_element_threadsafe_properties_post_run),
4613         (gst_element_set_state), (gst_element_change_state):
4614         Added extra refcounting around various places. 
4615
4616 2004-09-06  Wim Taymans  <wim@fluendo.com>
4617
4618         * gst/gstpad.c: (gst_pad_link_call_link_functions):
4619         Fix debug info.
4620
4621 2004-09-06  Wim Taymans  <wim@fluendo.com>
4622
4623         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
4624         (remove_from_group):
4625         Some more debug info.
4626
4627 2004-09-03  Wim Taymans  <wim@fluendo.com>
4628
4629         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4630         (gst_fakesrc_init), (gst_fakesrc_set_clock),
4631         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4632         (gst_fakesrc_get), (gst_fakesrc_change_state):
4633         * gst/elements/gstfakesrc.h:
4634         * gst/elements/gstidentity.c: (gst_identity_class_init),
4635         (gst_identity_init), (gst_identity_chain),
4636         (gst_identity_set_property), (gst_identity_get_property),
4637         (gst_identity_change_state):
4638         * gst/elements/gstidentity.h:
4639         Added datarate properties to limit the datarate.
4640
4641 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4642
4643         * gst/autoplug/gstspider.c: (plugin_init):
4644           don't set a rank. We don't want to autoplug by inserting spiders.
4645
4646 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4647
4648         * gst/autoplug/gstspider.c: (gst_spider_class_init),
4649         (gst_spider_identity_plug):
4650           add a template for spider's sink
4651         * gst/gst.c: (gst_register_core_elements):
4652           queue's rank should be NULL, we don't want spider to add it.
4653
4654 2004-08-18  David Schleef  <ds@schleef.org>
4655
4656         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
4657         * docs/libs/Makefile.am: same
4658         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
4659         * docs/random/ds/0.9-planning: random additions
4660         * docs/random/ds/0.9-suggested-changes: same
4661         * gst/gstxml.h: remove vestigal GstXMLNs definition
4662
4663         Preferred caps: (#147789)
4664         * docs/gst/gstreamer-sections.txt: Add symbols
4665         * docs/gst/tmpl/gstcaps.sgml: Add symbols
4666         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
4667         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
4668         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
4669         (gst_caps_get_preferred), (gst_caps_set_preferred),
4670         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
4671         (gst_caps_use_preferred): Handle caps preferences
4672         * gst/gstcaps.h: Add caps preferences
4673         * gst/gstpad.c: (gst_pad_link_get_preferred),
4674         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
4675         (gst_pad_renegotiate), (gst_pad_guess_preferred),
4676         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
4677         negotiation.
4678
4679 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4680
4681         * gst/autoplug/gstspideridentity.c:
4682         (gst_spider_identity_request_new_pad):
4683         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
4684         (gst_aggregator_init):
4685         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
4686         (gst_fakesink_init):
4687         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
4688         (gst_fakesrc_init):
4689         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
4690         (gst_fdsink_init):
4691         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
4692         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
4693         (gst_filesink_init):
4694         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
4695         (gst_filesrc_init):
4696         * gst/elements/gstidentity.c: (gst_identity_base_init),
4697         (gst_identity_init):
4698         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
4699         (gst_multifilesrc_init):
4700         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
4701         (gst_pipefilter_init):
4702         * gst/elements/gststatistics.c: (gst_statistics_base_init),
4703         (gst_statistics_init):
4704         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
4705         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
4706           s/gst_pad_new/&_from_template/
4707           register pad templates in the base_init function
4708           add static pad template definitions
4709
4710 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4711
4712         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
4713         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
4714         * testsuite/refcounting/pad.c: (main):
4715         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
4716           s/gst_pad_new/&_from_template/
4717           prepare deprecation of gst_pad_new
4718
4719 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4720
4721         patch by: Luca Ognibene <skaboy81@virgilio.it>
4722
4723         * gst/gstcaps.c:
4724         * gst/gstelement.c:
4725         * gst/gstpad.c:
4726         * gst/gstxml.c:
4727           fix memleaks.  Fixes #150001
4728
4729 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4730
4731         * docs/random/ds/0.9-suggested-changes:
4732           add notes - mostly about pad templates
4733
4734 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
4735
4736         * win32/GStreamer.vcproj:
4737           temporary locale files are .gmo not .mo
4738
4739 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4740
4741         * configure.ac: bump nano to cvs
4742
4743 === release 0.8.5 ===
4744
4745 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4746
4747         * configure.ac:
4748           releasing 0.8.5, "Stuttgart"
4749         * NEWS:
4750         * RELEASE:
4751         * configure.ac:
4752         * docs/random/release:
4753           updates for release
4754
4755 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4756
4757         patch by: Wim Taymans (wim@fluendo.com)
4758
4759         * gst/gstbuffer.c:
4760         * gst/gstindex.h:
4761         * libs/gst/dataprotocol/dataprotocol.c:
4762           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
4763
4764 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4765
4766         * Makefile.am:
4767         * win32/MANIFEST:
4768           add win32 dir to the build.  Fixes #149981.
4769
4770 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4771
4772         * configure.ac:
4773           bump libtool versioning
4774         * gst/gststructure.c:
4775           mark function as static
4776         * po/af.po:
4777         * po/az.po:
4778         * po/ca.po:
4779         * po/cs.po:
4780         * po/en_GB.po:
4781         * po/fr.po:
4782         * po/nl.po:
4783         * po/sq.po:
4784         * po/sr.po:
4785         * po/sv.po:
4786         * po/tr.po:
4787         * po/uk.po:
4788           translations update
4789         * win32/README.txt:
4790           trademark protection
4791
4792 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4793
4794         * configure.ac:
4795           fix GST_ORIGIN
4796           set GST_PACKAGE to source, and distinguish between release and other
4797         * tools/gst-inspect.c:
4798           print out plugin an element factory is part of so we see this info
4799
4800 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4801
4802         * docs/gst/gstreamer-sections.txt:
4803         * docs/gst/tmpl/gstbuffer.sgml:
4804         * docs/gst/tmpl/gstschedulerfactory.sgml:
4805           reorder docs a little, make GstBuffer's more sensible.
4806         * gst/gstbuffer.h:
4807           API: added GST_BUFFER_FLAG_DELTA_UNIT
4808         * gst/gstscheduler.c:
4809           comment API addition
4810
4811 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4812
4813         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
4814           work with non-regular files that can be mmapped (like /dev/zero)
4815         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
4816           get rid of typefinds that require a seek when we can't seek instead
4817           of trying them over and over again
4818         * tools/gst-launch.c: (idle_func), (error_cb), (main):
4819           return non-zero failure value when the pipeline was interrupted or
4820           an error occurred
4821
4822 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4823
4824         * win32/config.h:
4825         * win32/GStreamer.vcproj:
4826           compile and install the locales
4827
4828 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4829
4830         * gst/gstvalue.c:
4831           fix a possible memory leak under Windows
4832
4833 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
4834
4835         * win32/GStreamer.vcproj:
4836           fix a memory leak that occured under Windows
4837         * win32/gstreamer.def:
4838           add gst_scheduler_register
4839
4840 2004-08-11  Benjamin Otte  <otte@gnome.org>
4841
4842         * docs/gst/gstreamer-sections.txt:
4843         * gst/gstscheduler.c: (gst_scheduler_register):
4844         * gst/gstscheduler.h:
4845           API:
4846           add gst_scheduler_register shortcut similar to gst_element_register
4847         * gst/schedulers/entryscheduler.c: (plugin_init):
4848         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
4849         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
4850           use it
4851
4852 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
4853
4854         * gst/gstvalue.h:
4855           fix a memory leak that occured under Windows
4856
4857 2004-08-10  Colin Walters  <walters@redhat.com>
4858
4859         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
4860         Don't use O_EXCL to open temporary registry.  It will prevent
4861         registry creation if a temporary one already exists, which
4862         is unnecessary.
4863
4864 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4865
4866         * docs/gst/gstreamer-sections.txt:
4867         * docs/gst/tmpl/gstvalue.sgml:
4868           remove some valuable stuff from the documentation due to the use of GST_EXPORT
4869
4870 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4871
4872         * win32/gstbytestream.vcproj:
4873         * win32/gstelements.vcproj:
4874         * win32/gstgetbits.vcproj:
4875         * win32/gst-inspect.vcproj:
4876         * win32/gst-launch.vcproj:
4877         * win32/gstoptimalscheduler.vcproj:
4878         * win32/GStreamer.vcproj:
4879         * win32/gst-register.vcproj:
4880         * win32/gstspider.vcproj:
4881           update the include and lib dirs to fit standard libraries as
4882           described in the Win32 manual
4883
4884 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4885
4886         * win32/config.h:
4887         * win32/gstversion.h:
4888           enable NLS again, push the version number for the coming 0.8.5 release
4889
4890 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
4891
4892         * gst/gstvalue.h:
4893           export gst_type_XXX for windows DLLs
4894
4895 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
4896
4897         * docs/faq/gst-uninstalled:
4898           fix PKG_CONFIG_PATH and PYTHONPATH
4899         * gst/schedulers/Makefile.am:
4900           cleanup
4901         * libs/gst/bytestream/bytestream.c:
4902           remove newline
4903         * po/LINGUAS:
4904         * po/sq.po:
4905           adding Albanian translation (Laurent Dhima)
4906         * po/cs.po:
4907           updated
4908
4909 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4910
4911         * po/ca.po:
4912         * po/sv.po:
4913           updated translations
4914
4915 2004-08-04  Benjamin Otte  <otte@gnome.org>
4916
4917         * tests/mass_elements.c: (main):
4918           allow specifying src and sink element explicitly, so I can test
4919           videotestsrc instead of fakesrc
4920
4921 2004-08-04  Benjamin Otte  <otte@gnome.org>
4922
4923         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
4924         (gst_structure_id_empty_new), (gst_structure_empty_new),
4925         (gst_structure_copy):
4926           add gst_structure_id_empty_new_with_size to allow preallocating
4927           value array sizes. Use this in gst_structure_copy to get rid of
4928           reallocs.
4929           don't do quark=>string=>quark when copying structures
4930
4931 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
4932
4933         * docs/manual/win32.xml:
4934         * win32/README.txt:
4935           update documentation with the clean version of dependencies
4936
4937 2004-08-03  Benjamin Otte  <otte@gnome.org>
4938
4939         * gst/schedulers/entryscheduler.c:
4940         (gst_entry_scheduler_remove_element):
4941           fix for GST_DISABLE_DEBUG
4942         * tools/gst-launch.c: (print_tag):
4943           fixes for G_DISABLE_ASSERT
4944
4945 2004-08-03  Benjamin Otte  <otte@gnome.org>
4946
4947         * gst/gst.c: (gst_register_core_elements):
4948           fix for G_DISABLE_ASSERT
4949         * gst/gstinfo.c: (__gst_in_valgrind):
4950           add for GST_DISABLE_DEBUG
4951
4952 2004-08-03  Benjamin Otte  <otte@gnome.org>
4953
4954         * gst/parse/parse.l:
4955           fix for G_DISABLE_ASSERT
4956
4957 2004-08-03  Wim Taymans  <wim@fluendo.com>
4958
4959         * gst/gstbin.c: (gst_bin_get_type),
4960         (gst_bin_child_state_change_func):
4961         * gst/gstthread.c: (gst_thread_change_state):
4962         Backported some debug logging from a reverted patch
4963         Don't try to destroy the thread twice. Added some more
4964         debugging in GstThread. Unlock and signal even if we
4965         are in the thread context.
4966
4967 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4968
4969         * po/uk.po:
4970           updated translation
4971
4972 2004-07-30  David Schleef  <ds@schleef.org>
4973
4974         * gst/gstatomic_impl.h: Enable atomic code for x86_64
4975
4976 2004-07-29  David Schleef  <ds@schleef.org>
4977
4978         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
4979         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
4980
4981 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4982
4983         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
4984         (gst_bin_add_func), (gst_bin_remove_func),
4985         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
4986         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
4987         (gst_bin_change_state_norecurse), (gst_bin_dispose),
4988         (gst_bin_sync_children_state):
4989         * gst/gstbin.h:
4990         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
4991         (gst_thread_change_state):
4992         * testsuite/states/Makefile.am:
4993           revert state change patches as agreed so we can rework them
4994           gradually
4995
4996 2004-07-29  Benjamin Otte  <otte@gnome.org>
4997
4998         * libs/gst/control/Makefile.am:
4999           link to libgstreamer (fixes Debian bug 262019, see
5000           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
5001
5002 2004-07-29  Wim Taymans  <wim@fluendo.com>
5003
5004         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
5005         (check_from_fraction_convert), (transform_test), (main):
5006         Make the test less pedantic about float roundoff errors.
5007
5008 2004-07-29  Benjamin Otte  <otte@gnome.org>
5009
5010         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
5011         (gst_filesrc_srcpad_event):
5012           make seek events to before start/after end of file not fail, but
5013           seek to start/end instead
5014         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
5015           add more output
5016
5017 2004-07-29  Benjamin Otte  <otte@gnome.org>
5018
5019         * gst/gstpad.c: (gst_pad_set_explicit_caps):
5020           check that caps are fixed
5021         * gst/gstpad.c: (gst_pad_template_new):
5022           don't try to simplify caps, costs too much time on gst_init
5023         * gst/gstplugin.c: (gst_plugin_add_feature):
5024           G_ERROR if features are added twice
5025         * gst/gsttypefind.c: (gst_type_find_register):
5026         * gst/gstelementfactory.c: (gst_element_register):
5027           don't add features twice
5028         * docs/random/ds/0.9-suggested-changes:
5029           add note about possible gst_init optimization
5030
5031 2004-07-28  David Schleef  <ds@schleef.org>
5032
5033         * testsuite/elements/Makefile.am:
5034         * testsuite/elements/struct_i386.h:
5035         * testsuite/elements/struct_size.c: (main):  A little test
5036         to keep distcheck from working if someone changes a structure
5037         size accidentally.
5038
5039 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5040
5041         * docs/libs/Makefile.am:
5042         * docs/libs/gstreamer-libs-docs.sgml:
5043         * docs/libs/gstreamer-libs-sections.txt:
5044         * docs/libs/tmpl/gstbytestream.sgml:
5045         * docs/libs/tmpl/gstcontrol.sgml:
5046         * docs/libs/tmpl/gstdataprotocol.sgml:
5047         * docs/libs/tmpl/gstgetbits.sgml:
5048         * libs/gst/bytestream/Makefile.am:
5049         * libs/gst/bytestream/bytestream.c:
5050         * libs/gst/bytestream/bytestream.h:
5051         * libs/gst/control/Makefile.am:
5052         * libs/gst/dataprotocol/Makefile.am:
5053         * libs/gst/getbits/Makefile.am:
5054         * libs/gst/getbits/getbits.h:
5055           various doc and style fixes, adding bytestream to libs docs.
5056
5057 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5058
5059         * docs/gst/gstreamer-docs.sgml:
5060         * docs/libs/Makefile.am:
5061         * docs/libs/gstreamer-libs-docs.sgml:
5062         * docs/libs/gstreamer-libs-sections.txt:
5063         * libs/gst/control/dparam.c:
5064           more doc fixes.  gst-libs docs now build the same way as gst.
5065
5066 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5067
5068         * configure.ac:
5069         * testsuite/Makefile.am:
5070         * testsuite/bins/Makefile.am:
5071         * testsuite/caps/Makefile.am:
5072         * testsuite/cleanup/Makefile.am:
5073         * testsuite/clock/Makefile.am:
5074         * testsuite/debug/Makefile.am:
5075         * testsuite/dlopen/Makefile.am:
5076         * testsuite/dynparams/Makefile.am:
5077         * testsuite/elements/.cvsignore:
5078         * testsuite/elements/Makefile.am:
5079         * testsuite/enumcaps/Makefile.am:
5080         * testsuite/enumcaps/enumcaps.c:
5081         * testsuite/ghostpads/Makefile.am:
5082         * testsuite/indexers/Makefile.am:
5083         * testsuite/negotiation/Makefile.am:
5084         * testsuite/parse/Makefile.am:
5085         * testsuite/plugin/Makefile.am:
5086         * testsuite/refcounting/Makefile.am:
5087         * testsuite/schedulers/.cvsignore:
5088         * testsuite/states/Makefile.am:
5089         * testsuite/tags/Makefile.am:
5090         * testsuite/threads/Makefile.am:
5091           fold enumcaps into caps dir
5092           clean up Makefile.am's for testsuite
5093
5094 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5095
5096         * docs/gst/Makefile.am:
5097         * docs/libs/Makefile.am:
5098           clean up docs build.  Fixes needless rebuilding of template files.
5099
5100 2004-07-28  Wim Taymans  <wim@fluendo.com>
5101
5102         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
5103         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
5104         Make sure that a bin state change tries to keep the children
5105         in sync. 
5106         Added debug logging to the thread.
5107
5108 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
5109
5110         * win32/GStreamer.vcproj:
5111         * win32/gstreamer.def:
5112           more exports for the plugins
5113
5114 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
5115
5116         * win32/gstgetbits.vcproj:
5117         * win32/gstgetbits.def:
5118         * win32/msvc71.sln:
5119           add support for the getbits plugin
5120
5121 2004-07-27  Wim Taymans  <wim@fluendo.com>
5122
5123         * gst/gstvalue.c: (gst_value_transform_double_fraction),
5124         (gst_value_transform_fraction_double), (_gst_value_initialize):
5125         * testsuite/caps/Makefile.am:
5126         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
5127         (check_from_fraction_convert), (transform_test), (main):
5128         Added transform functions between double and fraction.
5129         Added testcase to verify transforms
5130
5131 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5132
5133         * win32/GStreamer.vcproj:
5134           rename GStreamer-0.8.lib to libgstreamer.lib
5135
5136 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5137
5138         * win32/gstelements.vcproj:
5139         * win32/gstoptimalscheduler.vcproj:
5140           fixes for the Release build
5141
5142 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5143
5144         * win32/config.h:
5145           update the version number
5146
5147 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5148
5149         * win32/GStreamer.vcproj:
5150           add gstinterface to the build
5151
5152 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
5153
5154         * win32/gstreamer.def:
5155           add many definitions needed by plugins,
5156           GST_CAT_DEFAULT only available in the Debug build ?
5157
5158 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
5159
5160         * gst/gstelement.c: (gst_element_set_eos_recursive):
5161           various whitespace fixes.
5162           doc fix, fixes #148497
5163
5164 2004-07-25  Benjamin Otte  <otte@gnome.org>
5165
5166         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
5167           don't delay links on the sink elements, it causes unnegotiated
5168           links.
5169         * gst/elements/gsttypefindelement.c:
5170         (gst_type_find_element_base_init):
5171           add our padtemplates, we indeed do have some.
5172         * gst/elements/gsttypefindelement.c:
5173         (gst_type_find_element_handle_event),
5174         (gst_type_find_element_chain):
5175           don't push data when typefinding failed.
5176         * gst/gstpad.c: (gst_pad_link_fixate):
5177           check that no fixate function returns empty caps.
5178         * gst/gstpad.c: (gst_pad_push):
5179           check that the link is negotiated before data gets pushed.
5180         * tools/gst-register.c: (main):
5181           don't assert (fixes #148283)
5182
5183 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5184
5185         * docs/gst/gstreamer-sections.txt:
5186         * docs/gst/tmpl/gstconfig.sgml:
5187           add GST_PLUGIN_EXPORT definition
5188
5189 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5190
5191         * gst/gstplugin.h:
5192         * gst/gstconfig.h.in:
5193         * win32/gstconfig.h:
5194         * win32/gstelements.def:
5195         * win32/gstelements.vcproj:
5196         * win32/gstoptimalscheduler.def:
5197         * win32/gstoptimalscheduler.vcproj:
5198         * win32/gstspider.def:
5199         * win32/gstspider.vcproj:
5200           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
5201
5202 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5203
5204         * docs/gst/gstreamer-sections.txt:
5205           remove GST_CAT_DEFAULT because the type has changed
5206
5207 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5208
5209         * win32/gstbytestream.vcproj:
5210         * win32/gstelements.vcproj:
5211         * win32/gst-inspect.vcproj:
5212         * win32/gst-launch.vcproj:
5213         * win32/gstoptimalscheduler.vcproj:
5214         * win32/GStreamer.vcproj:
5215         * win32/gst-register.vcproj:
5216         * win32/gstspider.vcproj:
5217         * win32/msvc71.sln:
5218           Copy the files where needed after building, The testsuite will be
5219           built separately
5220
5221 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
5222
5223         * win32/config.h:
5224         * win32/README.txt:
5225         * docs/manual/win32.xml:
5226         Fixed the plugin and GStreamer location
5227
5228 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5229
5230         * win32/gstreamer.def:
5231         More exports for the plugins
5232
5233 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5234
5235         * gst/gstinfo.h:
5236         Marc was right, we need to export literally GST_CAT_DEFAULT
5237
5238 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5239
5240         * win32/config.h:
5241         NLS crashes in gettext, disabled until this is solved
5242
5243 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5244
5245         * win32/gst-inspect.vcproj:
5246         * win32/gst-launch.vcproj:
5247         Should use NLS when available
5248
5249 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5250
5251         * gst/registries/gstxmlregistry.c:
5252         removing the file doesn't seem to be a good idea on Linux
5253
5254 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
5255
5256         * gst/registries/gstxmlregistry.c:
5257         Remove the registry before renaming the tempfile (needed for Windows)
5258
5259 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5260
5261         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
5262         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
5263         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
5264         * gst/elements/gstmultifilesrc.h:
5265         Added newmedia property so it generates newmedia events between each
5266         file when property is set, as well as fixed eos handling
5267
5268 2004-07-22  David Schleef  <ds@schleef.org>
5269
5270         * gst/gststructure.c: (gst_structure_id_empty_new),
5271         (gst_structure_empty_new):  Set type field correctly.
5272         * gst/gststructure.h: Check type field correctly.
5273         * testsuite/caps/Makefile.am:
5274         * testsuite/caps/structure.c: (test1), (main): Add a very small
5275         test for structures.
5276
5277 2004-07-22  David Schleef  <ds@schleef.org>
5278
5279         * docs/random/ds/0.9-suggested-changes: more comments
5280         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
5281
5282 2004-07-22  Benjamin Otte  <otte@gnome.org>
5283
5284         * gst/gstelementfactory.c: (gst_element_register):
5285           set the factory in the class struct, so gst_element_get_factory
5286           actually works
5287         * gst/parse/grammar.y:
5288           set element to playing when it gets unlocked as we can't rely on the
5289           bin state - all elements in the bin state might still be locked in
5290           NULL)
5291
5292 2004-07-22  Benjamin Otte  <otte@gnome.org>
5293
5294         * gst/gstelement.c: (gst_element_set_state_func):
5295           make this a static function
5296
5297 2004-07-22  Wim Taymans  <wim@fluendo.com>
5298
5299         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
5300         (gst_opt_scheduler_pad_link):
5301         fix 147894-2 and the group_link problem.
5302
5303 2004-07-22  Wim Taymans  <wim@fluendo.com>
5304
5305         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
5306         (handoff_identity), (main):
5307         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5308         (handoff_identity), (main):
5309         * testsuite/schedulers/Makefile.am:
5310         * testsuite/schedulers/group_link.c: (main):
5311         Show bug in scheduler when linking chain and loop based element 
5312         where the chain based element was not yet in a group.
5313
5314 2004-07-21  Benjamin Otte  <otte@gnome.org>
5315
5316         * gst/.cvsignore:
5317         * gst/autoplug/.cvsignore:
5318         * gst/elements/.cvsignore:
5319         * gst/indexers/.cvsignore:
5320         * libs/gst/bytestream/.cvsignore:
5321         * libs/gst/control/.cvsignore:
5322         * libs/gst/getbits/.cvsignore:
5323         * testsuite/states/.cvsignore:
5324         * testsuite/threads/.cvsignore:
5325           keep this up to date, since I seem to be the only one who cares
5326           about not missing files on commits (editor's note: no you don't,
5327           but feel free to change them at the time you add stuff instead
5328           of later on)
5329
5330 2004-07-21  Benjamin Otte  <otte@gnome.org>
5331
5332         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
5333         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
5334         (gst_bin_child_state_change_func), (set_kid_state_func),
5335         (gst_bin_set_state), (gst_bin_change_state_norecurse):
5336           make state changes work correctly and reentrant (so removing
5337           elements from bins during state changes of bins doesn't cause
5338           segfaults or even wrong states)
5339           add debugging category and debugging output to print children states
5340         * gst/gstbin.c: (gst_bin_dispose): 
5341           add some assertion checks
5342         * gst/gstbin.h:
5343         * gst/gstbin.c: (gst_bin_sync_children_state):
5344           deprecate this function - it just does gst_bin_set_state (bin,
5345           GST_STATE (bin)) 
5346         * testsuite/threads/queue.c: (main):
5347           don't use gst_bin_sync_children_state anymore
5348         * testsuite/states/Makefile.am:
5349         * testsuite/states/bin.c:
5350           test that the state changes of bins work as expected
5351         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
5352           some adjustments to change states correctly, too
5353         * gst/gstthread.c: (gst_thread_change_state):
5354           don't enable/disable "threadsafe" properties, they're unused and
5355           cause random segfaults
5356         * testsuite/threads/Makefile.am:
5357           the queue check randomly passes now, ignore it
5358
5359 2004-07-21  Benjamin Otte  <otte@gnome.org>
5360
5361         * gst/gstpad.c:
5362           check if data is NULL before outputting debug info. (fixes #145100)
5363
5364 2004-07-21  Benjamin Otte  <otte@gnome.org>
5365
5366         * gst/schedulers/entryscheduler.c:
5367         (gst_entry_scheduler_loop_wrapper),
5368         (gst_entry_scheduler_chain_wrapper),
5369         (gst_entry_scheduler_get_wrapper):
5370           reset the state when the cothread starts, so we don't get assertion
5371           failures on restarting of cothreads
5372
5373 2004-07-20  Benjamin Otte  <otte@gnome.org>
5374
5375         * gst/gstelement.c: (gst_element_link_pads_filtered):
5376           use correct sinkpad, if only sinkpad is specified, but not srcpad
5377           (fixes #147889)
5378         * gst/gstelement.c: (gst_element_set_state_func),
5379         (gst_element_change_state): ref/unref the element, signal handlers
5380         could get rid of the element otherwise
5381
5382 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
5383
5384         * docs/random/ds/0.9-suggested-changes:
5385           Make note about renaming fixed-list to array.
5386         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
5387         (_gst_value_initialize):
5388           Add array intersections.
5389         * testsuite/caps/intersect2.c: (main):
5390           Add test for array intersections.
5391
5392 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5393
5394         * configure.ac: back to cvs
5395
5396 === release 0.8.4 ===
5397
5398 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5399
5400         * configure.ac:
5401           releasing 0.8.4, "Paella"
5402           bump libtool versioning
5403
5404 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5405
5406         * po/LINGUAS:
5407         * po/ca.po:
5408           adding Catalan translation (Jordi Mallach)
5409
5410 2004-07-20  Wim Taymans  <wim@fluendo.com>
5411
5412         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
5413         (handoff_identity), (main):
5414         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5415         (handoff_identity), (main):
5416         * testsuite/schedulers/Makefile.am:
5417         Added failing testcase for variant of #147894
5418
5419 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5420
5421         patch by: David Moore
5422
5423         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
5424         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
5425         (group_migrate_connected):
5426         * testsuite/schedulers/Makefile.am:
5427           fix for #142813 (Deadlock in optimal scheduler)
5428
5429 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5430
5431         patch by: Wim Taymans
5432
5433         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
5434         (gst_opt_scheduler_schedule_run_queue),
5435         (gst_opt_scheduler_get_wrapper), (get_group),
5436         (group_migrate_connected):
5437         * testsuite/schedulers/Makefile.am:
5438           fix for #147819 (Add some checks in the opt scheduler)
5439
5440 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5441
5442         patch by: Benjamin Otte
5443
5444         * gst/gstelementfactory.c: (__gst_element_details_set):
5445           fix for #147929: running gst-register in non-utf8 locale can cause
5446           invalid registry
5447
5448 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5449
5450         patch by: Wim Taymans
5451
5452         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
5453         (group_has_element), (element_get_reachables_func),
5454         (group_migrate_connected):
5455           fix for #147894 (opt scheduler decoupled elements mismanagement)
5456         * testsuite/schedulers/Makefile.am:
5457           testsuite app now passes
5458
5459 2004-07-19  Wim Taymans  <wim@fluendo.com>
5460
5461         * testsuite/schedulers/147819.c: (handoff_identity1),
5462         (handoff_identity2), (main):
5463         * testsuite/schedulers/Makefile.am:
5464         Added testcase for bug 147819
5465
5466 2004-07-19  Wim Taymans  <wim@fluendo.com>
5467
5468         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
5469         (handoff_identity), (main):
5470         * testsuite/schedulers/Makefile.am:
5471         Added testcase for bug 147894
5472
5473 2004-07-16  Wim Taymans  <wim@fluendo.com>
5474
5475         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
5476         * testsuite/schedulers/142183.c: (handoff_identity), (main):
5477         * testsuite/schedulers/Makefile.am:
5478         Added testsuite for bug 142183 in its two incarnations. Refcount
5479         is not increased for scheduled elements and threadsafe properties
5480         mutexes are not properly unlocked.
5481
5482 2004-07-16  Wim Taymans  <wim@fluendo.com>
5483
5484         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
5485         (create_chain), (destroy_chain), (create_group), (destroy_group),
5486         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
5487         (group_dec_link), (gst_opt_scheduler_pad_link),
5488         (group_inc_links_for_element), (group_migrate_connected):
5489         Call group_inc_link with the proper src->sink ordering -- 
5490         break this, and we break sort_chain. patch from wingo for bug
5491         147713.
5492         Partially revert patch 1.89. When adding a loop based element to 
5493         the scheduler, the links to other groups are automatically followed
5494         and incremented. This should not happen because the bin will call
5495         pad_link explicitly for those connection, resulting in them counted 
5496         twice. Results in assertion failure on pipeline cleanup.
5497
5498 2004-07-16  Wim Taymans  <wim@fluendo.com>
5499
5500         * testsuite/schedulers/143777-2.c: (main):
5501         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
5502         (main):
5503         * testsuite/schedulers/Makefile.am:
5504         Added cleanup code to testcase 143777-2.
5505         Added testcase to show bug 147713, does not really show the
5506         deadlock as I can't figure out how to trigger it, but it does
5507         demonstrate bad ordering in the scheduler.
5508
5509 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5510
5511         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5512           change strndup to g_strndup.  Fixes #147707
5513
5514 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5515
5516         * po/af.po:
5517         * po/az.po:
5518         * po/cs.po:
5519         * po/en_GB.po:
5520         * po/fr.po:
5521         * po/nl.po:
5522         * po/sr.po:
5523         * po/sv.po:
5524         * po/tr.po:
5525         * po/uk.po:
5526           updated translations
5527
5528 2004-07-16  Benjamin Otte  <otte@gnome.org>
5529
5530         * gst/gstvalue.c: (gst_greatest_common_divisor):
5531           use ints and return ints, fractions only use ints, too, so this
5532           avoids accidently casting multiplications to unsigned
5533         (gst_value_lcopy_fraction): it's ints, not uint32
5534         (gst_value_set_fraction): disallow minint, multiplying and negation
5535           are broken with it
5536         (gst_value_fraction_multiply): fix to make large numbers work and get
5537         rid of the assumption that the multiplication of two ints fits an
5538         int64 - dunno if that's true for all systems
5539         * testsuite/caps/Makefile.am:
5540         * testsuite/caps/fraction-multiply-and-zero.c:
5541         (check_multiplication), (check_equal), (zero_test), (main):
5542           add tests for all the stuff above
5543         * testsuite/caps/value_compare.c: (test1):
5544           fix comment
5545         * tests/.cvsignore:
5546         * testsuite/caps/.cvsignore:
5547         * testsuite/debug/.cvsignore:
5548         * testsuite/dlopen/.cvsignore:
5549         * testsuite/states/.cvsignore:
5550           get up to date
5551
5552 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5553
5554         * docs/manual/bins-api.xml:
5555         * docs/manual/factories.xml:
5556         * docs/manual/helloworld.xml:
5557         * docs/manual/links-api.xml: 
5558           fixes for out of date info, incorrect info and grammar
5559
5560 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5561
5562         * docs/manual/pads.xml:
5563         * docs/manual/pads-api.xml: grammar fix
5564
5565 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5566
5567         * docs/manual/pads-api.xml: typo + grammar fix
5568
5569 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5570
5571         * docs/gst/gstreamer-sections.txt:
5572           add new symbols
5573         * docs/gst/tmpl/gstelement.sgml:
5574         * docs/gst/tmpl/gstpad.sgml:
5575         * docs/gst/tmpl/gsttypes.sgml:
5576         * docs/gst/tmpl/gstvalue.sgml:
5577           update docs
5578         * gst/gststructure.c: (gst_structure_set_valist),
5579         (gst_structure_from_abbr), (gst_structure_to_abbr):
5580         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
5581         (gst_greatest_common_divisor), (gst_value_init_fraction),
5582         (gst_value_copy_fraction), (gst_value_collect_fraction),
5583         (gst_value_lcopy_fraction), (gst_value_set_fraction),
5584         (gst_value_get_fraction_numerator),
5585         (gst_value_get_fraction_denominator),
5586         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
5587         (gst_value_deserialize_fraction),
5588         (gst_value_transform_fraction_string),
5589         (gst_value_transform_string_fraction),
5590         (gst_value_compare_fraction), (_gst_value_initialize):
5591         * gst/gstvalue.h:
5592           adding GstFraction GValue type, get/set, and multiply
5593         * testsuite/caps/Makefile.am:
5594         * testsuite/caps/fraction.c: (test), (main):
5595         * testsuite/caps/string-conversions.c: (main):
5596         * testsuite/caps/value_compare.c: (test1), (main):
5597           add regression tests for GstFraction
5598
5599 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5600         
5601         * docs/manual/init-api.xml: Grammar fix
5602
5603 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5604
5605         * docs/manual/states.xml: Fix inconsistent information
5606
5607 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5608
5609         * gst/gstelement.c: (gst_element_set_state):
5610         * gst/gstpad.c: (gst_pad_try_set_caps):
5611         * gst/gststructure.c:
5612         * gst/gstthread.c: (gst_thread_child_state_change):
5613         * gst/gstvalue.c: (gst_value_compare_double):
5614         * gst/gstvalue.h:
5615         * testsuite/parse/parse1.c: (main):
5616           debugging additions and style cleanups
5617
5618 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5619
5620         * docs/manual/states.xml: Grammar fix
5621
5622 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5623
5624         * docs/manual/pads.xml: Grammar fix
5625
5626 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5627
5628         * docs/manual/elements.xml: Fixed image reference
5629
5630 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5631
5632         * docs/manual/goals.xml: Grammar fix
5633
5634 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5635
5636         * docs/manual/motivation.xml:
5637         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
5638
5639 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5640
5641         * docs/manual/motivation.xml: Fix spelling
5642
5643 2004-07-15  Benjamin Otte  <otte@gnome.org>
5644
5645         * gst/gstelement.h: 
5646           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
5647           strings.
5648         * gst/gstelement.c (gst_element_class_init):
5649           GError's are boxed, not objects
5650         * gst/gstmarshal.list:
5651           update list for the fixed error signal
5652
5653 2004-07-14  Andy Wingo  <wingo@pobox.com>
5654
5655         * gst/gsttag.c: Add a tag merge func for pointers. The header was
5656         there all along, but the function wasn't. (guile-gstreamer's build
5657         system uses the address of the function -- I wasn't actually
5658         trying to use this.)
5659
5660 2004-07-14  Andy Wingo  <wingo@pobox.com>
5661
5662         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
5663         as gst_pad_proxy_pad_link) just link to every other pad when they
5664         are called. In the case where the graph has cycles, this will mean
5665         that a call to try_set_caps will recurse. Allow this recursion
5666         and return OK, while we wait for the first try_set_caps to give a
5667         proper return value.
5668         (gst_pad_link_call_link_functions): Since this function is the
5669         only one to set the NEGOTIATING flag on a pad, if the flag is set
5670         it means that the link functions have indirectly recursed. If this
5671         happens, error out to avoid infinite recursion and an eventual
5672         SEGV.
5673         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
5674         (gst_pad_proxy_getcaps): Intersect the result with the template
5675         caps to ensure that the return value is valid.
5676
5677 2004-07-14  Andy Wingo  <wingo@pobox.com>
5678
5679         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
5680         one refcount, the calling function is the owner of the buffer.
5681
5682 2004-07-14  Wim Taymans  <wim@fluendo.com>
5683
5684         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
5685         (gst_opt_scheduler_pad_link), (group_migrate_connected):
5686         Fix stupid warning when an element is to be migrated but
5687         is already migrated.
5688
5689 2004-07-14  Wim Taymans  <wim@fluendo.com>
5690
5691         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
5692         (gst_opt_scheduler_pad_link), (group_migrate_connected):
5693         Make sure that a single non-loop-based element does not 
5694         end up in a group. This fixes the testsuite again.
5695
5696 2004-07-14  Wim Taymans  <wim@fluendo.com>
5697
5698         * gst/schedulers/gstoptimalscheduler.c: (create_group),
5699         (add_to_group), (merge_groups), (schedule_group),
5700         (gst_opt_scheduler_get_wrapper), (group_elements),
5701         (group_dec_link), (gst_opt_scheduler_pad_link),
5702         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
5703         (gst_opt_scheduler_iterate):
5704         move isolated groups to a new chain.
5705         Emit a warning instead of segfaulting in some error cases.
5706         Fix a bug where the link count between groups was not calculated 
5707         correctly. Fixes #144510.
5708
5709 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
5710         * gst/elements/gstfilesrc.c:
5711           Binary files support under Windows now OK
5712       
5713 2004-07-13  Benjamin Otte  <otte@gnome.org>
5714
5715           compatibility fixes for Solaris 8/gcc 2.95
5716         * configure.ac:
5717           include libintl libs in LDFLAGS
5718         * gstvalue.c (gst_value_deserialize_buffer):
5719           cast isxdigit stuff to int to silence compiler warning
5720
5721 2004-07-12  Benjamin Otte  <otte@gnome.org>
5722
5723         * gst/gsttypes.h:
5724           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
5725           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
5726           just causes support madness
5727         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
5728           make it work without this
5729         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
5730         (gst_file_index_commit):
5731           glib IO channels don't want binary mode
5732         * testsuite/bytestream/filepadsink.c: (main):
5733         * testsuite/bytestream/test1.c: (read_param_file):
5734           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
5735
5736 2004-07-12  Benjamin Otte  <otte@gnome.org>
5737
5738         * gst/gstelement.c: (gst_element_class_init),
5739         (gst_element_set_state), (gst_element_set_state_func):
5740           virutalize gst_element_set_state, use set_state member in class
5741           struct that was already added in 0.7 for this.
5742         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
5743         (gst_bin_change_state):
5744           make gst_bin_foreach works similar to other foreach functions, plug
5745           memleaks in it. Make functions using it work with the new approach.
5746           Document gst_bin_foreach, so it can be exported if we want to
5747         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
5748           use virtualized set_state to make set_state on bins set the state of
5749           all its children.
5750
5751 2004-07-12  Benjamin Otte  <otte@gnome.org>
5752
5753         * configure.ac:
5754           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
5755           http://bugs.gentoo.org/show_bug.cgi?id=53967)
5756         * gst/gstpad.c: (gst_pad_alloc_buffer):
5757           allow buffer_alloc functions to return NULL and allocate a normal
5758           buffer in that case
5759
5760 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5761         * gst/elements/gstfilesink.c:
5762         * gst/elements/gstfilesrc.c:
5763         * gst/indexers/gstfileindex.c:
5764         * gst/gsttypes.h:
5765         * testsuite/bytestream/filepadsink.c:
5766         * testsuite/bytestream/test1.c:
5767           Handle binary files under Windows
5768
5769 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5770         * docs/manual/win32.xml:
5771         * win32/config.h:
5772         * win32/gst-register.vcproj:
5773         * win32/gstreamer.def:
5774           Update to another gettext public build
5775
5776 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
5777         * gst/gstplugin.c:
5778           Fix an impossible C syntax
5779         * win32/config.h:
5780           Disable i18n under Windows for the moment
5781         * win32/gst-register.vcproj:
5782           Use this configuration
5783
5784 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
5785         * docs/manual/quotes.xml:
5786           Keep the quotes file alive
5787         * docs/random/ds/0.9-suggested-changes:
5788           Add the suggestion of including a 'rowstride' as part of video
5789           format caps
5790
5791 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5792
5793         * gst/gstelement.c: (gst_element_set_state),
5794         (gst_element_change_state):
5795           d'oh.  Set PENDING state correctly before forcing bin to change.
5796         * gst/gststructure.c: (gst_structure_value_get_generic_type),
5797         (gst_structure_parse_fixed_list):
5798         * gst/schedulers/gstoptimalscheduler.c:
5799         (gst_opt_scheduler_state_transition):
5800         * testsuite/states/parent.c: (main):
5801           remove comment now that it's fixed.
5802
5803 2004-07-11  Benjamin Otte  <otte@gnome.org>
5804
5805         * gst/gstclock.h:
5806           GST_SECOND shouldn't cause a conversion to unsigned.
5807         * testsuite/clock/.cvsignore:
5808         * testsuite/clock/Makefile.am:
5809         * testsuite/clock/signedness.c: (main):
5810           make sure it never will again
5811
5812 2004-07-11  Andy Wingo  <wingo@pobox.com>
5813
5814         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
5815         whose state is higher than the bin state, raise the bin state to
5816         ensure that bin state := highest child state.
5817         
5818 2004-07-11  Andy Wingo  <wingo@pobox.com>
5819
5820         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
5821         procedure on the children of a bin. Assumes that the procedure can
5822         change the set of children.
5823         (set_kid_state_func): New static function.
5824         (gst_bin_change_state): Use gst_bin_foreach to call
5825         set_kid_state_func. Fixes a bug: if a child had a state-change
5826         handler that removes it from the bin, there would be a segfault.
5827         Hopefully it should also work in the case where the state-change
5828         handler on one child adds or removes other children. In any case,
5829         fixes should go to gst_bin_foreach.
5830
5831 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5832
5833         * gst/gstelement.c: (gst_element_set_state):
5834           compatibility fix for latest plugins release.  Change loop back
5835           to while {}
5836
5837 2004-07-09  Wim Taymans  <wim@fluendo.com>
5838
5839         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
5840         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
5841         (gst_thread_main_loop):
5842         Since remove is virtual in GstBin we must not assume the 
5843         elements GList to have anothing useful.
5844         Add some more logging to GstThread and be a bit more paranoid
5845         when resetting the scheduler.
5846         Set the state of the bin to NULL before removing the children.
5847
5848 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5849
5850         * testsuite/threads/Makefile.am:
5851         * testsuite/threads/threadg.c:
5852           added test to check if problem when removing all elements from a
5853           GstThread before setting GstThread state to NULL
5854
5855 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5856
5857         * docs/gst/tmpl/gstelement.sgml:
5858         * docs/gst/tmpl/gsttypes.sgml:
5859         * gst/gstbin.c: (gst_bin_change_state):
5860         * gst/gstelement.c: (gst_element_set_state),
5861         (gst_element_change_state):
5862           rework so that for bins we try to set the state on all children
5863           as well even if the bin is in the correct state already.
5864           change while to do so at least one iteration is done.
5865           For regular elements, we fall back to the previous behaviour for
5866           now since we first need a new plugins release.
5867         * testsuite/states/parent.c: (main):
5868           test for this case
5869           Fixes #123774
5870
5871 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5872
5873         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
5874         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
5875         (gst_queue_release_locks), (gst_queue_change_state),
5876         (gst_queue_set_property):
5877           add proper lock debugging.  Change dispose to finalize, since
5878           we're freeing mutexes and other stuff which should happen only once.
5879
5880 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5881
5882         * docs/gst/tmpl/gstelement.sgml:
5883         * docs/gst/tmpl/gstplugin.sgml:
5884         * docs/gst/tmpl/gsttypes.sgml:
5885         * docs/pwg/building-state.xml:
5886         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
5887         * gst/gstelement.c: (gst_element_change_state):
5888         * gst/gstthread.c: (gst_thread_change_state):
5889           catch wrong state changes in element base class.
5890
5891 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5892
5893         * gst/gstinfo.h:
5894           clean up layout a little.
5895
5896 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5897
5898         * configure.ac:
5899         * testsuite/Makefile.am:
5900         * testsuite/states/Makefile.am:
5901         * testsuite/states/parent.c: (main):
5902           re-enable states testsuite dir.  Add test for state changes and
5903           parent behaviour
5904
5905 2004-07-09  Wim Taymans  <wim@fluendo.com>
5906
5907         * gst/schedulers/gstoptimalscheduler.c:
5908         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
5909         (element_get_reachables_func), (element_get_reachables),
5910         (debug_element), (rechain_group), (group_migrate_connected),
5911         (gst_opt_scheduler_pad_unlink):
5912         Do not try to migrate decoupled elements to a new group since
5913         they are not added to groups.
5914
5915 2004-07-08  Benjamin Otte  <otte@gnome.org>
5916
5917         * gst/gstelement.c: (gst_element_error_func):
5918           make reentrant (= allow removing elements in error handler)
5919
5920 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5921
5922         * gst/gstpad.c: (gst_pad_event_default_dispatch),
5923         (gst_pad_send_event), (gst_pad_call_chain_function):
5924           events sent to elements below PAUSED cannot be handled, so
5925           don't try to
5926
5927 2004-07-08  Wim Taymans  <wim@fluendo.com>
5928
5929         * gst/schedulers/gstoptimalscheduler.c:
5930         (chain_recursively_migrate_group), (create_group),
5931         (schedule_group), (gst_opt_scheduler_pad_link),
5932         (group_elements_set_visited), (element_get_reachables_func),
5933         (element_get_reachables), (group_can_reach_group), (debug_element),
5934         (rechain_group), (group_migrate_connected),
5935         (gst_opt_scheduler_pad_unlink):
5936         * testsuite/schedulers/Makefile.am:
5937         Implemented group splitting and rechaining.
5938         Fixes 143777 and 143777-2 in the testsuite.
5939
5940 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5941
5942         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
5943           extra debugging
5944         * gst/gstevent.h:
5945         * gst/gstinfo.c: (gst_debug_log_default):
5946           print time nicely.  add thread pointer until someone figures out
5947           a completely portable way of getting at thread id's.
5948         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
5949         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
5950         (gst_pad_call_chain_function):
5951           extra debugging
5952         * gst/schedulers/gstoptimalscheduler.c:
5953         (get_group_schedule_function), (loop_group_schedule_function),
5954         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
5955         (pad_clear_queued), (gst_opt_scheduler_iterate):
5956           rename BUFPEN and friends to DATAPEN since that's what they are.
5957
5958 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5959
5960         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
5961         * gst/gstbuffer.h:
5962         * gst/gstpad.c:
5963           cleanups and debugging
5964
5965 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
5966
5967         * configure.ac:
5968         * gst/gstvalue.c: (gst_value_compare_enum),
5969         (gst_value_serialize_enum), (gst_value_deserialize_enum),
5970         (gst_value_can_compare), (gst_value_compare):
5971         * testsuite/Makefile.am:
5972         * testsuite/enumcaps/Makefile.am:
5973         * testsuite/enumcaps/enumcaps.c:
5974           Fix enum serialization, deserialization, comparison in caps, add
5975           a test to ensure that this continues working in the future.
5976
5977 2004-07-06  David Schleef  <ds@schleef.org>
5978
5979         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
5980         Fix memleak.
5981
5982 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5983
5984         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
5985         * gst/gstplugin.h:
5986         * gst/registries/gstxmlregistry.c:
5987         (plugin_times_older_than_recurse), (plugin_times_older_than),
5988         (gst_xml_registry_parse_padtemplate):
5989           only rebuild registry when actual plugins have a newer time than
5990           the registry.  Fixes #145520
5991
5992 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5993
5994         * docs/manual/manual.xml:
5995         * docs/manual/win32.xml:
5996           add chapter on win32 building.  fixes #142422
5997
5998 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5999
6000         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
6001
6002         * gst/autoplug/gstspider.c: (gst_spider_init),
6003         (gst_spider_dispose):
6004           fix spider memleaks.  fixes #137863
6005
6006 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6007
6008         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
6009
6010         * gst/schedulers/gstoptimalscheduler.c:
6011         (gst_opt_scheduler_pad_unlink):
6012           fix SIGBUS error, fixes #145338
6013
6014 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6015
6016         * gst/gstobject.c: (gst_object_replace):
6017         * gst/gstscheduler.c: (gst_scheduler_get_clock):
6018         * gst/gstsystemclock.c: (gst_system_clock_obtain):
6019           clean up clock lifecycle.  Fixes #109831
6020
6021 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6022
6023         * po/LINGUAS:
6024         * po/cs.po:
6025           added Czech translation (Miloslav Trmac)
6026
6027 2004-07-04  David Schleef  <ds@schleef.org>
6028
6029         * tools/Makefile.am:
6030         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
6031
6032 2004-07-04  David Schleef  <ds@schleef.org>
6033
6034         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
6035
6036 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6037
6038         * gst/gstbin.c: (gst_bin_restore_thyself):
6039           chain to parent restore so the bins get restored correctly
6040           in the editor
6041
6042 2004-07-03  David Schleef  <ds@schleef.org>
6043
6044         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
6045         Actually do something in these functions, like before the big
6046         caps change.  (bug #145137)
6047
6048 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6049
6050         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
6051         (gst_element_get_compatible_pad_filtered):
6052         * gst/gstthread.c: (gst_thread_main_loop):
6053           more debugging
6054
6055 2004-07-02  David Schleef  <ds@schleef.org>
6056
6057         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
6058         * gst/gstobject.h:
6059         * gst/gstparse.h:
6060         * gst/gsttrace.h:
6061         * gst/gstxml.h:
6062
6063 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6064
6065         * gst/gstpad.c: (gst_pad_check_schedulers),
6066         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
6067         (gst_pad_link_prepare):
6068           revert until testsuite is fixed
6069
6070 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6071
6072         * testsuite/Makefile.am:
6073         * testsuite/caps/filtercaps.c: (main):
6074         * testsuite/clock/clock1.c: (main):
6075         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
6076           fix some more tests
6077
6078 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6079
6080         * testsuite/cleanup/cleanup1.c: (create_pipeline):
6081         * testsuite/cleanup/cleanup2.c: (create_pipeline):
6082         * testsuite/cleanup/cleanup4.c: (main):
6083           fix testsuite
6084
6085 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6086
6087         * libs/gst/control/control.c:
6088         * libs/gst/control/dparam.c:
6089         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
6090         * libs/gst/control/dparammanager.c:
6091         * libs/gst/control/dparammanager.h:
6092         * testsuite/dynparams/Makefile.am:
6093         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
6094         (gst_dptest_change_state), (gst_dptest_chain), (main):
6095           fix testcase for dparams
6096           add debugging category
6097
6098 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6099
6100         * testsuite/Rules:
6101           change path
6102
6103 2004-07-02  Benjamin Otte  <otte@gnome.org>
6104
6105         * tests/.cvsignore:
6106         * tests/Makefile.am:
6107         * tests/mass_elements.c: (gst_get_current_time), (main):
6108           add simple benchmark to test various speeds of fakesrc ! identity !
6109           identity ! ... ! fakesink.
6110           Usage: mass_elements [num_identities] [num_buffers]
6111           If not specified they default to 1000.
6112
6113 2004-07-02  Benjamin Otte  <otte@gnome.org>
6114
6115         * gst/gstpad.c: (gst_pad_check_schedulers),
6116         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
6117         (gst_pad_link_prepare):
6118           check that pads that get linked belong to the same manager. The old
6119           code allowed linking elements before putting them into bins, so it
6120           worked to link them and then put them in different threads, which
6121           lead to weird behaviour.
6122           Since this effectively disallows linking elements before putting
6123           them in a bin, some applications might not work after this and error
6124           out. If these applications are too critical, we might need to revert
6125           that patch. Please test this before the next release...
6126
6127 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6128
6129         * gst/gstpad.c: (gst_pad_get_caps):
6130           throw an error if the getcaps function does not return a subset of
6131           the template caps.
6132         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
6133           make disconts without position info an error in debugging
6134         * tests/spidey_bench.c: (handoff), (main):
6135           don't count first try when averaging
6136
6137 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6138
6139         * gst/gstplugin.c: (gst_plugin_load_file):
6140           figure out problem with dynamic test
6141
6142 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6143
6144         * docs/gst/Makefile.am:
6145           fix docs build
6146
6147 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6148
6149         * po/POTFILES.in:
6150         * po/af.po:
6151         * po/az.po:
6152         * po/en_GB.po:
6153         * po/fr.po:
6154         * po/nl.po:
6155         * po/sr.po:
6156         * po/sv.po:
6157         * po/tr.po:
6158         * po/uk.po:
6159         * tools/gst-register.c: (plugin_added_func), (main):
6160           i18n-ize -register, fix plural
6161
6162 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6163
6164         * gst/elements/gstidentity.c: (gst_identity_class_init),
6165         (gst_identity_init), (gst_identity_chain),
6166         (gst_identity_set_property), (gst_identity_get_property):
6167         * gst/elements/gstidentity.h:
6168           check for perfect stream
6169
6170 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6171
6172         * gst/elements/gstidentity.c: (gst_identity_chain):
6173           print offset_end
6174
6175 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6176
6177         * docs/gst/Makefile.am:
6178         * docs/gst/gstreamer-docs.sgml:
6179           doc fixes
6180
6181 2004-06-24  David Schleef  <ds@schleef.org>
6182
6183         * autogen.sh:  Remove call to env, since the buildbot isn't
6184         broken anymore.
6185
6186 2004-06-24  Wim Taymans  <wim@fluendo.com>
6187
6188         * gst/elements/Makefile.am:
6189         * gst/elements/gstelements.c:
6190         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
6191         (gst_multifdsink_class_init), (gst_multifdsink_init),
6192         (gst_multifdsink_add), (gst_multifdsink_remove),
6193         (gst_multifdsink_clear), (gst_multifdsink_chain),
6194         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
6195         * gst/elements/gstmultifdsink.h:
6196         Added an element that writes to multiple filedescriptors at once.
6197
6198 2004-06-24  Benjamin Otte  <otte@gnome.org>
6199
6200         * gst/parse/grammar.y:
6201           don't try to link elements before they have been added to bins
6202
6203 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6204
6205         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
6206         (gst_file_pad_get_length):
6207         * libs/gst/bytestream/filepad.h:
6208           add 2 new functions
6209
6210 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6211
6212         * docs/gst/gstreamer-sections.txt:
6213         remove from docs, the define that Benjamin removed from gstelement.h
6214
6215 2004-06-22  Benjamin Otte  <otte@gnome.org>
6216
6217         * gst/gstelement.h:
6218           remove define that referenced a nonexisting GstElement struct member
6219
6220 2004-06-20  Benjamin Otte  <otte@gnome.org>
6221
6222         * gst/gstdata.c: (gst_data_is_writable):
6223           whoops, return values were wrong, so writable data was marked as
6224           non-writable and vice versa. (fixes #143953, spotted by Francis
6225           Labonte)
6226           Shows how rarely we need to copy data ;)
6227
6228 2004-06-20  Benjamin Otte  <otte@gnome.org>
6229
6230         * testsuite/schedulers/.cvsignore:
6231         * testsuite/schedulers/Makefile.am:
6232         * testsuite/schedulers/143777-2.c: (main):
6233           add test for opt breakage in bug #143777
6234
6235 2004-06-20  Benjamin Otte  <otte@gnome.org>
6236
6237         * gst/gstpad.c: (gst_pad_call_chain_function):
6238           check for if we were unlinked while inside the chainfunction (fixes
6239           entrygthread having issues with #143777)
6240         * testsuite/schedulers/143777.c: (main):
6241         * testsuite/schedulers/Makefile.am:
6242           add a test for that fix
6243
6244 2004-06-20  Benjamin Otte  <otte@gnome.org>
6245
6246         * gst/gstvalue.c: (gst_value_set_int_range):
6247           test that start is smaller then end
6248         * libs/gst/bytestream/Makefile.am:
6249         * libs/gst/bytestream/filepad.c: 
6250         * libs/gst/bytestream/filepad.h:
6251           add GstFilePad - a pad that behaves like a FILE*
6252         * testsuite/bytestream/.cvsignore:
6253         * testsuite/bytestream/Makefile.am:
6254         * testsuite/bytestream/filepadsink.c: 
6255           test for the GstFilePad
6256
6257 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6258
6259         * gst/elements/gstidentity.c: (gst_identity_class_init),
6260         (gst_identity_init), (gst_identity_set_clock),
6261         (gst_identity_chain), (gst_identity_set_property),
6262         (gst_identity_get_property):
6263         * gst/elements/gstidentity.h:
6264         * gst/gstclock.c: (gst_clock_id_wait):
6265           add a "sync" property to sync to the clock
6266
6267 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6268
6269         * gst/gstelementfactory.c: (gst_element_factory_create):
6270           make the freakin "elementfactory bla has no type" message more
6271           useful. So we actually can do something when someone shows up
6272           complaining about it.
6273
6274 2004-06-15  Johan Dahlin  <johan@gnome.org>
6275
6276         * tools/gst-inspect.c (main): Fallback to plugin if no element is
6277         found. This matches the old behavior better. Thanks to Thomas for
6278         pointing out.
6279
6280 2004-06-14  David Schleef  <ds@schleef.org>
6281
6282         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
6283         -fomit-frame-pointer.  Appears to generate correct code in
6284         other cases as well.
6285
6286 2004-06-14  Johan Dahlin  <johan@gnome.org>
6287
6288         * tools/gst-inspect.c (main): Add two new command line options: -a
6289         to print all elements and -n to print the name on each line. Also
6290         fix some error reporting.
6291         (main): Simplify, remove -n and always print names if -a is specified
6292
6293 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
6294
6295         * win32/gstconfig.h:
6296         * win32/GSTreamer.vcproj:
6297         * win32/Makefile:
6298         * gst/gstconfig.h.in:
6299         * gst/gst.h:
6300         * gst/gstbin.h:
6301         * gst/gstelement.h:
6302         * gst/gstevent.h:
6303         * gst/gstobject.h:
6304         * gst/gstpad.h:
6305         * docs/gst/gstreamer-sections.txt:
6306         * docs/gst/tmpl/gstconfig.sgml:
6307           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
6308
6309 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6310         * docs/gst/gstreamer-sections.txt:
6311         * docs/gst/tmpl/gstconfig.sgml:
6312         Add the GSTREAMER_EXPORT macro to the docs
6313
6314 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6315
6316         * tools/gst-compprep.c: (handle_xmlerror), (main):
6317         Add a check for the version that introduced SetStructuredError to fix
6318         the build on FC1
6319
6320 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6321
6322         * win32/msvc71.sln:
6323         * win32/testsuite/:
6324           prepare to compile the testsuite with MSVC
6325
6326 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6327
6328         * docs/manual/win32.xml:
6329           attempt to transform the Win32 README into an XML doc
6330
6331 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6332
6333         * gst/gst.c:
6334         * gst/gstbin.*:
6335         * gst/config.h.in:
6336         * gst/gstelement.*:
6337         * gst/gstevent.h:
6338         * gst/gstobject.*:
6339         * gst/gstpad.h:
6340         * tools/gst-register.c:
6341         * win32/gstreamer.def:
6342           extern symbols are now exported for the Windows DLL
6343
6344 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6345
6346         * gst/gstinfo.h:
6347           fix a problem to enable/disable DEBUG under MSVC
6348
6349 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6350
6351         * win32/:
6352           enable more debug code in DEBUG build
6353
6354 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
6355
6356         * win32/config.h:
6357         * gst/gst-i18n-app.h:
6358           enable NLS under Windows
6359
6360 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
6361         * tools/gst-compprep.c: (handle_xmlerror), (main):
6362           Make an error that baffled me a bit clearer
6363
6364 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6365
6366         * gst/gstqueue.c:
6367           don't use g_queue_get_length () because it's 2.4, use ->length
6368
6369 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
6370
6371         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
6372
6373         * tools/gst-inspect.c: (print_signal_info):
6374           don't free random data twice. (fixes #144185)
6375
6376 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6377
6378         * gst/gstqueue.c:
6379         * gst/gstqueue.h:
6380           fix removing from the wrong queue on event timeout
6381           fix disposing of the event queue by casting correctly
6382           add mutexes for handling the event queue
6383           someone was sleeping when fixing queue last time around :)
6384
6385 2004-06-10  Johan Dahlin  <johan@gnome.org>
6386
6387         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
6388         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
6389
6390 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6391
6392         * docs/random/gdp:
6393         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
6394         * libs/gst/dataprotocol/dataprotocol.c:
6395         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6396         (gst_dp_buffer_from_header):
6397         * libs/gst/dataprotocol/dataprotocol.h:
6398         * libs/gst/dataprotocol/dp-private.h:
6399           rev version to 0.1, add buffer flags and copy them
6400
6401 2004-06-09  Johan Dahlin  <johan@gnome.org>
6402
6403         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
6404         the flags from the buffer we're copying.
6405
6406 2004-06-09  Wim Taymans  <wim@fluendo.com>
6407
6408         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
6409         * gst/elements/gstidentity.c: (gst_identity_init),
6410         (gst_identity_chain):
6411         Print more buffer info in fakesink.
6412         Make identity output similar to fakesink.
6413
6414 2004-06-07  Daniel Gazard  <dany42@free.fr>
6415
6416         reviewed by Benjamin Otte  <otte@gnome.org>
6417
6418         * configure.ac:
6419           fix cross compiling not working. (fixes #143741)
6420
6421 2004-06-07  Benjamin Otte  <otte@gnome.org>
6422
6423         * gst/gstelement.c: (gst_element_set_time_delay):
6424           add failure check
6425         * gst/gstinfo.h:
6426           put brackets around macro arguments of GST_TIME_ARGS, add note to
6427           move it to correct header in 0.9
6428
6429 2004-06-07  Benjamin Otte  <otte@gnome.org>
6430
6431         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
6432         (gst_file_index_load), (_file_index_id_save_entries),
6433         (gst_file_index_commit), (gst_file_index_add_association),
6434         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
6435         (gst_file_index_plugin_init):
6436           make debugging use a default category
6437
6438 2004-06-06  David Moore  <dcm@acm.org>
6439
6440         reviewed by Benjamin Otte  <otte@gnome.org>
6441
6442         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6443         (gst_fdsrc_change_state):
6444           reset offset counter when going READY => PAUSED. (fixes #142903)
6445
6446 2004-06-06  ed@catmur.co.uk
6447
6448         reviewed by Benjamin Otte  <otte@gnome.org>
6449
6450         * gst/registries/gstxmlregistry.c:
6451         (gst_xml_registry_rebuild_recurse):
6452           don't rely on g_dir_open to figure out if a file is a directory, use
6453           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
6454           directories. (fixes #142850)
6455
6456 2004-06-06  Benjamin Otte  <otte@gnome.org>
6457
6458         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
6459           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
6460         * libs/gst/bytestream/adapter.c:
6461         * libs/gst/bytestream/adapter.h:
6462           fix copyright in header and typo in debugging category name
6463
6464 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6465
6466         * configure.ac:
6467           bump nano to cvs
6468
6469 === release 0.8.3 ===
6470
6471 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6472
6473         * configure.ac:
6474           update libtool versioning
6475           do a new release
6476         * docs/gst/tmpl/gstelement.sgml:
6477         * docs/gst/tmpl/gsttypes.sgml:
6478         * gst/gstinfo.c: (_gst_debug_init):
6479           put back GST_CAT_DATAFLOW to fix API breakage
6480
6481 2004-06-04  David Schleef  <ds@schleef.org>
6482
6483         * autogen.sh: Add a temporary 'env' to test buildbot problems.
6484
6485 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6486
6487         * configure.ac:
6488           bump nano to cvs
6489
6490 === release 0.8.2 ===
6491
6492 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6493
6494         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
6495           check GST_DEBUG environment variable which is parsed the same way
6496           as --gst-debug=
6497
6498 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
6499
6500         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
6501                             gstmd5sink.c gstshaper.c gsttee.c
6502                             gsttypefindelement.c
6503         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
6504
6505           - removing trailing commas at end of enums
6506             it is correct C99 code but C90 compilers would complain
6507             (AIX, Forte, ...)
6508             ('should' fix #143290, at least partially)
6509
6510 2004-05-27  Wim Taymans  <wim@fluendo.com>
6511
6512         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
6513         (chain_group_set_enabled), (create_group), (add_to_group),
6514         (merge_groups), (setup_group_scheduler), (group_elements),
6515         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
6516         Don't try to follow the pad connections with other groups
6517         when a loop based element is added to the scheduler because
6518         the bin will inform the scheduler about the pad links a little
6519         later.
6520
6521 2004-05-27  Wim Taymans  <wim@fluendo.com>
6522
6523         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
6524         (remove_from_chain), (chain_group_set_enabled),
6525         (setup_group_scheduler), (group_element_set_enabled),
6526         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
6527         (gst_opt_scheduler_show):
6528         Elements without a group can do a state change as well, just wait
6529         with the setup of the scheduling function when it is added to a
6530         chain.
6531
6532 2004-05-27  Wim Taymans  <wim@fluendo.com>
6533
6534         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
6535         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
6536         (merge_groups), (setup_group_scheduler),
6537         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
6538         (gst_opt_scheduler_show):
6539         Fixes to maintain internal consistency of the scheduler data
6540         structures. 
6541          - adding an enabled group to a chain should increment the
6542            number of enabled elements in that chain.
6543          - removing an enabled group from a chain could disable the
6544            chain.
6545          - removing a disabled group from a chain could enable the
6546            chain.
6547          - add g_assert when internal inconsistency is detected.
6548          - adding an element to a group could increase the number of
6549            links this group has with other groups.
6550          - merging two groups also merges the chains.
6551          - also show group links in the _show method.
6552            
6553
6554 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6555
6556         * gst/gstcaps.c: (gst_caps_structure_simplify):
6557           don't print error messages when there is no error
6558         * gst/gstvalue.c: (gst_value_compare_int_range):
6559           compare the second value, too
6560         * testsuite/caps/Makefile.am:
6561         * testsuite/caps/random.c: (assert_on_error), (main):
6562           add tests to make sure the two things above are checked for
6563
6564 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6565
6566         * configure.ac:
6567         * libs/gst/dataprotocol/Makefile.am:
6568         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
6569         * libs/gst/dataprotocol/dataprotocol.h:
6570           wrap header in GST_ENABLE_NEW.  make code use it
6571
6572 2004-05-23  Johan Dahlin  <johan@gnome.org>
6573
6574         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
6575         so verbose and print GstElement signal names all the time.
6576
6577 2004-05-22  David Schleef  <ds@schleef.org>
6578
6579         * gst/registries/gstxmlregistry.c:
6580         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
6581         (bug #142957)
6582
6583 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6584
6585         * configure.ac:
6586           scrub cflags for glib2 so gcc doesn't complain when glib is in
6587           /usr/local
6588
6589 2004-05-21  Johan Dahlin  <johan@gnome.org>
6590
6591         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
6592         __GNUC__, patch from Brian Cameron, fixes bug #142804
6593
6594 2004-05-20  David Schleef  <ds@schleef.org>
6595
6596         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
6597         comparison code.  (bug #142819)
6598
6599 2004-05-20  Wim Taymans  <wim@fluendo.com>
6600
6601         * gst/gstbuffer.c: (gst_buffer_default_copy):
6602         * gst/gstbuffer.h:
6603         Added Comment to a flag.
6604         copy relevant flags in _buffer_copy.
6605
6606 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6607
6608         reviewed by: Wim Taymans <wim at fluendo dot com>
6609
6610         * gst/gstbuffer.h:
6611           add GST_BUFFER_IN_CAPS buffer flag
6612         * gst/gststructure.c: (gst_structure_value_get_generic_type),
6613         (gst_structure_parse_any_list), (gst_structure_parse_list),
6614         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
6615         * gst/gstvalue.c: (gst_value_serialize_any_list),
6616         (gst_value_transform_any_list_string),
6617         (gst_value_list_prepend_value), (gst_value_list_append_value),
6618         (gst_value_list_get_size), (gst_value_list_get_value),
6619         (gst_value_transform_list_string),
6620         (gst_value_transform_fixed_list_string),
6621         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
6622         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
6623         (_gst_value_initialize):
6624         * gst/gstvalue.h:
6625           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
6626           < , > as a format.
6627         * testsuite/caps/string-conversions.c: (main):
6628           add regression tests for < >
6629
6630 2004-05-20  Johan Dahlin  <johan@gnome.org>
6631
6632         * docs/gst/Makefile.am (all-local): Re-add
6633
6634 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6635
6636         * docs/gst/Makefile.am:
6637         * docs/gst/gstreamer-docs.sgml:
6638         * docs/libs/Makefile.am:
6639         * docs/libs/gstreamer-libs-docs.sgml:
6640           fix distcheck issues
6641
6642 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6643
6644         * libs/gst/dataprotocol/Makefile.am:
6645           add to autotest
6646
6647 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6648
6649         * libs/gst/dataprotocol/Makefile.am:
6650         * libs/gst/dataprotocol/dataprotocol.c:
6651         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6652         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
6653         * libs/gst/dataprotocol/dp-private.h:
6654           use GST macros to read/write fixed length ints
6655           add some more asserts
6656
6657 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6658
6659         * docs/libs/gstreamer-libs-docs.sgml:
6660         * docs/libs/gstreamer-libs-sections.txt:
6661           remove idct and putbits
6662         * configure.ac:
6663         * docs/libs/tmpl/gstdataprotocol.sgml:
6664         * libs/gst/Makefile.am:
6665         * libs/gst/dataprotocol/Makefile.am:
6666         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
6667         (buffer_test), (caps_test), (event_test), (main):
6668         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
6669         (gst_dp_dump_byte_array), (gst_dp_init),
6670         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
6671         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6672         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
6673         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
6674         (gst_dp_validate_header), (gst_dp_validate_payload),
6675         (gst_dp_validate_packet), (plugin_init):
6676         * libs/gst/dataprotocol/dataprotocol.h:
6677         * libs/gst/dataprotocol/dp-private.h:
6678           add dataprotocol
6679
6680 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6681
6682         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
6683           fix int variable deserialization and add a helper so we can actually
6684           debug this.
6685
6686 2004-05-18  David Schleef  <ds@schleef.org>
6687
6688         * testsuite/debug/commandline.c: (main): Call ./commandline, not
6689           argv[0].  Calling yourself is probably not the best way to
6690           construct a test like this, btw.
6691
6692 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6693
6694         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
6695           don't claim to be more intelligent than a scheduler when the
6696           scheduler claims the pipeline is stopped
6697         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
6698         (safe_cothread_destroy),
6699         (gst_entry_scheduler_remove_all_cothreads),
6700         (gst_entry_scheduler_reset), (_remove_cothread),
6701         (gst_entry_scheduler_state_transition):
6702           hold off cothread destruction if we're not in main cothread
6703         * configure.ac:
6704         * testsuite/Makefile.am:
6705           add new test dir
6706         * testsuite/schedulers/.cvsignore:
6707         * testsuite/schedulers/Makefile.am:
6708           add tests
6709         * testsuite/schedulers/relink.c: (cb_handoff), (main):
6710           check relinking and adding/removing elements from a running pipeline
6711         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
6712           check unlinking in a running pipeline
6713         * testsuite/schedulers/unref.c: (cb_handoff), (main):
6714           check unreffing a running pipeline
6715         * testsuite/schedulers/useless_iteration.c: (main):
6716           check iterating a pipeline that contains running threads works
6717
6718 2004-05-18  David Schleef  <ds@schleef.org>
6719
6720         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
6721           is false.
6722
6723 2004-05-18  Wim Taymans  <wim@fluendo.com>
6724
6725         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
6726         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
6727         Fixed an error introduced with patch for 1.63. When setting
6728         a get based element as the entry point in a group, make sure
6729         to mark the group as GET based.
6730
6731 2004-05-18  Wim Taymans  <wim@fluendo.com>
6732
6733         * gst/schedulers/gstoptimalscheduler.c: (create_group),
6734         (setup_group_scheduler), (loop_group_schedule_function),
6735         (gst_opt_scheduler_pad_link):
6736         Added some more debug info and fixed a bug where the group
6737         type was set to LOOP but it was in fact unknown.
6738
6739 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6740
6741         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
6742           make resetting scheduler work twice in a row
6743
6744 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6745
6746         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
6747         (CREATE_USERIALIZATION), (_gst_value_initialize),
6748         (gst_value_compare_float), (gst_value_serialize_float),
6749         (gst_value_deserialize_float), (gst_value_compare_enum),
6750         (gst_value_serialize_enum), (gst_value_deserialize_enum):
6751           add serialization and comparison functions for long, int64, enum and
6752           float values
6753         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
6754           use best serialization function in type hierarchy instead of only a
6755           matching one. This is required for enums to work.
6756         * gst/parse/grammar.y:
6757           use gst_caps_deserialize
6758         * testsuite/parse/Makefile.am:
6759           parse1 now works
6760         * testsuite/parse/parse1.c: (main):
6761           remove aggregator check, aggregator is broken, this test works now
6762           but fails because of bug #138012
6763         * testsuite/parse/parse2.c: (main):
6764           s/xvideosink/xvimagesink - this test looks a lot like we should
6765           disable it
6766
6767 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6768
6769         * gst/gstelement.c: (gst_element_class_init):
6770           whoops, store the signal id correctly
6771         * gst/schedulers/gstbasicscheduler.c:
6772         (gst_basic_scheduler_chain_wrapper):
6773           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
6774           chain function isn't linked
6775
6776 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
6777         * configure.ac:
6778         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
6779         support until we decide where the flags should be used
6780         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
6781         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
6782         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6783         Output refused caps in the debug info
6784
6785 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6786
6787         * gst/elements/gstidentity.c: (gst_identity_chain):
6788           add duration debug
6789         * gst/gstinfo.c: (gst_debug_log_default):
6790           add timestamp
6791
6792 2004-05-13  Benjamin Otte  <otte@gnome.org>
6793
6794         * gst/gstpipeline.c: (gst_pipeline_dispose),
6795         (gst_pipeline_change_state):
6796           call gst_scheduler_reset on dispose (fixes #141416)
6797
6798 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6799
6800         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6801           compute mapsize correctly
6802         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6803           use correct datatypes when calling a varargs function
6804         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6805           push a DISCONT event as first thing
6806         * gst/gst_private.h:
6807         * gst/gstinfo.c: (_gst_debug_init):
6808           remove GST_DATAFLOW debugging category
6809         * gst/gstbin.c: (gst_bin_iterate):
6810           use GST_SCHEDULING category
6811         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
6812         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
6813         (gst_pad_call_get_function):
6814           add GST_DATAFLOW to easily track flow of buffers or events.
6815         * gst/gstqueue.c: (gst_queue_get_type),
6816         (gst_queue_handle_pending_events), (gst_queue_chain),
6817         (gst_queue_get), (gst_queue_handle_src_event):
6818           use own static debugging category GST_DATAFLOW for dataflow,
6819           use DEBUG category for showing which path events go, use LOG
6820           category for buffers.
6821
6822 2004-05-10  David Schleef  <ds@schleef.org>
6823
6824         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
6825
6826 2004-05-10  David Schleef  <ds@schleef.org>
6827
6828         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
6829         symbols, because otherwise we don't know what they are.  Thanks,
6830         the GStreamer team.
6831         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
6832
6833 2004-05-10  David Schleef  <ds@schleef.org>
6834
6835         (from Steve Lhomme)
6836         * win32/Makefile: When using make clean the MS Visual Studio makefiles
6837         are deleted.  Fix.
6838         * win32/Makefile.inspect:
6839         * win32/Makefile.launch:
6840         * win32/Makefile.register:
6841
6842 2004-05-10  David Schleef  <ds@schleef.org>
6843
6844         * gst/gstinfo.h: Add missing inline function.
6845         * gst/gsttrace.c: add include
6846         * gst/parse/grammar.y: remove unused code
6847         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
6848         more portable.
6849         * tools/gst-register.c: wrap unistd.h
6850         
6851         More additions/fixes from Steve for the MSVC build.
6852         * win32/GStreamer.vcproj:
6853         * win32/Makefile:
6854         * win32/Makefile.inspect:
6855         * win32/Makefile.launch:
6856         * win32/Makefile.register:
6857         * win32/README.txt:
6858         * win32/gst-inspect.vcproj:
6859         * win32/gst-launch.vcproj:
6860         * win32/gst-register.vcproj:
6861         * win32/gstbytestream.def:
6862         * win32/gstbytestream.vcproj:
6863         * win32/gstconfig.h:
6864         * win32/gstelements.def:
6865         * win32/gstelements.vcproj:
6866         * win32/gstenumtypes.c:
6867         * win32/gstenumtypes.h:
6868         * win32/gstoptimalscheduler.def:
6869         * win32/gstoptimalscheduler.vcproj:
6870         * win32/gstreamer.def:
6871         * win32/gstspider.def:
6872         * win32/gstspider.vcproj:
6873         * win32/gstversion.h:
6874         * win32/msvc71.sln:
6875
6876 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6877
6878         * gst/gstelement.c: (gst_element_class_init),
6879         (gst_element_no_more_pads):
6880         * gst/gstelement.h:
6881           add gst_element_no_more_pads and the "no-more-pads" signal
6882
6883 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6884
6885         * gst/gstregistry.c: (gst_registry_add_plugin):
6886           refuse to add plugins when a plugin with same name is already
6887           registered. Fixes a bunch of "How to remove plugins?" issues.
6888           May lead to other problems though, let's test
6889
6890 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
6891
6892         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
6893         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
6894         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
6895
6896 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6897
6898         * tests/Makefile.am: fix am16 issue
6899
6900 2004-05-09  Benjamin Otte  <otte@gnome.org>
6901
6902         * libs/gst/bytestream/Makefile.am:
6903           we should indeed add .c files to makefiles or they won't be built
6904           (d'oh)
6905
6906 2004-05-08  Benjamin Otte  <otte@gnome.org>
6907
6908         * gst/gstpad.c: (gst_pad_proxy_fixate):
6909           really reduce the set of caps
6910
6911 2004-05-08  Benjamin Otte  <otte@gnome.org>
6912
6913         * tests/Makefile.am:
6914         * tests/spidey_bench.c: (handoff), (main):
6915           add benchmark to test how long spider needs to create a pipeline
6916
6917 2004-05-08  Benjamin Otte  <otte@gnome.org>
6918
6919         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
6920           mark links as unengaged when unnegotiating instead of deactivating.
6921           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
6922
6923 2004-05-08  Benjamin Otte  <otte@gnome.org>
6924
6925         * docs/manual/helloworld.xml:
6926           s/audiosink/osssink (patch by Patrick Guimond)
6927
6928 2004-05-07  David Schleef  <ds@schleef.org>
6929
6930         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
6931         since it contains important stuff.
6932
6933 2004-05-07  David Schleef  <ds@schleef.org>
6934
6935         * testsuite/caps/caps.c: (test3), (main): A check for appending
6936         ANY caps.
6937
6938 2004-05-07  David Schleef  <ds@schleef.org>
6939
6940         * common/m4/as-compiler-flag.m4: Properly quote arguments,
6941         which may contain commas.  Fixes detection of -Wa,-mregnames
6942
6943 2004-05-06  David Schleef  <ds@schleef.org>
6944
6945         Changes to handle compilers that don't have variadic macro
6946         support.  In particular, glib headers define some inlines
6947         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
6948         builds.
6949         * gst/Makefile.am:
6950         * gst/cothreads.c:
6951         * gst/elements/gstfdsink.c:
6952         * gst/elements/gstfdsrc.c:
6953         * gst/elements/gstfilesink.c:
6954         * gst/elements/gstfilesrc.c:
6955         * gst/gst_private.h:
6956         * gst/gstatomic.c:
6957         * gst/gstcaps.c: (gst_caps_append):
6958         * gst/gstcpu.c: (gst_cpuid_i386):
6959         * gst/gstelement.c:
6960         * gst/gsterror.c:
6961         * gst/gstfilter.c:
6962         * gst/gstinfo.h:
6963         * gst/gstprobe.c:
6964         * gst/gstquery.c:
6965         * gst/gstregistry.c:
6966         * gst/gststructure.c:
6967         * gst/gsttaginterface.c:
6968         * gst/gsttrace.c: (gst_trace_new):
6969         * gst/gsttrashstack.c:
6970         * gst/gsturi.c:
6971         * gst/gstvalue.c:
6972         * gst/parse/grammar.y:
6973         * gst/parse/parse.l:
6974         * tools/gst-inspect.c: (main):
6975         * tools/gst-launch.c: (main):
6976         * tools/gst-xmlinspect.c: (PUT_STRING):
6977
6978 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6979
6980         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
6981         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
6982         * gst/elements/gstfilesrc.h:
6983           send NEW_MEDIA events correctly
6984         * gst/elements/gsttypefindelement.c: (start_typefinding),
6985         (gst_type_find_element_handle_event):
6986           restart typefinding when we get a NEW_MEDIA event
6987         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
6988         (gst_bin_dispose):
6989           don't die when someone removes elements in callbacks
6990         * gst/gstelement.c: (gst_element_change_state):
6991           improve debugging
6992         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
6993           we need a NEW_MEDIA event to engage a link
6994         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
6995           don't g_print debugging stuff
6996         * testsuite/caps/simplify.c: (check_caps):
6997
6998 2004-05-04  Benjamin Otte  <otte@gnome.org>
6999
7000         * gst/parse/grammar.y:
7001           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
7002
7003 2004-05-04  Benjamin Otte  <otte@gnome.org>
7004
7005         * testsuite/caps/renegotiate.c: (main):
7006           improve output in error case
7007
7008 2004-05-04  Benjamin Otte  <otte@gnome.org>
7009
7010         * gst/parse/grammar.y:
7011           fix assert to not trigger when there's no error argument
7012         * gst/parse/parse.l:
7013           fix definition of caps to allow more than two structures
7014         * testsuite/caps/Makefile.am:
7015         * testsuite/caps/renegotiate.c: (main):
7016           it's sinesrc and works in that case
7017
7018 2004-05-04  Wim Taymans  <wim@fluendo.com>
7019
7020         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
7021         (group_dec_link), (gst_opt_scheduler_pad_unlink):
7022         when removing an element from a group, we always need to
7023         decrement the link count that this group had with other 
7024         groups through the element.
7025         added an extra assert to catch inconsistencies when decrementing
7026         the link count.
7027
7028 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7029
7030         * configure.ac:
7031         * docs/gst/Makefile.am:
7032         * docs/gst/gstreamer-sections.txt:
7033         * docs/gst/tmpl/gstcompat.sgml:
7034         * examples/appreader/Makefile.am:
7035         * examples/cutter/Makefile.am:
7036         * examples/events/Makefile.am:
7037         * examples/helloworld/Makefile.am:
7038         * examples/helloworld2/Makefile.am:
7039         * examples/launch/Makefile.am:
7040         * examples/manual/Makefile.am:
7041         * examples/mixer/Makefile.am:
7042         * examples/pingpong/Makefile.am:
7043         * examples/plugins/Makefile.am:
7044         * examples/queue/Makefile.am:
7045         * examples/queue2/Makefile.am:
7046         * examples/queue3/Makefile.am:
7047         * examples/queue4/Makefile.am:
7048         * examples/retag/Makefile.am:
7049         * examples/thread/Makefile.am:
7050         * examples/typefind/Makefile.am:
7051         * examples/xml/Makefile.am:
7052         * gst/Makefile.am:
7053         * gst/autoplug/Makefile.am:
7054         * gst/elements/Makefile.am:
7055         * gst/gstcompat.h:
7056         * gst/indexers/Makefile.am:
7057         * gst/parse/Makefile.am:
7058         * gst/registries/Makefile.am:
7059         * gst/schedulers/Makefile.am:
7060         * libs/gst/bytestream/Makefile.am:
7061         * libs/gst/control/Makefile.am:
7062         * libs/gst/getbits/Makefile.am:
7063         * po/af.po:
7064         * po/az.po:
7065         * po/en_GB.po:
7066         * po/fr.po:
7067         * po/nl.po:
7068         * po/sr.po:
7069         * po/sv.po:
7070         * po/tr.po:
7071         * po/uk.po:
7072         * tests/Makefile.am:
7073         * tests/bufspeed/Makefile.am:
7074         * tests/instantiate/Makefile.am:
7075         * tests/memchunk/Makefile.am:
7076         * tests/muxing/Makefile.am:
7077         * tests/negotiation/Makefile.am:
7078         * tests/probes/Makefile.am:
7079         * tests/sched/Makefile.am:
7080         * tests/seeking/Makefile.am:
7081         * tests/threadstate/Makefile.am:
7082         * testsuite/caps/Makefile.am:
7083         * testsuite/cleanup/Makefile.am:
7084         * testsuite/dlopen/Makefile.am:
7085         * testsuite/dynparams/Makefile.am:
7086         * testsuite/plugin/Makefile.am:
7087         * testsuite/states/Makefile.am:
7088         * tools/Makefile.am:
7089           reorganize compile/link flags to be consistent
7090           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
7091
7092 2004-05-04  David Schleef  <ds@schleef.org>
7093
7094         The "once more, with feeling" check-in.
7095         * testsuite/caps/Makefile.am: dist caps_strings
7096         * testsuite/caps/renegotiate.c: (main): This test triggers a
7097           segfault in the core.  Marking as failing.
7098
7099 2004-05-03  David Schleef  <ds@schleef.org>
7100
7101         * testsuite/caps/deserialize.c: (main): Fix problems noticed
7102           by the build bots.
7103         * testsuite/caps/renegotiate.c: (main): Same.
7104
7105 2004-05-03  David Schleef  <ds@schleef.org>
7106
7107         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
7108
7109 2004-05-03  David Schleef  <ds@schleef.org>
7110
7111         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
7112           variable to find our source file.
7113
7114 2004-05-03  David Schleef  <ds@schleef.org>
7115
7116         * configure.ac:  Link plugins with libgstreamer and dependent
7117           libraries
7118         * testsuite/caps/Makefile.am:
7119         * testsuite/caps/caps_strings:
7120         * testsuite/caps/deserialize.c: (main): Add a little test to slog
7121           through a file of caps strings and test each one
7122
7123 2004-05-04  Benjamin Otte  <otte@gnome.org>
7124
7125         * libs/gst/bytestream/Makefile.am:
7126         * libs/gst/bytestream/adapter.c: 
7127         * libs/gst/bytestream/adapter.h:
7128           add GstAdapter, similar to bytestream, but doesn't require ugly event
7129           handling or uglier loopbased elements
7130
7131 2004-05-03  David Schleef  <ds@schleef.org>
7132
7133         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
7134         * testsuite/caps/erathostenes.c:
7135         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
7136
7137 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7138
7139         * docs/pwg/pwg.xml:
7140           remove hardcoded stylesheet path (duh)
7141         * docs/random/release:
7142         * docs/gst/gstreamer-sections.txt:
7143         * gst/Makefile.am:
7144         * gst/gst.h:
7145         * gst/gst_private.h:
7146         * gst/gstcaps.c:
7147         * gst/gstevent.c:
7148         * gst/gstformat.c:
7149         * gst/gstinfo.c:
7150         * gst/gstinfo.h:
7151         * gst/gstinterface.c:
7152         * gst/gstmemchunk.c:
7153         * gst/gstprobe.c:
7154         * gst/gstquery.c:
7155         * gst/gstregistry.c:
7156         * gst/gstregistrypool.c:
7157         * gst/gststructure.c:
7158         * gst/gsttaginterface.c:
7159         * gst/gstthread.c:
7160         * gst/gsttrace.c:
7161         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
7162         * gst/gsturi.c:
7163         * gst/gstvalue.c:
7164           deprecate gst_info; remove gstlog.h
7165    
7166
7167 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7168
7169         * Makefile.am:
7170         * po/en_GB.po:
7171         * po/sv.po:
7172         * po/uk.po:
7173           updated translations
7174
7175 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7176
7177         * gst/gstbin.c: (gst_bin_dispose):
7178           better debugging
7179
7180 2004-05-03  Johan Dahlin  <johan@gnome.org>
7181
7182         * gst/schedulers/gstoptimalscheduler.c
7183         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
7184         really is a GstElement. Avoids critical when running gst-launch -v
7185         and a oggdemux/decoding pipeline.
7186
7187 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7188
7189         * docs/gst/tmpl/gstpipeline.sgml :
7190         * docs/manual/elements-api.xml :
7191                 doc fix by Patrick Guimond (Protector) from devel ML
7192                 reviewed by ronald
7193
7194 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7195
7196         * docs/gst/Makefile.am :
7197         * docs/libs/Makefile.am :
7198                 apply a patch from Arwed v. Merkatz so that gtk-doc
7199                 generated docs install (same for .devhelp file)
7200                 (fixes part 1 of #138836)
7201
7202 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7203
7204         * docs/faq/dependencies.xml: typo
7205         * docs/faq/getting.xml :
7206             - fix download URL for new gstreamer site
7207             - hide sf.net download page as latest version aren't there
7208             - fix apt URLs
7209             - fill "get via CVS" paragraph (link to dev page on the site)
7210         * docs/faq/general.xml:
7211             hide status tables as they no more exists
7212             change case on plugins license file to reflect reality
7213         * docs/faq/troubleshooting.xml:
7214             remove the wiki question/answer as there is no more wiki
7215
7216 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7217
7218         * gst/gsterror.h:
7219           include the headers needed for declarations used in this header
7220
7221 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7222
7223         * docs/random/uraeus/gstreamer_and_midi.txt :
7224           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
7225           (fixes #132288)
7226
7227 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
7228
7229         reviewed by Benjamin Otte  <otte@gnome.org>
7230
7231         * gst/schedulers/gthread-cothreads.h:
7232           free allocated data for main cothread, too when destroying context
7233           (fixes #141417)
7234
7235 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
7236
7237         * docs/manual/goals.xml : remove duplicated paragraph at end 
7238         of doc page (fixes #141448)
7239
7240 2004-04-29  David Schleef  <ds@schleef.org>
7241
7242         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
7243         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
7244
7245 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7246
7247         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
7248           fix property
7249         * gst/gstcaps.c:
7250           fix doc string
7251         * po/POTFILES.in:
7252           rename typefind source file
7253
7254 2004-04-28  David Schleef  <ds@schleef.org>
7255
7256         Several new files from Steve Lhomme's MSVC patch (bug #141317):
7257         * win32/GStreamer.vcproj:
7258         * win32/Makefile:
7259         * win32/config.h:
7260         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
7261         (_trewinddir), (_ttelldir), (_tseekdir):
7262         * win32/dirent.h:
7263         * win32/gst-inspect.vcproj:
7264         * win32/gst-launch.vcproj:
7265         * win32/gst-register.vcproj:
7266         * win32/gstbytestream.vcproj:
7267         * win32/gstelements.vcproj:
7268         * win32/gstoptimalscheduler.vcproj:
7269         * win32/gstspider.vcproj:
7270         * win32/gtchar.h:
7271         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
7272         * win32/mman.h:
7273         * win32/mman.inl:
7274         * win32/msvc71.sln:
7275
7276 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7277
7278         * gst/gst.c: (init_post):
7279         * gst/gstinfo.c:
7280           remove useless _gst_progname stuff
7281         * tools/gst-inspect.c: (print_field), (print_caps):
7282           improve caps output
7283
7284 2004-04-28  David Schleef  <ds@schleef.org>
7285
7286         Disable parsing of a lot of files that aren't part of the
7287         exported API.  Move corresponding template files to old/,
7288         waiting for removal when they don't contain anything
7289         interesting.
7290         * docs/gst/Makefile.am:
7291         * docs/gst/gstreamer-sections.txt:
7292         * docs/gst/tmpl/cothreads.sgml:
7293         * docs/gst/tmpl/cothreads_compat.sgml:
7294         * docs/gst/tmpl/gettext.sgml:
7295         * docs/gst/tmpl/gobject2gtk.sgml:
7296         * docs/gst/tmpl/grammar.tab.sgml:
7297         * docs/gst/tmpl/gst-i18n-app.sgml:
7298         * docs/gst/tmpl/gst-i18n-lib.sgml:
7299         * docs/gst/tmpl/gst_private.sgml:
7300         * docs/gst/tmpl/gstaggregator.sgml:
7301         * docs/gst/tmpl/gstarch.sgml:
7302         * docs/gst/tmpl/gstatomic_impl.sgml:
7303         * docs/gst/tmpl/gstbufferstore.sgml:
7304         * docs/gst/tmpl/gstdata_private.sgml:
7305         * docs/gst/tmpl/gstdisksink.sgml:
7306         * docs/gst/tmpl/gstdisksrc.sgml:
7307         * docs/gst/tmpl/gstelementfactory.sgml:
7308         * docs/gst/tmpl/gstextratypes.sgml:
7309         * docs/gst/tmpl/gstfakesink.sgml:
7310         * docs/gst/tmpl/gstfakesrc.sgml:
7311         * docs/gst/tmpl/gstfdsink.sgml:
7312         * docs/gst/tmpl/gstfdsrc.sgml:
7313         * docs/gst/tmpl/gstfilesink.sgml:
7314         * docs/gst/tmpl/gstfilesrc.sgml:
7315         * docs/gst/tmpl/gsthttpsrc.sgml:
7316         * docs/gst/tmpl/gstidentity.sgml:
7317         * docs/gst/tmpl/gstindexfactory.sgml:
7318         * docs/gst/tmpl/gstmarshal.sgml:
7319         * docs/gst/tmpl/gstmd5sink.sgml:
7320         * docs/gst/tmpl/gstmultidisksrc.sgml:
7321         * docs/gst/tmpl/gstmultifilesrc.sgml:
7322         * docs/gst/tmpl/gstpadtemplate.sgml:
7323         * docs/gst/tmpl/gstpipefilter.sgml:
7324         * docs/gst/tmpl/gstschedulerfactory.sgml:
7325         * docs/gst/tmpl/gstsearchfuncs.sgml:
7326         * docs/gst/tmpl/gstshaper.sgml:
7327         * docs/gst/tmpl/gstspider.sgml:
7328         * docs/gst/tmpl/gstspideridentity.sgml:
7329         * docs/gst/tmpl/gststatistics.sgml:
7330         * docs/gst/tmpl/gsttee.sgml:
7331         * docs/gst/tmpl/gsttimecache.sgml:
7332         * docs/gst/tmpl/gsttypefind.sgml:
7333         * docs/gst/tmpl/gsttypefindfactory.sgml:
7334         * docs/gst/tmpl/gstxmlregistry.sgml:
7335         * docs/gst/tmpl/gthread-cothreads.sgml:
7336         * docs/gst/tmpl/old/cothreads.sgml:
7337         * docs/gst/tmpl/old/cothreads_compat.sgml:
7338         * docs/gst/tmpl/old/gettext.sgml:
7339         * docs/gst/tmpl/old/gobject2gtk.sgml:
7340         * docs/gst/tmpl/old/grammar.tab.sgml:
7341         * docs/gst/tmpl/old/gst-i18n-app.sgml:
7342         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
7343         * docs/gst/tmpl/old/gst_private.sgml:
7344         * docs/gst/tmpl/old/gstaggregator.sgml:
7345         * docs/gst/tmpl/old/gstarch.sgml:
7346         * docs/gst/tmpl/old/gstatomic_impl.sgml:
7347         * docs/gst/tmpl/old/gstbufferstore.sgml:
7348         * docs/gst/tmpl/old/gstdata_private.sgml:
7349         * docs/gst/tmpl/old/gstdisksink.sgml:
7350         * docs/gst/tmpl/old/gstdisksrc.sgml:
7351         * docs/gst/tmpl/old/gstelementfactory.sgml:
7352         * docs/gst/tmpl/old/gstextratypes.sgml:
7353         * docs/gst/tmpl/old/gstfakesink.sgml:
7354         * docs/gst/tmpl/old/gstfakesrc.sgml:
7355         * docs/gst/tmpl/old/gstfdsink.sgml:
7356         * docs/gst/tmpl/old/gstfdsrc.sgml:
7357         * docs/gst/tmpl/old/gstfilesink.sgml:
7358         * docs/gst/tmpl/old/gstfilesrc.sgml:
7359         * docs/gst/tmpl/old/gsthttpsrc.sgml:
7360         * docs/gst/tmpl/old/gstidentity.sgml:
7361         * docs/gst/tmpl/old/gstindexfactory.sgml:
7362         * docs/gst/tmpl/old/gstmarshal.sgml:
7363         * docs/gst/tmpl/old/gstmd5sink.sgml:
7364         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
7365         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
7366         * docs/gst/tmpl/old/gstpadtemplate.sgml:
7367         * docs/gst/tmpl/old/gstpipefilter.sgml:
7368         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
7369         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
7370         * docs/gst/tmpl/old/gstshaper.sgml:
7371         * docs/gst/tmpl/old/gstspider.sgml:
7372         * docs/gst/tmpl/old/gstspideridentity.sgml:
7373         * docs/gst/tmpl/old/gststatistics.sgml:
7374         * docs/gst/tmpl/old/gsttee.sgml:
7375         * docs/gst/tmpl/old/gsttimecache.sgml:
7376         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
7377         * docs/gst/tmpl/old/gstxmlregistry.sgml:
7378         * docs/gst/tmpl/old/gthread-cothreads.sgml:
7379         * docs/gst/tmpl/old/types.sgml:
7380         * docs/gst/tmpl/types.sgml:
7381
7382         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
7383         gtkdoc-scan doesn't like files with the same name in different
7384         directories.
7385         * gst/elements/Makefile.am:
7386         * gst/elements/gstelements.c:
7387         * gst/elements/gsttypefind.c: 
7388         * gst/elements/gsttypefind.h:
7389         * gst/elements/gsttypefindelement.c:
7390         * gst/elements/gsttypefindelement.h:
7391
7392 2004-04-28  David Schleef  <ds@schleef.org>
7393
7394         A bunch of portability fixes, derived from Steve Lhomme's MSVC
7395         patch (bug #141317):
7396         * gst/gst-i18n-lib.h: Allow disabling gettext.
7397         * gst/gstatomic_impl.h: disable warning when it's dumb.
7398         * gst/gstclock.c: fix include
7399         * gst/gstcompat.h: fix variadic macro
7400         * gst/gstinfo.c: fix include
7401         * gst/gstmacros.h: add defines for inlines on MSVC
7402         * gst/gstplugin.c: fix includes
7403         * gst/gstregistry.c: fix includes
7404         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
7405         * gst/gstsystemclock.c: fix include
7406         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
7407         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
7408         * gst/registries/gstxmlregistry.c:
7409         (gst_xml_registry_parse_element_factory): fix use of non-portable
7410         functions
7411         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
7412         * libs/gst/control/dparammanager.h: same
7413
7414 2004-04-28  David Schleef  <ds@schleef.org>
7415
7416         Move a bunch of unused files to old/ with names that are
7417         not case-insensitive-unique.  These files still contain some
7418         useful information that needs to be merged into gstbin.sgml,
7419         etc., so they shouldn't be deleted yet.
7420         * docs/gst/tmpl/GstBin.sgml:
7421         * docs/gst/tmpl/GstBuffer.sgml:
7422         * docs/gst/tmpl/GstCaps.sgml:
7423         * docs/gst/tmpl/GstClock.sgml:
7424         * docs/gst/tmpl/GstCompat.sgml:
7425         * docs/gst/tmpl/GstData.sgml:
7426         * docs/gst/tmpl/GstElement.sgml:
7427         * docs/gst/tmpl/GstEvent.sgml:
7428         * docs/gst/tmpl/GstIndex.sgml:
7429         * docs/gst/tmpl/GstStructure.sgml:
7430         * docs/gst/tmpl/GstTag.sgml:
7431         * docs/gst/tmpl/old/GstBin.sgml:
7432         * docs/gst/tmpl/old/GstBuffer.sgml:
7433         * docs/gst/tmpl/old/GstCaps.sgml:
7434         * docs/gst/tmpl/old/GstClock.sgml:
7435         * docs/gst/tmpl/old/GstCompat.sgml:
7436         * docs/gst/tmpl/old/GstData.sgml:
7437         * docs/gst/tmpl/old/GstElement.sgml:
7438         * docs/gst/tmpl/old/GstEvent.sgml:
7439         * docs/gst/tmpl/old/GstIndex.sgml:
7440         * docs/gst/tmpl/old/GstStructure.sgml:
7441         * docs/gst/tmpl/old/GstTag.sgml:
7442
7443 2004-04-28  David Schleef  <ds@schleef.org>
7444
7445         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7446         (gst_caps_append), (gst_caps_append_structure),
7447         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
7448         (gst_caps_set_simple), (gst_caps_set_simple_valist),
7449         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
7450         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
7451         (gst_caps_intersect), (gst_caps_normalize),
7452         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
7453         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
7454         * gst/gstcaps.h: use GST_IS_CAPS().
7455
7456 2004-04-26  David Schleef  <ds@schleef.org>
7457
7458         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
7459         assembly.  gcc doesn't handle it correctly. (bug #141083)
7460         * gst/gsttrashstack.h: same
7461
7462 2004-04-25  Benjamin Otte  <otte@gnome.org>
7463
7464         * gst/gstelement.c: (gst_element_change_state):
7465           fix assertion to do an int comparison
7466
7467 2004-04-25  Benjamin Otte  <otte@gnome.org>
7468
7469         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7470           better debugging output on error
7471
7472 2004-04-25  Benjamin Otte  <otte@gnome.org>
7473
7474         * gst/gstcaps.c: (gst_caps_subtract):
7475           fix memleak
7476
7477 2004-04-23  Benjamin Otte  <otte@gnome.org>
7478
7479         * gst/gstvalue.c: (gst_value_compare_buffer),
7480         (_gst_value_initialize):
7481           add comparison function for buffers
7482
7483 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7484
7485         * docs/pwg/pwg.xml:
7486           Just found out that this so-called "ima-wav" format is really
7487           just "dvi adpcm" (according to the MS WAV documentation). So
7488           renaming it. We didn't use it yet anyway.
7489
7490 2004-04-23  Benjamin Otte  <otte@gnome.org>
7491
7492         * gst/gstcaps.c: (gst_caps_is_always_compatible):
7493           call gst_caps_is_subset
7494
7495 2004-04-23  Benjamin Otte  <otte@gnome.org>
7496
7497         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
7498         (gst_caps_is_subset):
7499           add documentation
7500
7501 2004-04-23  Benjamin Otte  <otte@gnome.org>
7502           
7503         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
7504         (gst_caps_structure_subtract), (gst_caps_subtract),
7505         (gst_caps_structure_figure_out_union),
7506         (gst_caps_structure_simplify), (gst_caps_do_simplify):
7507           fix simplifying and subtracting not working correctly with optional
7508           properties
7509           solve assorted problems that make it now simplify ebven more
7510         * docs/gst/tmpl/gstcaps.sgml:
7511         * gst/gstcaps.h:
7512           make gst_caps_do_simplify return a bool to indicate if it simplified
7513         * testsuite/caps/simplify.c: (main):
7514           add more checks. The tests is quite a bit useless right now because
7515           the core is heavily simplifying itself.
7516         * testsuite/caps/caps.h:
7517           fix caps to contain all optional properties
7518
7519 2004-04-22  Benjamin Otte  <otte@gnome.org>
7520
7521         * docs/gst/tmpl/gstcaps.sgml:
7522         * docs/gst/tmpl/gstfilesrc.sgml:
7523         * docs/gst/tmpl/gststructure.sgml:
7524         * docs/gst/tmpl/gstvalue.sgml:
7525           update for recent API changes
7526         * gst/gstcaps.c: (gst_caps_do_simplify):
7527           fix to stop trying with a freed structure
7528         * gst/gstpad.c: (gst_pad_link_fixate):
7529           simplify caps
7530         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
7531           remove C++ comment
7532         * gst/gstpad.h:
7533           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
7534         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7535         (gst_structure_to_string):
7536           keep the correct type when using lists of ranges
7537         * gst/gstvalue.c: (gst_value_list_prepend_value),
7538         (gst_value_list_append_value):
7539           copy the value before adding to the list (d'oh)
7540         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
7541         (gst_value_subtract_int_range_int_range):
7542           handle overflows correctly
7543         * gst/gstvalue.c: (gst_value_subtract_from_list):
7544           fix memleak
7545         * testsuite/caps/caps.h:
7546           add a caps that caused segfaults
7547
7548 2004-04-22  Benjamin Otte  <otte@gnome.org>
7549
7550         * testsuite/refcounting/pad.c: (main):
7551           fix test
7552
7553 2004-04-22  Benjamin Otte  <otte@gnome.org>
7554
7555         * gst/gstcaps.c: (gst_caps_subtract):
7556           allow subtracting ANY and EMPTY from ANY caps
7557
7558 2004-04-22  Benjamin Otte  <otte@gnome.org>
7559
7560         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
7561         (gst_caps_union):
7562           only simplify in functions that create new caps. Simplifying in
7563           gst_caps_append breaks tests.
7564
7565 2004-04-22  Benjamin Otte  <otte@gnome.org>
7566
7567         * gst/gstcaps.c: (gst_caps_structure_simplify):
7568           unset GValue after use
7569         * gst/gstcaps.c: (gst_caps_append), 
7570         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
7571           use gst_caps_simplify (reduces registry size by 30%)
7572         * gst/gstpad.c: (gst_pad_template_new):
7573           don't allow NULL caps
7574
7575 2004-04-22  Benjamin Otte  <otte@gnome.org>
7576
7577         * docs/gst/gstreamer-sections.txt:
7578           add gst_caps_do_simplify
7579         * gst/gstcaps.c:
7580           add documentation for gst_caps_do_simplify
7581         * gst/gstvalue.h:
7582           fix typo in gst_value_register_subtract_func declaration for gst-doc
7583
7584 2004-04-22  Benjamin Otte  <otte@gnome.org>
7585
7586         * gst/gstcaps.c: (gst_caps_from_string_inplace):
7587           fix bug when converting from empty string.
7588         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
7589         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
7590           use gst_caps_new_empty to allocate a new caps. Only that function
7591           allocates memory for caps now.
7592         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
7593         (gst_caps_remove_structure):
7594           add ability to remove one structure (but not to header yet)
7595         * gst/gstcaps.c: (gst_caps_compare_structures),
7596         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
7597         (gst_caps_structure_simplify), (gst_caps_do_simplify),
7598         * gst/gstcaps.h:
7599           add gst_caps_do_simplify that tries to simplify a caps in place.
7600           Deprecate old gst_caps_simplify function.
7601         * testsuite/caps/caps.h:
7602           add caps.h containing a common set of caps to test against.
7603         * testsuite/caps/sets.c: (check_caps), (main):
7604           use it.
7605         * testsuite/caps/.cvsignore:
7606         * testsuite/caps/Makefile.am:
7607         * testsuite/caps/simplify.c: (check_caps), (main):
7608           add test to check correctness and efficency of caps simplification.
7609
7610 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
7611
7612         reviewed by Benjamin Otte  <otte@gnome.org>
7613
7614         * gst/gstparse.c: (_gst_parse_escape):
7615           Free the GString used in _gst_parse_escape()
7616
7617 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7618
7619         * gst/gstpad.c: (gst_pad_link_negotiate):
7620           refuse to link if the link is not possible
7621         * configure.ac:
7622         * testsuite/Makefile.am:
7623         * testsuite/negotiation/.cvsignore:
7624         * testsuite/negotiation/Makefile.am:
7625         * testsuite/negotiation/pad_link.c: (main):
7626           add test that checks the above behaviour
7627
7628 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7629
7630         * docs/gst/gstreamer-sections.txt:
7631           add newly added API
7632
7633 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7634
7635         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
7636         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
7637         (gst_filesrc_open_file), (gst_filesrc_close_file),
7638         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
7639         * gst/elements/gstfilesrc.h:
7640           add support for non-regular files (#140734)
7641
7642 2004-04-21  Benjamin Otte  <otte@gnome.org>
7643
7644         * gst/gstpad.c: (gst_pad_link_fixate):
7645           add sophisticated error checking code to see if fixation functions
7646           did their fixation right
7647
7648 2004-04-21  Benjamin Otte  <otte@gnome.org>
7649
7650         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
7651           check for ANY caps before appending/unioning
7652         * gst/gstcaps.c: (gst_caps_is_subset),
7653         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
7654         (gst_caps_structure_subtract), (gst_caps_subtract):
7655         * gst/gstcaps.h:
7656           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
7657           the API. deprecate gst_caps_is_equal_fixed
7658         * gst/gstpad.c: (gst_pad_try_set_caps):
7659         * gst/gstqueue.c: (gst_queue_link):
7660           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
7661         * gst/gststructure.c: (gst_structure_get_name_id):
7662         * gst/gststructure.h:
7663           add function gst_structure_get_name_id
7664         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
7665         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
7666         (gst_value_subtract_int_range_int_range),
7667         (gst_value_subtract_double_double_range),
7668         (gst_value_subtract_double_range_double),
7669         (gst_value_subtract_double_range_double_range),
7670         (gst_value_subtract_from_list), (gst_value_subtract_list),
7671         (gst_value_can_intersect), (gst_value_subtract),
7672         (gst_value_can_subtract), (gst_value_register_subtract_func),
7673         (_gst_value_initialize):
7674         * gst/gstvalue.h:
7675           add support for subtracting values from each other. Note that
7676           subtracting means subtracting as in set theory. Required for caps
7677           stuff above.
7678         * testsuite/caps/.cvsignore:
7679         * testsuite/caps/Makefile.am:
7680         * testsuite/caps/erathostenes.c: (erathostenes), (main):
7681         * testsuite/caps/sets.c: (check_caps), (main):
7682         * testsuite/caps/subtract.c: (check_caps), (main):
7683           add tests for subtraction and equality code.
7684
7685 2004-04-20  David Schleef  <ds@schleef.org>
7686
7687         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
7688         * gst/indexers/Makefile.am:
7689         * gst/schedulers/Makefile.am:
7690         * libs/gst/bytestream/Makefile.am:
7691         * libs/gst/control/Makefile.am:
7692         * libs/gst/getbits/Makefile.am:
7693
7694 2004-04-20  David Schleef  <ds@schleef.org>
7695
7696         * common/as-libtool.mak: Fine-tune DLL building.
7697         * configure.ac: Link plugins against libgstreamer.  Define plugindir
7698         (like gst-plugins)
7699         * examples/plugins/Makefile.am: remove plugindir
7700         * gst/autoplug/Makefile.am: DLL building fixes
7701         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
7702         Windows.
7703         * gst/elements/gstelements.c: Conditionally disable pipefilter.
7704         * gst/indexers/Makefile.am: DLL building fixes
7705         * gst/schedulers/Makefile.am: DLL building fixes.
7706         * libs/gst/bytestream/Makefile.am: DLL building fixes.
7707         * libs/gst/control/Makefile.am: same
7708         * libs/gst/getbits/Makefile.am: same
7709         * testsuite/Makefile.am: New dlopen directory
7710         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
7711         when dlopened.
7712         * testsuite/dlopen/dlopen_gst.c: (main): same
7713         * testsuite/dlopen/loadgst.c: (do_test): same
7714
7715 2004-04-20  David Schleef  <ds@schleef.org>
7716
7717         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
7718         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
7719
7720 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7721
7722         * gst/gstelement.c: (gst_element_wait),
7723         (gst_element_set_time_delay), (gst_element_change_state):
7724           Use GST_TIME_*
7725
7726 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7727
7728         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
7729         (gst_spider_identity_plug):
7730           improve debugging messages
7731         * gst/gstbin.c: (gst_bin_remove_func):
7732           make sure the state_change function is only called with simple state
7733           transitions
7734
7735 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7736
7737         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
7738         (gst_fakesink_set_property), (gst_fakesink_chain):
7739         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
7740         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
7741         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
7742         * gst/elements/gstidentity.c: (gst_identity_chain),
7743         (gst_identity_set_property):
7744         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
7745         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
7746           add warnings to _set_property for unknown arguments
7747           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
7748
7749 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7750
7751         * Makefile.am:
7752         * docs/manuals.mak:
7753           add .po file download snippet
7754           fix a bug in the doc makefile
7755
7756 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7757
7758         * Makefile.am:
7759         * po/LINGUAS:
7760         * po/en_GB.po:
7761           Added en_GB translation (Gareth Owen)
7762
7763 2004-04-20  Johan Dahlin  <johan@gnome.org>
7764
7765         * gst/gstpad.c (_invent_event): Clean up
7766
7767 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7768
7769         * testsuite/caps/filtercaps.c: (main):
7770           fix test to test things correctly (caps are complicated)
7771
7772 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7773
7774         * testsuite/caps/Makefile.am:
7775         * testsuite/caps/filtercaps.c: (main):
7776           add test (that doesn't work right now, but should)
7777
7778 2004-04-19  David Schleef  <ds@schleef.org>
7779
7780         * configure.ac: Add test for allowing unaligned access.  Add define
7781         to put in gstconfig.h.
7782         * docs/gst/gstreamer-sections.txt: New symbols
7783         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
7784         * docs/gst/tmpl/gstfilesrc.sgml:
7785         * docs/gst/tmpl/gstparse.sgml:
7786         * docs/gst/tmpl/gsttypes.sgml:
7787         * docs/gst/tmpl/gstutils.sgml:
7788         * docs/gst/tmpl/gstvalue.sgml:
7789         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
7790         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
7791         on most !i386/!powerpc architectures.  From Daniel Gazard
7792         <daniel.gazard@free.fr>.  (bug #140156)
7793         * po/af.po: Check in changes made by gettext.
7794         * po/az.po:
7795         * po/fr.po:
7796         * po/nl.po:
7797         * po/sr.po:
7798         * po/sv.po:
7799
7800 2004-04-20  Benjamin Otte  <otte@gnome.org>
7801
7802         * gst/schedulers/entryscheduler.c: 
7803         (gst_entry_scheduler_yield):
7804           refuse to yield when decoupled elements insist on doing that.
7805           At least it's better than crashing
7806
7807 2004-04-19  David Schleef  <ds@schleef.org>
7808
7809         * docs/libs/Makefile.am: Change sinclude to include
7810         * docs/gst/Makefile.am: same
7811         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
7812
7813 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7814
7815         * po/LINGUAS:
7816         * po/uk.po:
7817           Added Ukrainian translation (Maxim V. Dziumanenko)
7818
7819 2004-04-19  Johan Dahlin  <johan@gnome.org>
7820
7821         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
7822         checking here, do it before calling the function.
7823         Clean up, use for loops instead of while loops while iterating
7824         over lists.
7825
7826         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
7827         in debug message.
7828         (gst_spider_create_and_plug): Improve debug message.
7829         General: Replace while loops which iterates over GLists with for
7830         loops. Which are much cleaner, improves readability, especially
7831         for gst_spider_identity_plug
7832
7833         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
7834         fixes bug 140477
7835
7836 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7837
7838         * po/LINGUAS:
7839         * po/tr.po:
7840           Added Turkish translation (Baris Cicek)
7841
7842 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7843
7844         * docs/faq/troubleshooting.xml:
7845           Mention gst-register in the FAQ (fixes 139045).
7846
7847 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7848
7849         * docs/gst/gstreamer-sections.txt:
7850
7851 2004-04-17  Benjamin Otte  <otte@gnome.org>
7852
7853         * gst/gstelement.c: (gst_element_dispose):
7854           simplify
7855         * gst/gstpad.c: (gst_pad_call_chain_function):
7856           don't create loads of events due to bad macro usage
7857
7858 2004-04-16  David Schleef  <ds@schleef.org>
7859
7860         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
7861         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
7862         * gst/gstvalue.c: (gst_value_serialize_buffer),
7863         (gst_value_deserialize_buffer), (gst_type_is_fixed),
7864         (_gst_value_initialize): Create a new function gst_type_is_fixed()
7865         to indicate types that are fixed wrt caps or not.  Switching to
7866         this function fixes (bug #140298).
7867         * gst/gstvalue.h:
7868
7869 2004-04-16  David Schleef  <ds@schleef.org>
7870
7871         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
7872         for GST_UNALIGNED_ACESS, since we essentially know which archs
7873         are ok.
7874
7875 2004-04-17  Benjamin Otte  <otte@gnome.org>
7876
7877         * docs/gst/Makefile.am:
7878           ignore gst/parse directory when building docs (fixes #140205)
7879
7880 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7881
7882         * testsuite/refcounting/mem.c: (vmsize):
7883           do error checking
7884
7885 2004-04-16  Johan Dahlin  <johan@gnome.org>
7886
7887         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
7888         and gst_pad_call_get_function.
7889
7890 2004-04-15  David Schleef  <ds@schleef.org>
7891
7892         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
7893         checks if we can access unaligned memory.
7894         * configure.ac: Use it.
7895
7896 2004-04-16  Benjamin Otte  <otte@gnome.org>
7897
7898         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
7899         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
7900         * gst/elements/gstfilesrc.h:
7901           s/seek_happened/need_discont/ and require discont before sending any
7902           data
7903
7904 2004-04-15  David Schleef  <ds@schleef.org>
7905
7906         * gst/gstvalue.c: (gst_value_serialize_buffer),
7907         (gst_value_deserialize_buffer), (_gst_value_initialize):
7908         Register these types as fundamental types. (bug #140015)
7909
7910 2004-04-16  Benjamin Otte  <otte@gnome.org>
7911
7912         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
7913         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
7914         (gst_pad_pull):
7915           implement enforcing discont events before buffers are passed. This
7916           allows state changes of only some elements and later correctly going
7917           on where they left off (or in short: you can now set audio sinks to
7918           NULL to release the device when the pipeline is paused)
7919         * gst/gstpad.c: (gst_pad_call_chain_function),
7920         (gst_pad_call_get_function):
7921         * gst/gstpad.h:
7922           add gst_pad_call_chain_function and gst_pad_call_get_function for
7923           scheduler interaction. They are required because of the changes
7924           above.
7925         * gst/schedulers/entryscheduler.c: (get_buffer),
7926         (gst_entry_scheduler_chain_wrapper),
7927         (gst_entry_scheduler_get_wrapper),
7928         (gst_entry_scheduler_state_transition),
7929         (gst_entry_scheduler_pad_link):
7930         * gst/schedulers/gstbasicscheduler.c:
7931         (gst_basic_scheduler_chain_wrapper),
7932         (gst_basic_scheduler_src_wrapper),
7933         (gst_basic_scheduler_chainhandler_proxy),
7934         (gst_basic_scheduler_gethandler_proxy),
7935         (gst_basic_scheduler_cothreaded_chain),
7936         (gst_basic_scheduler_chain_elements):
7937         * gst/schedulers/gstoptimalscheduler.c:
7938         (get_group_schedule_function), (pad_clear_queued),
7939         (gst_opt_scheduler_pad_link):
7940           use the new functions instead of calling get/chain-functions
7941           directly.
7942
7943 2004-04-15  David Schleef  <ds@schleef.org>
7944
7945         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
7946         * docs/gst/tmpl/gstinfo.sgml: same
7947         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
7948         gtk-doc put here.
7949         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
7950         * examples/queue/queue.c: (main):  We iterate pipelines, not
7951         bins.  (bug #139996)
7952
7953 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7954
7955         * docs/pwg/advanced-types.xml:
7956           Add MS RLE support. Also document Qt RLE although I have no sample
7957           files for that yet. And document an extra property for ADPCM.
7958
7959 2004-04-15  David Schleef  <ds@schleef.org>
7960
7961         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
7962         (_gst_plugin_fault_handler_setup):  Disable more stuff on
7963         Windows.
7964
7965 2004-04-15  David Schleef  <ds@schleef.org>
7966
7967         * gst/gstinfo.c: (_gst_debug_init): Change some internal
7968         symbol names to not conflict with new gstinfo.h symbols.
7969         * gst/gstinfo.h: Add inline functions for all those crazy
7970         compilers that don't know how to handle variadic macros (MSVC).
7971
7972 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7973
7974         * configure.ac: bump nano to 1
7975
7976 === release 0.8.1 ===
7977
7978 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7979
7980         * NEWS:
7981         * RELEASE:
7982         * configure.ac:
7983           releasing 0.8.1, "Snow Brigade"
7984
7985 2004-04-14  David Schleef  <ds@schleef.org>
7986
7987         * testsuite/Makefile.am: define tests_ignore
7988         * testsuite/Rules: Added new tests_ignore, which get compiled,
7989         but not run (generally because they're inconsistent or have
7990         heisenbugs).  Now we can ensure all the .c files compile in
7991         testsuite/.
7992         * testsuite/bins/Makefile.am: define tests_ignore
7993         * testsuite/bytestream/Makefile.am:
7994         * testsuite/caps/Makefile.am:
7995         * testsuite/clock/Makefile.am:
7996         * testsuite/debug/Makefile.am:
7997         * testsuite/debug/global.c: (gst_debug_log_one),
7998         (gst_debug_log_two): Fix compilation problem.
7999         * testsuite/dynparams/Makefile.am:
8000         * testsuite/elements/Makefile.am:
8001         * testsuite/ghostpads/Makefile.am:
8002         * testsuite/indexers/Makefile.am:
8003         * testsuite/parse/Makefile.am:
8004         * testsuite/plugin/Makefile.am:
8005         * testsuite/refcounting/Makefile.am:
8006         * testsuite/refcounting/element_pad.c: (main): Don't return leak
8007         results, because it's not calculated correctly.
8008         * testsuite/refcounting/pad.c: (main): same
8009         * testsuite/states/Makefile.am:
8010         * testsuite/tags/Makefile.am:
8011         * testsuite/threads/Makefile.am:
8012
8013 2004-04-14  David Schleef  <ds@schleef.org>
8014
8015         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
8016         generating bad code around the cpu detection asm code.
8017
8018 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8019
8020         * tools/gst-inspect.c: (print_element_info):
8021           print numeric version of rank as well, since we added some - 1
8022           rank values to elements
8023
8024 2004-04-13  David Schleef  <ds@schleef.org>
8025
8026         * configure.ac:  Disable various code when compiling for MinGW.
8027         * gst/elements/Makefile.am:
8028         * gst/elements/gstelements.c:
8029         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
8030         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
8031         * gst/registries/gstxmlregistry.c: (make_dir):
8032
8033 2004-04-13  David Schleef  <ds@schleef.org>
8034
8035         * gst/Makefile.am:
8036         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
8037         assembly.
8038         * gst/gstcpuid_i386.s: remove
8039
8040 2004-04-13  David Schleef  <ds@schleef.org>
8041
8042         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
8043         seems to think it needs to be done.
8044         * docs/gst/tmpl/gstfakesink.sgml:
8045         * docs/gst/tmpl/gstfakesrc.sgml:
8046         * docs/gst/tmpl/gstfdsink.sgml:
8047         * docs/gst/tmpl/gstfdsrc.sgml:
8048         * docs/gst/tmpl/gstfilesink.sgml:
8049         * docs/gst/tmpl/gstfilesrc.sgml:
8050         * docs/gst/tmpl/gstidentity.sgml:
8051         * docs/gst/tmpl/gstmd5sink.sgml:
8052         * docs/gst/tmpl/gstmultifilesrc.sgml:
8053         * docs/gst/tmpl/gstpipefilter.sgml:
8054         * docs/gst/tmpl/gstshaper.sgml:
8055         * docs/gst/tmpl/gstspider.sgml:
8056         * docs/gst/tmpl/gstspideridentity.sgml:
8057         * docs/gst/tmpl/gststatistics.sgml:
8058         * docs/gst/tmpl/gsttee.sgml:
8059         * docs/gst/tmpl/gsttypefind.sgml:
8060         * docs/gst/tmpl/gstutils.sgml:
8061
8062 2004-04-13  David Schleef  <ds@schleef.org>
8063
8064         * configure.ac: Changes to remove POSIXisms (mmap in this case)
8065         and to build DLLs on Windows.
8066         * gst/Makefile.am:
8067         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
8068         (gst_filesrc_open_file):
8069         * gst/schedulers/Makefile.am:
8070
8071 2004-04-13  David Schleef  <ds@schleef.org>
8072
8073         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
8074         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
8075         fixating lists.
8076
8077 2004-04-12  David Schleef  <ds@schleef.org>
8078
8079         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
8080         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
8081         to using it.
8082         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
8083         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
8084         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
8085         * gst/gststructure.c: (gst_structure_set_valist),
8086         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
8087         support for buffers.
8088         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
8089         intended to be const.
8090         * gst/gsttag.h: same
8091         * gst/gstvalue.c: (gst_value_serialize_buffer),
8092         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
8093         to (de)serialize buffers.
8094         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
8095         * testsuite/caps/string-conversions.c: (main):
8096         * testsuite/caps/value_serialize.c: add new test
8097
8098 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8099
8100         * docs/pwg/advanced-types.xml:
8101           Document MS video 1 (video/x-msvideocodec) mimetype/format.
8102
8103 2004-04-11  Benjamin Otte  <otte@gnome.org>
8104
8105         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
8106           rename categories to basic_*
8107         * gst/schedulers/gstbasicscheduler.c: 
8108         (gst_basic_scheduler_chain_wrapper),
8109         (gst_basic_scheduler_chainhandler_proxy),
8110         (gst_basic_scheduler_gethandler_proxy),
8111         (gst_basic_scheduler_eventhandler_proxy):
8112           debugging category fixes - put common stuff in log category
8113         * gst/schedulers/gstbasicscheduler.c: 
8114         (gst_basic_scheduler_chain_elements):
8115           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
8116           active and linking two active chains
8117
8118 2004-04-10  Benjamin Otte  <otte@gnome.org>
8119
8120         * docs/pwg/intro-preface.xml:
8121           fix dead links and remove reference to Wiki
8122
8123 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8124
8125         * gst/schedulers/gstbasicscheduler.c:
8126           make sure we can switch back to the main function if we're still in
8127           the main function (supposed to fix #139617)
8128         * gst/schedulers/gthread-cothreads.h:
8129           don't throw an error when switching to the same cothread
8130
8131 2004-04-09  Benjamin Otte  <otte@gnome.org>
8132
8133         * gst/gstbin.c: (gst_bin_get_type):
8134         * gst/gstclock.c: (gst_clock_get_type):
8135         * gst/gstindex.c: (gst_index_get_type):
8136         * gst/gstobject.c: (gst_object_get_type),
8137         (gst_signal_object_get_type):
8138         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
8139         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
8140         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
8141         * gst/gstqueue.c: (gst_queue_get_type):
8142         * gst/gstregistry.c: (gst_registry_get_type):
8143         * gst/gstsystemclock.c: (gst_system_clock_get_type):
8144         * gst/gstthread.c: (gst_thread_get_type):
8145           don't use memchunks for these objects, use malloc instead
8146
8147 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
8148
8149         * docs/gst/.cvsignore:
8150         * docs/gst/Makefile.am:
8151         * docs/gst/gstreamer-sections.txt:
8152         * docs/gst/tmpl/gstaggregator.sgml:
8153         * docs/gst/tmpl/gstbuffer.sgml:
8154         * docs/gst/tmpl/gstclock.sgml:
8155         * docs/gst/tmpl/gstelement.sgml:
8156         * docs/gst/tmpl/gstfakesink.sgml:
8157         * docs/gst/tmpl/gstfakesrc.sgml:
8158         * docs/gst/tmpl/gstfdsink.sgml:
8159         * docs/gst/tmpl/gstfdsrc.sgml:
8160         * docs/gst/tmpl/gstfilesink.sgml:
8161         * docs/gst/tmpl/gstfilesrc.sgml:
8162         * docs/gst/tmpl/gstidentity.sgml:
8163         * docs/gst/tmpl/gstindex.sgml:
8164         * docs/gst/tmpl/gstinfo.sgml:
8165         * docs/gst/tmpl/gstmd5sink.sgml:
8166         * docs/gst/tmpl/gstmultifilesrc.sgml:
8167         * docs/gst/tmpl/gstpad.sgml:
8168         * docs/gst/tmpl/gstpipefilter.sgml:
8169         * docs/gst/tmpl/gstpipeline.sgml:
8170         * docs/gst/tmpl/gstpluginfeature.sgml:
8171         * docs/gst/tmpl/gstqueue.sgml:
8172         * docs/gst/tmpl/gstregistry.sgml:
8173         * docs/gst/tmpl/gstscheduler.sgml:
8174         * docs/gst/tmpl/gstshaper.sgml:
8175         * docs/gst/tmpl/gstspider.sgml:
8176         * docs/gst/tmpl/gstspideridentity.sgml:
8177         * docs/gst/tmpl/gststatistics.sgml:
8178         * docs/gst/tmpl/gstsystemclock.sgml:
8179         * docs/gst/tmpl/gsttee.sgml:
8180         * docs/gst/tmpl/gstthread.sgml:
8181         * docs/gst/tmpl/gsttypefind.sgml:
8182         * docs/gst/tmpl/gstutils.sgml:
8183           further doc build fixes
8184
8185 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8186
8187         * docs/gst/Makefile.am:
8188           make docs exit on scanning problems
8189           fix nonsrcdir build issues
8190         * docs/gst/gstreamer-sections.txt:
8191           adding stuff from -unused
8192         * gst/gstqueue.h:
8193           create GstQueueSize
8194         * gst/schedulers/cothreads_compat.h:
8195           fix cothread warnings
8196
8197 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8198
8199         * docs/gst/gstreamer-sections.txt:
8200           remove defines deprecated by Benjamin
8201
8202 2004-04-07  Benjamin Otte  <otte@gnome.org>
8203
8204         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
8205           when the buffer is complete, don't check if other buffers are needed
8206         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
8207           check that the offset is >0 so we don't try to read before the
8208           beginning of the file
8209         * gst/gstpad.c: (gst_pad_set_pad_template):
8210           sink the template, so we don't end up with 130k pad templates
8211
8212 2004-04-06  Benjamin Otte  <otte@gnome.org>
8213
8214         * gst/autoplug/gstspider.c: (gst_spider_link_add):
8215           don't ref the element, adding already reffed it. And we didn't unref
8216           it later anyway... (huge memleak when you used many spider elements)
8217         * gst/gstelement.c: (gst_element_base_class_finalize):
8218         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
8219         (gst_element_register):
8220         * gst/gsturi.c: (gst_element_make_from_uri):
8221           use gst_object_(un)ref instead of g_object(un)ref
8222
8223 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8224
8225         * gst/gstbuffer.h:
8226           remove macro that wouldn't work anymore because struct member has
8227           been removed.
8228         * gst/schedulers/entryscheduler.c: (schedule_forward):
8229           fix segfault for unconnected pads
8230         
8231 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8232
8233         reviewed by David Schleef <ds@schleef.org>
8234
8235         * gst/gstinfo.h:
8236           *_FORMAT modifiers should require putting a % in front of them for
8237           consistency reasons.
8238
8239 2004-04-05  Colin Walters  <walters@redhat.com>
8240
8241         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
8242         space.
8243
8244 2004-04-05  Benjamin Otte  <otte@gnome.org>
8245
8246         * configure.ac:
8247         * gst/Makefile.am:
8248         * gst/gst_private.h:
8249         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
8250           add support for detecting if GStreamer runs inside valgrind.
8251           requires valgrind (d'oh) and --enable-debug for correct cdetection.
8252           print a big message in valgrind that GStreamer has detected it's
8253           running inside and might now use different code.
8254         * gst/gstmemchunk.c: (populate), (free_area),
8255         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
8256         (gst_mem_chunk_free):
8257           flag memchunks for valgrind, so it can detect leaking of chunks.
8258           This allows detecting leaks of GstBuffer and GstEvent correctly
8259           inside valgrind.
8260
8261 2004-04-05  David Schleef  <ds@schleef.org>
8262
8263         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
8264           jensgr@gmx.net (Jens Granseuer)
8265
8266 2004-04-05  David Schleef  <ds@schleef.org>
8267
8268         * gst/gstbuffer.c: (_gst_buffer_sub_free),
8269         (gst_buffer_default_free), (gst_buffer_default_copy),
8270         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
8271         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
8272         structures in one place.
8273
8274 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8275
8276         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
8277           (GST_TIME_FORMAT, GST_TIME_ARGS)
8278
8279 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8280
8281         * testsuite/elements/Makefile.am:
8282           disable test until it stops breaking make distcheck
8283
8284 2004-04-05  Johan Dahlin  <johan@gnome.org>
8285
8286         * po/sv.po: Updated translation
8287
8288 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8289
8290         * gst/gstplugin.c: (gst_plugin_load_file):
8291           fix segfault for when original plugin was loaded statically
8292
8293 2004-04-05  Benjamin Otte  <otte@gnome.org>
8294
8295         * testsuite/debug/category.c: (main):
8296         * testsuite/debug/commandline.c: (main):
8297         * testsuite/debug/output.c: (main):
8298           fix tests to work again with debugging enabled
8299
8300 2004-04-05  Benjamin Otte  <otte@gnome.org>
8301
8302         * gst/schedulers/gstbasicscheduler.c:
8303         (gst_basic_scheduler_pad_link):
8304           fix to work with recent scheduling changes
8305
8306 2004-04-05  Benjamin Otte  <otte@gnome.org>
8307
8308         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
8309         prepareChangeLog doesn't work when cvs indents):
8310           don't throw an error when no element can be scheduled, there's too
8311           many weird reasons why it doesn't work. Return STOPPED instead.
8312           decoupled elemts' schedulability doesn't depend on bufpens.
8313
8314 2004-04-04  Benjamin Otte  <otte@gnome.org>
8315
8316         * gst/schedulers/gstbasicscheduler.c:
8317         (gst_basic_scheduler_pad_select):
8318           fix uninitialized variable warnings
8319
8320 2004-04-04  Benjamin Otte  <otte@gnome.org>
8321
8322         * gst/gstpad.c: (gst_pad_collect_valist):
8323           fix uninitialized variable warning
8324         * gst/schedulers/entryscheduler.c: (schedule_forward):
8325           fix shadowed variable
8326
8327 2004-04-04  Benjamin Otte  <otte@gnome.org>
8328
8329         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
8330         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
8331         (gst_pad_select):
8332         * gst/gstpad.h:
8333         * gst/gstscheduler.c: (gst_scheduler_pad_select),
8334         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
8335         * gst/gstscheduler.h:
8336           implement gst_pad_collect as replacement for gst_pad_select.
8337           deprecate gst_pad_select and gst_scheduler_(un)lock_element
8338           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
8339           new pad_select, lock and unlock calls.
8340         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
8341         * gst/cothreads.h:
8342         * gst/schedulers/cothreads_compat.h:
8343         * gst/schedulers/gthread-cothreads.h:
8344           remove unused cothread_lock and cothread_unlock calls
8345         * gst/schedulers/entryscheduler.c:
8346         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
8347         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
8348         (gst_entry_scheduler_pad_select):
8349           update to new API
8350         * gst/schedulers/gstbasicscheduler.c:
8351         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
8352         (gst_basic_scheduler_pad_select):
8353           remove useless lock and unlock calls, update pad_select to new API
8354           (untested)
8355         * gst/schedulers/gstoptimalscheduler.c:
8356         (gst_opt_scheduler_class_init):
8357           remove useless select, lock and unlock function calls
8358         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
8359           use gst_pad_collect instead of gst_pad_select
8360
8361 2004-04-04  Benjamin Otte  <otte@gnome.org>
8362
8363         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
8364         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
8365         (schedule_next_element), (print_entry):
8366           add can_schedule_pad to handle element states.
8367           add schedule_forward to select the correct entry to schedule next
8368
8369 2004-04-03  Benjamin Otte  <otte@gnome.org>
8370
8371         * gst/schedulers/entryscheduler.c: 
8372           remove unused variable, fix error inside Rb, fix compile warning in
8373           unreachable code
8374
8375 2004-04-03  Benjamin Otte  <otte@gnome.org>
8376
8377         * gst/schedulers/entryscheduler.c:
8378           completely revamp the inner workings, so it's a lot easier to
8379           understand and extend
8380
8381 2004-04-03  Andy Wingo  <wingo@pobox.com>
8382
8383         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
8384         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
8385         This allows better introspection of pipeline topology.
8386         (add_to_chain): Don't do trickery to put loop elements first;
8387         rather, queue a chain sort by marking the chain as dirty.
8388         (remove_from_chain): Mark the chain dirty.
8389         (sort_chain): New function. Sorts the group list so that terminal
8390         sinks are first. This means elements on the sink side will be
8391         preferentially sscheduled before elements on the src side of the
8392         pipeline.
8393         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
8394         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
8395         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
8396         (group_inc_link): Change argument and variable names to match the
8397         new link structure member names (src and sink).
8398         (group_dec_link): Add some description
8399
8400 2004-04-03  Benjamin Otte  <otte@gnome.org>
8401
8402         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
8403         * gst/gstinfo.h:
8404         * testsuite/debug/category.c: (main):
8405         * testsuite/debug/commandline.c: (main):
8406         * testsuite/debug/output.c: (main):
8407         * testsuite/debug/printf_extension.c: (main):
8408           fix to successfully build and test with --disable-gst-debug
8409           configure switch (fixes #138705)
8410
8411 2004-04-03  Benjamin Otte  <otte@gnome.org>
8412
8413         * docs/pwg/building-boiler.xml:
8414           add cvs login line and s/anonymous/anoncvs/
8415
8416 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
8417
8418         reviewed by Benjamin Otte  <otte@gnome.org>
8419
8420         * gst/gststructure.c: (gst_structure_free):
8421           memleak fix: free fields array (partial fix for #134839)
8422
8423 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8424
8425         * docs/random/ds/0.9-suggested-changes:
8426           Add a note to change handoff use in fakesrc to be usable in
8427           a more generic way (fakesrc should be renamed to appsrc or so).
8428         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8429           Change signal type to scope, so we can fill the buffer in the
8430           handoff handler (that's the whole use of this signal...).
8431
8432 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8433
8434         * docs/pwg/other-ntoone.xml:
8435           Document muxers and n-to-1 elements.
8436
8437 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
8438
8439         * gst/registries/gstxmlregistry.c
8440         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
8441         determine if a file is a G_MODULE. The old one discards paths
8442         containing "so" somewhere in the middle. My home directory is
8443         called "soto". Go figure...
8444
8445 2004-03-31  David Schleef  <ds@schleef.org>
8446
8447         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
8448         to eventually deprecate gst_buffer_merge().  (bug: #136408)
8449         * gst/gstbuffer.h:
8450
8451 2004-03-31  David Schleef  <ds@schleef.org>
8452
8453         * gst/gstvalue.c: (gst_value_union_int_int_range),
8454         (gst_value_union_int_range_int_range), (gst_value_can_union),
8455         (gst_value_union), (_gst_value_initialize):  Add some union
8456         implementations.  We didn't have any previously.
8457         * testsuite/caps/Makefile.am:
8458         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
8459         (gst_audioscale_getcaps), (test_caps), (main): A little test
8460         that is the same as the caps manipulation in audioscale.
8461
8462 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8463
8464         * docs/faq/general.xml:
8465           add entry about "does gst support format X?"
8466
8467 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8468
8469         * gst/gstthread.c:
8470           fix docs
8471         * gst/gstutils.h:
8472           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
8473
8474 2004-03-30  Benjamin Otte  <otte@gnome.org>
8475
8476         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
8477           set the offset of the buffer to the requested offset
8478         * gst/elements/gsttypefind.c: (stop_typefinding):
8479           revert patch 1.18 (which I unfortunately don't know the reason for).
8480           This is needed to allow downstream elements to seek. Otherwise
8481           typefind might overwrite a previous seek by downstream elements.
8482           This lead to errors with id3tag and typefind on some mp3s.
8483         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
8484         (gst_entry_scheduler_iterate):
8485           be more verbose when debugging
8486
8487 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8488
8489         * gst/gstcaps.c: (gst_caps_from_string_inplace):
8490           make sure we don't get NULL strings
8491
8492 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8493
8494         * gst/gstcaps.c:
8495         * gst/gstelement.c:
8496         * gst/gstelementfactory.c: (gst_element_factory_get_type):
8497         * gst/gstindex.c: (gst_index_resolver_get_type),
8498         (gst_index_get_type), (gst_index_factory_get_type):
8499         * gst/gstinfo.c:
8500         * gst/gstpad.c:
8501         * gst/gstplugin.c:
8502         * gst/gsturi.c: (gst_uri_handler_get_type):
8503         * gst/gstvalue.c:
8504           first batch of documentation fixes
8505
8506 2004-03-29  David Schleef  <ds@schleef.org>
8507
8508         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
8509         * docs/gst/gstreamer-docs.sgml:  More hacking
8510         * docs/gst/gstreamer-sections.txt:
8511         * docs/gst/tmpl/cothreads_compat.sgml:
8512         * docs/gst/tmpl/gstcaps.sgml:
8513         * docs/gst/tmpl/gstclock.sgml:
8514         * docs/gst/tmpl/gstelement.sgml:
8515         * docs/gst/tmpl/gstevent.sgml:
8516         * docs/gst/tmpl/gstpad.sgml:
8517         * docs/gst/tmpl/gstutils.sgml:
8518         * docs/gst/tmpl/gstxml.sgml:
8519         * docs/gst/tmpl/gthread-cothreads.sgml:
8520         * docs/random/ds/0.9-suggested-changes:
8521         * gst/elements/gstfakesink.h: doc fixes
8522         * gst/elements/gstfakesrc.h: doc fixes
8523         * gst/gstcaps.c: doc fixes
8524         * gst/gstcaps.h: doc fixes
8525         * gst/gstelement.c: doc fixes
8526         * gst/gstelement.h: doc fixes
8527         * gst/gstindex.c: doc fixes
8528         * gst/gstinfo.c: doc fixes
8529         * gst/gstpad.c: doc fixes
8530         * gst/gstpad.h: doc fixes
8531         * gst/gstplugin.c: doc fixes
8532         * gst/gsttypefind.h: doc fixes
8533         * gst/gsturi.c: doc fixes
8534         * gst/gstvalue.c: doc fixes
8535
8536 2004-03-29  Colin Walters  <walters@redhat.com>
8537
8538         * gst/registries/gstxmlregistry.c (get_time)
8539         (plugin_times_older_than_recurse):
8540         Use the result of stat to determine whether a path is a file,
8541         so we don't attempt to opendir() files.
8542
8543 2004-03-29  Benjamin Otte  <otte@gnome.org>
8544
8545         * gst/gstpad.c: (gst_pad_set_explicit_caps):
8546           print caps in debugging output when setting caps failed
8547         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
8548         (schedule_next_element), (get_buffer), (run_chainhandler),
8549         (element_may_start), (gst_entry_scheduler_chain_handler),
8550         (gst_entry_scheduler_get_handler),
8551         (gst_entry_scheduler_state_transition),
8552         (gst_entry_scheduler_pad_link):
8553           make this scheduler a testcase for mandatory
8554           discont-before-first-buffer which is needed if we want to allow apps
8555           to release the sound device.
8556           add SCHED_ASSERT macro to print scheduler state before an assertion
8557           triggers.
8558
8559 2004-03-29  Benjamin Otte  <otte@gnome.org>
8560
8561         * COPYING:
8562           replace by LGPL (former COPYING.LIB). The core is completely
8563           licensed LGPL.
8564         * COPYING.LIB:
8565           remove
8566
8567 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8568
8569         * po/af.po:
8570         * po/sv.po:
8571           updated Afrikaans and Swedish
8572
8573 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8574
8575         * po/LINGUAS:
8576         * po/az.po:
8577           adding Azerbaijani (Mətin Əmirov)
8578
8579 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
8580
8581         * gst/gstelement.h: 
8582         * gst/gstelement.c (gst_element_set_time_delay): New function for
8583         setting element time taking into account a hardware buffering
8584         delay.
8585         (gst_element_set_time): Now just an invocation of
8586         gst_element_set_time_delay.
8587         * gst/gstclock.h: 
8588         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
8589         allowing to set event times in the future.
8590         (gst_clock_get_event_time): Now just an invocation of
8591         gst_clock_get_event_time_delay.
8592
8593 2004-03-28  Benjamin Otte  <otte@gnome.org>
8594
8595         * gst/gstbin.c: (gst_bin_set_element_sched),
8596         (gst_bin_unset_element_sched):
8597           don't add decoupled elements to schedulers - otherwise it's
8598           impossible to control if a link to a decoupled element was already
8599           removed from a scheduler or not.
8600         * gst/schedulers/cothreads_compat.h:
8601         * gst/schedulers/gthread-cothreads.h:
8602           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
8603           is no "unused" warning.
8604         * gst/schedulers/Makefile.am:
8605         * gst/schedulers/entryscheduler.c:
8606           add new scheduler, based on ideas from talking to David and Martin.
8607           It's supposed to be small and correct. Currently it's also slow (but
8608           it's not noticable)
8609         * examples/retag/retag.c: (main):
8610         * testsuite/bytestream/test1.c: (main):
8611           fix missing NULLs at end of variadic functions
8612         * testsuite/elements/.cvsignore:
8613           update
8614
8615 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
8616
8617         * gst/gstevent.h:
8618         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
8619
8620 2004-03-25  David Schleef  <ds@schleef.org>
8621
8622         * docs/gst/gstreamer-sections.txt:  More doc hacking.
8623         * docs/gst/tmpl/gstaggregator.sgml:
8624         * docs/gst/tmpl/gstautoplugfactory.sgml:
8625         * docs/gst/tmpl/gstbin.sgml:
8626         * docs/gst/tmpl/gstbuffer.sgml:
8627         * docs/gst/tmpl/gstbufferstore.sgml:
8628         * docs/gst/tmpl/gstfakesink.sgml:
8629         * docs/gst/tmpl/gstfakesrc.sgml:
8630         * docs/gst/tmpl/gstmd5sink.sgml:
8631         * docs/gst/tmpl/gstreamer-unused.sgml:
8632         * docs/gst/tmpl/gstsearchfuncs.sgml:
8633         * docs/gst/tmpl/gstshaper.sgml:
8634         * docs/gst/tmpl/gstspider.sgml:
8635         * docs/gst/tmpl/gsttee.sgml:
8636         * docs/gst/tmpl/gstutils.sgml:
8637         * docs/gst/tmpl/gstvalue.sgml:
8638         * docs/gst/tmpl/gstxml.sgml:
8639         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
8640         and we don't support it.
8641         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
8642         (gst_use_threads), (gst_has_threads): same
8643         * gst/gstthreaddummy.c: same
8644         * gst/autoplug/gstspider.c: Make gst_spider_details static.
8645         * gst/autoplug/gstspider.h: same
8646         * gst/elements/gstaggregator.h: Remove bogus function from header
8647         * gst/elements/gstfakesink.h: same
8648         * gst/elements/gstfakesrc.h: same
8649         * gst/elements/gstmd5sink.h: same
8650         * gst/elements/gstshaper.h: same
8651         * gst/elements/gsttee.h: same
8652         * gst/gstbin.c: doc fixes
8653         * gst/gstbin.h: Remove unused definition.
8654         * gst/gstbuffer.c: doc fixes
8655         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
8656         * gst/gstfilter.c: doc fixes
8657         * gst/gsttag.c: doc fixes
8658         * gst/gstvalue.c: doc fixes
8659
8660 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8661
8662         * docs/pwg/advanced-types.xml:
8663           Document typefinding.
8664         * docs/pwg/other-oneton.xml:
8665           Document one-to-n elements, demuxers and parsers.
8666
8667 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
8668
8669         reviewed by: David Schleef  <ds@schleef.org>
8670
8671         * configure.ac: Check bison version (bug #127838)
8672
8673 2004-03-25  David Schleef  <ds@schleef.org>
8674
8675         * docs/gst/gstreamer-docs.sgml: More fine tuning.
8676         * docs/gst/gstreamer-sections.txt:
8677         * docs/gst/tmpl/gstautoplug.sgml:
8678         * docs/gst/tmpl/gststaticautoplug.sgml:
8679         * docs/gst/tmpl/gststaticautoplugrender.sgml:
8680         * docs/gst/tmpl/gstutils.sgml:
8681         * docs/gst/tmpl/gstxml.sgml:
8682
8683 2004-03-24  David Schleef  <ds@schleef.org>
8684
8685         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
8686         manual being such complete crap, that I decided to do major
8687         hacking of it.  This checkin replaces any fine tuning that
8688         may have been done previously, with the benefit of actually
8689         being complete for much of the API that was changed since
8690         0.6.  Further fine tuning will occur shortly.  (bug #134721)
8691         * docs/gst/gstreamer-sections.txt:
8692         * docs/gst/tmpl/GstBin.sgml:
8693         * docs/gst/tmpl/GstBuffer.sgml:
8694         * docs/gst/tmpl/GstCaps.sgml:
8695         * docs/gst/tmpl/GstClock.sgml:
8696         * docs/gst/tmpl/GstCompat.sgml:
8697         * docs/gst/tmpl/GstData.sgml:
8698         * docs/gst/tmpl/GstElement.sgml:
8699         * docs/gst/tmpl/GstEvent.sgml:
8700         * docs/gst/tmpl/GstIndex.sgml:
8701         * docs/gst/tmpl/GstStructure.sgml:
8702         * docs/gst/tmpl/GstTag.sgml:
8703         * docs/gst/tmpl/cothreads.sgml:
8704         * docs/gst/tmpl/cothreads_compat.sgml:
8705         * docs/gst/tmpl/gettext.sgml:
8706         * docs/gst/tmpl/grammar.tab.sgml:
8707         * docs/gst/tmpl/gst-i18n-app.sgml:
8708         * docs/gst/tmpl/gst-i18n-lib.sgml:
8709         * docs/gst/tmpl/gst.sgml:
8710         * docs/gst/tmpl/gst_private.sgml:
8711         * docs/gst/tmpl/gstaggregator.sgml:
8712         * docs/gst/tmpl/gstarch.sgml:
8713         * docs/gst/tmpl/gstatomic.sgml:
8714         * docs/gst/tmpl/gstatomic_impl.sgml:
8715         * docs/gst/tmpl/gstbin.sgml:
8716         * docs/gst/tmpl/gstbuffer.sgml:
8717         * docs/gst/tmpl/gstbufferstore.sgml:
8718         * docs/gst/tmpl/gstcaps.sgml:
8719         * docs/gst/tmpl/gstclock.sgml:
8720         * docs/gst/tmpl/gstcompat.sgml:
8721         * docs/gst/tmpl/gstconfig.sgml:
8722         * docs/gst/tmpl/gstcpu.sgml:
8723         * docs/gst/tmpl/gstdata.sgml:
8724         * docs/gst/tmpl/gstdata_private.sgml:
8725         * docs/gst/tmpl/gstelement.sgml:
8726         * docs/gst/tmpl/gstenumtypes.sgml:
8727         * docs/gst/tmpl/gsterror.sgml:
8728         * docs/gst/tmpl/gstevent.sgml:
8729         * docs/gst/tmpl/gstfakesink.sgml:
8730         * docs/gst/tmpl/gstfakesrc.sgml:
8731         * docs/gst/tmpl/gstfilesink.sgml:
8732         * docs/gst/tmpl/gstfilter.sgml:
8733         * docs/gst/tmpl/gstindex.sgml:
8734         * docs/gst/tmpl/gstinfo.sgml:
8735         * docs/gst/tmpl/gstinterface.sgml:
8736         * docs/gst/tmpl/gstlog.sgml:
8737         * docs/gst/tmpl/gstmacros.sgml:
8738         * docs/gst/tmpl/gstmarshal.sgml:
8739         * docs/gst/tmpl/gstmd5sink.sgml:
8740         * docs/gst/tmpl/gstmultifilesrc.sgml:
8741         * docs/gst/tmpl/gstobject.sgml:
8742         * docs/gst/tmpl/gstpad.sgml:
8743         * docs/gst/tmpl/gstparse.sgml:
8744         * docs/gst/tmpl/gstpipeline.sgml:
8745         * docs/gst/tmpl/gstplugin.sgml:
8746         * docs/gst/tmpl/gstpluginfeature.sgml:
8747         * docs/gst/tmpl/gstqueue.sgml:
8748         * docs/gst/tmpl/gstreamer-unused.sgml:
8749         * docs/gst/tmpl/gstregistry.sgml:
8750         * docs/gst/tmpl/gstregistrypool.sgml:
8751         * docs/gst/tmpl/gstscheduler.sgml:
8752         * docs/gst/tmpl/gstsearchfuncs.sgml:
8753         * docs/gst/tmpl/gstshaper.sgml:
8754         * docs/gst/tmpl/gstspider.sgml:
8755         * docs/gst/tmpl/gstspideridentity.sgml:
8756         * docs/gst/tmpl/gststructure.sgml:
8757         * docs/gst/tmpl/gstsystemclock.sgml:
8758         * docs/gst/tmpl/gsttag.sgml:
8759         * docs/gst/tmpl/gsttaginterface.sgml:
8760         * docs/gst/tmpl/gsttee.sgml:
8761         * docs/gst/tmpl/gstthread.sgml:
8762         * docs/gst/tmpl/gsttrace.sgml:
8763         * docs/gst/tmpl/gsttrashstack.sgml:
8764         * docs/gst/tmpl/gsttypefind.sgml:
8765         * docs/gst/tmpl/gsttypes.sgml:
8766         * docs/gst/tmpl/gsturi.sgml:
8767         * docs/gst/tmpl/gsturitype.sgml:
8768         * docs/gst/tmpl/gstutils.sgml:
8769         * docs/gst/tmpl/gstvalue.sgml:
8770         * docs/gst/tmpl/gstversion.sgml:
8771         * docs/gst/tmpl/gstxml.sgml:
8772         * docs/gst/tmpl/gstxmlregistry.sgml:
8773         * docs/gst/tmpl/gthread-cothreads.sgml:
8774         * docs/gst/tmpl/types.sgml:
8775
8776 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8777
8778         * docs/pwg/other-sink.xml:
8779         * docs/pwg/other-source.xml:
8780           Documentation on how to write source and sink elements. Other
8781           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
8782           manager, autoplugger) are all still pending.
8783
8784 2004-03-25  Benjamin Otte  <otte@gnome.org>
8785
8786         * testsuite/elements/Makefile.am:
8787         * testsuite/elements/gst-compprep-check:
8788           add check to make sure gst-compprep works
8789         * testsuite/elements/gst-inspect-check.in:
8790           improve initialization output
8791         * testsuite/Makefile.am:
8792         * testsuite/gst-inspect-check:
8793           remove old file
8794
8795 2004-03-24  David Schleef  <ds@schleef.org>
8796
8797         * testsuite/elements/Makefile.am:
8798         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
8799         to the testsuite.
8800
8801 2004-03-24  Benjamin Otte  <otte@gnome.org>
8802
8803         * libs/gst/control/dparam.c: (gst_dparam_attach),
8804         (gst_dparam_detach):
8805         * libs/gst/control/dparammanager.c: (gst_dpman_init):
8806           fix lvalue casts for real
8807
8808 2004-03-24  Benjamin Otte  <otte@gnome.org>
8809
8810         * gst/schedulers/gstbasicscheduler.c:
8811         (gst_basic_scheduler_src_wrapper):
8812         * gst/schedulers/gstoptimalscheduler.c:
8813         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
8814         (pad_clear_queued), (gst_opt_scheduler_add_element),
8815         (gst_opt_scheduler_remove_element):
8816           fix GStreamer to not have issues with lvalue casts anymore (fixes
8817           #136841)
8818
8819 2004-03-24  Benjamin Otte  <otte@gnome.org>
8820
8821         * gst/gstelement.c:
8822           add documentation about a gobject quirk where the object hasn't the
8823           correct class pointer set on initialization
8824         * gst/schedulers/gstbasicscheduler.c:
8825         (gst_basic_scheduler_src_wrapper):
8826           make sure to not run into an infinite loop
8827
8828 2004-03-22  Benjamin Otte  <otte@gnome.org>
8829
8830         * gst/gstutils.c: (gst_util_dump_mem):
8831         * gst/gstutils.h:
8832           first argument of gst_util_dump_mem should be const
8833
8834 2004-03-22  Johan Dahlin  <johan@gnome.org>
8835
8836         * gst/gstvalue.h: Clean up a little bit.
8837
8838 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
8839
8840         reviewed by Benjamin Otte  <otte@gnome.org>
8841
8842         * gst/autoplug/gstspider.c: (gst_spider_dispose):
8843         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
8844         (gst_aggregator_class_init), (gst_aggregator_init):
8845         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
8846         (gst_filesrc_dispose), (gst_filesrc_set_location):
8847         * gst/elements/gstidentity.c: (gst_identity_finalize),
8848         (gst_identity_class_init), (gst_identity_chain):
8849         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
8850         * gst/elements/gststatistics.c: (gst_statistics_finalize),
8851         (gst_statistics_class_init):
8852         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
8853         (gst_tee_get_property):
8854           clean up used memory in this elements correctly on teardown (closes
8855           #137279)
8856
8857 2004-03-20  Colin Walters  <walters@redhat.com>
8858
8859         * gst/registries/gstxmlregistry.c:
8860         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
8861         registry saving atomic.
8862
8863 2004-03-20  Colin Walters  <walters@redhat.com>
8864
8865         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
8866         Just use
8867         access() instead of actually creating and deleting files.
8868
8869 2004-03-18  David Schleef  <ds@schleef.org>
8870
8871         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
8872         (bug #137625)
8873
8874 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8875
8876         * po/sv.po: updated translation (Christian Rose)
8877
8878 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8879
8880         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
8881         (gst_filesink_get_query_types), (_do_init),
8882         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
8883           return FALSE silently
8884         * po/af.po: updated translation (Petri Jooste)
8885
8886 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8887
8888         * Makefile.am:
8889         * configure.ac:
8890           dist common properly
8891         * po/af.po:
8892         * po/fr.po:
8893         * po/nl.po:
8894         * po/sr.po:
8895         * po/sv.po:
8896           refreshing translations
8897
8898 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8899
8900         * po/LINGUAS:
8901         * po/sv.po:
8902         * po/af.po:
8903           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
8904
8905 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8906
8907         * Makefile.am: use common/release.mak
8908
8909 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8910
8911         * docs/faq/gst-uninstalled:
8912           adding gst-monkeysaudio to the list of possible plugin dirs
8913
8914 2004-03-16  David Schleef  <ds@schleef.org>
8915
8916         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
8917         (gst_init_check_with_popt_table):  Fix some gettext strings to
8918         make them easier to translate.  Required making the strings
8919         non-const.
8920
8921 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8922
8923         * configure.ac: bump nano to 1
8924
8925 === release 0.8.0 ===
8926
8927 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8928
8929         * configure.ac: release 0.8.0, "Executive Slacks"
8930
8931 2004-03-16  Johan Dahlin  <johan@gnome.org>
8932
8933         * gst/schedulers/gstoptimalscheduler.c
8934         (gst_opt_scheduler_pad_unlink): Remove double ;,
8935         spotted by Scott Wheeler
8936
8937 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8938
8939         * configure.ac: bump libtool version
8940
8941 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8942
8943         * gst/gstcaps.h:
8944         * gst/gststructure.h:
8945           add reserved padding
8946
8947 2004-03-15  Benjamin Otte  <otte@gnome.org>
8948
8949         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
8950           set the first parameter for select call correctly.
8951           (fixes #137230)
8952
8953 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8954
8955         * *.c,*.h: don't mix tabs and spaces
8956
8957 2004-03-15  Johan Dahlin  <johan@gnome.org>
8958
8959         * gst/schedulers/gstoptimalscheduler.c
8960         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
8961         crash on MPEG playback. My boolean arithmetic is a bit rusty.
8962
8963         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
8964         
8965 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8966
8967         * testsuite/Rules:
8968           fix gst-register rules
8969
8970 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8971
8972         * testsuite/Rules:
8973           use versioned gst-register
8974
8975 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8976
8977         * docs/libs/gstreamer-libs-sections.txt:
8978           remove </SUBSECTION>
8979         * gst/gstplugin.c:
8980         * gst/gstregistry.c: (gst_registry_add_plugin):
8981         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
8982         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
8983           add debugging and fix some comment blocks
8984
8985 2004-03-15  Johan Dahlin  <johan@gnome.org>
8986
8987         * *.h: Revert indent changes.
8988         
8989 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8990
8991         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
8992           g_error_free the g_error
8993         * tools/gst-feedback-m.m:
8994           check for other versions of gstreamer
8995         * tools/gst-indent:
8996           use sh, not bash
8997
8998 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8999
9000         * tools/gst-register.c: do not spill paths when registries are not
9001           writable, until we fix the "user running gst-register" case.
9002
9003 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9004
9005         * *.c, *.h: commit of gst-indent run on core
9006
9007 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9008
9009         * tools/gst-indent:
9010         * tools/Makefile.am:
9011           add our indentation style as a script
9012
9013 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9014
9015         * po/sr.po:
9016         * po/LINGUAS:
9017           added Serbian translation
9018
9019 2004-03-13  Benjamin Otte  <otte@gnome.org>
9020
9021         * gst/gstelement.c:
9022           add documentation note about gst_element_found_tags_for_pad not
9023           being usable in getfunctions. (see #137042)
9024
9025 2004-03-12  David Schleef  <ds@schleef.org>
9026
9027         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
9028         change API right now!  Readd gst_caps_is_simple() macro.
9029         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
9030         uninitialized variable.  I'd bet this caused crashes.
9031         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
9032
9033 2004-03-12  Johan Dahlin  <johan@gnome.org>
9034
9035         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
9036         * gst/gstcaps.h: Clean up
9037
9038         * gst/gst.c (init_post): call gst_caps_get_type() instead of
9039         _gst_caps_initalize()
9040
9041         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
9042         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
9043
9044         * gst/gststructure.c (gst_structure_get_type): Ditto
9045
9046         * gst/gststructure.h: Ditto
9047         
9048 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9049
9050         * gst/gstqueue.c: (gst_queue_init):
9051           Reset default max. values in queues. Reason is simply to avoid
9052           braindead use. If you want wider values, use the properties. The
9053           default is supposed to always work. Wider values would make this
9054           beast a memory hog by default (250 full-PAL RGB32 video frames?
9055           That's 440 MB! No thank you).
9056
9057 2004-03-10  David Schleef  <ds@schleef.org>
9058
9059         * tools/gst-run.c: (main):  Fix crash when no relevant tools
9060         were found.  (bug #136793)
9061
9062 2004-03-10  Johan Dahlin  <johan@gnome.org>
9063
9064         * gst/schedulers/gstoptimalscheduler.c
9065         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
9066         links to elements within the same group, so we can finally remove
9067         that annoying warning. Refactor the code a little bit
9068         (group_dec_links_for_element): Split out
9069
9070 2004-03-09  David Schleef  <ds@schleef.org>
9071
9072         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
9073         (bug #134863)
9074
9075 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9076
9077         * configure.ac: first bug fix due to major/minor bump
9078
9079 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9080
9081         * configure.ac: bump nano to 1
9082
9083 === release 0.7.6 ===
9084
9085 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9086
9087         * NEWS:
9088         * RELEASE:
9089         * configure.ac:
9090           releasing 0.7.6, "Almost"
9091         * po/fr.po:
9092         * po/nl.po:
9093         * tools/Makefile.am:
9094         * tools/gst-feedback-m.m:
9095           unversioned source
9096
9097 2004-03-09  Johan Dahlin  <johan@gnome.org>
9098
9099         Reviewed by: Thomas Vander Stichele
9100
9101         * gst/gstelement.c (gst_element_class_init): register second
9102         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
9103         language bindings can (de)marshall correctly.
9104
9105         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
9106
9107         * gst/gsterror.c (gst_g_error_get_type): New function
9108
9109         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
9110         with VOID:OBJECT,OBJECT,STRING 
9111
9112 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
9113
9114         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
9115         Free a leaked g_timer on early returns.
9116
9117 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9118
9119         * docs/pwg/advanced-types.xml:
9120           Add cinepak description.
9121
9122 2004-03-07  David Schleef  <ds@schleef.org>
9123
9124         * docs/random/mimetypes:  Added cinepak description
9125
9126 2004-03-07  Andy Wingo  <wingo@pobox.com>
9127
9128         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
9129
9130         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
9131         there are no links to other groups when a group is destroyed.
9132         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
9133         removed from a group, make sure the link count to elements linked
9134         to other pads is appropriately decremented. This really fixes
9135         #135672.
9136
9137         The 1.60->1.61 patch has been reapplied in light of this fix.
9138
9139         * gst/gstelement.c (gst_element_dispose): Really protect against
9140         multiple invocations this time.
9141
9142 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9143
9144         * docs/gst/gstreamer-sections.txt:
9145         * docs/gst/tmpl/gsttag.sgml:
9146           remove some deprecated functions, document some existing ones
9147         * gst/gsttag.c: (gst_tag_get_flag):
9148         * gst/gsttag.h:
9149           add accessor function
9150
9151 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9152
9153         * docs/gst/gstreamer-sections.txt:
9154         * docs/gst/tmpl/gsttag.sgml:
9155         * docs/gst/tmpl/gstxml.sgml:
9156         * gst/gsttag.c: (gst_tag_get_flag):
9157         * gst/gsttag.h:
9158
9159 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
9160
9161         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
9162         leak
9163
9164 2004-03-05  David Schleef  <ds@schleef.org>
9165
9166         * REQUIREMENTS: Add bison and flex.
9167         * configure.ac: Fix comment about bison.
9168         * docs/random/ds/0.9-suggested-changes: yer ma
9169         * tools/gst-inspect.c: (print_element_info):  Fix warning.
9170
9171 2004-03-05  Benjamin Otte  <otte@gnome.org>
9172
9173         * gst/gstelement.c: (gst_element_error_full):
9174           revert recent recursive state changing commit - messing with other
9175           elements' states is evil and should be done by apps only.
9176
9177 2004-03-05  Benjamin Otte  <otte@gnome.org>
9178
9179         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
9180           check for empty intersection instead of NULL caps
9181         (gst_element_get_compatible_pad_filtered):
9182           remove old workaround that is only a bug nowadays
9183
9184 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9185
9186         * gst/gstelement.c: (gst_element_error_full):
9187           make elements try to recursively change state to PAUSED on all
9188           parents after an error to suppress ensuing warnings
9189         * gst/parse/grammar.y:
9190           make it check if it was able to sync the state, and throw an error
9191           if not, so stuff like
9192           oggdemux ! vorbisdec ! osssink gets caught
9193
9194 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9195
9196         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
9197           it contains lib64; use AS_AC_EXPAND to handle it properly
9198
9199 2004-03-05  David Schleef  <ds@schleef.org>
9200
9201         * gst/gstcpuid_i386.s:  Remove unused code
9202         * libs/gst/getbits/getbits.c: (gst_getbits_init),
9203         (gst_getbits_newbuf): Remove MMX code
9204         * libs/gst/getbits/getbits.h: Remove MMX code
9205
9206 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
9207
9208         * debian/.cvsignore:
9209         * debian/README.Debian:
9210         * debian/changelog:
9211         * debian/control:
9212         * debian/control.in:
9213         * debian/copyright:
9214         * debian/gstreamer-core-libs-dev.files:
9215         * debian/gstreamer-core-libs.files:
9216         * debian/gstreamer-core.files:
9217         * debian/gstreamer-core.postinst:
9218         * debian/gstreamer-core.postrm:
9219         * debian/gstreamer-doc.files:
9220         * debian/gstreamer-doc.links:
9221         * debian/gstreamer-doc.lintian:
9222         * debian/gstreamer-runtime.files:
9223         * debian/gstreamer-runtime.manpages:
9224         * debian/gstreamer-runtime.postinst:
9225         * debian/gstreamer-runtime.postrm:
9226         * debian/gstreamer-tools.files:
9227         * debian/gstreamer-tools.manpages:
9228         * debian/libgstreamer-dev.files:
9229         * debian/libgstreamer0.4.1.files:
9230         * debian/libgstreamerVERSION.files:
9231         * debian/rules:
9232         Debian package info not maintained here.
9233
9234 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9235
9236         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
9237         * gst/gstbin.c: (gst_bin_class_init):
9238         * gst/gstelement.c: (gst_element_class_init):
9239         * gst/gstindex.c: (gst_index_class_init):
9240         * gst/gstobject.c: (gst_object_class_init),
9241         (gst_signal_object_class_init):
9242         * gst/gstpad.c: (gst_pad_template_class_init):
9243         * gst/gstregistry.c: (gst_registry_class_init):
9244         * gst/gsturi.c: (gst_uri_handler_base_init):
9245         * gst/gstxml.c: (gst_xml_class_init):
9246         * libs/gst/control/dparam.c: (gst_dparam_class_init):
9247         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
9248           make all signal names use dashes instead of underscore
9249
9250 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9251
9252         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
9253
9254 2004-03-03  Benjamin Otte  <otte@gnome.org>
9255
9256         * gst/schedulers/gstoptimalscheduler.c:
9257           revert last commit by Andy Wingo. It causes segfaults on unreffing
9258           in Rhythmbox. (see bug #135672)
9259
9260 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
9261
9262         * po/fr.po: fix typo
9263
9264 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
9265
9266         * tools/gst-inspect.c: (main): 
9267         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
9268
9269 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9270
9271         * configure.ac:
9272           get GLIB_ONLY and POPT flags for the nonversioned binaries
9273         * tools/Makefile.am:
9274           use them
9275
9276 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9277
9278         * gst/gst.c: (init_post):
9279           change so that GST_REGISTRY now is where the global registry gets
9280           saved, since that is where plugins now get attached to first, and
9281           spilled over to the user registry.  Note that in the case of using
9282           GST_REGISTRY env var, we don't want to affect any real registries
9283           beyond the one given by this var, and thus we don't set a user
9284           registry to spill to.  So make sure GST_REGISTRY is writable.
9285
9286 2004-03-01  David Schleef  <ds@schleef.org>
9287
9288         * AUTHORS:  Added some names.  Add yourself if you're missing.
9289
9290 2004-03-01  David Schleef  <ds@schleef.org>
9291
9292         * MAINTAINERS: Add
9293
9294 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
9295
9296         * configure.ac:
9297           remove whitespace
9298         * docs/gst/tmpl/gstbuffer.sgml:
9299         * docs/gst/tmpl/gstdata.sgml:
9300         * docs/gst/tmpl/gstreamer-unused.sgml:
9301         * docs/gst/tmpl/gstxml.sgml:
9302           doc update
9303         * docs/manuals.mak:
9304           add a FIXME
9305         * docs/pwg/intro-preface.xml:
9306         * docs/pwg/pwg.xml:
9307           remove GNOME
9308         * gst/gst.c: (init_post):
9309           try GST_PLUGIN_PATH paths for the _global_registry first
9310         * gst/gstelement.h:
9311           add the error message as well, otherwise (null) debug info doesn't
9312           make much sense
9313         * tools/gst-register.c: (main):
9314           spill paths to next registry if this registry is not writable
9315         * po/fr.po:
9316         * po/nl.po:
9317           translation updates
9318
9319 2004-03-01  Johan Dahlin  <johan@gnome.org>
9320
9321         * gst/gstbuffer.c (_gst_buffer_initialize): 
9322         * gst/gstdata.c (gst_data_get_type): 
9323         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
9324         instead of ref, since some applications that uses GBoxed
9325         routines depends on a function that actually returns a copy.
9326
9327 2004-02-27  Benjamin Otte  <otte@gnome.org>
9328
9329         * gst/gstbuffer.h:
9330           remove gst_buffer_free, use gst_data_unref
9331         * gst/gstdata.c: (gst_data_get_type):
9332           use refcounting in GstData GBoxed registration
9333         * gst/gstdata.h:
9334           remove gst_data_free, use gst_data_unref
9335
9336 2004-02-27  Johan Dahlin  <johan@gnome.org>
9337
9338         * gst/gstdata.c (gst_data_get_type): New function, register
9339         GstData as a GBoxed type.
9340
9341         * gst/gstdata.h (GST_TYPE_DATA): New macro
9342
9343 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9344
9345         * Makefile.am:
9346         * gstreamer.spec.in:
9347           put back RELEASE
9348         * gst/Makefile.am:
9349           clean up non-disting of built files
9350         * testsuite/debug/commandline.c:
9351           test fix for option rename
9352
9353 2004-02-26  David Schleef  <ds@schleef.org>
9354
9355         * configure.ac:  We don't really need glib-2.3.  Also remove
9356         some unneeded checks for library functions.
9357         * gst/Makefile.am:  Instead, we need to not dist files created
9358         by glib-genmarshal.
9359
9360 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9361
9362         * configure.ac:
9363           bump glib required version to 2.3.0 for g_value_takes_boxed
9364
9365  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
9366
9367         * common/m4/gst-docs.m4
9368         change flavour text from enable to disable as enable is our default
9369         closes bug Bug 135304
9370
9371 === release 0.7.5 ===
9372  
9373  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9374  
9375         * NEWS:
9376           instate NEWS file
9377         * Makefile.am:
9378         * gstreamer.spec.in:
9379         * RELEASE:
9380           put back release
9381         * configure.ac:
9382         * docs/random/release:
9383           more updates
9384
9385 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9386
9387         * gst/gsttag.c: (_gst_tag_initialize):
9388         * po/fr.po:
9389         * po/nl.po:
9390           remove hyphen from codec tags
9391
9392 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9393
9394         * gst/parse/Makefile.am:
9395           fix dependency so that a make from a clean build works the first
9396           time
9397
9398 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9399
9400         * docs/random/release:
9401           update release strategy
9402         * po/fr.po:
9403           auto-update po file
9404         * po/nl.po:
9405           update dutch translation
9406
9407 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9408
9409         * docs/manual/debugging.xml:
9410         fix manual for new debugging system
9411
9412 2004-02-25  Andy Wingo  <wingo@pobox.com>
9413
9414         * gst/gstpad.c (gst_pad_link_prepare): Re-add
9415         gst_pad_link_prepare. Please email the list with specific reasons
9416         for reverting.
9417
9418 2004-02-24  Andy Wingo  <wingo@pobox.com>
9419
9420         * gst/gstelement.c (gst_element_dispose): Protect against multiple
9421         invocations.
9422
9423         * gst/schedulers/gstoptimalscheduler.c:
9424         I added a mess of prototypes at the top of the file by way of
9425         documentation. Some of the operations on chains and groups were
9426         re-organized.
9427
9428         (create_group): Added a type argument so if the group is enabled,
9429         the setup_group_scheduler knows what to do.
9430         (group_elements): Added a type argument here, too, to be passed on
9431         to create_group.
9432         (group_element_set_enabled): If an unlinked PLAYING element is
9433         added to a bin, we have to create a new group to hold the element,
9434         and this function will be called before the group is added to the
9435         chain. Thus we have a valid case for group->chain==NULL. Instead
9436         of calling chain_group_set_enabled, just set the flag on the group
9437         (the chain's status will be set when the group is added to it).
9438         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
9439         Setup the group scheduler when the group is enabled, not
9440         specifically when an element goes PAUSED->PLAYING. This means
9441         PLAYING elements can be added, linked, and scheduled into a
9442         PLAYING pipeline, as was intended.
9443         (add_to_group): Don't ref the group twice. I don't know when this
9444         double-ref got in here. Removing it has the potential to cause
9445         segfaults if other parts of the scheduler are buggy. If you find
9446         that the scheduler is segfaulting for you, put in an extra ref
9447         here and see if that hacks over the underlying issue. Of course,
9448         then find out what code is unreffing a group it doesn't own...
9449         (create_group): Make the extra refcount floating, and remove it
9450         after adding the element. This means that...
9451         (unref_group): Destroy when the refcount reaches 0, not 1, like
9452         every other refcounted object in the known universe.
9453         (remove_from_group): When a group becomes empty, set it to be not
9454         active, and remove it from its chain. Don't unref it again,
9455         there's no floating reference any more.
9456         (destroy_group): We have to remove the group from the chain in
9457         remove_from_group (rather than here) to break refcounting cycles
9458         (the chain always has a ref on the group). So assert that
9459         group->chain==NULL.
9460         (ref_group_by_count): Removed, it was commented out anyway.
9461         (merge_chains): Use the remove_from_chain and add_to_chain
9462         primitives to do the reparenting, instead of rolling our own
9463         implementation.
9464         (add_to_chain): The first non-disabled group in the chain's group
9465         list will be the entry point for the chain. Because buffers can
9466         accumulate in loop elements' peer bufpens, we preferentially
9467         schedule loop groups before get groups to avoid unnecessary
9468         execution of get-based groups when the bufpens are already full.
9469         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
9470         (get_group_schedule_function): Ditto.
9471         (loop_group_schedule_function): Ditto.
9472         (gst_opt_scheduler_loop_wrapper): Ditto.
9473         (gst_opt_scheduler_iterate): Ditto.
9474
9475         I understand the opt scheduler now, yippee!
9476
9477         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
9478         (gst_pad_get_name, gst_pad_set_chain_function) 
9479         (gst_pad_set_get_function, gst_pad_set_event_function) 
9480         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
9481         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
9482         (gst_pad_set_query_function, gst_pad_get_query_types) 
9483         (gst_pad_get_query_types_default) 
9484         (gst_pad_set_internal_link_function) 
9485         (gst_pad_set_formats_function, gst_pad_set_link_function) 
9486         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
9487         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
9488         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
9489         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
9490         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
9491         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
9492         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
9493         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
9494         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
9495         (gst_pad_event_default_dispatch, gst_pad_event_default) 
9496         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
9497         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
9498         (gst_pad_get_formats_default, gst_pad_get_formats): Better
9499         argument checks, and some doc fixes.
9500
9501         (gst_pad_custom_new_from_template): Um, does anyone
9502         use these functions? Actually make a custom pad instead of a
9503         normal one.
9504         (gst_pad_try_set_caps): Transpose some checks.
9505         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
9506         the pad is in negotiation.
9507         (gst_pad_try_relink_filtered): Use pad_link_prepare.
9508         
9509         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
9510
9511         * gst/gstelement.h: 
9512         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
9513         on the list.
9514
9515 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9516
9517         * gst/gstbin.c: (gst_bin_add):
9518           add error for not being able to add elements
9519
9520 2004-02-22  Julien MOUTTE <julien@moutte.net>
9521
9522         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
9523         audio-codec and video-codec.
9524
9525 2004-02-22  Benjamin Otte  <otte@gnome.org>
9526
9527         reported by: Padraig O'Briain <padraig.obriain@sun.com>
9528
9529         * autogen.sh:
9530           replace test -e with test -x for mkinstalldirs to be more portable.
9531           (fixes #134816)
9532
9533 2004-02-22  Benjamin Otte  <otte@gnome.org>
9534
9535         * gst/gstpad.c:
9536           revert last patch from Andy, it makes gst_pad_can_link_filtered much
9537           too noisy
9538         * gst/gsttag.c: (_gst_tag_initialize):
9539         * gst/gsttag.h:
9540           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
9541         * libs/gst/control/dparam.c: (gst_dparam_attach):
9542         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
9543           check that types for attached dparams match
9544
9545 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9546
9547         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
9548         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9549         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
9550           fix errors
9551
9552 2004-02-20  Andy Wingo  <wingo@pobox.com>
9553
9554         * gst/gstbin.c:
9555         * gst/gstbuffer.c:
9556         * gst/gstplugin.c:
9557         * gst/registries/gstxmlregistry.c: 
9558         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
9559
9560         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
9561         (gst_element_add_pad): DEBUG->INFO, some fixes.
9562         (gst_element_get_compatible_pad_template): Just see if the
9563         templates' caps intersect, not if one is a strict subset of the
9564         other. This conforms more to what gst_pad_link_intersect() does.
9565         (gst_element_class_add_pad_template): Don't memcpy the pad
9566         template, just ref it.
9567         (gst_element_get_compatible_pad_filtered): Clean up debug messages
9568
9569         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
9570         (gst_pad_link_filtered): Debug changes.
9571         (gst_pad_link_prepare): New function, consolidated from
9572         can_link_filtered and link_filtered.
9573
9574         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
9575         look more like that of the functions in gstelement.c
9576
9577         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
9578         object, and return the empty string if object is NULL.
9579
9580         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
9581         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
9582         LOG, not DEBUG. We still get flex info on debug.
9583
9584         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
9585         debug string more verbose.
9586         (plugin_times_older_than): DEBUG->LOG.
9587
9588 2004-02-20  Julien MOUTTE <julien@moutte.net>
9589
9590         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
9591         will emit found_tag for each stream they demux with the codec.
9592
9593 2004-02-20  Benjamin Otte  <otte@gnome.org>
9594
9595         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
9596           copy navigation event correctly. Check freeing tag lists. 
9597         * gst/gstthread.c: (gst_thread_change_state):
9598           don't abort() on state changing mess - it might happen because of
9599           bugs.
9600         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
9601           use boxed functions
9602         * gst/gstvalue.h:
9603           fix GST_VALUE_HOLDS_CAPS
9604
9605 2004-02-19  David Schleef  <ds@schleef.org>
9606
9607         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
9608         and use it for GST_FUNCTION.  (bug #134750)
9609
9610 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9611
9612         * po/fr.po:
9613         * po/nl.po:
9614           updating translations
9615
9616 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9617
9618         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
9619
9620 2004-02-18  kost@imn.htwk-leipzig.de
9621
9622         reviewed by: David Schleef  <ds@schleef.org>
9623
9624         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
9625         for libgstcontrol.
9626
9627 2004-02-18  David Schleef  <ds@schleef.org>
9628
9629         * libs/gst/control/dparam.c: (gst_dparam_class_init):
9630         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
9631         (gst_dpsmooth_new): Additional fixes to get double dparams working.
9632         * tools/gst-inspect.c: (print_element_info): Support dumping of
9633         double dparam information.
9634
9635 2004-02-17  David Schleef  <ds@schleef.org>
9636
9637         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
9638         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
9639         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
9640         Use GST_TYPE_CAPS in signal prototype.
9641         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
9642         Convert GST_TYPE_CAPS to boxed.
9643         * gst/gstelement.c: (gst_element_class_init):
9644         Use GST_TYPE_TAG_LIST in signal prototype.
9645         * gst/gstindex.c: (gst_index_class_init):
9646         * gst/gstindex.h:
9647         Add GST_TYPE_INDEX_ENTRY type.
9648         * gst/gstmarshal.list:
9649         Add necessary marshal types.
9650         * gst/gstpad.c: (gst_real_pad_class_init),
9651         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
9652         (gst_pad_recover_caps_error):
9653         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
9654         * gst/gststructure.c: (_gst_structure_initialize),
9655         (gst_structure_copy), (_gst_structure_copy_conditional):
9656         * gst/gststructure.h:
9657         Convert GST_TYPE_STRUCTURE to boxed.
9658         * gst/gsttag.c: (gst_tag_list_get_type):
9659         * gst/gsttag.h:
9660         Add GST_TYPE_TAG_LIST type.
9661
9662 2004-02-17  Julien MOUTTE  <julien@moutte.net>
9663
9664         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
9665         to what we agreed with david.
9666         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
9667
9668 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9669
9670         * po/nl.po: update translation
9671
9672 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9673
9674         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
9675           throw an error if spider is trying to play a mime type there is
9676           no decoder for
9677         * po/POTFILES.in:
9678           add gst/autoplug/gstspider.c for translation
9679
9680 2004-02-17  Julien MOUTTE  <julien@moutte.net>
9681
9682         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
9683         silently when the pad is negotiating.
9684
9685 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9686
9687         * docs/faq/Makefile.am:
9688           add script to run gstreamer uninstalled 
9689         * docs/faq/faq.xml:
9690         * docs/faq/developing.xml:
9691         * docs/faq/gst-uninstalled:
9692           extract script to run gstreamer uninstalled
9693         * docs/manuals.mak:
9694           add EXTRA_SOURCES variable for Makefile.am's to set to
9695           use additional SOURCE files for the doc build
9696
9697 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9698
9699         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
9700
9701 2004-02-15  Julien MOUTTE  <julien@moutte.net>
9702
9703         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
9704         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
9705         an error was thrown by osssink. Basically a state change failure for
9706         an element in a different scheduling group was considered as
9707         successful, which means that caps nego was going on and weird stuff
9708         happened. Like I wrote in the comment there, if someone wants to
9709         revert that please drop me a mail explaining why because I really see
9710         no point in keeping that broken behaviour there.
9711         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
9712         be empty, we then return NULL which will trigger a nice error when 
9713         pulling from the pad.
9714
9715 2004-02-13  David Schleef  <ds@schleef.org>
9716
9717         * libs/gst/control/dparam.c: (gst_dparam_class_init),
9718         (gst_dparam_get_property), (gst_dparam_set_property),
9719         (gst_dparam_do_update_default):
9720         * libs/gst/control/dparam.h:
9721         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
9722         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
9723         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
9724         (gst_dpsmooth_do_update_double):
9725         * libs/gst/control/dparam_smooth.h:
9726         * libs/gst/control/dparammanager.c:
9727         (gst_dpman_inline_direct_update):
9728         Add support for double dparams.
9729
9730 2004-02-13  David Schleef  <ds@schleef.org>
9731
9732         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
9733         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
9734
9735 2004-02-13  Mattias Wadman  <mattias@sudac.org>
9736
9737         reviewed by: David Schleef  <ds@schleef.org>
9738
9739         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9740         (gst_fdsrc_init), (gst_fdsrc_set_property),
9741         (gst_fdsrc_get_property), (gst_fdsrc_get):
9742         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
9743         and sends an EOS event if file descriptor reading times out.
9744
9745 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9746
9747         * configure.ac:
9748           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
9749
9750 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9751
9752         * configure.ac: pass required libxml version as argument
9753         (bug reported by Christophe Fergeau)
9754
9755 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9756   
9757         * docs/gst/gstreamer-docs.sgml:
9758         * docs/gst/tmpl/gstxml.sgml:
9759         * docs/libs/gstreamer-libs-docs.sgml:
9760           version API docs
9761
9762 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9763
9764         * gst/gstinfo.c:
9765         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
9766         (gst_registry_pool_feature_filter):
9767         * gst/gstthread.c: (gst_thread_class_init):
9768         * gst/gstvalue.c:
9769           add includes exposed by building without libxml
9770         * gst/indexers/Makefile.am:
9771           do not build fileindex when LOADSAVE disabled; we should have
9772           a better libxml check later since fileindex depends on xml, not
9773           LOADSAVE or REGISTRY
9774         * libs/gst/control/Makefile.am:
9775           link with m
9776         * tools/Makefile.am:
9777           fix wrong source code for gst-xmlinspect
9778
9779 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9780
9781         * configure.ac:
9782           fix gcov help output
9783           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
9784         * docs/random/release:
9785           some updated releasing notes
9786         * gstreamer.spec.in:
9787           more updates
9788
9789 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9790
9791         * docs/faq/faq.xml:
9792         * docs/manual/manual.xml:
9793         * docs/pwg/pwg.xml:
9794         * docs/pwg/titlepage.xml:
9795           put version in documentation
9796
9797 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9798
9799         * tools/Makefile.am: fix man page installation
9800
9801 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9802
9803         * configure.ac:
9804           don't check for libxml when load/save and registry disabled (#105844)
9805         * gstreamer.spec.in:
9806           sync with fedora candidate spec
9807
9808 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9809
9810         * po/fr.po:
9811         * po/nl.po:
9812           replace multidisksrc with multifilesrc
9813
9814 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9815
9816         * po/POTFILES.in:
9817           update to multidisksrc => multifilesrc file renaming (#134145)
9818
9819 2004-02-11  David Schleef  <ds@schleef.org>
9820
9821         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
9822         * docs/gst/tmpl/gstpadtemplate.sgml: same
9823         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
9824         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
9825         fixing dance.
9826         * gst/gstutils.c: Remove disabled code that uses GstProps.
9827         * gst/registries/gstxmlregistry.h: same
9828         * docs/random/ds/0.9-suggested-changes: random notes
9829
9830 2004-02-11  kost@imn.htwk-leipzig.de
9831
9832         reviewed by: David Schleef  <ds@schleef.org>
9833
9834         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
9835         initialisation of clock (bug #134128)
9836
9837 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9838
9839         * configure.ac:
9840         * gst/elements/Makefile.am:
9841         * gst/elements/gstelements.c:
9842         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
9843         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
9844         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
9845         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
9846         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
9847         * gst/elements/gstmultifilesrc.h:
9848           rename multidisksrc to multifilesrc (part of #122200)
9849
9850 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9851
9852         * docs/manuals.mak:
9853           fix automake complaints
9854         * gst-element-check.m4:
9855           fix unquotedness
9856
9857 2004-02-11  David Schleef  <ds@schleef.org>
9858
9859         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
9860         * gst/gstatomic_impl.h: Disable sparc implementation.
9861
9862 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9863
9864         * gst-element-check.m4:
9865           fix underquoted macros as reported by automake 1.8.x (#133800)
9866         * configure.ac:
9867           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
9868           by autopoint (fixes #132996)
9869
9870 2004-02-10  Andy Wingo  <wingo@pobox.com>
9871
9872         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
9873         way to do inheritance.
9874         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
9875         (gst_pad_get_query_types, gst_pad_get_query_types_default):
9876         Routine docs.
9877         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
9878         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
9879         doc.
9880         (gst_pad_unlink, gst_pad_is_linked): Docs.
9881         (gst_pad_renegotiate): A brief description of capsnego.
9882         (gst_pad_try_set_caps): Document.
9883         (gst_pad_try_set_caps_nonfixed): Document.
9884         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
9885         (gst_pad_set_parent): Deprecated (although not out of the API).
9886         (gst_pad_get_parent): Deprecated, although many plugins use this.
9887         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
9888         are private and will go away in 0.9.
9889         (gst_pad_perform_negotiate): Doc.
9890         (gst_pad_link_unnegotiate): I think this is meant to be static.
9891         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
9892         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
9893         (gst_pad_get_peer): Doc updates.
9894         (gst_pad_caps_change_notify): Doc.
9895         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
9896         (gst_ghost_pad_new): Doc fixes.
9897
9898         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
9899         (gst_object_check_uniqueness): 
9900
9901         * gst/gstelement.c (gst_element_add_pad) 
9902         (gst_element_add_ghost_pad, gst_element_remove_pad) 
9903         (gst_element_remove_ghost_pad, gst_element_get_pad) 
9904         (gst_element_get_static_pad, gst_element_get_pad_list) 
9905         (gst_element_class_get_pad_template_list) 
9906         (gst_element_class_get_pad_template): Work on the docs.
9907         (gst_element_get_pad_template_list): Uses the class method.
9908         (gst_element_get_compatible_pad_template): Docs, and consolidate
9909         some test conditions. 
9910         (gst_element_get_pad_from_template): New static function.
9911         (gst_element_request_compatible_pad): Docs, and work with
9912         non-request compatible templates. 
9913         (gst_element_get_compatible_pad_filtered): Docs and remove
9914         redundant checks.
9915         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
9916         (gst_element_link_filtered, gst_element_link_many) 
9917         (gst_element_link, gst_element_link_pads) 
9918         (gst_element_unlink_many): Docs.
9919
9920 2004-02-05  Andy Wingo  <wingo@pobox.com>
9921
9922         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
9923         s/pointer/boxed/.
9924
9925         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
9926
9927         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
9928         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
9929         with the type=GST_TYPE_CAPS. This allows language bindings to know
9930         what kind of data they're dealing with.
9931
9932         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
9933         to NULL when g_value_init is called. GstCaps, which rolls its own
9934         type implementation, now does the same instead of allocating empty
9935         caps.
9936         (_gst_caps_initialize, _gst_caps_collect_value,
9937         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
9938         table methods. This allows G_VALUE_COLLECT to work.
9939
9940 2004-02-05  Andy Wingo  <wingo@pobox.com>
9941
9942         * configure.ac:
9943         * testsuite/Makefile.am (SUBDIRS): 
9944         * testsuite/ghostpads/Makefile.am: 
9945         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
9946
9947         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
9948         These two routines are the only ones that set
9949         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
9950         pad template. They should be made static, depending on ABI needs.
9951         (gst_real_pad_dispose): Handle the case of ghost pads without a
9952         parent. Assert after dealing with ghost pads that the ghost pad
9953         list is empty.
9954         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
9955         set after creation.
9956         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
9957         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
9958         functions. set_property will call add_ghost_pad/remove_ghost_pad
9959         as appropriate.
9960         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
9961
9962         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
9963         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
9964         (gst_element_remove_pad): Handle ghost pads as well.
9965         (gst_element_remove_ghost_pad): Deprecated (could be removed,
9966         depending on API-stability needs).
9967
9968 2004-02-05  Andy Wingo  <wingo@pobox.com>
9969
9970         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
9971         of course they're const
9972
9973 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9974
9975         * tools/Makefile.am:
9976         * tools/gst-feedback:
9977         * tools/gst-feedback-0.7:
9978           make gst-feedback versioned too for consistency
9979
9980 2004-02-11  David Schleef  <ds@schleef.org>
9981
9982         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
9983         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
9984
9985 2004-02-10  Julien MOUTTE <julien@moutte.net>
9986
9987         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
9988         the structure does not contain a valid tag list. Adding a safety check
9989         to remove a noisy warning in that case.
9990
9991 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9992
9993         * gst/gst.c: fix name to be in line with others
9994
9995 2004-02-09  Julien MOUTTE <julien@moutte.net>
9996
9997         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
9998         not shout that loud when len is 0. Just return 0 silently.
9999
10000 2004-02-09  Julien MOUTTE  <julien@moutte.net>
10001
10002         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
10003         because data_unref has one and I prefer the debug to be symetric.
10004         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
10005         were refed when added to the queue and unrefed only once when the queue
10006         was flushed. Now the flush handler unref the buffers two times : first
10007         unref for the ref added when pushing in the queue's tail and second
10008         unref to destroy the flushed buffer.
10009
10010 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10011
10012         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
10013
10014 2004-02-06  David Schleef  <ds@schleef.org>
10015
10016         * docs/random/ds/0.9-suggested-changes: Random ramblings
10017         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
10018         to int before printing.
10019         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
10020         * gst/parse/parse.l: same.  See bug #129600
10021
10022 2004-02-06  David Schleef  <ds@schleef.org>
10023
10024         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
10025         (gst_index_add_entry), (gst_index_add_associationv),
10026         (gst_index_add_association): Add gst_index_add_associationv()
10027         and clean up gst_index_add_association(). #127133
10028
10029 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10030
10031         * autogen.sh: check out common with right tag if CVS/Tag exists
10032
10033 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10034
10035         * testsuite/ghostpads/ghostpads.c: (main):
10036           fix testsuite from segfaulting
10037
10038 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10039
10040         * Makefile.am: add release target
10041         * configure.ac: bump nano to 1
10042         * docs/random/release:
10043
10044 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10045
10046         * gst/gstcaps.h:
10047         * gst/gstelement.c: (gst_element_base_class_init),
10048         (gst_element_class_set_details), (gst_element_clear_pad_caps):
10049         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10050         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
10051         (gst_real_pad_dispose):
10052         * gst/gststructure.c: (gst_structure_free),
10053         (gst_structure_from_string):
10054           put reverted patch back in
10055         * gst/gstelement.c: (gst_element_remove_pad):
10056           free explicit caps if they're set
10057         * gst/gstpad.c: (_gst_pad_default_fixate_func):
10058           copy the structure when fixating
10059
10060 2004-02-05  David Schleef  <ds@schleef.org>
10061
10062         * gst/gstmarshal.list:
10063         * gst/gstpad.c: (gst_real_pad_class_init),
10064         (_gst_real_pad_fixate_accumulator):
10065         Revert POINTER->BOXED change in signal marshaller.
10066
10067 === release 0.7.4 ===
10068                                                                                 
10069 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10070                                                                                 
10071         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
10072         * configure.ac: changed for release
10073
10074 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10075
10076         * gstreamer.spec.in:
10077           bump required version of gtk-doc
10078
10079 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10080
10081         * gst/gstcaps.h:
10082         * gst/gstelement.c: (gst_element_base_class_init),
10083         (gst_element_class_set_details), (gst_element_clear_pad_caps):
10084         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10085         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
10086         (gst_real_pad_dispose):
10087         * gst/gststructure.c: (gst_structure_free),
10088         (gst_structure_from_string):
10089           revert patch that breaks applications, reapply after release
10090           to get this fixed properly
10091
10092 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10093
10094         * gst/gsttag.c: (_gst_tag_initialize):
10095         * gst/gsttag.h:
10096           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
10097
10098 2004-02-04  David Schleef  <ds@schleef.org>
10099
10100         Fix some memleaks:
10101         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
10102         (gst_spider_plug_from_srcpad):
10103         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
10104
10105 2004-02-04  David Schleef  <ds@schleef.org>
10106
10107         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
10108         a GstRealPad before accessing its structure members.
10109
10110 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10111
10112         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
10113         (gst_clock_get_speed):
10114         * gst/gstclock.h:
10115           reset padding, remove unused fields
10116
10117 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10118
10119         * gst/autoplug/gstspideridentity.c:
10120         (gst_spider_identity_sink_loop_type_finding):
10121           use get_allowed_caps, not get_caps (fixes #132519)
10122         * gst/elements/gsttypefind.c: (stop_typefinding):
10123           use correct order when sending buffers and seeking
10124
10125 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10126
10127         * configure.ac:
10128         * gst/gstelement.h:
10129         * gst/gstpad.h:
10130         * gst/gstqueue.h:
10131           upgrade libtool CURRENT, reset padding
10132
10133 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10134
10135         * configure.ac:
10136           bump to prerelease
10137           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
10138
10139 2004-02-04  David Schleef  <ds@schleef.org>
10140
10141         * docs/random/ds/0.9-suggested-changes: random notes
10142         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
10143         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
10144         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
10145         expansion.
10146         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10147         (gst_filesink_get_query_types): same
10148         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
10149         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
10150         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
10151         to use new GST_PTR_FORMAT.
10152         * gst/gstelement.h: deprecate function factory macros
10153         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
10154         These are our last variadic macros that can't be replaced with
10155         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
10156         attempting to deprecate gst_element_clock_wait().
10157         * gst/gstevent.h: same
10158         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
10159         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
10160         * gst/gstpad.h: deprecate function factory macros similar to above.
10161
10162 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10163
10164         * configure.ac:
10165         * tools/Makefile.am:
10166         * tools/gst-run.c: (popt_callback), (hash_print_key),
10167         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
10168         (get_candidates), (main):
10169           add new source file to generate non-versioned wrapper binaries
10170           for our tools.
10171
10172 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10173
10174         * gst/gstevent.c: (_gst_event_free):
10175           actually break; inside the switch statement
10176         * gst/parse/grammar.y:
10177           fix memleak where GValues weren't unset
10178
10179 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10180
10181         * gst/gststructure.c: (gst_structure_from_string):
10182           fix huge memleak
10183         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
10184         (new_entry), (gst_type_find_element_chain):
10185         * gst/gstelement.c: (gst_element_base_class_init),
10186         (gst_element_class_set_details):
10187         * gst/gstpad.c: (gst_pad_can_link_filtered):
10188           fix smaller memleaks
10189         * gst/gstpad.c: (gst_real_pad_dispose):
10190           check that explicit caps are gone
10191         * gst/gststructure.c: (gst_structure_free):
10192           actually free the structure
10193         * gst/gstelement.c: (gst_element_clear_pad_caps):
10194           unset explicit caps
10195
10196 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10197
10198         * tools/Makefile.am:
10199           use AM_CFLAGS since all the CFLAGS are the same
10200           use AM_LDFAGS
10201
10202 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10203
10204         * docs/manual/gnome.xml:
10205           expand example a little
10206         * gst/gst.c: (gst_init_with_popt_table),
10207         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
10208           make sure popt option displays are done with right textdomain
10209           use GstPoptOption type
10210         * gst/gst.h:
10211           create GstPoptOption type
10212
10213 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10214
10215         * gst/gsterror.c: (_gst_stream_errors_init):
10216         * gst/gsterror.h:
10217           adding error type for no codec
10218         * po/POTFILES.in:
10219           add gst-inspect
10220         * po/nl.po:
10221           update dutch translation
10222         * tools/gst-inspect.c: (print_element_list), (main):
10223           do proper internationalization
10224         * tools/gst-launch.c: (idle_func):
10225           remove commented out function call
10226
10227 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10228
10229         * docs/README:
10230           add some error fixing notes
10231         * docs/gst/gstreamer-sections.txt:
10232           remove double entries
10233         * docs/gst/tmpl/gstbin.sgml:
10234         * docs/gst/tmpl/gstclock.sgml:
10235           remove override
10236         * docs/gst/tmpl/gstelement.sgml:
10237         * docs/gst/tmpl/gstindex.sgml:
10238         * docs/gst/tmpl/gstobject.sgml:
10239         * docs/gst/tmpl/gstpadtemplate.sgml:
10240         * docs/gst/tmpl/gstreamer-unused.sgml:
10241         * docs/gst/tmpl/gsttag.sgml:
10242         * docs/gst/tmpl/gstthread.sgml:
10243         * docs/gst/tmpl/gstxml.sgml:
10244         * gst/gsttag.h:
10245           sync header prototypes with c decls
10246         * gst/gsttaginterface.c:
10247           fix doc headers
10248
10249 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10250
10251         * gst/parse/Makefile.am:
10252         * gst/gstobject.h:
10253           get rid of gstmarshal.h dependency. It's not needed.
10254         * gst/gst.h:
10255         * gst/elements/gstfakesink.c:
10256         * gst/elements/gstfakesrc.c:
10257         * gst/elements/gstidentity.c:
10258         * gst/gstbin.c:
10259         * gst/gstelement.c:
10260         * gst/gstindex.c:
10261         * gst/gstobject.c:
10262         * gst/gstpad.c:
10263         * gst/gstthread.c:
10264         * gst/gstxml.c:
10265         * libs/gst/control/dparam.c:
10266         * libs/gst/control/dparammanager.c:
10267           include gstmarshal.h.
10268         Fixes #132045
10269
10270 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10271
10272         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10273         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
10274         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
10275         * gst/elements/gstfilesrc.h:
10276           don't ref the filesrc when creating mmaped buffers. Don't keep a
10277           list of not-yet-destroyed buffers.
10278         * gst/gstbuffer.h:
10279           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
10280
10281 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10282
10283         * gst/gst.c: (init_pre):
10284           remove textdomain
10285
10286 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10287
10288         * docs/pwg/advanced-events.xml:
10289         * docs/pwg/advanced-scheduling.xml:
10290         * docs/pwg/intro-basics.xml:
10291         * docs/pwg/other-manager.xml:
10292         * docs/pwg/other-nton.xml:
10293         * docs/pwg/other-ntoone.xml:
10294         * docs/pwg/other-oneton.xml:
10295         * docs/pwg/pwg.xml:
10296           All sort of documentation... Forgot what. Point is that I want this
10297           in before I leave. The 'other-*' will be the last section and will
10298           explain issues specific to these type of elements.
10299
10300 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10301
10302         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10303         (gst_filesrc_get_read):
10304           set all the values on buffers that we can
10305
10306 2004-02-02  David Schleef  <ds@schleef.org>
10307
10308         Change usage of isblah() to g_ascii_isblah() to be more locale
10309         independent.  (#133076)
10310         * gst/gsturi.c: (gst_uri_protocol_check_internal):
10311         * gst/gstutils.c:
10312         * gst/parse/parse.l:
10313
10314 2004-02-02  Jon Trowbridge  <trow@gnu.org>
10315
10316         reviewed by: David Schleef  <ds@schleef.org>
10317
10318         Fix memory leaks:
10319         * gst/gstcaps.c: (gst_caps_to_string):
10320         * gst/registries/gstxmlregistry.c:
10321         (gst_xml_registry_add_path_list_func),
10322         (gst_xml_registry_parse_padtemplate):
10323
10324 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10325
10326         * gst/gstelement.c: (gst_element_default_error):
10327           suffix error messages with period
10328
10329 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10330
10331         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10332         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10333         * gst/gsterror.c: (gst_error_get_message):
10334           Suffix with dots
10335         * po/fr.po:
10336         * po/nl.po:
10337           Update translation files
10338
10339 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10340
10341         * gst/autoplug/gstspideridentity.c:
10342         (gst_spider_identity_sink_loop_type_finding):
10343         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10344         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10345         (gst_filesink_close_file), (gst_filesink_handle_event),
10346         (gst_filesink_chain):
10347         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10348         (gst_filesrc_get_read), (gst_filesrc_open_file):
10349         * gst/elements/gstidentity.c: (gst_identity_chain):
10350         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10351         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10352         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10353         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10354         * gst/gsterror.c: (_gst_core_errors_init),
10355         (_gst_library_errors_init), (_gst_resource_errors_init),
10356         (_gst_stream_errors_init), (gst_error_get_message):
10357         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10358         (gst_pad_recover_caps_error), (gst_pad_pull):
10359         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
10360         * gst/schedulers/gstbasicscheduler.c:
10361         (gst_basic_scheduler_chainhandler_proxy),
10362         (gst_basic_scheduler_gethandler_proxy),
10363         (gst_basic_scheduler_cothreaded_chain):
10364           Suffix error messages with period.
10365           Use (NULL) instead of NULL
10366
10367 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
10368
10369         * docs/gst/tmpl/gstelement.sgml:
10370         * docs/gst/tmpl/gstxml.sgml:
10371         * gst/gstelement.c: (gst_element_error_full):
10372           add element path to error
10373
10374 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10375
10376         * docs/random/mimetypes:
10377           update raw int/float info
10378         * gst/gsttag.c: (_gst_tag_initialize):
10379         * gst/gsttag.h:
10380           add GST_TAG_ENCODER
10381
10382 2004-01-30  David Schleef  <ds@schleef.org>
10383
10384         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
10385           missing (#132991)
10386
10387 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
10388
10389         reviewed by Benjamin Otte 
10390           parts of the patch submitted in bug #113913
10391
10392         * configure.ac:
10393           use AC_C_INLINE. Use = instead of == with test
10394         * examples/plugins/example.c:
10395         * gst/autoplug/gstspideridentity.c:
10396         * gst/elements/gstfdsrc.c:
10397         * gst/elements/gstfilesrc.c:
10398         * gst/elements/gstidentity.c:
10399         * gst/elements/gstmultidisksrc.c:
10400         * gst/elements/gststatistics.c:
10401         * gst/gstelement.c:
10402         * gst/gstobject.c:
10403         * gst/gstpad.c:
10404         * gst/gstpipeline.c:
10405         * gst/gstthread.c:
10406           don't end enums with a comma
10407         * gst/gstindex.c: (gst_index_compare_func):
10408           do explicit casting to gint
10409         * gst/gsttrace.c: (gst_trace_text_flush):
10410           #define strsize as a macro
10411
10412 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10413
10414         * docs/README:
10415         * docs/gst/gstreamer-docs.sgml:
10416         * docs/gst/gstreamer-sections.txt:
10417         * docs/gst/tmpl/gstelement.sgml:
10418         * docs/gst/tmpl/gsterror.sgml:
10419         * docs/gst/tmpl/gstinterface.sgml:
10420         * docs/gst/tmpl/gstreamer-unused.sgml:
10421         * docs/gst/tmpl/gststructure.sgml:
10422         * docs/gst/tmpl/gsttag.sgml:
10423         * docs/gst/tmpl/gsttaginterface.sgml:
10424         * docs/gst/tmpl/gstvalue.sgml:
10425         make sure all API ends up in the built docs
10426         * gst/gstinterface.c:
10427         * gst/gststructure.c: (gst_structure_id_set_value),
10428         (gst_structure_set_value), (gst_structure_id_get_value):
10429         * gst/gststructure.h:
10430         * gst/gstvalue.h:
10431         sync .h with .c declarations
10432
10433 2004-01-30  Julien Moutte  <julien@moutte.net>
10434
10435         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
10436         Ronald will fix riffread.
10437
10438 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10439
10440         * docs/pwg/advanced-interfaces.xml:
10441           Added tuner interface docs.
10442
10443 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10444
10445         * docs/random/mimetypes:
10446           correct Theora information
10447         * gst/gstelement.h:
10448           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
10449
10450 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10451
10452         * gst/gstelement.c: (gst_element_error_full):
10453         * gst/gstelement.h:
10454           GST_ELEMENT_ERROR in enum -> _IN_ERROR
10455
10456 2004-01-29  Julien MOUTTE  <julien@moutte.net>
10457
10458         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10459         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
10460         again and even before DISCONT.
10461         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
10462         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
10463         bytestream so that it's not stopping to fill the bytestream if events
10464         different than EOS or DISCONT are received. Instead it process them so
10465         that they go downstream.
10466
10467 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10468
10469         * docs/gst/tmpl/gstelement.sgml:
10470         * docs/gst/tmpl/gstreamer-unused.sgml:
10471         * docs/gst/tmpl/gstxml.sgml:
10472         * gst/autoplug/gstspideridentity.c:
10473         (gst_spider_identity_sink_loop_type_finding):
10474         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
10475         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
10476         (gst_filesink_close_file), (gst_filesink_handle_event),
10477         (gst_filesink_chain):
10478         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
10479         (gst_filesrc_get_read), (gst_filesrc_open_file):
10480         * gst/elements/gstidentity.c: (gst_identity_chain):
10481         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
10482         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
10483         (gst_pipefilter_chain), (gst_pipefilter_open_file):
10484         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10485         * gst/gstelement.h:
10486         * gst/gstpad.c: (gst_pad_set_explicit_caps),
10487         (gst_pad_recover_caps_error), (gst_pad_pull):
10488         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
10489         * gst/schedulers/gstbasicscheduler.c:
10490         (gst_basic_scheduler_chainhandler_proxy),
10491         (gst_basic_scheduler_gethandler_proxy),
10492         (gst_basic_scheduler_cothreaded_chain):
10493           gst_element_error -> GST_ELEMENT_ERROR
10494
10495 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10496
10497         * docs/Makefile.am:
10498         * docs/gst/tmpl/gstelement.sgml:
10499         * docs/gst/tmpl/gstxml.sgml:
10500         * docs/manuals.mak:
10501         * docs/pwg/advanced-request.xml:
10502         * docs/pwg/advanced-scheduling.xml:
10503         * docs/pwg/advanced-tagging.xml:
10504           fix non-validating docbook using CDATA
10505           make sure make check-local gets run first to check if it validates
10506
10507 2004-01-29  Julien MOUTTE <julien@moutte.net>
10508
10509         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
10510         handling (up and downstream).
10511         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
10512         my_filter thing.
10513
10514 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10515
10516         * docs/pwg/advanced-tagging.xml:
10517           Add docs about tag writing.
10518
10519 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10520
10521         * docs/pwg/advanced-tagging.xml:
10522           Add a part about tag reading and application signalling... Tag
10523           writing still needs to be documented.
10524         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
10525           We can set file locations in READY, too.
10526
10527 2004-01-29  Julien MOUTTE <julien@moutte.net>
10528
10529         * docs/random/ds/element-checklist: Adding some notes about src
10530         events.
10531
10532 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10533
10534         * docs/random/mimetypes:
10535           Update docs to point to correct elements for various mimetypes, and
10536           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
10537           <stephane.loeuillet@tiscali.fr>.
10538
10539 2004-01-28  David Schleef  <ds@schleef.org>
10540
10541         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
10542
10543 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10544
10545         * docs/random/mimetypes:
10546           update docs for audio/x-raw-float. Add "buffer-frames=0 means
10547           undefined"
10548         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
10549           make it only work in NULL.
10550         * gst/gstcaps.c:
10551           don't posion NULL caps
10552         * gst/gstelement.c: (gst_element_set_time):
10553           add debugging statement
10554         * gst/gstelement.c: (gst_element_emit_found_tag),
10555         (gst_element_found_tag_func), (gst_element_found_tags):
10556         * gst/gstelement.h:
10557           These functions take const taglists
10558         * gst/gstpad.c: (gst_pad_proxy_getcaps):
10559           fix memleak
10560         * gst/gstpad.c: (gst_pad_event_default):
10561           make more effort on handling discont and clocks, g_warn if everything
10562           fails
10563         * gst/gststructure.c: (gst_structure_remove_fields),
10564         (gst_structure_remove_fields_valist):
10565         * gst/gststructure.h:
10566           add gst_structure_remove_fields(_valist)
10567         * gst/gsttag.c:
10568           fix doc glitch
10569
10570 2004-01-28  David Schleef  <ds@schleef.org>
10571
10572         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
10573         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
10574         Fix memory leakage of gst_caps_to_string().
10575
10576         Use GST_PTR_FORMAT instead of gst_caps_to_string():
10577         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
10578         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
10579         (gst_spider_identity_sink_loop_type_finding):
10580         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
10581         (find_suggest):
10582         * gst/gstpad.c: (gst_pad_try_relink_filtered),
10583         (gst_pad_set_explicit_caps):
10584         * gst/parse/grammar.y:
10585
10586 2004-01-28  David Schleef  <ds@schleef.org>
10587
10588         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
10589         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
10590         * docs/random/ds/0.9-suggested-changes: Notes from Company.
10591         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
10592         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
10593         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
10594         (gst_debug_log_default), (_gst_info_printf_extension),
10595         (_gst_info_printf_extension_arginfo):  Add printf extension.
10596         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
10597         * gst/gststructure.c: (gst_structure_to_string),
10598         (_gst_structure_parse_value): Use gst_value_deserialize() and
10599         remove old code.
10600         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
10601         (gst_value_deserialize_boolean), (gst_strtoi),
10602         (gst_value_deserialize_int), (gst_value_deserialize_double),
10603         (gst_value_deserialize_string), (gst_value_deserialize): Implement
10604         a bunch of deserialize functions and gst_value_deserialize.
10605         * gst/gstvalue.h: er, _de_serialize, not unserialize
10606         * testsuite/caps/string-conversions.c: (main): We don't currently
10607         handle (float) in caps, so convert these to (double).
10608         * testsuite/debug/Makefile.am: Add new test for the printf extension
10609         * testsuite/debug/printf_extension.c: (main): same
10610
10611 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10612
10613         * docs/random/company/time:
10614           Add some docs about clocking and time
10615
10616 2004-01-28  Julien MOUTTE <julien@moutte.net>
10617
10618         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
10619
10620 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10621
10622         * docs/pwg/advanced-clock.xml:
10623         * docs/pwg/advanced-dparams.xml:
10624         * docs/pwg/advanced-events.xml:
10625         * docs/pwg/advanced-interfaces.xml:
10626         * docs/pwg/advanced-midi.xml:
10627         * docs/pwg/advanced-request.xml:
10628         * docs/pwg/advanced-scheduling.xml:
10629         * docs/pwg/advanced-tagging.xml:
10630         * docs/pwg/advanced-types.xml:
10631         * docs/pwg/appendix-checklist.xml:
10632         * docs/pwg/building-boiler.xml:
10633         * docs/pwg/building-chainfn.xml:
10634         * docs/pwg/building-filterfactory.xml:
10635         * docs/pwg/building-pads.xml:
10636         * docs/pwg/building-props.xml:
10637         * docs/pwg/building-signals.xml:
10638         * docs/pwg/building-state.xml:
10639         * docs/pwg/building-testapp.xml:
10640         * docs/pwg/intro-basics.xml:
10641         * docs/pwg/intro-preface.xml:
10642         * docs/pwg/other-autoplugger.xml:
10643         * docs/pwg/other-sink.xml:
10644         * docs/pwg/other-source.xml:
10645         * docs/pwg/titlepage.xml:
10646           fix up id's
10647
10648 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10649
10650         * docs/95NonPath:
10651         * docs/HACKING:
10652         * docs/README:
10653         * docs/building-the-docs-on-debian:
10654           collect relevant bits of doc info
10655
10656 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10657
10658         * docs/pwg/advanced_tagging.xml:
10659           Half-assed commit so Thomas can re-arrange document IDs here to be
10660           consistent, too.
10661
10662 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10663
10664         * docs/manual/autoplugging.xml:
10665         * docs/manual/bins-api.xml:
10666         * docs/manual/bins.xml:
10667         * docs/manual/buffers-api.xml:
10668         * docs/manual/buffers.xml:
10669         * docs/manual/clocks.xml:
10670         * docs/manual/components.xml:
10671         * docs/manual/cothreads.xml:
10672         * docs/manual/debugging.xml:
10673         * docs/manual/dparams-app.xml:
10674         * docs/manual/dynamic.xml:
10675         * docs/manual/elements-api.xml:
10676         * docs/manual/elements.xml:
10677         * docs/manual/factories.xml:
10678         * docs/manual/gnome.xml:
10679         * docs/manual/goals.xml:
10680         * docs/manual/helloworld.xml:
10681         * docs/manual/helloworld2.xml:
10682         * docs/manual/init-api.xml:
10683         * docs/manual/intro.xml:
10684         * docs/manual/links-api.xml:
10685         * docs/manual/links.xml:
10686         * docs/manual/manual.xml:
10687         * docs/manual/motivation.xml:
10688         * docs/manual/pads-api.xml:
10689         * docs/manual/pads.xml:
10690         * docs/manual/plugins-api.xml:
10691         * docs/manual/plugins.xml:
10692         * docs/manual/programs.xml:
10693         * docs/manual/queues.xml:
10694         * docs/manual/quotes.xml:
10695         * docs/manual/schedulers.xml:
10696         * docs/manual/states-api.xml:
10697         * docs/manual/states.xml:
10698         * docs/manual/threads.xml:
10699         * docs/manual/typedetection.xml:
10700         * docs/manual/xml.xml:
10701           use chapter, part, section or misc as id starts for all bits
10702
10703 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10704
10705         * docs/gst/gstreamer-sections.txt:
10706           Fix up TITLE of the sections
10707
10708 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10709
10710         * docs/pwg/advanced_interfaces.xml:
10711           Add documentation on propertyprobing.
10712         * docs/pwg/advanced_events.xml:
10713         * docs/pwg/advanced_tagging.xml:
10714         * docs/pwg/building_boiler.xml:
10715         * docs/pwg/building_filterfactory.xml:
10716         * docs/pwg/pwg.xml:
10717           Move filterfactory and tagging into their own chapter, add a chapter
10718           on events. all these are empty placeholders that will be filled in
10719           some day.
10720
10721 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10722
10723         * docs/pwg/advanced_interfaces.xml:
10724           Docs for mixer interface. Also a check for website uploading.
10725
10726 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10727
10728         * docs/HACKING:
10729         * docs/Makefile.am:
10730         * docs/faq/Makefile.am:
10731         * docs/gst/Makefile.am:
10732         * docs/gst/tmpl/gstelement.sgml:
10733         * docs/gst/tmpl/gstplugin.sgml:
10734         * docs/gst/tmpl/gstreamer-unused.sgml:
10735         * docs/libs/Makefile.am:
10736         * docs/manual/Makefile.am:
10737         * docs/manuals.mak:
10738         * docs/pwg/Makefile.am:
10739         * docs/upload.mak:
10740           Separate out upload target and make it similar for
10741           both docbook and gtk-doc docs
10742
10743 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10744
10745         * docs/manuals.mak:
10746           Fix upload target to work with freedesktop
10747
10748 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10749
10750         * docs/pwg/advanced_types.xml:
10751           Add notes on creating your own types.
10752         * docs/pwg/building_boiler.xml:
10753         * docs/pwg/building_pads.xml:
10754         * docs/pwg/building_state.xml:
10755           Add some stuff about how to retrieve values from structures, how
10756           that relates to types and change layout slightly again to be almost
10757           perfect.
10758
10759 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10760
10761         * docs/pwg/advanced_dparams.xml:
10762         * docs/pwg/advanced_scheduling.xml:
10763           Change index layout slightly.
10764
10765 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10766
10767         * docs/pwg/advanced_clock.xml:
10768         * docs/pwg/advanced_interfaces.xml:
10769         * docs/pwg/advanced_midi.xml:
10770           General placeholders for now.
10771         * docs/pwg/advanced_request.xml:
10772           Explanation about sometimes and request pads.
10773         * docs/pwg/advanced_scheduling.xml:
10774           Concept of bytestream, loopfunctions and schedulers.
10775         * docs/pwg/building_boiler.xml:
10776           Add something about plugin-init.
10777
10778 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10779
10780         * docs/pwg/building_pads.xml:
10781           Fix broken docbook
10782
10783 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10784
10785         * docs/pwg/advanced_interfaces.xml:
10786         * docs/pwg/pwg.xml:
10787           Add as a placeholder for future filling-in.
10788         * docs/pwg/basics_autoplugging.xml:
10789         * docs/pwg/basics_buffers.xml:
10790         * docs/pwg/basics_elements.xml:
10791         * docs/pwg/basics_events.xml:
10792         * docs/pwg/basics_plugins.xml:
10793         * docs/pwg/basics_types.xml:
10794           Remove, because unused (this is all in intro_basics.xml).
10795         * docs/pwg/building_signals.xml:
10796           Short intro to signals + reference to GObject docs - we really
10797           shouldn't go into these sort of things to deply because we don't
10798           use them that extensively anyway.
10799         * docs/pwg/building_state.xml:
10800           Explanation of states. Benjamin, please check.
10801         * docs/pwg/building_testapp.xml:
10802           Put everything in one page - putting only a few lines of content
10803           per page doesn't really make sense.
10804
10805           Time to get into the advanced topics. ;).
10806
10807 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10808
10809         * docs/pwg/advanced_types.xml:
10810           Finish documenting the current state of mimetypes.
10811         * docs/pwg/building_boiler.xml:
10812         * docs/pwg/building_chainfn.xml:
10813         * docs/pwg/building_pads.xml:
10814         * docs/pwg/building_props.xml:
10815         * docs/pwg/building_testapp.xml:
10816           Start documenting the "how to build a simple audio filter" part
10817           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
10818           states and (maybe?) a short introduction to capsnego in the chapter
10819           on pads (building_pads.xml). Capsnego should probably be explained
10820           fully in advanced_capsnego.xml or so.
10821
10822 2004-01-26  David Schleef  <ds@schleef.org>
10823
10824         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
10825         * gst/gstpad.h: Add new function to allow element to (somewhat)
10826         specify non-fixed caps on a pad.
10827         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
10828         that I added a few weeks ago.
10829
10830 2004-01-26  David Schleef  <ds@schleef.org>
10831
10832         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
10833           making try_set_caps() work with non-fixed caps.
10834
10835 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10836
10837         * docs/pwg/advanced_types.xml:
10838         * docs/pwg/intro_basics.xml:
10839         * docs/pwg/intro_preface.xml:
10840         * docs/pwg/pwg.xml:
10841         * docs/pwg/titlepage.xml:
10842           First try to resurrect the PWG. I'm halfway integrating the mimetypes
10843           in here (docs/random/mimetypes), and will from there on work on both
10844           updating outdated parts and adding missing parts.
10845           That doesn't mean I'll fix it completely, but I'll try at least. ;).
10846
10847 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10848
10849         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
10850           policy is set
10851
10852 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10853
10854         * gst/gstelement.h:
10855           remove gst_element_factory_get_version. It doesn't exist anymore.
10856         * gst/gstplugin.c:
10857         * gst/gstplugin.h:
10858           remove gst_plugin_set_name and change gst_plugin_get_longname to
10859           gst_plugin_get_description to match code.
10860         * gst/gsterror.h:
10861           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
10862         * gst/gstpad.c: (gst_pad_try_set_caps):
10863           make it work with nonfixed caps.
10864           Note that even in the nonfixed case the link function of the pad
10865           that tries to set caps isn't called.
10866
10867 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10868
10869         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10870           fix bug where buffer was not assembled correctly
10871         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
10872           silence by default
10873         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
10874           only seek if there's no more buffers that could work without seeking
10875
10876 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10877
10878         * gst/gsttag.c: (_gst_tag_initialize):
10879         * gst/gsttag.h:
10880           Add application tag (for encoding/muxing app).
10881
10882 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10883
10884         * autogen.sh:
10885           make autopoint force, and libtoolize not copy
10886         * common/m4/as-docbook.m4:
10887           added docbook xml catalog setup check
10888         * common/m4/gst-doc.m4:
10889           use docbook check
10890
10891 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10892
10893         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
10894         * gst/gsttag.h:
10895           add GstTagFlag
10896
10897 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10898
10899         * docs/gst/gstreamer-sections.txt:
10900         * docs/gst/tmpl/gst.sgml:
10901         * docs/gst/tmpl/gstbuffer.sgml:
10902         * docs/gst/tmpl/gstclock.sgml:
10903         * docs/gst/tmpl/gstelement.sgml:
10904         * docs/gst/tmpl/gstreamer-unused.sgml:
10905         * docs/gst/tmpl/gstxml.sgml:
10906           sync latest API changes to docs
10907
10908 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10909
10910         * gst/gstpluginfeature.c:
10911           fix doc snippet
10912         * tools/gst-inspect.c: (print_element_list):
10913           fix output of typefind
10914           add GPL header
10915         * tools/gst-launch.c:
10916           add GPL header
10917
10918 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10919
10920         * gst/elements/Makefile.am:
10921         * gst/elements/gstelements.c:
10922         * gst/elements/gsttypefindelement.c:
10923         * gst/elements/gsttypefindelement.h:
10924         * po/POTFILES.in:
10925         * po/fr.po:
10926         * po/nl.po:
10927           renamed gsttypefindelement to gsttypefind, conserving CVS history
10928
10929 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10930
10931         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
10932         * gst/gsttag.h:
10933           add some tags used in ogg as well
10934           fix _ in replaygain tags
10935
10936 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10937
10938         * gst/gsterror.h:
10939           fix wrong GST_LIBRARY_ERROR_ENCODE addition
10940
10941 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10942
10943         * gst/gstelement.c: (gst_element_error_full):
10944         * gst/gstelement.h:
10945           change _extended to _full
10946
10947 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10948
10949         reviewed by: <delete if not using a buddy>
10950
10951         * docs/gst/tmpl/gst.sgml:
10952         * docs/gst/tmpl/gstbuffer.sgml:
10953         * docs/gst/tmpl/gstclock.sgml:
10954         * docs/gst/tmpl/gstelement.sgml:
10955         * docs/gst/tmpl/gstreamer-unused.sgml:
10956         * docs/gst/tmpl/gstxml.sgml:
10957         * gst/gstelement.c: (gst_element_error_full):
10958         * gst/gstelement.h:
10959
10960 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10961
10962         * gst/gstelement.h: fix _gst_element_error_printf prototype
10963
10964 2004-01-20  David Schleef  <ds@schleef.org>
10965
10966         * gst/gststructure.c: (gst_structure_to_string):
10967         Convert function to use gst_value_serialize().
10968         * gst/gstvalue.c: (gst_value_serialize_list),
10969         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
10970         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
10971         (gst_value_serialize_int), (gst_value_serialize_double),
10972         (gst_string_wrap), (gst_value_serialize_string),
10973         (gst_value_serialize), (gst_value_deserialize):
10974         * gst/gstvalue.h:
10975         Add implementations for serialize.
10976
10977 2004-01-20  Julien MOUTTE  <julien@moutte.net>
10978
10979         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
10980         we want to keep that one in the future or change xvidenc.c to use 
10981         another error.
10982
10983 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10984
10985         * gst/gstelement.c: (_gst_element_error_printf):
10986         * gst/gstelement.h:
10987           privatise function
10988
10989 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10990
10991         * docs/random/error:
10992           doc explaining error system
10993         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10994           cleanup
10995
10996 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10997
10998         * gst/gst-i18n-app.h:
10999         * gst/gst-i18n-lib.h:
11000           remove inclusion of config.h
11001         * po/POTFILES.in:
11002         * po/nl.po:
11003           add gst/gstelement.c
11004
11005 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11006
11007         * po/nl.po: updated Dutch translation
11008
11009 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11010
11011         * gst/gsterror.c: (_gst_core_errors_init),
11012         (_gst_library_errors_init), (_gst_resource_errors_init),
11013         (_gst_stream_errors_init):
11014         remove ending punctuation dots
11015
11016 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11017
11018         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
11019         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
11020         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11021         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11022         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11023         use GST_ERROR_SYSTEM
11024
11025 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11026
11027         * gst/gstelement.c: (gst_element_error_printf),
11028         (gst_element_error_extended):
11029         * gst/gstelement.h:
11030           add a helper printf function so we can have NULL values passed.
11031
11032 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11033
11034         * gst/gstelement.h:
11035           add G_STMT macros to gst_element_error, which isn't strictly
11036           necessary but people tell me to anyway.
11037
11038 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11039
11040         * gst/Makefile.am:
11041         * gst/autoplug/gstspideridentity.c:
11042         (gst_spider_identity_sink_loop_type_finding):
11043         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11044         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11045         (gst_filesink_close_file), (gst_filesink_handle_event),
11046         (gst_filesink_chain):
11047         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
11048         (gst_filesrc_map_region), (gst_filesrc_get_read),
11049         (gst_filesrc_open_file):
11050         * gst/elements/gstidentity.c: (gst_identity_chain):
11051         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11052         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
11053         (gst_pipefilter_chain), (gst_pipefilter_open_file):
11054         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
11055         * gst/gst.h:
11056         * gst/gst_private.h:
11057         * gst/gstelement.c: (gst_element_class_init),
11058         (gst_element_default_error), (gst_element_error_func),
11059         (gst_element_error_extended):
11060         * gst/gstelement.h:
11061         * gst/gsterror.c: (_gst_core_errors_init),
11062         (_gst_library_errors_init), (_gst_resource_errors_init),
11063         (_gst_stream_errors_init), (gst_error_get_message):
11064         * gst/gsterror.h:
11065         * gst/gstinfo.c: (_gst_debug_init):
11066         * gst/gstmarshal.list:
11067         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11068         (gst_pad_recover_caps_error), (gst_pad_pull):
11069         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
11070         * gst/schedulers/gstbasicscheduler.c:
11071         (gst_basic_scheduler_chainhandler_proxy),
11072         (gst_basic_scheduler_gethandler_proxy),
11073         (gst_basic_scheduler_cothreaded_chain):
11074         * po/POTFILES.in:
11075         * po/fr.po:
11076         * po/nl.po:
11077           change error signal
11078           add error categories
11079
11080 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
11081
11082         * gst/gsttag.c: (_gst_tag_initialize):
11083         * gst/gsttag.h:
11084         Add replaygain tag
11085
11086 2004-01-18  Colin Walters  <walters@verbum.org>
11087
11088         * examples/retag/retag.c: Call gst_init before processing
11089         program args.  Add g_assert to _link_many call.
11090
11091 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11092
11093         * gst/gstpad.c: (gst_pad_alloc_buffer):
11094           Return a newly allocated buffer when the pad has no peer.
11095
11096 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11097
11098         * gst/gstclock.c: (gst_clock_get_time):
11099           make it compile with gcc 2.95 again.
11100           Patch by Scott Wheeler
11101
11102 2004-01-15  David Schleef  <ds@schleef.org>
11103
11104         * gst/gstcaps.h:
11105         Added gst_caps_is_simple() macro.
11106         * testsuite/caps/caps.c: (test1):
11107         * testsuite/caps/intersect2.c: (main):
11108         * testsuite/caps/intersection.c: (main):
11109         Fixes to make 'make check' work again after removing
11110         gst_caps_is_chained().
11111
11112 2004-01-15  Leif Johnson <leif@ambient.2y.net>
11113
11114         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
11115         and additions to the MIDI document.
11116
11117 2004-01-15  David Schleef  <ds@schleef.org>
11118
11119         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
11120         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
11121         of GST_RPAD_, since we don't know if it's a real or ghost pad.
11122
11123 2004-01-15  David Schleef  <ds@schleef.org>
11124
11125         * gst/gstqueue.c:
11126         * gst/gstqueue.h:
11127         Fix the spelling of "treshold" and make min_threshold actually
11128         affect the queue.
11129
11130 2004-01-15  David Schleef  <ds@schleef.org>
11131
11132         * gst/gstcaps.c:
11133         Add lots of documentation.
11134         * gst/gstcaps.h:
11135         Deprecate a few functions.
11136         * gst/gstpad.c:
11137         Removed use of deprecated functions.
11138
11139 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11140
11141         * gst/gstpad.c: (gst_pad_is_linked):
11142         * gst/gstpad.h:
11143           implement gst_pad_is_linked
11144         * gst/gstelement.h:
11145           reserve space for initiate_state_change
11146
11147 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11148
11149         * gst/autoplug/gstspideridentity.c:
11150         (gst_spider_identity_sink_loop_type_finding):
11151           break infinite loop by just returning instead of looping
11152         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
11153           set event time difference correctly. Set it to 1 second instead
11154           of 100ms to be more tolerant
11155         * gst/gstelement.c: (gst_element_set_time):
11156           add debugging output
11157
11158 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11159
11160         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
11161           query if buffers are inside the pool, ignore events
11162
11163 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11164
11165         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
11166         (gst_clock_set_speed), (gst_clock_set_active),
11167         (gst_clock_is_active), (gst_clock_reset),
11168         (gst_clock_handle_discont):
11169         * gst/gstclock.h:
11170           deprecate old interface and disable functions that aren't in use
11171           anymore.
11172         * gst/gstelement.h:
11173         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
11174         (gst_element_set_time), (gst_element_adjust_time):
11175           add concept of "element time" and functions to get/set this time.
11176         * gst/gstelement.c: (gst_element_change_state):
11177           update element time correctly.
11178         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
11179           This is a debug message, not a g_critical.
11180         * gst/gstpad.c: (gst_pad_event_default):
11181           handle discontinuous events right with element time.
11182         * gst/gstscheduler.c: (gst_scheduler_state_transition):
11183           update to clocking fixes.
11184           set clocks on elements in READY=>PAUSED. The old behaviour caused
11185           a wrong element time on the first element that started playing.
11186         * gst/schedulers/gstbasicscheduler.c:
11187         (gst_basic_scheduler_class_init):
11188         * gst/schedulers/gstoptimalscheduler.c:
11189         (gst_opt_scheduler_class_init):
11190           remove code that just implements the default behaviour.
11191         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
11192           update to use new clocking functions
11193         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
11194         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
11195           update to test new element time.
11196         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
11197           use _get_allowed_caps instead of _get_caps. This catches filtered
11198           caps correctly.
11199         * testsuite/debug/commandline.c:
11200           update for new GST_DEBUG syntax.
11201         * testsuite/threads/Makefile.am:
11202           disable a test that only works sometimes.
11203
11204 2004-01-13  Julien MOUTTE <julien@moutte.net>
11205
11206         * po/LINGUAS: Adding fr.
11207         * po/fr.po: Adding french translation.
11208
11209 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11210
11211         * gst/parse/grammar.y:
11212         * po/POTFILES.in:
11213         * po/nl.po:
11214         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
11215           translate parsing error messages
11216
11217 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11218
11219         * po/POTFILES.in: adding gst-launch
11220         * po/nl.po: updated translation, all 99 strings translated
11221         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
11222         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
11223           fix strings for translation
11224
11225 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11226
11227         * gst/gst.c:
11228           - capitalize beginnings of popt options
11229           - fix strings for translation
11230           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
11231
11232 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11233
11234         * po/README: add some notes on how to update translations
11235
11236 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11237
11238         * ABOUT-NLS: removed, is autogenerated from autopoint
11239         * autogen.sh: add autopoint stuff
11240         * configure.ac: fix up gettext stuff
11241         * gst/Makefile.am: add i18n headers to noinst_HEADERS
11242         * gst/elements/gsttypefindelement.c: add header include
11243         * gst/gettext.h: add header, copy from system-installed header
11244         * gst/gst-i18n-app.h: to be included by each app having translations
11245         * gst/gst-i18n-lib.h: to be included by each lib having translations
11246         * gst/gst.c: (init_pre): fix up gettext calls
11247         * gst/gst_private.h: remove i18n stuff, moving to separate headers
11248         * po/LINGUAS: the new way to specify translations present
11249         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
11250         * po/Makevars: the variables filled in for GStreamer
11251         * po/POTFILES.in: added new files with translations
11252         * po/de.po: has new strings
11253         * po/nl.po: readded, has new strings
11254
11255 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11256
11257         * gst/gsttag.c: fix some strings marked for translation
11258
11259 2004-01-13  Iain <iain@prettypeople.org>
11260
11261         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
11262         group when we add an element to it, cos we unref it when we remove one
11263
11264 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11265
11266         * testsuite/debug/commandline.c: (debug_not_reached):
11267         * testsuite/debug/output.c: (check_message):
11268           fix testsuite
11269
11270 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11271
11272         * examples/cutter/.cvsignore:
11273         * examples/helloworld/.cvsignore:
11274         * examples/launch/.cvsignore:
11275         * examples/manual/.cvsignore:
11276         * examples/mixer/.cvsignore:
11277         * examples/pingpong/.cvsignore:
11278         * examples/plugins/.cvsignore:
11279         * examples/queue/.cvsignore:
11280         * examples/queue2/.cvsignore:
11281         * examples/queue3/.cvsignore:
11282         * examples/queue4/.cvsignore:
11283         * examples/retag/.cvsignore:
11284         * examples/thread/.cvsignore:
11285         * examples/typefind/.cvsignore:
11286         * examples/xml/.cvsignore:
11287         * gst/.cvsignore:
11288         * gst/autoplug/.cvsignore:
11289         * gst/elements/.cvsignore:
11290         * gst/indexers/.cvsignore:
11291         * gst/parse/.cvsignore:
11292         * gst/registries/.cvsignore:
11293         * gst/schedulers/.cvsignore:
11294         * libs/gst/bytestream/.cvsignore:
11295         * libs/gst/control/.cvsignore:
11296         * libs/gst/getbits/.cvsignore:
11297         * tests/.cvsignore:
11298         * tests/bufspeed/.cvsignore:
11299         * tests/instantiate/.cvsignore:
11300         * tests/memchunk/.cvsignore:
11301         * tests/muxing/.cvsignore:
11302         * tests/sched/.cvsignore:
11303         * tests/seeking/.cvsignore:
11304         * tests/threadstate/.cvsignore:
11305         * testsuite/.cvsignore:
11306         * testsuite/caps/.cvsignore:
11307         * testsuite/cleanup/.cvsignore:
11308         * testsuite/dynparams/.cvsignore:
11309         * testsuite/plugin/.cvsignore:
11310         * tools/.cvsignore:
11311           update - this is huge, because it includes *.bb, *.bbg and *.da files
11312           which are generated for gcov.
11313
11314 2004-01-11  David Schleef  <ds@schleef.org>
11315
11316         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
11317         a function to parse integers in ways that strto[u]l() does not.
11318
11319 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11320
11321         * tools/gst-inspect.c: (print_caps):
11322           improve output of caps a bit
11323
11324 2004-01-11  David Schleef  <ds@schleef.org>
11325
11326         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
11327         inherit correct flags (READONLY and DONTKEEP).
11328
11329 2004-01-11  David Schleef  <ds@schleef.org>
11330
11331         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
11332         (gst_filesrc_map_region):
11333         * gst/gstbuffer.c: (_gst_buffer_initialize),
11334         (_gst_buffer_sub_free), (gst_buffer_default_copy),
11335         (gst_buffer_new), (gst_buffer_create_sub),
11336         (gst_buffer_is_span_fast), (gst_buffer_span):
11337         * gst/gstbuffer.h:
11338         Change GstBuffer private structure element names. (all files)
11339         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
11340         (gst_queue_link):
11341         * gst/gstqueue.h:
11342         Implement getcaps/pad_link functions that handle the case where
11343         there are data in the queue.
11344
11345 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11346
11347         * gst/elements/gstbufferstore.c:
11348           initialize debugging structure correctly
11349         * gst/elements/gsttee.c: (gst_tee_set_property):
11350           g_object_notify when property was changed
11351         * gst/elements/gsttypefindelement.c:
11352         (gst_type_find_element_change_state):
11353           clear caps correctly
11354
11355 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11356
11357         * gst/gstqueue.c: (gst_queue_init):
11358           Use better defaults for when a queue should block. This
11359           gets rid of jerky playback for quite a few files.
11360           It takes more memory.
11361
11362 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11363
11364         (gst_xml_registry_parse_padtemplate):
11365           make critical message slightly more useful
11366
11367 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11368
11369         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
11370         (gst_debug_message_get), (gst_debug_log_default):
11371         * gst/gstinfo.h:
11372           Change gst_debug_log(_valist) to take a const format string.
11373           Change prototype of log function and functions using those to 
11374           take a GstDebugMessage instead of a string that requires using
11375           gst_debug_message_get.
11376
11377 2004-01-08  David Schleef  <ds@schleef.org>
11378
11379         * Makefile.am:
11380         * configure.ac:
11381         Add option --enable-gcov to build GStreamer with -fprofile-arcs
11382         and -ftest-coverage, which allows gcov to show information about
11383         testsuite coverage.
11384
11385 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11386
11387         * gst/gstutils.h:
11388           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
11389           GST_PARENT_CALL_WITH_DEFAULT
11390         * gst/elements/gstaggregator.c: 
11391         * gst/elements/gstbufferstore.c: 
11392         * gst/elements/gstfakesink.c: 
11393         * gst/elements/gstfakesrc.c: 
11394         * gst/elements/gstfdsink.c: 
11395         * gst/elements/gstfdsrc.c: 
11396         * gst/elements/gstfilesink.c: 
11397         * gst/elements/gstfilesrc.c: 
11398         * gst/elements/gstidentity.c: 
11399         * gst/elements/gstmd5sink.c: 
11400         * gst/elements/gstmultidisksrc.c:
11401         * gst/elements/gstpipefilter.c: 
11402         * gst/elements/gstshaper.c:
11403         * gst/elements/gststatistics.c:
11404         * gst/elements/gsttee.c:
11405         * gst/elements/gsttypefindelement.c:
11406           use them.
11407
11408 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11409
11410         * docs/gst/gstreamer-docs.sgml: remove props
11411         * docs/gst/gstreamer-sections.txt: remove props
11412         * docs/gst/tmpl/gst.sgml:
11413         * docs/gst/tmpl/gstbin.sgml:
11414         * docs/gst/tmpl/gstbuffer.sgml:
11415         * docs/gst/tmpl/gstcaps.sgml:
11416         * docs/gst/tmpl/gstclock.sgml:
11417         * docs/gst/tmpl/gstelement.sgml:
11418         * docs/gst/tmpl/gstindex.sgml:
11419         * docs/gst/tmpl/gstobject.sgml:
11420         * docs/gst/tmpl/gstpad.sgml:
11421         * docs/gst/tmpl/gstpadtemplate.sgml:
11422         * docs/gst/tmpl/gstreamer-unused.sgml:
11423         * docs/gst/tmpl/gstthread.sgml:
11424         * docs/gst/tmpl/gstxml.sgml:
11425           sync with code reorganization
11426
11427 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
11428
11429         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
11430         Make the 'Could not find compatible pad' message more informative.
11431
11432 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11433                                                                                 
11434         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
11435           Fix for if we pass NULL as property to location.
11436         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
11437         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
11438           Fix for instantiate-test (see below).
11439         * gst/gststructure.c: (_gst_structure_parse_value):
11440           Fix compile error on gcc-2.96.
11441         * configure.ac:
11442         * tests/Makefile.am:
11443         * tests/instantiate/Makefile.am:
11444         * tests/instantiate/create.c: (create_all_elements), (main):
11445           Add a test that instantiates all elements. This makes it easy to
11446           track dead code for old API/design (like setting event functions
11447           on sink pads and so on).
11448
11449 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
11450
11451         * gst/gstcaps.c: (gst_caps_append_structure):
11452           Move the poisoning to allow a NULL structure
11453         * gst/gstevent.c: (_gst_event_free):
11454           When freeing a navigation event, free the structure
11455           also
11456
11457 2004-01-04  David Schleef  <ds@schleef.org>
11458
11459         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
11460         Remove usage of gst_pad_proxy_fixate.
11461         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
11462         (gst_caps_split_one), (gst_caps_replace):
11463         Add poisoning code.
11464         * gst/gstmarshal.list:
11465         Add pointer__pointer for fixate signal
11466         * gst/gstpad.c: (gst_real_pad_class_init),
11467         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11468         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
11469         (gst_pad_set_explicit_caps), (gst_pad_template_new):
11470         Add poisoning code. Add fixate signal on RealPad. Change
11471         set_explicit_caps() to take const GstCaps, like try_set_caps().
11472         * gst/gstpad.h:
11473         * testsuite/caps/Makefile.am:
11474         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
11475
11476 2004-01-03  David Schleef  <ds@schleef.org>
11477
11478         * gst/elements/gsttypefindelement.c:
11479         (gst_type_find_element_have_type), (gst_type_find_element_init):
11480         Use gst_pad_use_explicit_caps for src pad.
11481         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
11482         before using it.
11483
11484 2004-01-03  David Schleef  <ds@schleef.org>
11485
11486         * gst/gstelement.c: (gst_element_link_pads_filtered),
11487         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
11488         that linking was successful.
11489         * gst/gstpad.c: (gst_pad_link_free),
11490         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
11491         (gst_pad_link_try), (gst_pad_link_unnegotiate),
11492         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
11493         GstPadLinkReturn correctly between functions, and don't fail
11494         when DELAYED is used (DELAYED is very important).  Better
11495         cleanup on unlinking and unnegotiation.  Should fix some spider
11496         bugs.
11497
11498 2004-01-02  David Schleef  <ds@schleef.org>
11499
11500         * gst/gstelement.c: (gst_element_class_init),
11501         (gst_element_base_class_init): ->padtemplates should be cleared
11502         in base_init, since we need to have a fresh list for every
11503         class.  (Alternately, we chould copy the list and share the
11504         actual pad templates (not the list), but that would require
11505         changing every plugin to move pad template registration from
11506         base_init to class_init.)
11507
11508 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11509
11510         * gst/gstelement.c: (gst_element_class_add_pad_template):
11511           Refuse registering a pad template if another pad template
11512           with the same name already exists (#114715).
11513
11514 2004-01-02  David Schleef  <ds@schleef.org>
11515
11516         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
11517         (gst_caps_is_equal_fixed): Add new function.
11518         * gst/gstcaps.h: ditto.
11519         * gst/gstpad.c: (gst_real_pad_class_init),
11520         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
11521         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
11522         check new caps against existing caps -- if they're the same, return
11523         OK without renegotiating.  caps-nego-failed signal fixed so that
11524         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
11525         to save an extra caps copy.  Don't complete negotiation if a pad
11526         link function returns DELAYED.
11527
11528 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11529
11530         * gst/gstpad.c: (gst_pad_try_relink_filtered):
11531           Fix wrong g_return_if_fail
11532
11533 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
11534
11535         * gst/gstbin.c: (gst_bin_class_init):
11536         Change the marshalling of element_added/element_removed
11537         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
11538         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
11539
11540 2004-01-01  David Schleef  <ds@schleef.org>
11541
11542         * gst/gstpad.c: (gst_pad_set_explicit_caps),
11543         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
11544         (gst_pad_use_explicit_caps):
11545         * gst/gstpad.h:
11546         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
11547         to use an internal getcaps and link fuction so that negotiation
11548         always results in the explicitly set caps.
11549         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
11550         are particularly useful for decoders.
11551
11552 2003-12-31  David Schleef  <ds@schleef.org>
11553
11554         * gst/elements/gstidentity.c: (gst_identity_class_init),
11555         (gst_identity_init), (gst_identity_chain),
11556         (gst_identity_set_property), (gst_identity_get_property):
11557         * gst/elements/gstidentity.h:
11558         * gst/gstqueue.c: (gst_queue_init):
11559           Negotiation fixes.
11560
11561 2003-12-31  David Schleef  <ds@schleef.org>
11562
11563         * gst/gstcaps.c: (gst_caps_intersect),
11564         (_gst_caps_normalize_foreach), (gst_caps_normalize):
11565           Implement gst_caps_normalize().
11566         * testsuite/caps/normalisation.c: (main):
11567           Add an additional test
11568
11569 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11570
11571         * gst/gstqueue.c: (gst_queue_init):
11572           use gst_pad_proxy_getcaps()
11573
11574 2003-12-31  David Schleef  <ds@schleef.org>
11575
11576         * gst/elements/gstshaper.c: (gst_shaper_link):
11577         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
11578         * gst/gstqueue.c: (gst_queue_link):
11579           Negotiation fixes.
11580
11581 2003-12-31  David Schleef  <ds@schleef.org>
11582
11583         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
11584         * gst/gstpad.h: Add functions that are useful as default pad
11585         link and fixate functions for elements.
11586
11587 2003-12-30  David Schleef  <ds@schleef.org>
11588
11589         * gst/gstpad.c: (gst_pad_link_try):
11590           Fix segfault when attempting to return to old caps
11591
11592 2003-12-29  David Schleef  <ds@schleef.org>
11593
11594         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
11595         (gst_caps_structure_simplify), (gst_caps_simplify):
11596         * gst/gstcaps.h:
11597           Add simplify function
11598         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
11599         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
11600         * gst/gstpad.h:
11601           Copy over srcnotify, sinknotify when calling old pad_link
11602           functions.  Add new is_negotiated() function.
11603         * gst/gststructure.c: (gst_structure_copy):
11604           Fix an incredibly stupid bug that should have been noticed
11605           weeks ago.  _copy() returned the argument, not the new copy.
11606
11607 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11608
11609         * gst/gstcaps.c: (gst_caps_append):
11610           add sanity checks
11611         * gst/gstcaps.h: (gst_caps_debug):
11612           remove, it doesn't exist anymore.
11613         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
11614         (gst_element_threadsafe_properties_post_run):
11615           make debugging messages not clutter up THREAD debug category
11616         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
11617         (gst_element_change_state):
11618           update to new caps API
11619         * gst/gstinterface.c: (gst_implements_interface_cast):
11620           don't put vital code in g_return_if_fail
11621         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
11622         (gst_pad_link_filtered):
11623           add pst_pad_try_link and use it.
11624         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
11625           implement correctly, deprecate first one.
11626         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
11627           add and implement.
11628         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
11629           implement.
11630         (gst_pad_get_negotiated_caps):
11631           add and implement. Make GST_PAD_CAPS call this function.
11632         (gst_pad_get_caps):
11633           remove unneeded check..
11634         (gst_pad_recover_caps_error):
11635           disable, always return FALSE.
11636         (gst_real_pad_dispose):
11637           don't free caps and appfilter anymore, they're unused.
11638         * gst/gstpad.h:
11639           Reflect changes mentioned above.
11640         * gst/gstsystemclock.c: (gst_system_clock_wait):
11641           Make 'clock is way behind' a debugging message.
11642         * gst/gstthread.c: (gst_thread_change_state):
11643           Fix debugging message
11644
11645 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11646
11647         * gst/gstinfo.h:
11648           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
11649         * docs/gst/tmpl/gstreamer-unused.sgml:
11650           removed all traces of cvs conflicts
11651
11652 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11653
11654         * configure.ac:
11655         * gst/schedulers/cothreads_compat.h:
11656         * libs/Makefile.am:
11657           remove last instances of wingo cothread usage
11658
11659 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11660
11661         * gst/gstplugin.c:
11662         * gst/gstversion.h.in:
11663         * gst/parse/grammar.y:
11664           change comment block from /** to /* when not gtk-doc comments
11665
11666 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11667
11668         * gst/gst.c: whitespace and doc style fixes
11669
11670 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11671
11672         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
11673
11674 2003-12-24  Colin Walters  <walters@verbum.org>
11675
11676         * gst/elements/gsttypefindelement.c:
11677           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
11678           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
11679           Don't double-free caps.
11680
11681 2003-12-23  David Schleef  <ds@schleef.org>
11682
11683         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
11684           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
11685           Many little fixes and additions of debug statements to
11686           get rhythmbox working.
11687
11688 2003-12-23  Colin Walters  <walters@verbum.org>
11689
11690         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
11691         Use GST_PAD_LINK_SUCCESSFUL.
11692
11693 2003-12-23  David Schleef  <ds@schleef.org>
11694
11695         * gst/elements/gstaggregator.c:
11696         * gst/elements/gsttee.c:
11697           Use gst_pad_proxy_getcaps().
11698         * gst/gstpad.c:
11699         * gst/gstpad.h:
11700           Add gst_pad_proxy_getcaps(), which filter elements can use
11701           as a generic getcaps implementation.
11702           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
11703           was advertised.
11704
11705 2003-12-23  David Schleef  <ds@schleef.org>
11706
11707         * gst/gstpad.c:
11708           Rearrange/rewrite much of the pad negotiation code, since it
11709           resembled pasta.  This actually changes the way some
11710           negotiation works, since the previous code was inconsistent
11711           depending on how it was invoked.  Add (internal) structure
11712           GstPadLink, which is used to hold some information (more in
11713           the future) about the link between two pads.  Fixes a number
11714           of bugs, including random lossage of filter caps when the
11715           initial negotiation is delayed.  A few functions are still
11716           unimplemented.
11717         * gst/gstpad.h:
11718           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
11719           these when testing GstPadLinkReturn values instead of comparing
11720           directly.
11721
11722 2003-12-23  David Schleef  <ds@schleef.org>
11723
11724         * gst/gstvalue.c: 
11725         * gst/gstvalue.h:
11726           Rearrange lots of code.  Change registration of compare function
11727           into registration of compare/serialize/deserialize functions.
11728           Doesn't include implementation of gst_value_[de]serialize(),
11729           but that should be easy.
11730
11731 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11732
11733         * docs/gst/gstreamer-sections.txt:
11734         * docs/gst/tmpl/gstprops.sgml: removed
11735         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
11736           David removed props and caps code, so let's remove their docs as well.
11737           Removed all no longer existing symbols from gstreamer-sections.txt
11738           
11739 2003-12-22  Colin Walters  <walters@verbum.org>
11740
11741         * gst/gsttaginterface.c, gst/gsttaginterface.h,
11742           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
11743           of tags directly.
11744
11745 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11746
11747         * gst/elements/gstelements.c:
11748           Set ranks of elements to NONE, so the autoplugger doesn't use them.
11749         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
11750           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
11751           gst_caps (peer).
11752
11753 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11754
11755         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
11756         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
11757         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
11758         (gst_spider_identity_sink_loop_type_finding):
11759         * gst/autoplug/gstspideridentity.h:
11760           Fix autoplugging in spider element, so it works with new caps.
11761           This was mainly caused by identifying empty caps incorrectly.
11762
11763 2003-12-22  David Schleef  <ds@schleef.org>
11764
11765         * gststructure.c, gstvalue.c, gstvalue.h: Add
11766           gst_value_init_and_copy() and use it, to avoid silly mistakes in
11767           using g_value_copy()
11768
11769 2003-12-21  David Schleef  <ds@schleef.org>
11770
11771         * many, many files: Merge CAPS branch.  This includes:
11772           - implemention of GstValue and several GstValue types
11773           - implemention of GstStructure
11774           - entire rewrite of GstCaps
11775           - removal of GstProps
11776           - many changes to GstPad to compensate for new caps paradigm
11777           - removal of GstBufferpool
11778         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
11779         gstvalue.h, gst/gstcaps[2]*.[ch]:
11780           - rename gstcaps2.[ch] to gstcaps.[ch]
11781
11782 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11783
11784         * gst/gstqueue.c: (gst_queue_handle_pending_events),
11785         (gst_queue_chain), (gst_queue_handle_src_event):
11786           implement timeout for sending events. Workaround for if the
11787           pipeline on this queue is not passing any data.
11788
11789 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
11790                                                                                 
11791         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
11792         * moved CVS to freedesktop.org
11793