df9c24a632cd216d250e53caf5f3937b09df06e6
[platform/upstream/gstreamer.git] / ChangeLog
1 2004-04-20  Benjamin Otte  <otte@gnome.org>
2
3         * gst/schedulers/entryscheduler.c: 
4         (gst_entry_scheduler_yield):
5           refuse to yield when decoupled elements insist on doing that.
6           At least it's better than crashing
7
8 2004-04-19  David Schleef  <ds@schleef.org>
9
10         * docs/libs/Makefile.am: Change sinclude to include
11         * docs/gst/Makefile.am: same
12         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
13
14 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15
16         * po/LINGUAS:
17         * po/uk.po:
18           Added Ukrainian translation (Maxim V. Dziumanenko)
19
20 2004-04-19  Johan Dahlin  <johan@gnome.org>
21
22         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
23         checking here, do it before calling the function.
24         Clean up, use for loops instead of while loops while iterating
25         over lists.
26
27         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
28         in debug message.
29         (gst_spider_create_and_plug): Improve debug message.
30         General: Replace while loops which iterates over GLists with for
31         loops. Which are much cleaner, improves readability, especially
32         for gst_spider_identity_plug
33
34         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
35         fixes bug 140477
36
37 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
38
39         * po/LINGUAS:
40         * po/tr.po:
41           Added Turkish translation (Baris Cicek)
42
43 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
44
45         * docs/faq/troubleshooting.xml:
46           Mention gst-register in the FAQ (fixes 139045).
47
48 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
49
50         * docs/gst/gstreamer-sections.txt:
51
52 2004-04-17  Benjamin Otte  <otte@gnome.org>
53
54         * gst/gstelement.c: (gst_element_dispose):
55           simplify
56         * gst/gstpad.c: (gst_pad_call_chain_function):
57           don't create loads of events due to bad macro usage
58
59 2004-04-16  David Schleef  <ds@schleef.org>
60
61         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
62         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
63         * gst/gstvalue.c: (gst_value_serialize_buffer),
64         (gst_value_deserialize_buffer), (gst_type_is_fixed),
65         (_gst_value_initialize): Create a new function gst_type_is_fixed()
66         to indicate types that are fixed wrt caps or not.  Switching to
67         this function fixes (bug #140298).
68         * gst/gstvalue.h:
69
70 2004-04-16  David Schleef  <ds@schleef.org>
71
72         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
73         for GST_UNALIGNED_ACESS, since we essentially know which archs
74         are ok.
75
76 2004-04-17  Benjamin Otte  <otte@gnome.org>
77
78         * docs/gst/Makefile.am:
79           ignore gst/parse directory when building docs (fixes #140205)
80
81 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
82
83         * testsuite/refcounting/mem.c: (vmsize):
84           do error checking
85
86 2004-04-16  Johan Dahlin  <johan@gnome.org>
87
88         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
89         and gst_pad_call_get_function.
90
91 2004-04-15  David Schleef  <ds@schleef.org>
92
93         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
94         checks if we can access unaligned memory.
95         * configure.ac: Use it.
96
97 2004-04-16  Benjamin Otte  <otte@gnome.org>
98
99         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
100         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
101         * gst/elements/gstfilesrc.h:
102           s/seek_happened/need_discont/ and require discont before sending any
103           data
104
105 2004-04-15  David Schleef  <ds@schleef.org>
106
107         * gst/gstvalue.c: (gst_value_serialize_buffer),
108         (gst_value_deserialize_buffer), (_gst_value_initialize):
109         Register these types as fundamental types. (bug #140015)
110
111 2004-04-16  Benjamin Otte  <otte@gnome.org>
112
113         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
114         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
115         (gst_pad_pull):
116           implement enforcing discont events before buffers are passed. This
117           allows state changes of only some elements and later correctly going
118           on where they left off (or in short: you can now set audio sinks to
119           NULL to release the device when the pipeline is paused)
120         * gst/gstpad.c: (gst_pad_call_chain_function),
121         (gst_pad_call_get_function):
122         * gst/gstpad.h:
123           add gst_pad_call_chain_function and gst_pad_call_get_function for
124           scheduler interaction. They are required because of the changes
125           above.
126         * gst/schedulers/entryscheduler.c: (get_buffer),
127         (gst_entry_scheduler_chain_wrapper),
128         (gst_entry_scheduler_get_wrapper),
129         (gst_entry_scheduler_state_transition),
130         (gst_entry_scheduler_pad_link):
131         * gst/schedulers/gstbasicscheduler.c:
132         (gst_basic_scheduler_chain_wrapper),
133         (gst_basic_scheduler_src_wrapper),
134         (gst_basic_scheduler_chainhandler_proxy),
135         (gst_basic_scheduler_gethandler_proxy),
136         (gst_basic_scheduler_cothreaded_chain),
137         (gst_basic_scheduler_chain_elements):
138         * gst/schedulers/gstoptimalscheduler.c:
139         (get_group_schedule_function), (pad_clear_queued),
140         (gst_opt_scheduler_pad_link):
141           use the new functions instead of calling get/chain-functions
142           directly.
143
144 2004-04-15  David Schleef  <ds@schleef.org>
145
146         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
147         * docs/gst/tmpl/gstinfo.sgml: same
148         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
149         gtk-doc put here.
150         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
151         * examples/queue/queue.c: (main):  We iterate pipelines, not
152         bins.  (bug #139996)
153
154 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
155
156         * docs/pwg/advanced-types.xml:
157           Add MS RLE support. Also document Qt RLE although I have no sample
158           files for that yet. And document an extra property for ADPCM.
159
160 2004-04-15  David Schleef  <ds@schleef.org>
161
162         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
163         (_gst_plugin_fault_handler_setup):  Disable more stuff on
164         Windows.
165
166 2004-04-15  David Schleef  <ds@schleef.org>
167
168         * gst/gstinfo.c: (_gst_debug_init): Change some internal
169         symbol names to not conflict with new gstinfo.h symbols.
170         * gst/gstinfo.h: Add inline functions for all those crazy
171         compilers that don't know how to handle variadic macros (MSVC).
172
173 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
174
175         * configure.ac: bump nano to 1
176
177 === release 0.8.1 ===
178
179 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
180
181         * NEWS:
182         * RELEASE:
183         * configure.ac:
184           releasing 0.8.1, "Snow Brigade"
185
186 2004-04-14  David Schleef  <ds@schleef.org>
187
188         * testsuite/Makefile.am: define tests_ignore
189         * testsuite/Rules: Added new tests_ignore, which get compiled,
190         but not run (generally because they're inconsistent or have
191         heisenbugs).  Now we can ensure all the .c files compile in
192         testsuite/.
193         * testsuite/bins/Makefile.am: define tests_ignore
194         * testsuite/bytestream/Makefile.am:
195         * testsuite/caps/Makefile.am:
196         * testsuite/clock/Makefile.am:
197         * testsuite/debug/Makefile.am:
198         * testsuite/debug/global.c: (gst_debug_log_one),
199         (gst_debug_log_two): Fix compilation problem.
200         * testsuite/dynparams/Makefile.am:
201         * testsuite/elements/Makefile.am:
202         * testsuite/ghostpads/Makefile.am:
203         * testsuite/indexers/Makefile.am:
204         * testsuite/parse/Makefile.am:
205         * testsuite/plugin/Makefile.am:
206         * testsuite/refcounting/Makefile.am:
207         * testsuite/refcounting/element_pad.c: (main): Don't return leak
208         results, because it's not calculated correctly.
209         * testsuite/refcounting/pad.c: (main): same
210         * testsuite/states/Makefile.am:
211         * testsuite/tags/Makefile.am:
212         * testsuite/threads/Makefile.am:
213
214 2004-04-14  David Schleef  <ds@schleef.org>
215
216         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
217         generating bad code around the cpu detection asm code.
218
219 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
220
221         * tools/gst-inspect.c: (print_element_info):
222           print numeric version of rank as well, since we added some - 1
223           rank values to elements
224
225 2004-04-13  David Schleef  <ds@schleef.org>
226
227         * configure.ac:  Disable various code when compiling for MinGW.
228         * gst/elements/Makefile.am:
229         * gst/elements/gstelements.c:
230         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
231         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
232         * gst/registries/gstxmlregistry.c: (make_dir):
233
234 2004-04-13  David Schleef  <ds@schleef.org>
235
236         * gst/Makefile.am:
237         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
238         assembly.
239         * gst/gstcpuid_i386.s: remove
240
241 2004-04-13  David Schleef  <ds@schleef.org>
242
243         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
244         seems to think it needs to be done.
245         * docs/gst/tmpl/gstfakesink.sgml:
246         * docs/gst/tmpl/gstfakesrc.sgml:
247         * docs/gst/tmpl/gstfdsink.sgml:
248         * docs/gst/tmpl/gstfdsrc.sgml:
249         * docs/gst/tmpl/gstfilesink.sgml:
250         * docs/gst/tmpl/gstfilesrc.sgml:
251         * docs/gst/tmpl/gstidentity.sgml:
252         * docs/gst/tmpl/gstmd5sink.sgml:
253         * docs/gst/tmpl/gstmultifilesrc.sgml:
254         * docs/gst/tmpl/gstpipefilter.sgml:
255         * docs/gst/tmpl/gstshaper.sgml:
256         * docs/gst/tmpl/gstspider.sgml:
257         * docs/gst/tmpl/gstspideridentity.sgml:
258         * docs/gst/tmpl/gststatistics.sgml:
259         * docs/gst/tmpl/gsttee.sgml:
260         * docs/gst/tmpl/gsttypefind.sgml:
261         * docs/gst/tmpl/gstutils.sgml:
262
263 2004-04-13  David Schleef  <ds@schleef.org>
264
265         * configure.ac: Changes to remove POSIXisms (mmap in this case)
266         and to build DLLs on Windows.
267         * gst/Makefile.am:
268         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
269         (gst_filesrc_open_file):
270         * gst/schedulers/Makefile.am:
271
272 2004-04-13  David Schleef  <ds@schleef.org>
273
274         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
275         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
276         fixating lists.
277
278 2004-04-12  David Schleef  <ds@schleef.org>
279
280         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
281         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
282         to using it.
283         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
284         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
285         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
286         * gst/gststructure.c: (gst_structure_set_valist),
287         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
288         support for buffers.
289         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
290         intended to be const.
291         * gst/gsttag.h: same
292         * gst/gstvalue.c: (gst_value_serialize_buffer),
293         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
294         to (de)serialize buffers.
295         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
296         * testsuite/caps/string-conversions.c: (main):
297         * testsuite/caps/value_serialize.c: add new test
298
299 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
300
301         * docs/pwg/advanced-types.xml:
302           Document MS video 1 (video/x-msvideocodec) mimetype/format.
303
304 2004-04-11  Benjamin Otte  <otte@gnome.org>
305
306         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
307           rename categories to basic_*
308         * gst/schedulers/gstbasicscheduler.c: 
309         (gst_basic_scheduler_chain_wrapper),
310         (gst_basic_scheduler_chainhandler_proxy),
311         (gst_basic_scheduler_gethandler_proxy),
312         (gst_basic_scheduler_eventhandler_proxy):
313           debugging category fixes - put common stuff in log category
314         * gst/schedulers/gstbasicscheduler.c: 
315         (gst_basic_scheduler_chain_elements):
316           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
317           active and linking two active chains
318
319 2004-04-10  Benjamin Otte  <otte@gnome.org>
320
321         * docs/pwg/intro-preface.xml:
322           fix dead links and remove reference to Wiki
323
324 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
325
326         * gst/schedulers/gstbasicscheduler.c:
327           make sure we can switch back to the main function if we're still in
328           the main function (supposed to fix #139617)
329         * gst/schedulers/gthread-cothreads.h:
330           don't throw an error when switching to the same cothread
331
332 2004-04-09  Benjamin Otte  <otte@gnome.org>
333
334         * gst/gstbin.c: (gst_bin_get_type):
335         * gst/gstclock.c: (gst_clock_get_type):
336         * gst/gstindex.c: (gst_index_get_type):
337         * gst/gstobject.c: (gst_object_get_type),
338         (gst_signal_object_get_type):
339         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
340         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
341         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
342         * gst/gstqueue.c: (gst_queue_get_type):
343         * gst/gstregistry.c: (gst_registry_get_type):
344         * gst/gstsystemclock.c: (gst_system_clock_get_type):
345         * gst/gstthread.c: (gst_thread_get_type):
346           don't use memchunks for these objects, use malloc instead
347
348 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
349
350         * docs/gst/.cvsignore:
351         * docs/gst/Makefile.am:
352         * docs/gst/gstreamer-sections.txt:
353         * docs/gst/tmpl/gstaggregator.sgml:
354         * docs/gst/tmpl/gstbuffer.sgml:
355         * docs/gst/tmpl/gstclock.sgml:
356         * docs/gst/tmpl/gstelement.sgml:
357         * docs/gst/tmpl/gstfakesink.sgml:
358         * docs/gst/tmpl/gstfakesrc.sgml:
359         * docs/gst/tmpl/gstfdsink.sgml:
360         * docs/gst/tmpl/gstfdsrc.sgml:
361         * docs/gst/tmpl/gstfilesink.sgml:
362         * docs/gst/tmpl/gstfilesrc.sgml:
363         * docs/gst/tmpl/gstidentity.sgml:
364         * docs/gst/tmpl/gstindex.sgml:
365         * docs/gst/tmpl/gstinfo.sgml:
366         * docs/gst/tmpl/gstmd5sink.sgml:
367         * docs/gst/tmpl/gstmultifilesrc.sgml:
368         * docs/gst/tmpl/gstpad.sgml:
369         * docs/gst/tmpl/gstpipefilter.sgml:
370         * docs/gst/tmpl/gstpipeline.sgml:
371         * docs/gst/tmpl/gstpluginfeature.sgml:
372         * docs/gst/tmpl/gstqueue.sgml:
373         * docs/gst/tmpl/gstregistry.sgml:
374         * docs/gst/tmpl/gstscheduler.sgml:
375         * docs/gst/tmpl/gstshaper.sgml:
376         * docs/gst/tmpl/gstspider.sgml:
377         * docs/gst/tmpl/gstspideridentity.sgml:
378         * docs/gst/tmpl/gststatistics.sgml:
379         * docs/gst/tmpl/gstsystemclock.sgml:
380         * docs/gst/tmpl/gsttee.sgml:
381         * docs/gst/tmpl/gstthread.sgml:
382         * docs/gst/tmpl/gsttypefind.sgml:
383         * docs/gst/tmpl/gstutils.sgml:
384           further doc build fixes
385
386 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
387
388         * docs/gst/Makefile.am:
389           make docs exit on scanning problems
390           fix nonsrcdir build issues
391         * docs/gst/gstreamer-sections.txt:
392           adding stuff from -unused
393         * gst/gstqueue.h:
394           create GstQueueSize
395         * gst/schedulers/cothreads_compat.h:
396           fix cothread warnings
397
398 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
399
400         * docs/gst/gstreamer-sections.txt:
401           remove defines deprecated by Benjamin
402
403 2004-04-07  Benjamin Otte  <otte@gnome.org>
404
405         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
406           when the buffer is complete, don't check if other buffers are needed
407         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
408           check that the offset is >0 so we don't try to read before the
409           beginning of the file
410         * gst/gstpad.c: (gst_pad_set_pad_template):
411           sink the template, so we don't end up with 130k pad templates
412
413 2004-04-06  Benjamin Otte  <otte@gnome.org>
414
415         * gst/autoplug/gstspider.c: (gst_spider_link_add):
416           don't ref the element, adding already reffed it. And we didn't unref
417           it later anyway... (huge memleak when you used many spider elements)
418         * gst/gstelement.c: (gst_element_base_class_finalize):
419         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
420         (gst_element_register):
421         * gst/gsturi.c: (gst_element_make_from_uri):
422           use gst_object_(un)ref instead of g_object(un)ref
423
424 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
425
426         * gst/gstbuffer.h:
427           remove macro that wouldn't work anymore because struct member has
428           been removed.
429         * gst/schedulers/entryscheduler.c: (schedule_forward):
430           fix segfault for unconnected pads
431         
432 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
433
434         reviewed by David Schleef <ds@schleef.org>
435
436         * gst/gstinfo.h:
437           *_FORMAT modifiers should require putting a % in front of them for
438           consistency reasons.
439
440 2004-04-05  Colin Walters  <walters@redhat.com>
441
442         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
443         space.
444
445 2004-04-05  Benjamin Otte  <otte@gnome.org>
446
447         * configure.ac:
448         * gst/Makefile.am:
449         * gst/gst_private.h:
450         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
451           add support for detecting if GStreamer runs inside valgrind.
452           requires valgrind (d'oh) and --enable-debug for correct cdetection.
453           print a big message in valgrind that GStreamer has detected it's
454           running inside and might now use different code.
455         * gst/gstmemchunk.c: (populate), (free_area),
456         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
457         (gst_mem_chunk_free):
458           flag memchunks for valgrind, so it can detect leaking of chunks.
459           This allows detecting leaks of GstBuffer and GstEvent correctly
460           inside valgrind.
461
462 2004-04-05  David Schleef  <ds@schleef.org>
463
464         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
465           jensgr@gmx.net (Jens Granseuer)
466
467 2004-04-05  David Schleef  <ds@schleef.org>
468
469         * gst/gstbuffer.c: (_gst_buffer_sub_free),
470         (gst_buffer_default_free), (gst_buffer_default_copy),
471         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
472         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
473         structures in one place.
474
475 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
476
477         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
478
479 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
480
481         * testsuite/elements/Makefile.am:
482           disable test until it stops breaking make distcheck
483
484 2004-04-05  Johan Dahlin  <johan@gnome.org>
485
486         * po/sv.po: Updated translation
487
488 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
489
490         * gst/gstplugin.c: (gst_plugin_load_file):
491           fix segfault for when original plugin was loaded statically
492
493 2004-04-05  Benjamin Otte  <otte@gnome.org>
494
495         * testsuite/debug/category.c: (main):
496         * testsuite/debug/commandline.c: (main):
497         * testsuite/debug/output.c: (main):
498           fix tests to work again with debugging enabled
499
500 2004-04-05  Benjamin Otte  <otte@gnome.org>
501
502         * gst/schedulers/gstbasicscheduler.c:
503         (gst_basic_scheduler_pad_link):
504           fix to work with recent scheduling changes
505
506 2004-04-05  Benjamin Otte  <otte@gnome.org>
507
508         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
509         prepareChangeLog doesn't work when cvs indents):
510           don't throw an error when no element can be scheduled, there's too
511           many weird reasons why it doesn't work. Return STOPPED instead.
512           decoupled elemts' schedulability doesn't depend on bufpens.
513
514 2004-04-04  Benjamin Otte  <otte@gnome.org>
515
516         * gst/schedulers/gstbasicscheduler.c:
517         (gst_basic_scheduler_pad_select):
518           fix uninitialized variable warnings
519
520 2004-04-04  Benjamin Otte  <otte@gnome.org>
521
522         * gst/gstpad.c: (gst_pad_collect_valist):
523           fix uninitialized variable warning
524         * gst/schedulers/entryscheduler.c: (schedule_forward):
525           fix shadowed variable
526
527 2004-04-04  Benjamin Otte  <otte@gnome.org>
528
529         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
530         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
531         (gst_pad_select):
532         * gst/gstpad.h:
533         * gst/gstscheduler.c: (gst_scheduler_pad_select),
534         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
535         * gst/gstscheduler.h:
536           implement gst_pad_collect as replacement for gst_pad_select.
537           deprecate gst_pad_select and gst_scheduler_(un)lock_element
538           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
539           new pad_select, lock and unlock calls.
540         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
541         * gst/cothreads.h:
542         * gst/schedulers/cothreads_compat.h:
543         * gst/schedulers/gthread-cothreads.h:
544           remove unused cothread_lock and cothread_unlock calls
545         * gst/schedulers/entryscheduler.c:
546         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
547         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
548         (gst_entry_scheduler_pad_select):
549           update to new API
550         * gst/schedulers/gstbasicscheduler.c:
551         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
552         (gst_basic_scheduler_pad_select):
553           remove useless lock and unlock calls, update pad_select to new API
554           (untested)
555         * gst/schedulers/gstoptimalscheduler.c:
556         (gst_opt_scheduler_class_init):
557           remove useless select, lock and unlock function calls
558         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
559           use gst_pad_collect instead of gst_pad_select
560
561 2004-04-04  Benjamin Otte  <otte@gnome.org>
562
563         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
564         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
565         (schedule_next_element), (print_entry):
566           add can_schedule_pad to handle element states.
567           add schedule_forward to select the correct entry to schedule next
568
569 2004-04-03  Benjamin Otte  <otte@gnome.org>
570
571         * gst/schedulers/entryscheduler.c: 
572           remove unused variable, fix error inside Rb, fix compile warning in
573           unreachable code
574
575 2004-04-03  Benjamin Otte  <otte@gnome.org>
576
577         * gst/schedulers/entryscheduler.c:
578           completely revamp the inner workings, so it's a lot easier to
579           understand and extend
580
581 2004-04-03  Andy Wingo  <wingo@pobox.com>
582
583         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
584         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
585         This allows better introspection of pipeline topology.
586         (add_to_chain): Don't do trickery to put loop elements first;
587         rather, queue a chain sort by marking the chain as dirty.
588         (remove_from_chain): Mark the chain dirty.
589         (sort_chain): New function. Sorts the group list so that terminal
590         sinks are first. This means elements on the sink side will be
591         preferentially sscheduled before elements on the src side of the
592         pipeline.
593         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
594         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
595         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
596         (group_inc_link): Change argument and variable names to match the
597         new link structure member names (src and sink).
598         (group_dec_link): Add some description
599
600 2004-04-03  Benjamin Otte  <otte@gnome.org>
601
602         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
603         * gst/gstinfo.h:
604         * testsuite/debug/category.c: (main):
605         * testsuite/debug/commandline.c: (main):
606         * testsuite/debug/output.c: (main):
607         * testsuite/debug/printf_extension.c: (main):
608           fix to successfully build and test with --disable-gst-debug
609           configure switch (fixes #138705)
610
611 2004-04-03  Benjamin Otte  <otte@gnome.org>
612
613         * docs/pwg/building-boiler.xml:
614           add cvs login line and s/anonymous/anoncvs/
615
616 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
617
618         reviewed by Benjamin Otte  <otte@gnome.org>
619
620         * gst/gststructure.c: (gst_structure_free):
621           memleak fix: free fields array (partial fix for #134839)
622
623 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
624
625         * docs/random/ds/0.9-suggested-changes:
626           Add a note to change handoff use in fakesrc to be usable in
627           a more generic way (fakesrc should be renamed to appsrc or so).
628         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
629           Change signal type to scope, so we can fill the buffer in the
630           handoff handler (that's the whole use of this signal...).
631
632 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
633
634         * docs/pwg/other-ntoone.xml:
635           Document muxers and n-to-1 elements.
636
637 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
638
639         * gst/registries/gstxmlregistry.c
640         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
641         determine if a file is a G_MODULE. The old one discards paths
642         containing "so" somewhere in the middle. My home directory is
643         called "soto". Go figure...
644
645 2004-03-31  David Schleef  <ds@schleef.org>
646
647         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
648         to eventually deprecate gst_buffer_merge().  (bug: #136408)
649         * gst/gstbuffer.h:
650
651 2004-03-31  David Schleef  <ds@schleef.org>
652
653         * gst/gstvalue.c: (gst_value_union_int_int_range),
654         (gst_value_union_int_range_int_range), (gst_value_can_union),
655         (gst_value_union), (_gst_value_initialize):  Add some union
656         implementations.  We didn't have any previously.
657         * testsuite/caps/Makefile.am:
658         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
659         (gst_audioscale_getcaps), (test_caps), (main): A little test
660         that is the same as the caps manipulation in audioscale.
661
662 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
663
664         * docs/faq/general.xml:
665           add entry about "does gst support format X?"
666
667 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
668
669         * gst/gstthread.c:
670           fix docs
671         * gst/gstutils.h:
672           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
673
674 2004-03-30  Benjamin Otte  <otte@gnome.org>
675
676         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
677           set the offset of the buffer to the requested offset
678         * gst/elements/gsttypefind.c: (stop_typefinding):
679           revert patch 1.18 (which I unfortunately don't know the reason for).
680           This is needed to allow downstream elements to seek. Otherwise
681           typefind might overwrite a previous seek by downstream elements.
682           This lead to errors with id3tag and typefind on some mp3s.
683         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
684         (gst_entry_scheduler_iterate):
685           be more verbose when debugging
686
687 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
688
689         * gst/gstcaps.c: (gst_caps_from_string_inplace):
690           make sure we don't get NULL strings
691
692 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
693
694         * gst/gstcaps.c:
695         * gst/gstelement.c:
696         * gst/gstelementfactory.c: (gst_element_factory_get_type):
697         * gst/gstindex.c: (gst_index_resolver_get_type),
698         (gst_index_get_type), (gst_index_factory_get_type):
699         * gst/gstinfo.c:
700         * gst/gstpad.c:
701         * gst/gstplugin.c:
702         * gst/gsturi.c: (gst_uri_handler_get_type):
703         * gst/gstvalue.c:
704           first batch of documentation fixes
705
706 2004-03-29  David Schleef  <ds@schleef.org>
707
708         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
709         * docs/gst/gstreamer-docs.sgml:  More hacking
710         * docs/gst/gstreamer-sections.txt:
711         * docs/gst/tmpl/cothreads_compat.sgml:
712         * docs/gst/tmpl/gstcaps.sgml:
713         * docs/gst/tmpl/gstclock.sgml:
714         * docs/gst/tmpl/gstelement.sgml:
715         * docs/gst/tmpl/gstevent.sgml:
716         * docs/gst/tmpl/gstpad.sgml:
717         * docs/gst/tmpl/gstutils.sgml:
718         * docs/gst/tmpl/gstxml.sgml:
719         * docs/gst/tmpl/gthread-cothreads.sgml:
720         * docs/random/ds/0.9-suggested-changes:
721         * gst/elements/gstfakesink.h: doc fixes
722         * gst/elements/gstfakesrc.h: doc fixes
723         * gst/gstcaps.c: doc fixes
724         * gst/gstcaps.h: doc fixes
725         * gst/gstelement.c: doc fixes
726         * gst/gstelement.h: doc fixes
727         * gst/gstindex.c: doc fixes
728         * gst/gstinfo.c: doc fixes
729         * gst/gstpad.c: doc fixes
730         * gst/gstpad.h: doc fixes
731         * gst/gstplugin.c: doc fixes
732         * gst/gsttypefind.h: doc fixes
733         * gst/gsturi.c: doc fixes
734         * gst/gstvalue.c: doc fixes
735
736 2004-03-29  Colin Walters  <walters@redhat.com>
737
738         * gst/registries/gstxmlregistry.c (get_time)
739         (plugin_times_older_than_recurse):
740         Use the result of stat to determine whether a path is a file,
741         so we don't attempt to opendir() files.
742
743 2004-03-29  Benjamin Otte  <otte@gnome.org>
744
745         * gst/gstpad.c: (gst_pad_set_explicit_caps):
746           print caps in debugging output when setting caps failed
747         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
748         (schedule_next_element), (get_buffer), (run_chainhandler),
749         (element_may_start), (gst_entry_scheduler_chain_handler),
750         (gst_entry_scheduler_get_handler),
751         (gst_entry_scheduler_state_transition),
752         (gst_entry_scheduler_pad_link):
753           make this scheduler a testcase for mandatory
754           discont-before-first-buffer which is needed if we want to allow apps
755           to release the sound device.
756           add SCHED_ASSERT macro to print scheduler state before an assertion
757           triggers.
758
759 2004-03-29  Benjamin Otte  <otte@gnome.org>
760
761         * COPYING:
762           replace by LGPL (former COPYING.LIB). The core is completely
763           licensed LGPL.
764         * COPYING.LIB:
765           remove
766
767 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
768
769         * po/af.po:
770         * po/sv.po:
771           updated Afrikaans and Swedish
772
773 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
774
775         * po/LINGUAS:
776         * po/az.po:
777           adding Azerbaijani (Mətin Əmirov)
778
779 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
780
781         * gst/gstelement.h: 
782         * gst/gstelement.c (gst_element_set_time_delay): New function for
783         setting element time taking into account a hardware buffering
784         delay.
785         (gst_element_set_time): Now just an invocation of
786         gst_element_set_time_delay.
787         * gst/gstclock.h: 
788         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
789         allowing to set event times in the future.
790         (gst_clock_get_event_time): Now just an invocation of
791         gst_clock_get_event_time_delay.
792
793 2004-03-28  Benjamin Otte  <otte@gnome.org>
794
795         * gst/gstbin.c: (gst_bin_set_element_sched),
796         (gst_bin_unset_element_sched):
797           don't add decoupled elements to schedulers - otherwise it's
798           impossible to control if a link to a decoupled element was already
799           removed from a scheduler or not.
800         * gst/schedulers/cothreads_compat.h:
801         * gst/schedulers/gthread-cothreads.h:
802           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
803           is no "unused" warning.
804         * gst/schedulers/Makefile.am:
805         * gst/schedulers/entryscheduler.c:
806           add new scheduler, based on ideas from talking to David and Martin.
807           It's supposed to be small and correct. Currently it's also slow (but
808           it's not noticable)
809         * examples/retag/retag.c: (main):
810         * testsuite/bytestream/test1.c: (main):
811           fix missing NULLs at end of variadic functions
812         * testsuite/elements/.cvsignore:
813           update
814
815 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
816
817         * gst/gstevent.h:
818         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
819
820 2004-03-25  David Schleef  <ds@schleef.org>
821
822         * docs/gst/gstreamer-sections.txt:  More doc hacking.
823         * docs/gst/tmpl/gstaggregator.sgml:
824         * docs/gst/tmpl/gstautoplugfactory.sgml:
825         * docs/gst/tmpl/gstbin.sgml:
826         * docs/gst/tmpl/gstbuffer.sgml:
827         * docs/gst/tmpl/gstbufferstore.sgml:
828         * docs/gst/tmpl/gstfakesink.sgml:
829         * docs/gst/tmpl/gstfakesrc.sgml:
830         * docs/gst/tmpl/gstmd5sink.sgml:
831         * docs/gst/tmpl/gstreamer-unused.sgml:
832         * docs/gst/tmpl/gstsearchfuncs.sgml:
833         * docs/gst/tmpl/gstshaper.sgml:
834         * docs/gst/tmpl/gstspider.sgml:
835         * docs/gst/tmpl/gsttee.sgml:
836         * docs/gst/tmpl/gstutils.sgml:
837         * docs/gst/tmpl/gstvalue.sgml:
838         * docs/gst/tmpl/gstxml.sgml:
839         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
840         and we don't support it.
841         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
842         (gst_use_threads), (gst_has_threads): same
843         * gst/gstthreaddummy.c: same
844         * gst/autoplug/gstspider.c: Make gst_spider_details static.
845         * gst/autoplug/gstspider.h: same
846         * gst/elements/gstaggregator.h: Remove bogus function from header
847         * gst/elements/gstfakesink.h: same
848         * gst/elements/gstfakesrc.h: same
849         * gst/elements/gstmd5sink.h: same
850         * gst/elements/gstshaper.h: same
851         * gst/elements/gsttee.h: same
852         * gst/gstbin.c: doc fixes
853         * gst/gstbin.h: Remove unused definition.
854         * gst/gstbuffer.c: doc fixes
855         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
856         * gst/gstfilter.c: doc fixes
857         * gst/gsttag.c: doc fixes
858         * gst/gstvalue.c: doc fixes
859
860 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
861
862         * docs/pwg/advanced-types.xml:
863           Document typefinding.
864         * docs/pwg/other-oneton.xml:
865           Document one-to-n elements, demuxers and parsers.
866
867 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
868
869         reviewed by: David Schleef  <ds@schleef.org>
870
871         * configure.ac: Check bison version (bug #127838)
872
873 2004-03-25  David Schleef  <ds@schleef.org>
874
875         * docs/gst/gstreamer-docs.sgml: More fine tuning.
876         * docs/gst/gstreamer-sections.txt:
877         * docs/gst/tmpl/gstautoplug.sgml:
878         * docs/gst/tmpl/gststaticautoplug.sgml:
879         * docs/gst/tmpl/gststaticautoplugrender.sgml:
880         * docs/gst/tmpl/gstutils.sgml:
881         * docs/gst/tmpl/gstxml.sgml:
882
883 2004-03-24  David Schleef  <ds@schleef.org>
884
885         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
886         manual being such complete crap, that I decided to do major
887         hacking of it.  This checkin replaces any fine tuning that
888         may have been done previously, with the benefit of actually
889         being complete for much of the API that was changed since
890         0.6.  Further fine tuning will occur shortly.  (bug #134721)
891         * docs/gst/gstreamer-sections.txt:
892         * docs/gst/tmpl/GstBin.sgml:
893         * docs/gst/tmpl/GstBuffer.sgml:
894         * docs/gst/tmpl/GstCaps.sgml:
895         * docs/gst/tmpl/GstClock.sgml:
896         * docs/gst/tmpl/GstCompat.sgml:
897         * docs/gst/tmpl/GstData.sgml:
898         * docs/gst/tmpl/GstElement.sgml:
899         * docs/gst/tmpl/GstEvent.sgml:
900         * docs/gst/tmpl/GstIndex.sgml:
901         * docs/gst/tmpl/GstStructure.sgml:
902         * docs/gst/tmpl/GstTag.sgml:
903         * docs/gst/tmpl/cothreads.sgml:
904         * docs/gst/tmpl/cothreads_compat.sgml:
905         * docs/gst/tmpl/gettext.sgml:
906         * docs/gst/tmpl/grammar.tab.sgml:
907         * docs/gst/tmpl/gst-i18n-app.sgml:
908         * docs/gst/tmpl/gst-i18n-lib.sgml:
909         * docs/gst/tmpl/gst.sgml:
910         * docs/gst/tmpl/gst_private.sgml:
911         * docs/gst/tmpl/gstaggregator.sgml:
912         * docs/gst/tmpl/gstarch.sgml:
913         * docs/gst/tmpl/gstatomic.sgml:
914         * docs/gst/tmpl/gstatomic_impl.sgml:
915         * docs/gst/tmpl/gstbin.sgml:
916         * docs/gst/tmpl/gstbuffer.sgml:
917         * docs/gst/tmpl/gstbufferstore.sgml:
918         * docs/gst/tmpl/gstcaps.sgml:
919         * docs/gst/tmpl/gstclock.sgml:
920         * docs/gst/tmpl/gstcompat.sgml:
921         * docs/gst/tmpl/gstconfig.sgml:
922         * docs/gst/tmpl/gstcpu.sgml:
923         * docs/gst/tmpl/gstdata.sgml:
924         * docs/gst/tmpl/gstdata_private.sgml:
925         * docs/gst/tmpl/gstelement.sgml:
926         * docs/gst/tmpl/gstenumtypes.sgml:
927         * docs/gst/tmpl/gsterror.sgml:
928         * docs/gst/tmpl/gstevent.sgml:
929         * docs/gst/tmpl/gstfakesink.sgml:
930         * docs/gst/tmpl/gstfakesrc.sgml:
931         * docs/gst/tmpl/gstfilesink.sgml:
932         * docs/gst/tmpl/gstfilter.sgml:
933         * docs/gst/tmpl/gstindex.sgml:
934         * docs/gst/tmpl/gstinfo.sgml:
935         * docs/gst/tmpl/gstinterface.sgml:
936         * docs/gst/tmpl/gstlog.sgml:
937         * docs/gst/tmpl/gstmacros.sgml:
938         * docs/gst/tmpl/gstmarshal.sgml:
939         * docs/gst/tmpl/gstmd5sink.sgml:
940         * docs/gst/tmpl/gstmultifilesrc.sgml:
941         * docs/gst/tmpl/gstobject.sgml:
942         * docs/gst/tmpl/gstpad.sgml:
943         * docs/gst/tmpl/gstparse.sgml:
944         * docs/gst/tmpl/gstpipeline.sgml:
945         * docs/gst/tmpl/gstplugin.sgml:
946         * docs/gst/tmpl/gstpluginfeature.sgml:
947         * docs/gst/tmpl/gstqueue.sgml:
948         * docs/gst/tmpl/gstreamer-unused.sgml:
949         * docs/gst/tmpl/gstregistry.sgml:
950         * docs/gst/tmpl/gstregistrypool.sgml:
951         * docs/gst/tmpl/gstscheduler.sgml:
952         * docs/gst/tmpl/gstsearchfuncs.sgml:
953         * docs/gst/tmpl/gstshaper.sgml:
954         * docs/gst/tmpl/gstspider.sgml:
955         * docs/gst/tmpl/gstspideridentity.sgml:
956         * docs/gst/tmpl/gststructure.sgml:
957         * docs/gst/tmpl/gstsystemclock.sgml:
958         * docs/gst/tmpl/gsttag.sgml:
959         * docs/gst/tmpl/gsttaginterface.sgml:
960         * docs/gst/tmpl/gsttee.sgml:
961         * docs/gst/tmpl/gstthread.sgml:
962         * docs/gst/tmpl/gsttrace.sgml:
963         * docs/gst/tmpl/gsttrashstack.sgml:
964         * docs/gst/tmpl/gsttypefind.sgml:
965         * docs/gst/tmpl/gsttypes.sgml:
966         * docs/gst/tmpl/gsturi.sgml:
967         * docs/gst/tmpl/gsturitype.sgml:
968         * docs/gst/tmpl/gstutils.sgml:
969         * docs/gst/tmpl/gstvalue.sgml:
970         * docs/gst/tmpl/gstversion.sgml:
971         * docs/gst/tmpl/gstxml.sgml:
972         * docs/gst/tmpl/gstxmlregistry.sgml:
973         * docs/gst/tmpl/gthread-cothreads.sgml:
974         * docs/gst/tmpl/types.sgml:
975
976 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
977
978         * docs/pwg/other-sink.xml:
979         * docs/pwg/other-source.xml:
980           Documentation on how to write source and sink elements. Other
981           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
982           manager, autoplugger) are all still pending.
983
984 2004-03-25  Benjamin Otte  <otte@gnome.org>
985
986         * testsuite/elements/Makefile.am:
987         * testsuite/elements/gst-compprep-check:
988           add check to make sure gst-compprep works
989         * testsuite/elements/gst-inspect-check.in:
990           improve initialization output
991         * testsuite/Makefile.am:
992         * testsuite/gst-inspect-check:
993           remove old file
994
995 2004-03-24  David Schleef  <ds@schleef.org>
996
997         * testsuite/elements/Makefile.am:
998         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
999         to the testsuite.
1000
1001 2004-03-24  Benjamin Otte  <otte@gnome.org>
1002
1003         * libs/gst/control/dparam.c: (gst_dparam_attach),
1004         (gst_dparam_detach):
1005         * libs/gst/control/dparammanager.c: (gst_dpman_init):
1006           fix lvalue casts for real
1007
1008 2004-03-24  Benjamin Otte  <otte@gnome.org>
1009
1010         * gst/schedulers/gstbasicscheduler.c:
1011         (gst_basic_scheduler_src_wrapper):
1012         * gst/schedulers/gstoptimalscheduler.c:
1013         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
1014         (pad_clear_queued), (gst_opt_scheduler_add_element),
1015         (gst_opt_scheduler_remove_element):
1016           fix GStreamer to not have issues with lvalue casts anymore (fixes
1017           #136841)
1018
1019 2004-03-24  Benjamin Otte  <otte@gnome.org>
1020
1021         * gst/gstelement.c:
1022           add documentation about a gobject quirk where the object hasn't the
1023           correct class pointer set on initialization
1024         * gst/schedulers/gstbasicscheduler.c:
1025         (gst_basic_scheduler_src_wrapper):
1026           make sure to not run into an infinite loop
1027
1028 2004-03-22  Benjamin Otte  <otte@gnome.org>
1029
1030         * gst/gstutils.c: (gst_util_dump_mem):
1031         * gst/gstutils.h:
1032           first argument of gst_util_dump_mem should be const
1033
1034 2004-03-22  Johan Dahlin  <johan@gnome.org>
1035
1036         * gst/gstvalue.h: Clean up a little bit.
1037
1038 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
1039
1040         reviewed by Benjamin Otte  <otte@gnome.org>
1041
1042         * gst/autoplug/gstspider.c: (gst_spider_dispose):
1043         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
1044         (gst_aggregator_class_init), (gst_aggregator_init):
1045         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
1046         (gst_filesrc_dispose), (gst_filesrc_set_location):
1047         * gst/elements/gstidentity.c: (gst_identity_finalize),
1048         (gst_identity_class_init), (gst_identity_chain):
1049         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
1050         * gst/elements/gststatistics.c: (gst_statistics_finalize),
1051         (gst_statistics_class_init):
1052         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
1053         (gst_tee_get_property):
1054           clean up used memory in this elements correctly on teardown (closes
1055           #137279)
1056
1057 2004-03-20  Colin Walters  <walters@redhat.com>
1058
1059         * gst/registries/gstxmlregistry.c:
1060         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
1061         registry saving atomic.
1062
1063 2004-03-20  Colin Walters  <walters@redhat.com>
1064
1065         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
1066         Just use
1067         access() instead of actually creating and deleting files.
1068
1069 2004-03-18  David Schleef  <ds@schleef.org>
1070
1071         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
1072         (bug #137625)
1073
1074 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1075
1076         * po/sv.po: updated translation (Christian Rose)
1077
1078 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1079
1080         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
1081         (gst_filesink_get_query_types), (_do_init),
1082         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
1083           return FALSE silently
1084         * po/af.po: updated translation (Petri Jooste)
1085
1086 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
1087
1088         * Makefile.am:
1089         * configure.ac:
1090           dist common properly
1091         * po/af.po:
1092         * po/fr.po:
1093         * po/nl.po:
1094         * po/sr.po:
1095         * po/sv.po:
1096           refreshing translations
1097
1098 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1099
1100         * po/LINGUAS:
1101         * po/sv.po:
1102         * po/af.po:
1103           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
1104
1105 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1106
1107         * Makefile.am: use common/release.mak
1108
1109 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1110
1111         * docs/faq/gst-uninstalled:
1112           adding gst-monkeysaudio to the list of possible plugin dirs
1113
1114 2004-03-16  David Schleef  <ds@schleef.org>
1115
1116         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
1117         (gst_init_check_with_popt_table):  Fix some gettext strings to
1118         make them easier to translate.  Required making the strings
1119         non-const.
1120
1121 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1122
1123         * configure.ac: bump nano to 1
1124
1125 === release 0.8.0 ===
1126
1127 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1128
1129         * configure.ac: release 0.8.0, "Executive Slacks"
1130
1131 2004-03-16  Johan Dahlin  <johan@gnome.org>
1132
1133         * gst/schedulers/gstoptimalscheduler.c
1134         (gst_opt_scheduler_pad_unlink): Remove double ;,
1135         spotted by Scott Wheeler
1136
1137 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1138
1139         * configure.ac: bump libtool version
1140
1141 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1142
1143         * gst/gstcaps.h:
1144         * gst/gststructure.h:
1145           add reserved padding
1146
1147 2004-03-15  Benjamin Otte  <otte@gnome.org>
1148
1149         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
1150           set the first parameter for select call correctly.
1151           (fixes #137230)
1152
1153 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1154
1155         * *.c,*.h: don't mix tabs and spaces
1156
1157 2004-03-15  Johan Dahlin  <johan@gnome.org>
1158
1159         * gst/schedulers/gstoptimalscheduler.c
1160         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
1161         crash on MPEG playback. My boolean arithmetic is a bit rusty.
1162
1163         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
1164         
1165 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1166
1167         * testsuite/Rules:
1168           fix gst-register rules
1169
1170 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1171
1172         * testsuite/Rules:
1173           use versioned gst-register
1174
1175 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1176
1177         * docs/libs/gstreamer-libs-sections.txt:
1178           remove </SUBSECTION>
1179         * gst/gstplugin.c:
1180         * gst/gstregistry.c: (gst_registry_add_plugin):
1181         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
1182         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
1183           add debugging and fix some comment blocks
1184
1185 2004-03-15  Johan Dahlin  <johan@gnome.org>
1186
1187         * *.h: Revert indent changes.
1188         
1189 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1190
1191         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
1192           g_error_free the g_error
1193         * tools/gst-feedback-m.m:
1194           check for other versions of gstreamer
1195         * tools/gst-indent:
1196           use sh, not bash
1197
1198 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1199
1200         * tools/gst-register.c: do not spill paths when registries are not
1201           writable, until we fix the "user running gst-register" case.
1202
1203 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1204
1205         * *.c, *.h: commit of gst-indent run on core
1206
1207 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1208
1209         * tools/gst-indent:
1210         * tools/Makefile.am:
1211           add our indentation style as a script
1212
1213 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1214
1215         * po/sr.po:
1216         * po/LINGUAS:
1217           added Serbian translation
1218
1219 2004-03-13  Benjamin Otte  <otte@gnome.org>
1220
1221         * gst/gstelement.c:
1222           add documentation note about gst_element_found_tags_for_pad not
1223           being usable in getfunctions. (see #137042)
1224
1225 2004-03-12  David Schleef  <ds@schleef.org>
1226
1227         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
1228         change API right now!  Readd gst_caps_is_simple() macro.
1229         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
1230         uninitialized variable.  I'd bet this caused crashes.
1231         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
1232
1233 2004-03-12  Johan Dahlin  <johan@gnome.org>
1234
1235         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
1236         * gst/gstcaps.h: Clean up
1237
1238         * gst/gst.c (init_post): call gst_caps_get_type() instead of
1239         _gst_caps_initalize()
1240
1241         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
1242         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
1243
1244         * gst/gststructure.c (gst_structure_get_type): Ditto
1245
1246         * gst/gststructure.h: Ditto
1247         
1248 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
1249
1250         * gst/gstqueue.c: (gst_queue_init):
1251           Reset default max. values in queues. Reason is simply to avoid
1252           braindead use. If you want wider values, use the properties. The
1253           default is supposed to always work. Wider values would make this
1254           beast a memory hog by default (250 full-PAL RGB32 video frames?
1255           That's 440 MB! No thank you).
1256
1257 2004-03-10  David Schleef  <ds@schleef.org>
1258
1259         * tools/gst-run.c: (main):  Fix crash when no relevant tools
1260         were found.  (bug #136793)
1261
1262 2004-03-10  Johan Dahlin  <johan@gnome.org>
1263
1264         * gst/schedulers/gstoptimalscheduler.c
1265         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
1266         links to elements within the same group, so we can finally remove
1267         that annoying warning. Refactor the code a little bit
1268         (group_dec_links_for_element): Split out
1269
1270 2004-03-09  David Schleef  <ds@schleef.org>
1271
1272         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
1273         (bug #134863)
1274
1275 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1276
1277         * configure.ac: first bug fix due to major/minor bump
1278
1279 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1280
1281         * configure.ac: bump nano to 1
1282
1283 === release 0.7.6 ===
1284
1285 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1286
1287         * NEWS:
1288         * RELEASE:
1289         * configure.ac:
1290           releasing 0.7.6, "Almost"
1291         * po/fr.po:
1292         * po/nl.po:
1293         * tools/Makefile.am:
1294         * tools/gst-feedback-m.m:
1295           unversioned source
1296
1297 2004-03-09  Johan Dahlin  <johan@gnome.org>
1298
1299         Reviewed by: Thomas Vander Stichele
1300
1301         * gst/gstelement.c (gst_element_class_init): register second
1302         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
1303         language bindings can (de)marshall correctly.
1304
1305         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
1306
1307         * gst/gsterror.c (gst_g_error_get_type): New function
1308
1309         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
1310         with VOID:OBJECT,OBJECT,STRING 
1311
1312 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
1313
1314         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
1315         Free a leaked g_timer on early returns.
1316
1317 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
1318
1319         * docs/pwg/advanced-types.xml:
1320           Add cinepak description.
1321
1322 2004-03-07  David Schleef  <ds@schleef.org>
1323
1324         * docs/random/mimetypes:  Added cinepak description
1325
1326 2004-03-07  Andy Wingo  <wingo@pobox.com>
1327
1328         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
1329
1330         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
1331         there are no links to other groups when a group is destroyed.
1332         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
1333         removed from a group, make sure the link count to elements linked
1334         to other pads is appropriately decremented. This really fixes
1335         #135672.
1336
1337         The 1.60->1.61 patch has been reapplied in light of this fix.
1338
1339         * gst/gstelement.c (gst_element_dispose): Really protect against
1340         multiple invocations this time.
1341
1342 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1343
1344         * docs/gst/gstreamer-sections.txt:
1345         * docs/gst/tmpl/gsttag.sgml:
1346           remove some deprecated functions, document some existing ones
1347         * gst/gsttag.c: (gst_tag_get_flag):
1348         * gst/gsttag.h:
1349           add accessor function
1350
1351 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1352
1353         * docs/gst/gstreamer-sections.txt:
1354         * docs/gst/tmpl/gsttag.sgml:
1355         * docs/gst/tmpl/gstxml.sgml:
1356         * gst/gsttag.c: (gst_tag_get_flag):
1357         * gst/gsttag.h:
1358
1359 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
1360
1361         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
1362         leak
1363
1364 2004-03-05  David Schleef  <ds@schleef.org>
1365
1366         * REQUIREMENTS: Add bison and flex.
1367         * configure.ac: Fix comment about bison.
1368         * docs/random/ds/0.9-suggested-changes: yer ma
1369         * tools/gst-inspect.c: (print_element_info):  Fix warning.
1370
1371 2004-03-05  Benjamin Otte  <otte@gnome.org>
1372
1373         * gst/gstelement.c: (gst_element_error_full):
1374           revert recent recursive state changing commit - messing with other
1375           elements' states is evil and should be done by apps only.
1376
1377 2004-03-05  Benjamin Otte  <otte@gnome.org>
1378
1379         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
1380           check for empty intersection instead of NULL caps
1381         (gst_element_get_compatible_pad_filtered):
1382           remove old workaround that is only a bug nowadays
1383
1384 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1385
1386         * gst/gstelement.c: (gst_element_error_full):
1387           make elements try to recursively change state to PAUSED on all
1388           parents after an error to suppress ensuing warnings
1389         * gst/parse/grammar.y:
1390           make it check if it was able to sync the state, and throw an error
1391           if not, so stuff like
1392           oggdemux ! vorbisdec ! osssink gets caught
1393
1394 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1395
1396         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
1397           it contains lib64; use AS_AC_EXPAND to handle it properly
1398
1399 2004-03-05  David Schleef  <ds@schleef.org>
1400
1401         * gst/gstcpuid_i386.s:  Remove unused code
1402         * libs/gst/getbits/getbits.c: (gst_getbits_init),
1403         (gst_getbits_newbuf): Remove MMX code
1404         * libs/gst/getbits/getbits.h: Remove MMX code
1405
1406 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
1407
1408         * debian/.cvsignore:
1409         * debian/README.Debian:
1410         * debian/changelog:
1411         * debian/control:
1412         * debian/control.in:
1413         * debian/copyright:
1414         * debian/gstreamer-core-libs-dev.files:
1415         * debian/gstreamer-core-libs.files:
1416         * debian/gstreamer-core.files:
1417         * debian/gstreamer-core.postinst:
1418         * debian/gstreamer-core.postrm:
1419         * debian/gstreamer-doc.files:
1420         * debian/gstreamer-doc.links:
1421         * debian/gstreamer-doc.lintian:
1422         * debian/gstreamer-runtime.files:
1423         * debian/gstreamer-runtime.manpages:
1424         * debian/gstreamer-runtime.postinst:
1425         * debian/gstreamer-runtime.postrm:
1426         * debian/gstreamer-tools.files:
1427         * debian/gstreamer-tools.manpages:
1428         * debian/libgstreamer-dev.files:
1429         * debian/libgstreamer0.4.1.files:
1430         * debian/libgstreamerVERSION.files:
1431         * debian/rules:
1432         Debian package info not maintained here.
1433
1434 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1435
1436         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
1437         * gst/gstbin.c: (gst_bin_class_init):
1438         * gst/gstelement.c: (gst_element_class_init):
1439         * gst/gstindex.c: (gst_index_class_init):
1440         * gst/gstobject.c: (gst_object_class_init),
1441         (gst_signal_object_class_init):
1442         * gst/gstpad.c: (gst_pad_template_class_init):
1443         * gst/gstregistry.c: (gst_registry_class_init):
1444         * gst/gsturi.c: (gst_uri_handler_base_init):
1445         * gst/gstxml.c: (gst_xml_class_init):
1446         * libs/gst/control/dparam.c: (gst_dparam_class_init):
1447         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
1448           make all signal names use dashes instead of underscore
1449
1450 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1451
1452         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
1453
1454 2004-03-03  Benjamin Otte  <otte@gnome.org>
1455
1456         * gst/schedulers/gstoptimalscheduler.c:
1457           revert last commit by Andy Wingo. It causes segfaults on unreffing
1458           in Rhythmbox. (see bug #135672)
1459
1460 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
1461
1462         * po/fr.po: fix typo
1463
1464 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
1465
1466         * tools/gst-inspect.c: (main): 
1467         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
1468
1469 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1470
1471         * configure.ac:
1472           get GLIB_ONLY and POPT flags for the nonversioned binaries
1473         * tools/Makefile.am:
1474           use them
1475
1476 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1477
1478         * gst/gst.c: (init_post):
1479           change so that GST_REGISTRY now is where the global registry gets
1480           saved, since that is where plugins now get attached to first, and
1481           spilled over to the user registry.  Note that in the case of using
1482           GST_REGISTRY env var, we don't want to affect any real registries
1483           beyond the one given by this var, and thus we don't set a user
1484           registry to spill to.  So make sure GST_REGISTRY is writable.
1485
1486 2004-03-01  David Schleef  <ds@schleef.org>
1487
1488         * AUTHORS:  Added some names.  Add yourself if you're missing.
1489
1490 2004-03-01  David Schleef  <ds@schleef.org>
1491
1492         * MAINTAINERS: Add
1493
1494 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1495
1496         * configure.ac:
1497           remove whitespace
1498         * docs/gst/tmpl/gstbuffer.sgml:
1499         * docs/gst/tmpl/gstdata.sgml:
1500         * docs/gst/tmpl/gstreamer-unused.sgml:
1501         * docs/gst/tmpl/gstxml.sgml:
1502           doc update
1503         * docs/manuals.mak:
1504           add a FIXME
1505         * docs/pwg/intro-preface.xml:
1506         * docs/pwg/pwg.xml:
1507           remove GNOME
1508         * gst/gst.c: (init_post):
1509           try GST_PLUGIN_PATH paths for the _global_registry first
1510         * gst/gstelement.h:
1511           add the error message as well, otherwise (null) debug info doesn't
1512           make much sense
1513         * tools/gst-register.c: (main):
1514           spill paths to next registry if this registry is not writable
1515         * po/fr.po:
1516         * po/nl.po:
1517           translation updates
1518
1519 2004-03-01  Johan Dahlin  <johan@gnome.org>
1520
1521         * gst/gstbuffer.c (_gst_buffer_initialize): 
1522         * gst/gstdata.c (gst_data_get_type): 
1523         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
1524         instead of ref, since some applications that uses GBoxed
1525         routines depends on a function that actually returns a copy.
1526
1527 2004-02-27  Benjamin Otte  <otte@gnome.org>
1528
1529         * gst/gstbuffer.h:
1530           remove gst_buffer_free, use gst_data_unref
1531         * gst/gstdata.c: (gst_data_get_type):
1532           use refcounting in GstData GBoxed registration
1533         * gst/gstdata.h:
1534           remove gst_data_free, use gst_data_unref
1535
1536 2004-02-27  Johan Dahlin  <johan@gnome.org>
1537
1538         * gst/gstdata.c (gst_data_get_type): New function, register
1539         GstData as a GBoxed type.
1540
1541         * gst/gstdata.h (GST_TYPE_DATA): New macro
1542
1543 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1544
1545         * Makefile.am:
1546         * gstreamer.spec.in:
1547           put back RELEASE
1548         * gst/Makefile.am:
1549           clean up non-disting of built files
1550         * testsuite/debug/commandline.c:
1551           test fix for option rename
1552
1553 2004-02-26  David Schleef  <ds@schleef.org>
1554
1555         * configure.ac:  We don't really need glib-2.3.  Also remove
1556         some unneeded checks for library functions.
1557         * gst/Makefile.am:  Instead, we need to not dist files created
1558         by glib-genmarshal.
1559
1560 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
1561
1562         * configure.ac:
1563           bump glib required version to 2.3.0 for g_value_takes_boxed
1564
1565  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
1566
1567         * common/m4/gst-docs.m4
1568         change flavour text from enable to disable as enable is our default
1569         closes bug Bug 135304
1570
1571 === release 0.7.5 ===
1572  
1573  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
1574  
1575         * NEWS:
1576           instate NEWS file
1577         * Makefile.am:
1578         * gstreamer.spec.in:
1579         * RELEASE:
1580           put back release
1581         * configure.ac:
1582         * docs/random/release:
1583           more updates
1584
1585 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
1586
1587         * gst/gsttag.c: (_gst_tag_initialize):
1588         * po/fr.po:
1589         * po/nl.po:
1590           remove hyphen from codec tags
1591
1592 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
1593
1594         * gst/parse/Makefile.am:
1595           fix dependency so that a make from a clean build works the first
1596           time
1597
1598 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
1599
1600         * docs/random/release:
1601           update release strategy
1602         * po/fr.po:
1603           auto-update po file
1604         * po/nl.po:
1605           update dutch translation
1606
1607 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
1608
1609         * docs/manual/debugging.xml:
1610         fix manual for new debugging system
1611
1612 2004-02-25  Andy Wingo  <wingo@pobox.com>
1613
1614         * gst/gstpad.c (gst_pad_link_prepare): Re-add
1615         gst_pad_link_prepare. Please email the list with specific reasons
1616         for reverting.
1617
1618 2004-02-24  Andy Wingo  <wingo@pobox.com>
1619
1620         * gst/gstelement.c (gst_element_dispose): Protect against multiple
1621         invocations.
1622
1623         * gst/schedulers/gstoptimalscheduler.c:
1624         I added a mess of prototypes at the top of the file by way of
1625         documentation. Some of the operations on chains and groups were
1626         re-organized.
1627
1628         (create_group): Added a type argument so if the group is enabled,
1629         the setup_group_scheduler knows what to do.
1630         (group_elements): Added a type argument here, too, to be passed on
1631         to create_group.
1632         (group_element_set_enabled): If an unlinked PLAYING element is
1633         added to a bin, we have to create a new group to hold the element,
1634         and this function will be called before the group is added to the
1635         chain. Thus we have a valid case for group->chain==NULL. Instead
1636         of calling chain_group_set_enabled, just set the flag on the group
1637         (the chain's status will be set when the group is added to it).
1638         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
1639         Setup the group scheduler when the group is enabled, not
1640         specifically when an element goes PAUSED->PLAYING. This means
1641         PLAYING elements can be added, linked, and scheduled into a
1642         PLAYING pipeline, as was intended.
1643         (add_to_group): Don't ref the group twice. I don't know when this
1644         double-ref got in here. Removing it has the potential to cause
1645         segfaults if other parts of the scheduler are buggy. If you find
1646         that the scheduler is segfaulting for you, put in an extra ref
1647         here and see if that hacks over the underlying issue. Of course,
1648         then find out what code is unreffing a group it doesn't own...
1649         (create_group): Make the extra refcount floating, and remove it
1650         after adding the element. This means that...
1651         (unref_group): Destroy when the refcount reaches 0, not 1, like
1652         every other refcounted object in the known universe.
1653         (remove_from_group): When a group becomes empty, set it to be not
1654         active, and remove it from its chain. Don't unref it again,
1655         there's no floating reference any more.
1656         (destroy_group): We have to remove the group from the chain in
1657         remove_from_group (rather than here) to break refcounting cycles
1658         (the chain always has a ref on the group). So assert that
1659         group->chain==NULL.
1660         (ref_group_by_count): Removed, it was commented out anyway.
1661         (merge_chains): Use the remove_from_chain and add_to_chain
1662         primitives to do the reparenting, instead of rolling our own
1663         implementation.
1664         (add_to_chain): The first non-disabled group in the chain's group
1665         list will be the entry point for the chain. Because buffers can
1666         accumulate in loop elements' peer bufpens, we preferentially
1667         schedule loop groups before get groups to avoid unnecessary
1668         execution of get-based groups when the bufpens are already full.
1669         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
1670         (get_group_schedule_function): Ditto.
1671         (loop_group_schedule_function): Ditto.
1672         (gst_opt_scheduler_loop_wrapper): Ditto.
1673         (gst_opt_scheduler_iterate): Ditto.
1674
1675         I understand the opt scheduler now, yippee!
1676
1677         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
1678         (gst_pad_get_name, gst_pad_set_chain_function) 
1679         (gst_pad_set_get_function, gst_pad_set_event_function) 
1680         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
1681         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
1682         (gst_pad_set_query_function, gst_pad_get_query_types) 
1683         (gst_pad_get_query_types_default) 
1684         (gst_pad_set_internal_link_function) 
1685         (gst_pad_set_formats_function, gst_pad_set_link_function) 
1686         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
1687         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
1688         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
1689         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
1690         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
1691         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
1692         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
1693         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
1694         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
1695         (gst_pad_event_default_dispatch, gst_pad_event_default) 
1696         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
1697         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
1698         (gst_pad_get_formats_default, gst_pad_get_formats): Better
1699         argument checks, and some doc fixes.
1700
1701         (gst_pad_custom_new_from_template): Um, does anyone
1702         use these functions? Actually make a custom pad instead of a
1703         normal one.
1704         (gst_pad_try_set_caps): Transpose some checks.
1705         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
1706         the pad is in negotiation.
1707         (gst_pad_try_relink_filtered): Use pad_link_prepare.
1708         
1709         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
1710
1711         * gst/gstelement.h: 
1712         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
1713         on the list.
1714
1715 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1716
1717         * gst/gstbin.c: (gst_bin_add):
1718           add error for not being able to add elements
1719
1720 2004-02-22  Julien MOUTTE <julien@moutte.net>
1721
1722         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
1723         audio-codec and video-codec.
1724
1725 2004-02-22  Benjamin Otte  <otte@gnome.org>
1726
1727         reported by: Padraig O'Briain <padraig.obriain@sun.com>
1728
1729         * autogen.sh:
1730           replace test -e with test -x for mkinstalldirs to be more portable.
1731           (fixes #134816)
1732
1733 2004-02-22  Benjamin Otte  <otte@gnome.org>
1734
1735         * gst/gstpad.c:
1736           revert last patch from Andy, it makes gst_pad_can_link_filtered much
1737           too noisy
1738         * gst/gsttag.c: (_gst_tag_initialize):
1739         * gst/gsttag.h:
1740           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
1741         * libs/gst/control/dparam.c: (gst_dparam_attach):
1742         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
1743           check that types for attached dparams match
1744
1745 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1746
1747         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
1748         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
1749         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
1750           fix errors
1751
1752 2004-02-20  Andy Wingo  <wingo@pobox.com>
1753
1754         * gst/gstbin.c:
1755         * gst/gstbuffer.c:
1756         * gst/gstplugin.c:
1757         * gst/registries/gstxmlregistry.c: 
1758         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
1759
1760         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
1761         (gst_element_add_pad): DEBUG->INFO, some fixes.
1762         (gst_element_get_compatible_pad_template): Just see if the
1763         templates' caps intersect, not if one is a strict subset of the
1764         other. This conforms more to what gst_pad_link_intersect() does.
1765         (gst_element_class_add_pad_template): Don't memcpy the pad
1766         template, just ref it.
1767         (gst_element_get_compatible_pad_filtered): Clean up debug messages
1768
1769         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
1770         (gst_pad_link_filtered): Debug changes.
1771         (gst_pad_link_prepare): New function, consolidated from
1772         can_link_filtered and link_filtered.
1773
1774         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
1775         look more like that of the functions in gstelement.c
1776
1777         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
1778         object, and return the empty string if object is NULL.
1779
1780         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
1781         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
1782         LOG, not DEBUG. We still get flex info on debug.
1783
1784         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
1785         debug string more verbose.
1786         (plugin_times_older_than): DEBUG->LOG.
1787
1788 2004-02-20  Julien MOUTTE <julien@moutte.net>
1789
1790         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
1791         will emit found_tag for each stream they demux with the codec.
1792
1793 2004-02-20  Benjamin Otte  <otte@gnome.org>
1794
1795         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
1796           copy navigation event correctly. Check freeing tag lists. 
1797         * gst/gstthread.c: (gst_thread_change_state):
1798           don't abort() on state changing mess - it might happen because of
1799           bugs.
1800         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
1801           use boxed functions
1802         * gst/gstvalue.h:
1803           fix GST_VALUE_HOLDS_CAPS
1804
1805 2004-02-19  David Schleef  <ds@schleef.org>
1806
1807         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
1808         and use it for GST_FUNCTION.  (bug #134750)
1809
1810 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1811
1812         * po/fr.po:
1813         * po/nl.po:
1814           updating translations
1815
1816 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
1817
1818         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
1819
1820 2004-02-18  kost@imn.htwk-leipzig.de
1821
1822         reviewed by: David Schleef  <ds@schleef.org>
1823
1824         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
1825         for libgstcontrol.
1826
1827 2004-02-18  David Schleef  <ds@schleef.org>
1828
1829         * libs/gst/control/dparam.c: (gst_dparam_class_init):
1830         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
1831         (gst_dpsmooth_new): Additional fixes to get double dparams working.
1832         * tools/gst-inspect.c: (print_element_info): Support dumping of
1833         double dparam information.
1834
1835 2004-02-17  David Schleef  <ds@schleef.org>
1836
1837         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
1838         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
1839         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
1840         Use GST_TYPE_CAPS in signal prototype.
1841         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
1842         Convert GST_TYPE_CAPS to boxed.
1843         * gst/gstelement.c: (gst_element_class_init):
1844         Use GST_TYPE_TAG_LIST in signal prototype.
1845         * gst/gstindex.c: (gst_index_class_init):
1846         * gst/gstindex.h:
1847         Add GST_TYPE_INDEX_ENTRY type.
1848         * gst/gstmarshal.list:
1849         Add necessary marshal types.
1850         * gst/gstpad.c: (gst_real_pad_class_init),
1851         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
1852         (gst_pad_recover_caps_error):
1853         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
1854         * gst/gststructure.c: (_gst_structure_initialize),
1855         (gst_structure_copy), (_gst_structure_copy_conditional):
1856         * gst/gststructure.h:
1857         Convert GST_TYPE_STRUCTURE to boxed.
1858         * gst/gsttag.c: (gst_tag_list_get_type):
1859         * gst/gsttag.h:
1860         Add GST_TYPE_TAG_LIST type.
1861
1862 2004-02-17  Julien MOUTTE  <julien@moutte.net>
1863
1864         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
1865         to what we agreed with david.
1866         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
1867
1868 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1869
1870         * po/nl.po: update translation
1871
1872 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1873
1874         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
1875           throw an error if spider is trying to play a mime type there is
1876           no decoder for
1877         * po/POTFILES.in:
1878           add gst/autoplug/gstspider.c for translation
1879
1880 2004-02-17  Julien MOUTTE  <julien@moutte.net>
1881
1882         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
1883         silently when the pad is negotiating.
1884
1885 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1886
1887         * docs/faq/Makefile.am:
1888           add script to run gstreamer uninstalled 
1889         * docs/faq/faq.xml:
1890         * docs/faq/developing.xml:
1891         * docs/faq/gst-uninstalled:
1892           extract script to run gstreamer uninstalled
1893         * docs/manuals.mak:
1894           add EXTRA_SOURCES variable for Makefile.am's to set to
1895           use additional SOURCE files for the doc build
1896
1897 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1898
1899         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
1900
1901 2004-02-15  Julien MOUTTE  <julien@moutte.net>
1902
1903         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
1904         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
1905         an error was thrown by osssink. Basically a state change failure for
1906         an element in a different scheduling group was considered as
1907         successful, which means that caps nego was going on and weird stuff
1908         happened. Like I wrote in the comment there, if someone wants to
1909         revert that please drop me a mail explaining why because I really see
1910         no point in keeping that broken behaviour there.
1911         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
1912         be empty, we then return NULL which will trigger a nice error when 
1913         pulling from the pad.
1914
1915 2004-02-13  David Schleef  <ds@schleef.org>
1916
1917         * libs/gst/control/dparam.c: (gst_dparam_class_init),
1918         (gst_dparam_get_property), (gst_dparam_set_property),
1919         (gst_dparam_do_update_default):
1920         * libs/gst/control/dparam.h:
1921         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
1922         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
1923         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
1924         (gst_dpsmooth_do_update_double):
1925         * libs/gst/control/dparam_smooth.h:
1926         * libs/gst/control/dparammanager.c:
1927         (gst_dpman_inline_direct_update):
1928         Add support for double dparams.
1929
1930 2004-02-13  David Schleef  <ds@schleef.org>
1931
1932         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
1933         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
1934
1935 2004-02-13  Mattias Wadman  <mattias@sudac.org>
1936
1937         reviewed by: David Schleef  <ds@schleef.org>
1938
1939         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1940         (gst_fdsrc_init), (gst_fdsrc_set_property),
1941         (gst_fdsrc_get_property), (gst_fdsrc_get):
1942         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
1943         and sends an EOS event if file descriptor reading times out.
1944
1945 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1946
1947         * configure.ac:
1948           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
1949
1950 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1951
1952         * configure.ac: pass required libxml version as argument
1953         (bug reported by Christophe Fergeau)
1954
1955 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1956   
1957         * docs/gst/gstreamer-docs.sgml:
1958         * docs/gst/tmpl/gstxml.sgml:
1959         * docs/libs/gstreamer-libs-docs.sgml:
1960           version API docs
1961
1962 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1963
1964         * gst/gstinfo.c:
1965         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
1966         (gst_registry_pool_feature_filter):
1967         * gst/gstthread.c: (gst_thread_class_init):
1968         * gst/gstvalue.c:
1969           add includes exposed by building without libxml
1970         * gst/indexers/Makefile.am:
1971           do not build fileindex when LOADSAVE disabled; we should have
1972           a better libxml check later since fileindex depends on xml, not
1973           LOADSAVE or REGISTRY
1974         * libs/gst/control/Makefile.am:
1975           link with m
1976         * tools/Makefile.am:
1977           fix wrong source code for gst-xmlinspect
1978
1979 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1980
1981         * configure.ac:
1982           fix gcov help output
1983           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
1984         * docs/random/release:
1985           some updated releasing notes
1986         * gstreamer.spec.in:
1987           more updates
1988
1989 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1990
1991         * docs/faq/faq.xml:
1992         * docs/manual/manual.xml:
1993         * docs/pwg/pwg.xml:
1994         * docs/pwg/titlepage.xml:
1995           put version in documentation
1996
1997 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1998
1999         * tools/Makefile.am: fix man page installation
2000
2001 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2002
2003         * configure.ac:
2004           don't check for libxml when load/save and registry disabled (#105844)
2005         * gstreamer.spec.in:
2006           sync with fedora candidate spec
2007
2008 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2009
2010         * po/fr.po:
2011         * po/nl.po:
2012           replace multidisksrc with multifilesrc
2013
2014 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2015
2016         * po/POTFILES.in:
2017           update to multidisksrc => multifilesrc file renaming (#134145)
2018
2019 2004-02-11  David Schleef  <ds@schleef.org>
2020
2021         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
2022         * docs/gst/tmpl/gstpadtemplate.sgml: same
2023         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
2024         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
2025         fixing dance.
2026         * gst/gstutils.c: Remove disabled code that uses GstProps.
2027         * gst/registries/gstxmlregistry.h: same
2028         * docs/random/ds/0.9-suggested-changes: random notes
2029
2030 2004-02-11  kost@imn.htwk-leipzig.de
2031
2032         reviewed by: David Schleef  <ds@schleef.org>
2033
2034         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
2035         initialisation of clock (bug #134128)
2036
2037 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2038
2039         * configure.ac:
2040         * gst/elements/Makefile.am:
2041         * gst/elements/gstelements.c:
2042         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
2043         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
2044         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
2045         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
2046         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
2047         * gst/elements/gstmultifilesrc.h:
2048           rename multidisksrc to multifilesrc (part of #122200)
2049
2050 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2051
2052         * docs/manuals.mak:
2053           fix automake complaints
2054         * gst-element-check.m4:
2055           fix unquotedness
2056
2057 2004-02-11  David Schleef  <ds@schleef.org>
2058
2059         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
2060         * gst/gstatomic_impl.h: Disable sparc implementation.
2061
2062 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2063
2064         * gst-element-check.m4:
2065           fix underquoted macros as reported by automake 1.8.x (#133800)
2066         * configure.ac:
2067           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
2068           by autopoint (fixes #132996)
2069
2070 2004-02-10  Andy Wingo  <wingo@pobox.com>
2071
2072         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
2073         way to do inheritance.
2074         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
2075         (gst_pad_get_query_types, gst_pad_get_query_types_default):
2076         Routine docs.
2077         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
2078         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
2079         doc.
2080         (gst_pad_unlink, gst_pad_is_linked): Docs.
2081         (gst_pad_renegotiate): A brief description of capsnego.
2082         (gst_pad_try_set_caps): Document.
2083         (gst_pad_try_set_caps_nonfixed): Document.
2084         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
2085         (gst_pad_set_parent): Deprecated (although not out of the API).
2086         (gst_pad_get_parent): Deprecated, although many plugins use this.
2087         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
2088         are private and will go away in 0.9.
2089         (gst_pad_perform_negotiate): Doc.
2090         (gst_pad_link_unnegotiate): I think this is meant to be static.
2091         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
2092         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
2093         (gst_pad_get_peer): Doc updates.
2094         (gst_pad_caps_change_notify): Doc.
2095         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
2096         (gst_ghost_pad_new): Doc fixes.
2097
2098         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
2099         (gst_object_check_uniqueness): 
2100
2101         * gst/gstelement.c (gst_element_add_pad) 
2102         (gst_element_add_ghost_pad, gst_element_remove_pad) 
2103         (gst_element_remove_ghost_pad, gst_element_get_pad) 
2104         (gst_element_get_static_pad, gst_element_get_pad_list) 
2105         (gst_element_class_get_pad_template_list) 
2106         (gst_element_class_get_pad_template): Work on the docs.
2107         (gst_element_get_pad_template_list): Uses the class method.
2108         (gst_element_get_compatible_pad_template): Docs, and consolidate
2109         some test conditions. 
2110         (gst_element_get_pad_from_template): New static function.
2111         (gst_element_request_compatible_pad): Docs, and work with
2112         non-request compatible templates. 
2113         (gst_element_get_compatible_pad_filtered): Docs and remove
2114         redundant checks.
2115         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
2116         (gst_element_link_filtered, gst_element_link_many) 
2117         (gst_element_link, gst_element_link_pads) 
2118         (gst_element_unlink_many): Docs.
2119
2120 2004-02-05  Andy Wingo  <wingo@pobox.com>
2121
2122         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
2123         s/pointer/boxed/.
2124
2125         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
2126
2127         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
2128         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
2129         with the type=GST_TYPE_CAPS. This allows language bindings to know
2130         what kind of data they're dealing with.
2131
2132         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
2133         to NULL when g_value_init is called. GstCaps, which rolls its own
2134         type implementation, now does the same instead of allocating empty
2135         caps.
2136         (_gst_caps_initialize, _gst_caps_collect_value,
2137         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
2138         table methods. This allows G_VALUE_COLLECT to work.
2139
2140 2004-02-05  Andy Wingo  <wingo@pobox.com>
2141
2142         * configure.ac:
2143         * testsuite/Makefile.am (SUBDIRS): 
2144         * testsuite/ghostpads/Makefile.am: 
2145         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
2146
2147         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
2148         These two routines are the only ones that set
2149         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
2150         pad template. They should be made static, depending on ABI needs.
2151         (gst_real_pad_dispose): Handle the case of ghost pads without a
2152         parent. Assert after dealing with ghost pads that the ghost pad
2153         list is empty.
2154         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
2155         set after creation.
2156         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
2157         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
2158         functions. set_property will call add_ghost_pad/remove_ghost_pad
2159         as appropriate.
2160         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
2161
2162         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
2163         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
2164         (gst_element_remove_pad): Handle ghost pads as well.
2165         (gst_element_remove_ghost_pad): Deprecated (could be removed,
2166         depending on API-stability needs).
2167
2168 2004-02-05  Andy Wingo  <wingo@pobox.com>
2169
2170         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
2171         of course they're const
2172
2173 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2174
2175         * tools/Makefile.am:
2176         * tools/gst-feedback:
2177         * tools/gst-feedback-0.7:
2178           make gst-feedback versioned too for consistency
2179
2180 2004-02-11  David Schleef  <ds@schleef.org>
2181
2182         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
2183         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
2184
2185 2004-02-10  Julien MOUTTE <julien@moutte.net>
2186
2187         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
2188         the structure does not contain a valid tag list. Adding a safety check
2189         to remove a noisy warning in that case.
2190
2191 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2192
2193         * gst/gst.c: fix name to be in line with others
2194
2195 2004-02-09  Julien MOUTTE <julien@moutte.net>
2196
2197         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
2198         not shout that loud when len is 0. Just return 0 silently.
2199
2200 2004-02-09  Julien MOUTTE  <julien@moutte.net>
2201
2202         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
2203         because data_unref has one and I prefer the debug to be symetric.
2204         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
2205         were refed when added to the queue and unrefed only once when the queue
2206         was flushed. Now the flush handler unref the buffers two times : first
2207         unref for the ref added when pushing in the queue's tail and second
2208         unref to destroy the flushed buffer.
2209
2210 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2211
2212         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
2213
2214 2004-02-06  David Schleef  <ds@schleef.org>
2215
2216         * docs/random/ds/0.9-suggested-changes: Random ramblings
2217         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
2218         to int before printing.
2219         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
2220         * gst/parse/parse.l: same.  See bug #129600
2221
2222 2004-02-06  David Schleef  <ds@schleef.org>
2223
2224         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
2225         (gst_index_add_entry), (gst_index_add_associationv),
2226         (gst_index_add_association): Add gst_index_add_associationv()
2227         and clean up gst_index_add_association(). #127133
2228
2229 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2230
2231         * autogen.sh: check out common with right tag if CVS/Tag exists
2232
2233 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2234
2235         * testsuite/ghostpads/ghostpads.c: (main):
2236           fix testsuite from segfaulting
2237
2238 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2239
2240         * Makefile.am: add release target
2241         * configure.ac: bump nano to 1
2242         * docs/random/release:
2243
2244 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2245
2246         * gst/gstcaps.h:
2247         * gst/gstelement.c: (gst_element_base_class_init),
2248         (gst_element_class_set_details), (gst_element_clear_pad_caps):
2249         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
2250         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
2251         (gst_real_pad_dispose):
2252         * gst/gststructure.c: (gst_structure_free),
2253         (gst_structure_from_string):
2254           put reverted patch back in
2255         * gst/gstelement.c: (gst_element_remove_pad):
2256           free explicit caps if they're set
2257         * gst/gstpad.c: (_gst_pad_default_fixate_func):
2258           copy the structure when fixating
2259
2260 2004-02-05  David Schleef  <ds@schleef.org>
2261
2262         * gst/gstmarshal.list:
2263         * gst/gstpad.c: (gst_real_pad_class_init),
2264         (_gst_real_pad_fixate_accumulator):
2265         Revert POINTER->BOXED change in signal marshaller.
2266
2267 === release 0.7.4 ===
2268                                                                                 
2269 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2270                                                                                 
2271         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
2272         * configure.ac: changed for release
2273
2274 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2275
2276         * gstreamer.spec.in:
2277           bump required version of gtk-doc
2278
2279 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2280
2281         * gst/gstcaps.h:
2282         * gst/gstelement.c: (gst_element_base_class_init),
2283         (gst_element_class_set_details), (gst_element_clear_pad_caps):
2284         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
2285         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
2286         (gst_real_pad_dispose):
2287         * gst/gststructure.c: (gst_structure_free),
2288         (gst_structure_from_string):
2289           revert patch that breaks applications, reapply after release
2290           to get this fixed properly
2291
2292 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2293
2294         * gst/gsttag.c: (_gst_tag_initialize):
2295         * gst/gsttag.h:
2296           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
2297
2298 2004-02-04  David Schleef  <ds@schleef.org>
2299
2300         Fix some memleaks:
2301         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
2302         (gst_spider_plug_from_srcpad):
2303         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
2304
2305 2004-02-04  David Schleef  <ds@schleef.org>
2306
2307         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
2308         a GstRealPad before accessing its structure members.
2309
2310 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2311
2312         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
2313         (gst_clock_get_speed):
2314         * gst/gstclock.h:
2315           reset padding, remove unused fields
2316
2317 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2318
2319         * gst/autoplug/gstspideridentity.c:
2320         (gst_spider_identity_sink_loop_type_finding):
2321           use get_allowed_caps, not get_caps (fixes #132519)
2322         * gst/elements/gsttypefind.c: (stop_typefinding):
2323           use correct order when sending buffers and seeking
2324
2325 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2326
2327         * configure.ac:
2328         * gst/gstelement.h:
2329         * gst/gstpad.h:
2330         * gst/gstqueue.h:
2331           upgrade libtool CURRENT, reset padding
2332
2333 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2334
2335         * configure.ac:
2336           bump to prerelease
2337           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
2338
2339 2004-02-04  David Schleef  <ds@schleef.org>
2340
2341         * docs/random/ds/0.9-suggested-changes: random notes
2342         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
2343         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
2344         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
2345         expansion.
2346         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
2347         (gst_filesink_get_query_types): same
2348         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
2349         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
2350         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
2351         to use new GST_PTR_FORMAT.
2352         * gst/gstelement.h: deprecate function factory macros
2353         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
2354         These are our last variadic macros that can't be replaced with
2355         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
2356         attempting to deprecate gst_element_clock_wait().
2357         * gst/gstevent.h: same
2358         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
2359         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
2360         * gst/gstpad.h: deprecate function factory macros similar to above.
2361
2362 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2363
2364         * configure.ac:
2365         * tools/Makefile.am:
2366         * tools/gst-run.c: (popt_callback), (hash_print_key),
2367         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
2368         (get_candidates), (main):
2369           add new source file to generate non-versioned wrapper binaries
2370           for our tools.
2371
2372 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2373
2374         * gst/gstevent.c: (_gst_event_free):
2375           actually break; inside the switch statement
2376         * gst/parse/grammar.y:
2377           fix memleak where GValues weren't unset
2378
2379 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2380
2381         * gst/gststructure.c: (gst_structure_from_string):
2382           fix huge memleak
2383         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
2384         (new_entry), (gst_type_find_element_chain):
2385         * gst/gstelement.c: (gst_element_base_class_init),
2386         (gst_element_class_set_details):
2387         * gst/gstpad.c: (gst_pad_can_link_filtered):
2388           fix smaller memleaks
2389         * gst/gstpad.c: (gst_real_pad_dispose):
2390           check that explicit caps are gone
2391         * gst/gststructure.c: (gst_structure_free):
2392           actually free the structure
2393         * gst/gstelement.c: (gst_element_clear_pad_caps):
2394           unset explicit caps
2395
2396 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2397
2398         * tools/Makefile.am:
2399           use AM_CFLAGS since all the CFLAGS are the same
2400           use AM_LDFAGS
2401
2402 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2403
2404         * docs/manual/gnome.xml:
2405           expand example a little
2406         * gst/gst.c: (gst_init_with_popt_table),
2407         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
2408           make sure popt option displays are done with right textdomain
2409           use GstPoptOption type
2410         * gst/gst.h:
2411           create GstPoptOption type
2412
2413 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2414
2415         * gst/gsterror.c: (_gst_stream_errors_init):
2416         * gst/gsterror.h:
2417           adding error type for no codec
2418         * po/POTFILES.in:
2419           add gst-inspect
2420         * po/nl.po:
2421           update dutch translation
2422         * tools/gst-inspect.c: (print_element_list), (main):
2423           do proper internationalization
2424         * tools/gst-launch.c: (idle_func):
2425           remove commented out function call
2426
2427 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2428
2429         * docs/README:
2430           add some error fixing notes
2431         * docs/gst/gstreamer-sections.txt:
2432           remove double entries
2433         * docs/gst/tmpl/gstbin.sgml:
2434         * docs/gst/tmpl/gstclock.sgml:
2435           remove override
2436         * docs/gst/tmpl/gstelement.sgml:
2437         * docs/gst/tmpl/gstindex.sgml:
2438         * docs/gst/tmpl/gstobject.sgml:
2439         * docs/gst/tmpl/gstpadtemplate.sgml:
2440         * docs/gst/tmpl/gstreamer-unused.sgml:
2441         * docs/gst/tmpl/gsttag.sgml:
2442         * docs/gst/tmpl/gstthread.sgml:
2443         * docs/gst/tmpl/gstxml.sgml:
2444         * gst/gsttag.h:
2445           sync header prototypes with c decls
2446         * gst/gsttaginterface.c:
2447           fix doc headers
2448
2449 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2450
2451         * gst/parse/Makefile.am:
2452         * gst/gstobject.h:
2453           get rid of gstmarshal.h dependency. It's not needed.
2454         * gst/gst.h:
2455         * gst/elements/gstfakesink.c:
2456         * gst/elements/gstfakesrc.c:
2457         * gst/elements/gstidentity.c:
2458         * gst/gstbin.c:
2459         * gst/gstelement.c:
2460         * gst/gstindex.c:
2461         * gst/gstobject.c:
2462         * gst/gstpad.c:
2463         * gst/gstthread.c:
2464         * gst/gstxml.c:
2465         * libs/gst/control/dparam.c:
2466         * libs/gst/control/dparammanager.c:
2467           include gstmarshal.h.
2468         Fixes #132045
2469
2470 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2471
2472         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
2473         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
2474         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
2475         * gst/elements/gstfilesrc.h:
2476           don't ref the filesrc when creating mmaped buffers. Don't keep a
2477           list of not-yet-destroyed buffers.
2478         * gst/gstbuffer.h:
2479           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
2480
2481 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2482
2483         * gst/gst.c: (init_pre):
2484           remove textdomain
2485
2486 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
2487
2488         * docs/pwg/advanced-events.xml:
2489         * docs/pwg/advanced-scheduling.xml:
2490         * docs/pwg/intro-basics.xml:
2491         * docs/pwg/other-manager.xml:
2492         * docs/pwg/other-nton.xml:
2493         * docs/pwg/other-ntoone.xml:
2494         * docs/pwg/other-oneton.xml:
2495         * docs/pwg/pwg.xml:
2496           All sort of documentation... Forgot what. Point is that I want this
2497           in before I leave. The 'other-*' will be the last section and will
2498           explain issues specific to these type of elements.
2499
2500 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2501
2502         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
2503         (gst_filesrc_get_read):
2504           set all the values on buffers that we can
2505
2506 2004-02-02  David Schleef  <ds@schleef.org>
2507
2508         Change usage of isblah() to g_ascii_isblah() to be more locale
2509         independent.  (#133076)
2510         * gst/gsturi.c: (gst_uri_protocol_check_internal):
2511         * gst/gstutils.c:
2512         * gst/parse/parse.l:
2513
2514 2004-02-02  Jon Trowbridge  <trow@gnu.org>
2515
2516         reviewed by: David Schleef  <ds@schleef.org>
2517
2518         Fix memory leaks:
2519         * gst/gstcaps.c: (gst_caps_to_string):
2520         * gst/registries/gstxmlregistry.c:
2521         (gst_xml_registry_add_path_list_func),
2522         (gst_xml_registry_parse_padtemplate):
2523
2524 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2525
2526         * gst/gstelement.c: (gst_element_default_error):
2527           suffix error messages with period
2528
2529 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
2530
2531         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
2532         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
2533         * gst/gsterror.c: (gst_error_get_message):
2534           Suffix with dots
2535         * po/fr.po:
2536         * po/nl.po:
2537           Update translation files
2538
2539 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
2540
2541         * gst/autoplug/gstspideridentity.c:
2542         (gst_spider_identity_sink_loop_type_finding):
2543         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
2544         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
2545         (gst_filesink_close_file), (gst_filesink_handle_event),
2546         (gst_filesink_chain):
2547         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
2548         (gst_filesrc_get_read), (gst_filesrc_open_file):
2549         * gst/elements/gstidentity.c: (gst_identity_chain):
2550         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
2551         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
2552         (gst_pipefilter_chain), (gst_pipefilter_open_file):
2553         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
2554         * gst/gsterror.c: (_gst_core_errors_init),
2555         (_gst_library_errors_init), (_gst_resource_errors_init),
2556         (_gst_stream_errors_init), (gst_error_get_message):
2557         * gst/gstpad.c: (gst_pad_set_explicit_caps),
2558         (gst_pad_recover_caps_error), (gst_pad_pull):
2559         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
2560         * gst/schedulers/gstbasicscheduler.c:
2561         (gst_basic_scheduler_chainhandler_proxy),
2562         (gst_basic_scheduler_gethandler_proxy),
2563         (gst_basic_scheduler_cothreaded_chain):
2564           Suffix error messages with period.
2565           Use (NULL) instead of NULL
2566
2567 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
2568
2569         * docs/gst/tmpl/gstelement.sgml:
2570         * docs/gst/tmpl/gstxml.sgml:
2571         * gst/gstelement.c: (gst_element_error_full):
2572           add element path to error
2573
2574 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2575
2576         * docs/random/mimetypes:
2577           update raw int/float info
2578         * gst/gsttag.c: (_gst_tag_initialize):
2579         * gst/gsttag.h:
2580           add GST_TAG_ENCODER
2581
2582 2004-01-30  David Schleef  <ds@schleef.org>
2583
2584         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
2585           missing (#132991)
2586
2587 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
2588
2589         reviewed by Benjamin Otte 
2590           parts of the patch submitted in bug #113913
2591
2592         * configure.ac:
2593           use AC_C_INLINE. Use = instead of == with test
2594         * examples/plugins/example.c:
2595         * gst/autoplug/gstspideridentity.c:
2596         * gst/elements/gstfdsrc.c:
2597         * gst/elements/gstfilesrc.c:
2598         * gst/elements/gstidentity.c:
2599         * gst/elements/gstmultidisksrc.c:
2600         * gst/elements/gststatistics.c:
2601         * gst/gstelement.c:
2602         * gst/gstobject.c:
2603         * gst/gstpad.c:
2604         * gst/gstpipeline.c:
2605         * gst/gstthread.c:
2606           don't end enums with a comma
2607         * gst/gstindex.c: (gst_index_compare_func):
2608           do explicit casting to gint
2609         * gst/gsttrace.c: (gst_trace_text_flush):
2610           #define strsize as a macro
2611
2612 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2613
2614         * docs/README:
2615         * docs/gst/gstreamer-docs.sgml:
2616         * docs/gst/gstreamer-sections.txt:
2617         * docs/gst/tmpl/gstelement.sgml:
2618         * docs/gst/tmpl/gsterror.sgml:
2619         * docs/gst/tmpl/gstinterface.sgml:
2620         * docs/gst/tmpl/gstreamer-unused.sgml:
2621         * docs/gst/tmpl/gststructure.sgml:
2622         * docs/gst/tmpl/gsttag.sgml:
2623         * docs/gst/tmpl/gsttaginterface.sgml:
2624         * docs/gst/tmpl/gstvalue.sgml:
2625         make sure all API ends up in the built docs
2626         * gst/gstinterface.c:
2627         * gst/gststructure.c: (gst_structure_id_set_value),
2628         (gst_structure_set_value), (gst_structure_id_get_value):
2629         * gst/gststructure.h:
2630         * gst/gstvalue.h:
2631         sync .h with .c declarations
2632
2633 2004-01-30  Julien Moutte  <julien@moutte.net>
2634
2635         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
2636         Ronald will fix riffread.
2637
2638 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
2639
2640         * docs/pwg/advanced-interfaces.xml:
2641           Added tuner interface docs.
2642
2643 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2644
2645         * docs/random/mimetypes:
2646           correct Theora information
2647         * gst/gstelement.h:
2648           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
2649
2650 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2651
2652         * gst/gstelement.c: (gst_element_error_full):
2653         * gst/gstelement.h:
2654           GST_ELEMENT_ERROR in enum -> _IN_ERROR
2655
2656 2004-01-29  Julien MOUTTE  <julien@moutte.net>
2657
2658         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
2659         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
2660         again and even before DISCONT.
2661         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
2662         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
2663         bytestream so that it's not stopping to fill the bytestream if events
2664         different than EOS or DISCONT are received. Instead it process them so
2665         that they go downstream.
2666
2667 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2668
2669         * docs/gst/tmpl/gstelement.sgml:
2670         * docs/gst/tmpl/gstreamer-unused.sgml:
2671         * docs/gst/tmpl/gstxml.sgml:
2672         * gst/autoplug/gstspideridentity.c:
2673         (gst_spider_identity_sink_loop_type_finding):
2674         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
2675         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
2676         (gst_filesink_close_file), (gst_filesink_handle_event),
2677         (gst_filesink_chain):
2678         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
2679         (gst_filesrc_get_read), (gst_filesrc_open_file):
2680         * gst/elements/gstidentity.c: (gst_identity_chain):
2681         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
2682         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
2683         (gst_pipefilter_chain), (gst_pipefilter_open_file):
2684         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
2685         * gst/gstelement.h:
2686         * gst/gstpad.c: (gst_pad_set_explicit_caps),
2687         (gst_pad_recover_caps_error), (gst_pad_pull):
2688         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
2689         * gst/schedulers/gstbasicscheduler.c:
2690         (gst_basic_scheduler_chainhandler_proxy),
2691         (gst_basic_scheduler_gethandler_proxy),
2692         (gst_basic_scheduler_cothreaded_chain):
2693           gst_element_error -> GST_ELEMENT_ERROR
2694
2695 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2696
2697         * docs/Makefile.am:
2698         * docs/gst/tmpl/gstelement.sgml:
2699         * docs/gst/tmpl/gstxml.sgml:
2700         * docs/manuals.mak:
2701         * docs/pwg/advanced-request.xml:
2702         * docs/pwg/advanced-scheduling.xml:
2703         * docs/pwg/advanced-tagging.xml:
2704           fix non-validating docbook using CDATA
2705           make sure make check-local gets run first to check if it validates
2706
2707 2004-01-29  Julien MOUTTE <julien@moutte.net>
2708
2709         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
2710         handling (up and downstream).
2711         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
2712         my_filter thing.
2713
2714 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
2715
2716         * docs/pwg/advanced-tagging.xml:
2717           Add docs about tag writing.
2718
2719 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
2720
2721         * docs/pwg/advanced-tagging.xml:
2722           Add a part about tag reading and application signalling... Tag
2723           writing still needs to be documented.
2724         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
2725           We can set file locations in READY, too.
2726
2727 2004-01-29  Julien MOUTTE <julien@moutte.net>
2728
2729         * docs/random/ds/element-checklist: Adding some notes about src
2730         events.
2731
2732 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
2733
2734         * docs/random/mimetypes:
2735           Update docs to point to correct elements for various mimetypes, and
2736           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
2737           <stephane.loeuillet@tiscali.fr>.
2738
2739 2004-01-28  David Schleef  <ds@schleef.org>
2740
2741         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
2742
2743 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2744
2745         * docs/random/mimetypes:
2746           update docs for audio/x-raw-float. Add "buffer-frames=0 means
2747           undefined"
2748         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
2749           make it only work in NULL.
2750         * gst/gstcaps.c:
2751           don't posion NULL caps
2752         * gst/gstelement.c: (gst_element_set_time):
2753           add debugging statement
2754         * gst/gstelement.c: (gst_element_emit_found_tag),
2755         (gst_element_found_tag_func), (gst_element_found_tags):
2756         * gst/gstelement.h:
2757           These functions take const taglists
2758         * gst/gstpad.c: (gst_pad_proxy_getcaps):
2759           fix memleak
2760         * gst/gstpad.c: (gst_pad_event_default):
2761           make more effort on handling discont and clocks, g_warn if everything
2762           fails
2763         * gst/gststructure.c: (gst_structure_remove_fields),
2764         (gst_structure_remove_fields_valist):
2765         * gst/gststructure.h:
2766           add gst_structure_remove_fields(_valist)
2767         * gst/gsttag.c:
2768           fix doc glitch
2769
2770 2004-01-28  David Schleef  <ds@schleef.org>
2771
2772         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
2773         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
2774         Fix memory leakage of gst_caps_to_string().
2775
2776         Use GST_PTR_FORMAT instead of gst_caps_to_string():
2777         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
2778         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
2779         (gst_spider_identity_sink_loop_type_finding):
2780         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
2781         (find_suggest):
2782         * gst/gstpad.c: (gst_pad_try_relink_filtered),
2783         (gst_pad_set_explicit_caps):
2784         * gst/parse/grammar.y:
2785
2786 2004-01-28  David Schleef  <ds@schleef.org>
2787
2788         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
2789         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
2790         * docs/random/ds/0.9-suggested-changes: Notes from Company.
2791         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
2792         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
2793         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
2794         (gst_debug_log_default), (_gst_info_printf_extension),
2795         (_gst_info_printf_extension_arginfo):  Add printf extension.
2796         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
2797         * gst/gststructure.c: (gst_structure_to_string),
2798         (_gst_structure_parse_value): Use gst_value_deserialize() and
2799         remove old code.
2800         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
2801         (gst_value_deserialize_boolean), (gst_strtoi),
2802         (gst_value_deserialize_int), (gst_value_deserialize_double),
2803         (gst_value_deserialize_string), (gst_value_deserialize): Implement
2804         a bunch of deserialize functions and gst_value_deserialize.
2805         * gst/gstvalue.h: er, _de_serialize, not unserialize
2806         * testsuite/caps/string-conversions.c: (main): We don't currently
2807         handle (float) in caps, so convert these to (double).
2808         * testsuite/debug/Makefile.am: Add new test for the printf extension
2809         * testsuite/debug/printf_extension.c: (main): same
2810
2811 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2812
2813         * docs/random/company/time:
2814           Add some docs about clocking and time
2815
2816 2004-01-28  Julien MOUTTE <julien@moutte.net>
2817
2818         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
2819
2820 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2821
2822         * docs/pwg/advanced-clock.xml:
2823         * docs/pwg/advanced-dparams.xml:
2824         * docs/pwg/advanced-events.xml:
2825         * docs/pwg/advanced-interfaces.xml:
2826         * docs/pwg/advanced-midi.xml:
2827         * docs/pwg/advanced-request.xml:
2828         * docs/pwg/advanced-scheduling.xml:
2829         * docs/pwg/advanced-tagging.xml:
2830         * docs/pwg/advanced-types.xml:
2831         * docs/pwg/appendix-checklist.xml:
2832         * docs/pwg/building-boiler.xml:
2833         * docs/pwg/building-chainfn.xml:
2834         * docs/pwg/building-filterfactory.xml:
2835         * docs/pwg/building-pads.xml:
2836         * docs/pwg/building-props.xml:
2837         * docs/pwg/building-signals.xml:
2838         * docs/pwg/building-state.xml:
2839         * docs/pwg/building-testapp.xml:
2840         * docs/pwg/intro-basics.xml:
2841         * docs/pwg/intro-preface.xml:
2842         * docs/pwg/other-autoplugger.xml:
2843         * docs/pwg/other-sink.xml:
2844         * docs/pwg/other-source.xml:
2845         * docs/pwg/titlepage.xml:
2846           fix up id's
2847
2848 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2849
2850         * docs/95NonPath:
2851         * docs/HACKING:
2852         * docs/README:
2853         * docs/building-the-docs-on-debian:
2854           collect relevant bits of doc info
2855
2856 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
2857
2858         * docs/pwg/advanced_tagging.xml:
2859           Half-assed commit so Thomas can re-arrange document IDs here to be
2860           consistent, too.
2861
2862 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2863
2864         * docs/manual/autoplugging.xml:
2865         * docs/manual/bins-api.xml:
2866         * docs/manual/bins.xml:
2867         * docs/manual/buffers-api.xml:
2868         * docs/manual/buffers.xml:
2869         * docs/manual/clocks.xml:
2870         * docs/manual/components.xml:
2871         * docs/manual/cothreads.xml:
2872         * docs/manual/debugging.xml:
2873         * docs/manual/dparams-app.xml:
2874         * docs/manual/dynamic.xml:
2875         * docs/manual/elements-api.xml:
2876         * docs/manual/elements.xml:
2877         * docs/manual/factories.xml:
2878         * docs/manual/gnome.xml:
2879         * docs/manual/goals.xml:
2880         * docs/manual/helloworld.xml:
2881         * docs/manual/helloworld2.xml:
2882         * docs/manual/init-api.xml:
2883         * docs/manual/intro.xml:
2884         * docs/manual/links-api.xml:
2885         * docs/manual/links.xml:
2886         * docs/manual/manual.xml:
2887         * docs/manual/motivation.xml:
2888         * docs/manual/pads-api.xml:
2889         * docs/manual/pads.xml:
2890         * docs/manual/plugins-api.xml:
2891         * docs/manual/plugins.xml:
2892         * docs/manual/programs.xml:
2893         * docs/manual/queues.xml:
2894         * docs/manual/quotes.xml:
2895         * docs/manual/schedulers.xml:
2896         * docs/manual/states-api.xml:
2897         * docs/manual/states.xml:
2898         * docs/manual/threads.xml:
2899         * docs/manual/typedetection.xml:
2900         * docs/manual/xml.xml:
2901           use chapter, part, section or misc as id starts for all bits
2902
2903 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2904
2905         * docs/gst/gstreamer-sections.txt:
2906           Fix up TITLE of the sections
2907
2908 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
2909
2910         * docs/pwg/advanced_interfaces.xml:
2911           Add documentation on propertyprobing.
2912         * docs/pwg/advanced_events.xml:
2913         * docs/pwg/advanced_tagging.xml:
2914         * docs/pwg/building_boiler.xml:
2915         * docs/pwg/building_filterfactory.xml:
2916         * docs/pwg/pwg.xml:
2917           Move filterfactory and tagging into their own chapter, add a chapter
2918           on events. all these are empty placeholders that will be filled in
2919           some day.
2920
2921 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
2922
2923         * docs/pwg/advanced_interfaces.xml:
2924           Docs for mixer interface. Also a check for website uploading.
2925
2926 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2927
2928         * docs/HACKING:
2929         * docs/Makefile.am:
2930         * docs/faq/Makefile.am:
2931         * docs/gst/Makefile.am:
2932         * docs/gst/tmpl/gstelement.sgml:
2933         * docs/gst/tmpl/gstplugin.sgml:
2934         * docs/gst/tmpl/gstreamer-unused.sgml:
2935         * docs/libs/Makefile.am:
2936         * docs/manual/Makefile.am:
2937         * docs/manuals.mak:
2938         * docs/pwg/Makefile.am:
2939         * docs/upload.mak:
2940           Separate out upload target and make it similar for
2941           both docbook and gtk-doc docs
2942
2943 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2944
2945         * docs/manuals.mak:
2946           Fix upload target to work with freedesktop
2947
2948 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
2949
2950         * docs/pwg/advanced_types.xml:
2951           Add notes on creating your own types.
2952         * docs/pwg/building_boiler.xml:
2953         * docs/pwg/building_pads.xml:
2954         * docs/pwg/building_state.xml:
2955           Add some stuff about how to retrieve values from structures, how
2956           that relates to types and change layout slightly again to be almost
2957           perfect.
2958
2959 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
2960
2961         * docs/pwg/advanced_dparams.xml:
2962         * docs/pwg/advanced_scheduling.xml:
2963           Change index layout slightly.
2964
2965 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
2966
2967         * docs/pwg/advanced_clock.xml:
2968         * docs/pwg/advanced_interfaces.xml:
2969         * docs/pwg/advanced_midi.xml:
2970           General placeholders for now.
2971         * docs/pwg/advanced_request.xml:
2972           Explanation about sometimes and request pads.
2973         * docs/pwg/advanced_scheduling.xml:
2974           Concept of bytestream, loopfunctions and schedulers.
2975         * docs/pwg/building_boiler.xml:
2976           Add something about plugin-init.
2977
2978 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2979
2980         * docs/pwg/building_pads.xml:
2981           Fix broken docbook
2982
2983 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
2984
2985         * docs/pwg/advanced_interfaces.xml:
2986         * docs/pwg/pwg.xml:
2987           Add as a placeholder for future filling-in.
2988         * docs/pwg/basics_autoplugging.xml:
2989         * docs/pwg/basics_buffers.xml:
2990         * docs/pwg/basics_elements.xml:
2991         * docs/pwg/basics_events.xml:
2992         * docs/pwg/basics_plugins.xml:
2993         * docs/pwg/basics_types.xml:
2994           Remove, because unused (this is all in intro_basics.xml).
2995         * docs/pwg/building_signals.xml:
2996           Short intro to signals + reference to GObject docs - we really
2997           shouldn't go into these sort of things to deply because we don't
2998           use them that extensively anyway.
2999         * docs/pwg/building_state.xml:
3000           Explanation of states. Benjamin, please check.
3001         * docs/pwg/building_testapp.xml:
3002           Put everything in one page - putting only a few lines of content
3003           per page doesn't really make sense.
3004
3005           Time to get into the advanced topics. ;).
3006
3007 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
3008
3009         * docs/pwg/advanced_types.xml:
3010           Finish documenting the current state of mimetypes.
3011         * docs/pwg/building_boiler.xml:
3012         * docs/pwg/building_chainfn.xml:
3013         * docs/pwg/building_pads.xml:
3014         * docs/pwg/building_props.xml:
3015         * docs/pwg/building_testapp.xml:
3016           Start documenting the "how to build a simple audio filter" part
3017           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
3018           states and (maybe?) a short introduction to capsnego in the chapter
3019           on pads (building_pads.xml). Capsnego should probably be explained
3020           fully in advanced_capsnego.xml or so.
3021
3022 2004-01-26  David Schleef  <ds@schleef.org>
3023
3024         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
3025         * gst/gstpad.h: Add new function to allow element to (somewhat)
3026         specify non-fixed caps on a pad.
3027         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
3028         that I added a few weeks ago.
3029
3030 2004-01-26  David Schleef  <ds@schleef.org>
3031
3032         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
3033           making try_set_caps() work with non-fixed caps.
3034
3035 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
3036
3037         * docs/pwg/advanced_types.xml:
3038         * docs/pwg/intro_basics.xml:
3039         * docs/pwg/intro_preface.xml:
3040         * docs/pwg/pwg.xml:
3041         * docs/pwg/titlepage.xml:
3042           First try to resurrect the PWG. I'm halfway integrating the mimetypes
3043           in here (docs/random/mimetypes), and will from there on work on both
3044           updating outdated parts and adding missing parts.
3045           That doesn't mean I'll fix it completely, but I'll try at least. ;).
3046
3047 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
3048
3049         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
3050           policy is set
3051
3052 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3053
3054         * gst/gstelement.h:
3055           remove gst_element_factory_get_version. It doesn't exist anymore.
3056         * gst/gstplugin.c:
3057         * gst/gstplugin.h:
3058           remove gst_plugin_set_name and change gst_plugin_get_longname to
3059           gst_plugin_get_description to match code.
3060         * gst/gsterror.h:
3061           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
3062         * gst/gstpad.c: (gst_pad_try_set_caps):
3063           make it work with nonfixed caps.
3064           Note that even in the nonfixed case the link function of the pad
3065           that tries to set caps isn't called.
3066
3067 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3068
3069         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
3070           fix bug where buffer was not assembled correctly
3071         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
3072           silence by default
3073         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
3074           only seek if there's no more buffers that could work without seeking
3075
3076 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
3077
3078         * gst/gsttag.c: (_gst_tag_initialize):
3079         * gst/gsttag.h:
3080           Add application tag (for encoding/muxing app).
3081
3082 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3083
3084         * autogen.sh:
3085           make autopoint force, and libtoolize not copy
3086         * common/m4/as-docbook.m4:
3087           added docbook xml catalog setup check
3088         * common/m4/gst-doc.m4:
3089           use docbook check
3090
3091 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3092
3093         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
3094         * gst/gsttag.h:
3095           add GstTagFlag
3096
3097 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3098
3099         * docs/gst/gstreamer-sections.txt:
3100         * docs/gst/tmpl/gst.sgml:
3101         * docs/gst/tmpl/gstbuffer.sgml:
3102         * docs/gst/tmpl/gstclock.sgml:
3103         * docs/gst/tmpl/gstelement.sgml:
3104         * docs/gst/tmpl/gstreamer-unused.sgml:
3105         * docs/gst/tmpl/gstxml.sgml:
3106           sync latest API changes to docs
3107
3108 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3109
3110         * gst/gstpluginfeature.c:
3111           fix doc snippet
3112         * tools/gst-inspect.c: (print_element_list):
3113           fix output of typefind
3114           add GPL header
3115         * tools/gst-launch.c:
3116           add GPL header
3117
3118 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3119
3120         * gst/elements/Makefile.am:
3121         * gst/elements/gstelements.c:
3122         * gst/elements/gsttypefindelement.c:
3123         * gst/elements/gsttypefindelement.h:
3124         * po/POTFILES.in:
3125         * po/fr.po:
3126         * po/nl.po:
3127           renamed gsttypefindelement to gsttypefind, conserving CVS history
3128
3129 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3130
3131         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
3132         * gst/gsttag.h:
3133           add some tags used in ogg as well
3134           fix _ in replaygain tags
3135
3136 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3137
3138         * gst/gsterror.h:
3139           fix wrong GST_LIBRARY_ERROR_ENCODE addition
3140
3141 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3142
3143         * gst/gstelement.c: (gst_element_error_full):
3144         * gst/gstelement.h:
3145           change _extended to _full
3146
3147 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3148
3149         reviewed by: <delete if not using a buddy>
3150
3151         * docs/gst/tmpl/gst.sgml:
3152         * docs/gst/tmpl/gstbuffer.sgml:
3153         * docs/gst/tmpl/gstclock.sgml:
3154         * docs/gst/tmpl/gstelement.sgml:
3155         * docs/gst/tmpl/gstreamer-unused.sgml:
3156         * docs/gst/tmpl/gstxml.sgml:
3157         * gst/gstelement.c: (gst_element_error_full):
3158         * gst/gstelement.h:
3159
3160 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3161
3162         * gst/gstelement.h: fix _gst_element_error_printf prototype
3163
3164 2004-01-20  David Schleef  <ds@schleef.org>
3165
3166         * gst/gststructure.c: (gst_structure_to_string):
3167         Convert function to use gst_value_serialize().
3168         * gst/gstvalue.c: (gst_value_serialize_list),
3169         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
3170         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
3171         (gst_value_serialize_int), (gst_value_serialize_double),
3172         (gst_string_wrap), (gst_value_serialize_string),
3173         (gst_value_serialize), (gst_value_deserialize):
3174         * gst/gstvalue.h:
3175         Add implementations for serialize.
3176
3177 2004-01-20  Julien MOUTTE  <julien@moutte.net>
3178
3179         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
3180         we want to keep that one in the future or change xvidenc.c to use 
3181         another error.
3182
3183 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3184
3185         * gst/gstelement.c: (_gst_element_error_printf):
3186         * gst/gstelement.h:
3187           privatise function
3188
3189 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3190
3191         * docs/random/error:
3192           doc explaining error system
3193         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
3194           cleanup
3195
3196 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3197
3198         * gst/gst-i18n-app.h:
3199         * gst/gst-i18n-lib.h:
3200           remove inclusion of config.h
3201         * po/POTFILES.in:
3202         * po/nl.po:
3203           add gst/gstelement.c
3204
3205 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3206
3207         * po/nl.po: updated Dutch translation
3208
3209 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3210
3211         * gst/gsterror.c: (_gst_core_errors_init),
3212         (_gst_library_errors_init), (_gst_resource_errors_init),
3213         (_gst_stream_errors_init):
3214         remove ending punctuation dots
3215
3216 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3217
3218         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
3219         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
3220         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
3221         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
3222         (gst_pipefilter_chain), (gst_pipefilter_open_file):
3223         use GST_ERROR_SYSTEM
3224
3225 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3226
3227         * gst/gstelement.c: (gst_element_error_printf),
3228         (gst_element_error_extended):
3229         * gst/gstelement.h:
3230           add a helper printf function so we can have NULL values passed.
3231
3232 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3233
3234         * gst/gstelement.h:
3235           add G_STMT macros to gst_element_error, which isn't strictly
3236           necessary but people tell me to anyway.
3237
3238 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3239
3240         * gst/Makefile.am:
3241         * gst/autoplug/gstspideridentity.c:
3242         (gst_spider_identity_sink_loop_type_finding):
3243         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
3244         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
3245         (gst_filesink_close_file), (gst_filesink_handle_event),
3246         (gst_filesink_chain):
3247         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
3248         (gst_filesrc_map_region), (gst_filesrc_get_read),
3249         (gst_filesrc_open_file):
3250         * gst/elements/gstidentity.c: (gst_identity_chain):
3251         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
3252         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
3253         (gst_pipefilter_chain), (gst_pipefilter_open_file):
3254         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
3255         * gst/gst.h:
3256         * gst/gst_private.h:
3257         * gst/gstelement.c: (gst_element_class_init),
3258         (gst_element_default_error), (gst_element_error_func),
3259         (gst_element_error_extended):
3260         * gst/gstelement.h:
3261         * gst/gsterror.c: (_gst_core_errors_init),
3262         (_gst_library_errors_init), (_gst_resource_errors_init),
3263         (_gst_stream_errors_init), (gst_error_get_message):
3264         * gst/gsterror.h:
3265         * gst/gstinfo.c: (_gst_debug_init):
3266         * gst/gstmarshal.list:
3267         * gst/gstpad.c: (gst_pad_set_explicit_caps),
3268         (gst_pad_recover_caps_error), (gst_pad_pull):
3269         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
3270         * gst/schedulers/gstbasicscheduler.c:
3271         (gst_basic_scheduler_chainhandler_proxy),
3272         (gst_basic_scheduler_gethandler_proxy),
3273         (gst_basic_scheduler_cothreaded_chain):
3274         * po/POTFILES.in:
3275         * po/fr.po:
3276         * po/nl.po:
3277           change error signal
3278           add error categories
3279
3280 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
3281
3282         * gst/gsttag.c: (_gst_tag_initialize):
3283         * gst/gsttag.h:
3284         Add replaygain tag
3285
3286 2004-01-18  Colin Walters  <walters@verbum.org>
3287
3288         * examples/retag/retag.c: Call gst_init before processing
3289         program args.  Add g_assert to _link_many call.
3290
3291 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3292
3293         * gst/gstpad.c: (gst_pad_alloc_buffer):
3294           Return a newly allocated buffer when the pad has no peer.
3295
3296 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3297
3298         * gst/gstclock.c: (gst_clock_get_time):
3299           make it compile with gcc 2.95 again.
3300           Patch by Scott Wheeler
3301
3302 2004-01-15  David Schleef  <ds@schleef.org>
3303
3304         * gst/gstcaps.h:
3305         Added gst_caps_is_simple() macro.
3306         * testsuite/caps/caps.c: (test1):
3307         * testsuite/caps/intersect2.c: (main):
3308         * testsuite/caps/intersection.c: (main):
3309         Fixes to make 'make check' work again after removing
3310         gst_caps_is_chained().
3311
3312 2004-01-15  Leif Johnson <leif@ambient.2y.net>
3313
3314         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
3315         and additions to the MIDI document.
3316
3317 2004-01-15  David Schleef  <ds@schleef.org>
3318
3319         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
3320         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
3321         of GST_RPAD_, since we don't know if it's a real or ghost pad.
3322
3323 2004-01-15  David Schleef  <ds@schleef.org>
3324
3325         * gst/gstqueue.c:
3326         * gst/gstqueue.h:
3327         Fix the spelling of "treshold" and make min_threshold actually
3328         affect the queue.
3329
3330 2004-01-15  David Schleef  <ds@schleef.org>
3331
3332         * gst/gstcaps.c:
3333         Add lots of documentation.
3334         * gst/gstcaps.h:
3335         Deprecate a few functions.
3336         * gst/gstpad.c:
3337         Removed use of deprecated functions.
3338
3339 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3340
3341         * gst/gstpad.c: (gst_pad_is_linked):
3342         * gst/gstpad.h:
3343           implement gst_pad_is_linked
3344         * gst/gstelement.h:
3345           reserve space for initiate_state_change
3346
3347 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3348
3349         * gst/autoplug/gstspideridentity.c:
3350         (gst_spider_identity_sink_loop_type_finding):
3351           break infinite loop by just returning instead of looping
3352         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
3353           set event time difference correctly. Set it to 1 second instead
3354           of 100ms to be more tolerant
3355         * gst/gstelement.c: (gst_element_set_time):
3356           add debugging output
3357
3358 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3359
3360         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
3361           query if buffers are inside the pool, ignore events
3362
3363 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3364
3365         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
3366         (gst_clock_set_speed), (gst_clock_set_active),
3367         (gst_clock_is_active), (gst_clock_reset),
3368         (gst_clock_handle_discont):
3369         * gst/gstclock.h:
3370           deprecate old interface and disable functions that aren't in use
3371           anymore.
3372         * gst/gstelement.h:
3373         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
3374         (gst_element_set_time), (gst_element_adjust_time):
3375           add concept of "element time" and functions to get/set this time.
3376         * gst/gstelement.c: (gst_element_change_state):
3377           update element time correctly.
3378         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
3379           This is a debug message, not a g_critical.
3380         * gst/gstpad.c: (gst_pad_event_default):
3381           handle discontinuous events right with element time.
3382         * gst/gstscheduler.c: (gst_scheduler_state_transition):
3383           update to clocking fixes.
3384           set clocks on elements in READY=>PAUSED. The old behaviour caused
3385           a wrong element time on the first element that started playing.
3386         * gst/schedulers/gstbasicscheduler.c:
3387         (gst_basic_scheduler_class_init):
3388         * gst/schedulers/gstoptimalscheduler.c:
3389         (gst_opt_scheduler_class_init):
3390           remove code that just implements the default behaviour.
3391         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
3392           update to use new clocking functions
3393         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
3394         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
3395           update to test new element time.
3396         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
3397           use _get_allowed_caps instead of _get_caps. This catches filtered
3398           caps correctly.
3399         * testsuite/debug/commandline.c:
3400           update for new GST_DEBUG syntax.
3401         * testsuite/threads/Makefile.am:
3402           disable a test that only works sometimes.
3403
3404 2004-01-13  Julien MOUTTE <julien@moutte.net>
3405
3406         * po/LINGUAS: Adding fr.
3407         * po/fr.po: Adding french translation.
3408
3409 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3410
3411         * gst/parse/grammar.y:
3412         * po/POTFILES.in:
3413         * po/nl.po:
3414         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
3415           translate parsing error messages
3416
3417 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3418
3419         * po/POTFILES.in: adding gst-launch
3420         * po/nl.po: updated translation, all 99 strings translated
3421         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
3422         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
3423           fix strings for translation
3424
3425 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3426
3427         * gst/gst.c:
3428           - capitalize beginnings of popt options
3429           - fix strings for translation
3430           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
3431
3432 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3433
3434         * po/README: add some notes on how to update translations
3435
3436 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3437
3438         * ABOUT-NLS: removed, is autogenerated from autopoint
3439         * autogen.sh: add autopoint stuff
3440         * configure.ac: fix up gettext stuff
3441         * gst/Makefile.am: add i18n headers to noinst_HEADERS
3442         * gst/elements/gsttypefindelement.c: add header include
3443         * gst/gettext.h: add header, copy from system-installed header
3444         * gst/gst-i18n-app.h: to be included by each app having translations
3445         * gst/gst-i18n-lib.h: to be included by each lib having translations
3446         * gst/gst.c: (init_pre): fix up gettext calls
3447         * gst/gst_private.h: remove i18n stuff, moving to separate headers
3448         * po/LINGUAS: the new way to specify translations present
3449         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
3450         * po/Makevars: the variables filled in for GStreamer
3451         * po/POTFILES.in: added new files with translations
3452         * po/de.po: has new strings
3453         * po/nl.po: readded, has new strings
3454
3455 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3456
3457         * gst/gsttag.c: fix some strings marked for translation
3458
3459 2004-01-13  Iain <iain@prettypeople.org>
3460
3461         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
3462         group when we add an element to it, cos we unref it when we remove one
3463
3464 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3465
3466         * testsuite/debug/commandline.c: (debug_not_reached):
3467         * testsuite/debug/output.c: (check_message):
3468           fix testsuite
3469
3470 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3471
3472         * examples/cutter/.cvsignore:
3473         * examples/helloworld/.cvsignore:
3474         * examples/launch/.cvsignore:
3475         * examples/manual/.cvsignore:
3476         * examples/mixer/.cvsignore:
3477         * examples/pingpong/.cvsignore:
3478         * examples/plugins/.cvsignore:
3479         * examples/queue/.cvsignore:
3480         * examples/queue2/.cvsignore:
3481         * examples/queue3/.cvsignore:
3482         * examples/queue4/.cvsignore:
3483         * examples/retag/.cvsignore:
3484         * examples/thread/.cvsignore:
3485         * examples/typefind/.cvsignore:
3486         * examples/xml/.cvsignore:
3487         * gst/.cvsignore:
3488         * gst/autoplug/.cvsignore:
3489         * gst/elements/.cvsignore:
3490         * gst/indexers/.cvsignore:
3491         * gst/parse/.cvsignore:
3492         * gst/registries/.cvsignore:
3493         * gst/schedulers/.cvsignore:
3494         * libs/gst/bytestream/.cvsignore:
3495         * libs/gst/control/.cvsignore:
3496         * libs/gst/getbits/.cvsignore:
3497         * tests/.cvsignore:
3498         * tests/bufspeed/.cvsignore:
3499         * tests/instantiate/.cvsignore:
3500         * tests/memchunk/.cvsignore:
3501         * tests/muxing/.cvsignore:
3502         * tests/sched/.cvsignore:
3503         * tests/seeking/.cvsignore:
3504         * tests/threadstate/.cvsignore:
3505         * testsuite/.cvsignore:
3506         * testsuite/caps/.cvsignore:
3507         * testsuite/cleanup/.cvsignore:
3508         * testsuite/dynparams/.cvsignore:
3509         * testsuite/plugin/.cvsignore:
3510         * tools/.cvsignore:
3511           update - this is huge, because it includes *.bb, *.bbg and *.da files
3512           which are generated for gcov.
3513
3514 2004-01-11  David Schleef  <ds@schleef.org>
3515
3516         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
3517         a function to parse integers in ways that strto[u]l() does not.
3518
3519 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3520
3521         * tools/gst-inspect.c: (print_caps):
3522           improve output of caps a bit
3523
3524 2004-01-11  David Schleef  <ds@schleef.org>
3525
3526         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
3527         inherit correct flags (READONLY and DONTKEEP).
3528
3529 2004-01-11  David Schleef  <ds@schleef.org>
3530
3531         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
3532         (gst_filesrc_map_region):
3533         * gst/gstbuffer.c: (_gst_buffer_initialize),
3534         (_gst_buffer_sub_free), (gst_buffer_default_copy),
3535         (gst_buffer_new), (gst_buffer_create_sub),
3536         (gst_buffer_is_span_fast), (gst_buffer_span):
3537         * gst/gstbuffer.h:
3538         Change GstBuffer private structure element names. (all files)
3539         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3540         (gst_queue_link):
3541         * gst/gstqueue.h:
3542         Implement getcaps/pad_link functions that handle the case where
3543         there are data in the queue.
3544
3545 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3546
3547         * gst/elements/gstbufferstore.c:
3548           initialize debugging structure correctly
3549         * gst/elements/gsttee.c: (gst_tee_set_property):
3550           g_object_notify when property was changed
3551         * gst/elements/gsttypefindelement.c:
3552         (gst_type_find_element_change_state):
3553           clear caps correctly
3554
3555 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3556
3557         * gst/gstqueue.c: (gst_queue_init):
3558           Use better defaults for when a queue should block. This
3559           gets rid of jerky playback for quite a few files.
3560           It takes more memory.
3561
3562 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3563
3564         (gst_xml_registry_parse_padtemplate):
3565           make critical message slightly more useful
3566
3567 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3568
3569         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
3570         (gst_debug_message_get), (gst_debug_log_default):
3571         * gst/gstinfo.h:
3572           Change gst_debug_log(_valist) to take a const format string.
3573           Change prototype of log function and functions using those to 
3574           take a GstDebugMessage instead of a string that requires using
3575           gst_debug_message_get.
3576
3577 2004-01-08  David Schleef  <ds@schleef.org>
3578
3579         * Makefile.am:
3580         * configure.ac:
3581         Add option --enable-gcov to build GStreamer with -fprofile-arcs
3582         and -ftest-coverage, which allows gcov to show information about
3583         testsuite coverage.
3584
3585 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3586
3587         * gst/gstutils.h:
3588           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
3589           GST_PARENT_CALL_WITH_DEFAULT
3590         * gst/elements/gstaggregator.c: 
3591         * gst/elements/gstbufferstore.c: 
3592         * gst/elements/gstfakesink.c: 
3593         * gst/elements/gstfakesrc.c: 
3594         * gst/elements/gstfdsink.c: 
3595         * gst/elements/gstfdsrc.c: 
3596         * gst/elements/gstfilesink.c: 
3597         * gst/elements/gstfilesrc.c: 
3598         * gst/elements/gstidentity.c: 
3599         * gst/elements/gstmd5sink.c: 
3600         * gst/elements/gstmultidisksrc.c:
3601         * gst/elements/gstpipefilter.c: 
3602         * gst/elements/gstshaper.c:
3603         * gst/elements/gststatistics.c:
3604         * gst/elements/gsttee.c:
3605         * gst/elements/gsttypefindelement.c:
3606           use them.
3607
3608 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3609
3610         * docs/gst/gstreamer-docs.sgml: remove props
3611         * docs/gst/gstreamer-sections.txt: remove props
3612         * docs/gst/tmpl/gst.sgml:
3613         * docs/gst/tmpl/gstbin.sgml:
3614         * docs/gst/tmpl/gstbuffer.sgml:
3615         * docs/gst/tmpl/gstcaps.sgml:
3616         * docs/gst/tmpl/gstclock.sgml:
3617         * docs/gst/tmpl/gstelement.sgml:
3618         * docs/gst/tmpl/gstindex.sgml:
3619         * docs/gst/tmpl/gstobject.sgml:
3620         * docs/gst/tmpl/gstpad.sgml:
3621         * docs/gst/tmpl/gstpadtemplate.sgml:
3622         * docs/gst/tmpl/gstreamer-unused.sgml:
3623         * docs/gst/tmpl/gstthread.sgml:
3624         * docs/gst/tmpl/gstxml.sgml:
3625           sync with code reorganization
3626
3627 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
3628
3629         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
3630         Make the 'Could not find compatible pad' message more informative.
3631
3632 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
3633                                                                                 
3634         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
3635           Fix for if we pass NULL as property to location.
3636         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
3637         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
3638           Fix for instantiate-test (see below).
3639         * gst/gststructure.c: (_gst_structure_parse_value):
3640           Fix compile error on gcc-2.96.
3641         * configure.ac:
3642         * tests/Makefile.am:
3643         * tests/instantiate/Makefile.am:
3644         * tests/instantiate/create.c: (create_all_elements), (main):
3645           Add a test that instantiates all elements. This makes it easy to
3646           track dead code for old API/design (like setting event functions
3647           on sink pads and so on).
3648
3649 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
3650
3651         * gst/gstcaps.c: (gst_caps_append_structure):
3652           Move the poisoning to allow a NULL structure
3653         * gst/gstevent.c: (_gst_event_free):
3654           When freeing a navigation event, free the structure
3655           also
3656
3657 2004-01-04  David Schleef  <ds@schleef.org>
3658
3659         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
3660         Remove usage of gst_pad_proxy_fixate.
3661         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
3662         (gst_caps_split_one), (gst_caps_replace):
3663         Add poisoning code.
3664         * gst/gstmarshal.list:
3665         Add pointer__pointer for fixate signal
3666         * gst/gstpad.c: (gst_real_pad_class_init),
3667         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
3668         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
3669         (gst_pad_set_explicit_caps), (gst_pad_template_new):
3670         Add poisoning code. Add fixate signal on RealPad. Change
3671         set_explicit_caps() to take const GstCaps, like try_set_caps().
3672         * gst/gstpad.h:
3673         * testsuite/caps/Makefile.am:
3674         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
3675
3676 2004-01-03  David Schleef  <ds@schleef.org>
3677
3678         * gst/elements/gsttypefindelement.c:
3679         (gst_type_find_element_have_type), (gst_type_find_element_init):
3680         Use gst_pad_use_explicit_caps for src pad.
3681         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
3682         before using it.
3683
3684 2004-01-03  David Schleef  <ds@schleef.org>
3685
3686         * gst/gstelement.c: (gst_element_link_pads_filtered),
3687         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
3688         that linking was successful.
3689         * gst/gstpad.c: (gst_pad_link_free),
3690         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
3691         (gst_pad_link_try), (gst_pad_link_unnegotiate),
3692         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
3693         GstPadLinkReturn correctly between functions, and don't fail
3694         when DELAYED is used (DELAYED is very important).  Better
3695         cleanup on unlinking and unnegotiation.  Should fix some spider
3696         bugs.
3697
3698 2004-01-02  David Schleef  <ds@schleef.org>
3699
3700         * gst/gstelement.c: (gst_element_class_init),
3701         (gst_element_base_class_init): ->padtemplates should be cleared
3702         in base_init, since we need to have a fresh list for every
3703         class.  (Alternately, we chould copy the list and share the
3704         actual pad templates (not the list), but that would require
3705         changing every plugin to move pad template registration from
3706         base_init to class_init.)
3707
3708 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
3709
3710         * gst/gstelement.c: (gst_element_class_add_pad_template):
3711           Refuse registering a pad template if another pad template
3712           with the same name already exists (#114715).
3713
3714 2004-01-02  David Schleef  <ds@schleef.org>
3715
3716         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
3717         (gst_caps_is_equal_fixed): Add new function.
3718         * gst/gstcaps.h: ditto.
3719         * gst/gstpad.c: (gst_real_pad_class_init),
3720         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
3721         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
3722         check new caps against existing caps -- if they're the same, return
3723         OK without renegotiating.  caps-nego-failed signal fixed so that
3724         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
3725         to save an extra caps copy.  Don't complete negotiation if a pad
3726         link function returns DELAYED.
3727
3728 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3729
3730         * gst/gstpad.c: (gst_pad_try_relink_filtered):
3731           Fix wrong g_return_if_fail
3732
3733 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
3734
3735         * gst/gstbin.c: (gst_bin_class_init):
3736         Change the marshalling of element_added/element_removed
3737         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
3738         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
3739
3740 2004-01-01  David Schleef  <ds@schleef.org>
3741
3742         * gst/gstpad.c: (gst_pad_set_explicit_caps),
3743         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
3744         (gst_pad_use_explicit_caps):
3745         * gst/gstpad.h:
3746         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
3747         to use an internal getcaps and link fuction so that negotiation
3748         always results in the explicitly set caps.
3749         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
3750         are particularly useful for decoders.
3751
3752 2003-12-31  David Schleef  <ds@schleef.org>
3753
3754         * gst/elements/gstidentity.c: (gst_identity_class_init),
3755         (gst_identity_init), (gst_identity_chain),
3756         (gst_identity_set_property), (gst_identity_get_property):
3757         * gst/elements/gstidentity.h:
3758         * gst/gstqueue.c: (gst_queue_init):
3759           Negotiation fixes.
3760
3761 2003-12-31  David Schleef  <ds@schleef.org>
3762
3763         * gst/gstcaps.c: (gst_caps_intersect),
3764         (_gst_caps_normalize_foreach), (gst_caps_normalize):
3765           Implement gst_caps_normalize().
3766         * testsuite/caps/normalisation.c: (main):
3767           Add an additional test
3768
3769 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
3770
3771         * gst/gstqueue.c: (gst_queue_init):
3772           use gst_pad_proxy_getcaps()
3773
3774 2003-12-31  David Schleef  <ds@schleef.org>
3775
3776         * gst/elements/gstshaper.c: (gst_shaper_link):
3777         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
3778         * gst/gstqueue.c: (gst_queue_link):
3779           Negotiation fixes.
3780
3781 2003-12-31  David Schleef  <ds@schleef.org>
3782
3783         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
3784         * gst/gstpad.h: Add functions that are useful as default pad
3785         link and fixate functions for elements.
3786
3787 2003-12-30  David Schleef  <ds@schleef.org>
3788
3789         * gst/gstpad.c: (gst_pad_link_try):
3790           Fix segfault when attempting to return to old caps
3791
3792 2003-12-29  David Schleef  <ds@schleef.org>
3793
3794         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
3795         (gst_caps_structure_simplify), (gst_caps_simplify):
3796         * gst/gstcaps.h:
3797           Add simplify function
3798         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
3799         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
3800         * gst/gstpad.h:
3801           Copy over srcnotify, sinknotify when calling old pad_link
3802           functions.  Add new is_negotiated() function.
3803         * gst/gststructure.c: (gst_structure_copy):
3804           Fix an incredibly stupid bug that should have been noticed
3805           weeks ago.  _copy() returned the argument, not the new copy.
3806
3807 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3808
3809         * gst/gstcaps.c: (gst_caps_append):
3810           add sanity checks
3811         * gst/gstcaps.h: (gst_caps_debug):
3812           remove, it doesn't exist anymore.
3813         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
3814         (gst_element_threadsafe_properties_post_run):
3815           make debugging messages not clutter up THREAD debug category
3816         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
3817         (gst_element_change_state):
3818           update to new caps API
3819         * gst/gstinterface.c: (gst_implements_interface_cast):
3820           don't put vital code in g_return_if_fail
3821         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
3822         (gst_pad_link_filtered):
3823           add pst_pad_try_link and use it.
3824         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
3825           implement correctly, deprecate first one.
3826         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
3827           add and implement.
3828         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
3829           implement.
3830         (gst_pad_get_negotiated_caps):
3831           add and implement. Make GST_PAD_CAPS call this function.
3832         (gst_pad_get_caps):
3833           remove unneeded check..
3834         (gst_pad_recover_caps_error):
3835           disable, always return FALSE.
3836         (gst_real_pad_dispose):
3837           don't free caps and appfilter anymore, they're unused.
3838         * gst/gstpad.h:
3839           Reflect changes mentioned above.
3840         * gst/gstsystemclock.c: (gst_system_clock_wait):
3841           Make 'clock is way behind' a debugging message.
3842         * gst/gstthread.c: (gst_thread_change_state):
3843           Fix debugging message
3844
3845 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
3846
3847         * gst/gstinfo.h:
3848           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
3849         * docs/gst/tmpl/gstreamer-unused.sgml:
3850           removed all traces of cvs conflicts
3851
3852 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3853
3854         * configure.ac:
3855         * gst/schedulers/cothreads_compat.h:
3856         * libs/Makefile.am:
3857           remove last instances of wingo cothread usage
3858
3859 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3860
3861         * gst/gstplugin.c:
3862         * gst/gstversion.h.in:
3863         * gst/parse/grammar.y:
3864           change comment block from /** to /* when not gtk-doc comments
3865
3866 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3867
3868         * gst/gst.c: whitespace and doc style fixes
3869
3870 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3871
3872         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
3873
3874 2003-12-24  Colin Walters  <walters@verbum.org>
3875
3876         * gst/elements/gsttypefindelement.c:
3877           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
3878           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
3879           Don't double-free caps.
3880
3881 2003-12-23  David Schleef  <ds@schleef.org>
3882
3883         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
3884           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
3885           Many little fixes and additions of debug statements to
3886           get rhythmbox working.
3887
3888 2003-12-23  Colin Walters  <walters@verbum.org>
3889
3890         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
3891         Use GST_PAD_LINK_SUCCESSFUL.
3892
3893 2003-12-23  David Schleef  <ds@schleef.org>
3894
3895         * gst/elements/gstaggregator.c:
3896         * gst/elements/gsttee.c:
3897           Use gst_pad_proxy_getcaps().
3898         * gst/gstpad.c:
3899         * gst/gstpad.h:
3900           Add gst_pad_proxy_getcaps(), which filter elements can use
3901           as a generic getcaps implementation.
3902           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
3903           was advertised.
3904
3905 2003-12-23  David Schleef  <ds@schleef.org>
3906
3907         * gst/gstpad.c:
3908           Rearrange/rewrite much of the pad negotiation code, since it
3909           resembled pasta.  This actually changes the way some
3910           negotiation works, since the previous code was inconsistent
3911           depending on how it was invoked.  Add (internal) structure
3912           GstPadLink, which is used to hold some information (more in
3913           the future) about the link between two pads.  Fixes a number
3914           of bugs, including random lossage of filter caps when the
3915           initial negotiation is delayed.  A few functions are still
3916           unimplemented.
3917         * gst/gstpad.h:
3918           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
3919           these when testing GstPadLinkReturn values instead of comparing
3920           directly.
3921
3922 2003-12-23  David Schleef  <ds@schleef.org>
3923
3924         * gst/gstvalue.c: 
3925         * gst/gstvalue.h:
3926           Rearrange lots of code.  Change registration of compare function
3927           into registration of compare/serialize/deserialize functions.
3928           Doesn't include implementation of gst_value_[de]serialize(),
3929           but that should be easy.
3930
3931 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3932
3933         * docs/gst/gstreamer-sections.txt:
3934         * docs/gst/tmpl/gstprops.sgml: removed
3935         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
3936           David removed props and caps code, so let's remove their docs as well.
3937           Removed all no longer existing symbols from gstreamer-sections.txt
3938           
3939 2003-12-22  Colin Walters  <walters@verbum.org>
3940
3941         * gst/gsttaginterface.c, gst/gsttaginterface.h,
3942           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
3943           of tags directly.
3944
3945 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3946
3947         * gst/elements/gstelements.c:
3948           Set ranks of elements to NONE, so the autoplugger doesn't use them.
3949         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
3950           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
3951           gst_caps (peer).
3952
3953 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
3954
3955         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
3956         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
3957         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
3958         (gst_spider_identity_sink_loop_type_finding):
3959         * gst/autoplug/gstspideridentity.h:
3960           Fix autoplugging in spider element, so it works with new caps.
3961           This was mainly caused by identifying empty caps incorrectly.
3962
3963 2003-12-22  David Schleef  <ds@schleef.org>
3964
3965         * gststructure.c, gstvalue.c, gstvalue.h: Add
3966           gst_value_init_and_copy() and use it, to avoid silly mistakes in
3967           using g_value_copy()
3968
3969 2003-12-21  David Schleef  <ds@schleef.org>
3970
3971         * many, many files: Merge CAPS branch.  This includes:
3972           - implemention of GstValue and several GstValue types
3973           - implemention of GstStructure
3974           - entire rewrite of GstCaps
3975           - removal of GstProps
3976           - many changes to GstPad to compensate for new caps paradigm
3977           - removal of GstBufferpool
3978         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
3979         gstvalue.h, gst/gstcaps[2]*.[ch]:
3980           - rename gstcaps2.[ch] to gstcaps.[ch]
3981
3982 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
3983
3984         * gst/gstqueue.c: (gst_queue_handle_pending_events),
3985         (gst_queue_chain), (gst_queue_handle_src_event):
3986           implement timeout for sending events. Workaround for if the
3987           pipeline on this queue is not passing any data.
3988
3989 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
3990                                                                                 
3991         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
3992         * moved CVS to freedesktop.org
3993