update - this is huge, because it includes *.bb, *.bbg and *.da files which are gener...
[platform/upstream/gstreamer.git] / ChangeLog
1 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
2
3         * examples/cutter/.cvsignore:
4         * examples/helloworld/.cvsignore:
5         * examples/launch/.cvsignore:
6         * examples/manual/.cvsignore:
7         * examples/mixer/.cvsignore:
8         * examples/pingpong/.cvsignore:
9         * examples/plugins/.cvsignore:
10         * examples/queue/.cvsignore:
11         * examples/queue2/.cvsignore:
12         * examples/queue3/.cvsignore:
13         * examples/queue4/.cvsignore:
14         * examples/retag/.cvsignore:
15         * examples/thread/.cvsignore:
16         * examples/typefind/.cvsignore:
17         * examples/xml/.cvsignore:
18         * gst/.cvsignore:
19         * gst/autoplug/.cvsignore:
20         * gst/elements/.cvsignore:
21         * gst/indexers/.cvsignore:
22         * gst/parse/.cvsignore:
23         * gst/registries/.cvsignore:
24         * gst/schedulers/.cvsignore:
25         * libs/gst/bytestream/.cvsignore:
26         * libs/gst/control/.cvsignore:
27         * libs/gst/getbits/.cvsignore:
28         * tests/.cvsignore:
29         * tests/bufspeed/.cvsignore:
30         * tests/instantiate/.cvsignore:
31         * tests/memchunk/.cvsignore:
32         * tests/muxing/.cvsignore:
33         * tests/sched/.cvsignore:
34         * tests/seeking/.cvsignore:
35         * tests/threadstate/.cvsignore:
36         * testsuite/.cvsignore:
37         * testsuite/caps/.cvsignore:
38         * testsuite/cleanup/.cvsignore:
39         * testsuite/dynparams/.cvsignore:
40         * testsuite/plugin/.cvsignore:
41         * tools/.cvsignore:
42           update - this is huge, because it includes *.bb, *.bbg and *.da files
43           which are generated for gcov.
44
45 2004-01-11  David Schleef,,,  <set EMAIL_ADDRESS environment variable>
46
47         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
48         a function to parse integers in ways that strto[u]l() does not.
49
50 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
51
52         * tools/gst-inspect.c: (print_caps):
53           improve output of caps a bit
54
55 2004-01-11  David Schleef  <ds@schleef.org>
56
57         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
58         inherit correct flags (READONLY and DONTKEEP).
59
60 2004-01-11  David Schleef  <ds@schleef.org>
61
62         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
63         (gst_filesrc_map_region):
64         * gst/gstbuffer.c: (_gst_buffer_initialize),
65         (_gst_buffer_sub_free), (gst_buffer_default_copy),
66         (gst_buffer_new), (gst_buffer_create_sub),
67         (gst_buffer_is_span_fast), (gst_buffer_span):
68         * gst/gstbuffer.h:
69         Change GstBuffer private structure element names. (all files)
70         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
71         (gst_queue_link):
72         * gst/gstqueue.h:
73         Implement getcaps/pad_link functions that handle the case where
74         there are data in the queue.
75
76 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
77
78         * gst/elements/gstbufferstore.c:
79           initialize debugging structure correctly
80         * gst/elements/gsttee.c: (gst_tee_set_property):
81           g_object_notify when property was changed
82         * gst/elements/gsttypefindelement.c:
83         (gst_type_find_element_change_state):
84           clear caps correctly
85
86 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
87
88         * gst/gstqueue.c: (gst_queue_init):
89           Use better defaults for when a queue should block. This
90           gets rid of jerky playback for quite a few files.
91           It takes more memory.
92
93 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
94
95         (gst_xml_registry_parse_padtemplate):
96           make critical message slightly more useful
97
98 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
99
100         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
101         (gst_debug_message_get), (gst_debug_log_default):
102         * gst/gstinfo.h:
103           Change gst_debug_log(_valist) to take a const format string.
104           Change prototype of log function and functions using those to 
105           take a GstDebugMessage instead of a string that requires using
106           gst_debug_message_get.
107
108 2004-01-08  David Schleef  <ds@schleef.org>
109
110         * Makefile.am:
111         * configure.ac:
112         Add option --enable-gcov to build GStreamer with -fprofile-arcs
113         and -ftest-coverage, which allows gcov to show information about
114         testsuite coverage.
115
116 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
117
118         * gst/gstutils.h:
119           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
120           GST_PARENT_CALL_WITH_DEFAULT
121         * gst/elements/gstaggregator.c: 
122         * gst/elements/gstbufferstore.c: 
123         * gst/elements/gstfakesink.c: 
124         * gst/elements/gstfakesrc.c: 
125         * gst/elements/gstfdsink.c: 
126         * gst/elements/gstfdsrc.c: 
127         * gst/elements/gstfilesink.c: 
128         * gst/elements/gstfilesrc.c: 
129         * gst/elements/gstidentity.c: 
130         * gst/elements/gstmd5sink.c: 
131         * gst/elements/gstmultidisksrc.c:
132         * gst/elements/gstpipefilter.c: 
133         * gst/elements/gstshaper.c:
134         * gst/elements/gststatistics.c:
135         * gst/elements/gsttee.c:
136         * gst/elements/gsttypefindelement.c:
137           use them.
138
139 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
140
141         * docs/gst/gstreamer-docs.sgml: remove props
142         * docs/gst/gstreamer-sections.txt: remove props
143         * docs/gst/tmpl/gst.sgml:
144         * docs/gst/tmpl/gstbin.sgml:
145         * docs/gst/tmpl/gstbuffer.sgml:
146         * docs/gst/tmpl/gstcaps.sgml:
147         * docs/gst/tmpl/gstclock.sgml:
148         * docs/gst/tmpl/gstelement.sgml:
149         * docs/gst/tmpl/gstindex.sgml:
150         * docs/gst/tmpl/gstobject.sgml:
151         * docs/gst/tmpl/gstpad.sgml:
152         * docs/gst/tmpl/gstpadtemplate.sgml:
153         * docs/gst/tmpl/gstreamer-unused.sgml:
154         * docs/gst/tmpl/gstthread.sgml:
155         * docs/gst/tmpl/gstxml.sgml:
156           sync with code reorganization
157
158 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
159
160         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
161         Make the 'Could not find compatible pad' message more informative.
162
163 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
164
165         * gst/gstcaps.c: (gst_caps_append_structure):
166           Move the poisoning to allow a NULL structure
167         * gst/gstevent.c: (_gst_event_free):
168           When freeing a navigation event, free the structure
169           also
170
171 2004-01-04  David Schleef  <ds@schleef.org>
172
173         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
174         Remove usage of gst_pad_proxy_fixate.
175         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
176         (gst_caps_split_one), (gst_caps_replace):
177         Add poisoning code.
178         * gst/gstmarshal.list:
179         Add pointer__pointer for fixate signal
180         * gst/gstpad.c: (gst_real_pad_class_init),
181         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
182         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
183         (gst_pad_set_explicit_caps), (gst_pad_template_new):
184         Add poisoning code. Add fixate signal on RealPad. Change
185         set_explicit_caps() to take const GstCaps, like try_set_caps().
186         * gst/gstpad.h:
187         * testsuite/caps/Makefile.am:
188         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
189
190 2004-01-03  David Schleef  <ds@schleef.org>
191
192         * gst/elements/gsttypefindelement.c:
193         (gst_type_find_element_have_type), (gst_type_find_element_init):
194         Use gst_pad_use_explicit_caps for src pad.
195         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
196         before using it.
197
198 2004-01-03  David Schleef  <ds@schleef.org>
199
200         * gst/gstelement.c: (gst_element_link_pads_filtered),
201         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
202         that linking was successful.
203         * gst/gstpad.c: (gst_pad_link_free),
204         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
205         (gst_pad_link_try), (gst_pad_link_unnegotiate),
206         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
207         GstPadLinkReturn correctly between functions, and don't fail
208         when DELAYED is used (DELAYED is very important).  Better
209         cleanup on unlinking and unnegotiation.  Should fix some spider
210         bugs.
211
212 2004-01-02  David Schleef  <ds@schleef.org>
213
214         * gst/gstelement.c: (gst_element_class_init),
215         (gst_element_base_class_init): ->padtemplates should be cleared
216         in base_init, since we need to have a fresh list for every
217         class.  (Alternately, we chould copy the list and share the
218         actual pad templates (not the list), but that would require
219         changing every plugin to move pad template registration from
220         base_init to class_init.)
221
222 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
223
224         * gst/gstelement.c: (gst_element_class_add_pad_template):
225           Refuse registering a pad template if another pad template
226           with the same name already exists (#114715).
227
228 2004-01-02  David Schleef  <ds@schleef.org>
229
230         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
231         (gst_caps_is_equal_fixed): Add new function.
232         * gst/gstcaps.h: ditto.
233         * gst/gstpad.c: (gst_real_pad_class_init),
234         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
235         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
236         check new caps against existing caps -- if they're the same, return
237         OK without renegotiating.  caps-nego-failed signal fixed so that
238         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
239         to save an extra caps copy.  Don't complete negotiation if a pad
240         link function returns DELAYED.
241
242 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
243
244         * gst/gstpad.c: (gst_pad_try_relink_filtered):
245           Fix wrong g_return_if_fail
246
247 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
248
249         * gst/gstbin.c: (gst_bin_class_init):
250         Change the marshalling of element_added/element_removed
251         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
252         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
253
254 2004-01-01  David Schleef  <ds@schleef.org>
255
256         * gst/gstpad.c: (gst_pad_set_explicit_caps),
257         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
258         (gst_pad_use_explicit_caps):
259         * gst/gstpad.h:
260         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
261         to use an internal getcaps and link fuction so that negotiation
262         always results in the explicitly set caps.
263         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
264         are particularly useful for decoders.
265
266 2003-12-31  David Schleef  <ds@schleef.org>
267
268         * gst/elements/gstidentity.c: (gst_identity_class_init),
269         (gst_identity_init), (gst_identity_chain),
270         (gst_identity_set_property), (gst_identity_get_property):
271         * gst/elements/gstidentity.h:
272         * gst/gstqueue.c: (gst_queue_init):
273           Negotiation fixes.
274
275 2003-12-31  David Schleef  <ds@schleef.org>
276
277         * gst/gstcaps.c: (gst_caps_intersect),
278         (_gst_caps_normalize_foreach), (gst_caps_normalize):
279           Implement gst_caps_normalize().
280         * testsuite/caps/normalisation.c: (main):
281           Add an additional test
282
283 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
284
285         * gst/gstqueue.c: (gst_queue_init):
286           use gst_pad_proxy_getcaps()
287
288 2003-12-31  David Schleef  <ds@schleef.org>
289
290         * gst/elements/gstshaper.c: (gst_shaper_link):
291         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
292         * gst/gstqueue.c: (gst_queue_link):
293           Negotiation fixes.
294
295 2003-12-31  David Schleef  <ds@schleef.org>
296
297         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
298         * gst/gstpad.h: Add functions that are useful as default pad
299         link and fixate functions for elements.
300
301 2003-12-30  David Schleef  <ds@schleef.org>
302
303         * gst/gstpad.c: (gst_pad_link_try):
304           Fix segfault when attempting to return to old caps
305
306 2003-12-29  David Schleef  <ds@schleef.org>
307
308         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
309         (gst_caps_structure_simplify), (gst_caps_simplify):
310         * gst/gstcaps.h:
311           Add simplify function
312         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
313         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
314         * gst/gstpad.h:
315           Copy over srcnotify, sinknotify when calling old pad_link
316           functions.  Add new is_negotiated() function.
317         * gst/gststructure.c: (gst_structure_copy):
318           Fix an incredibly stupid bug that should have been noticed
319           weeks ago.  _copy() returned the argument, not the new copy.
320
321 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
322
323         * gst/gstcaps.c: (gst_caps_append):
324           add sanity checks
325         * gst/gstcaps.h: (gst_caps_debug):
326           remove, it doesn't exist anymore.
327         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
328         (gst_element_threadsafe_properties_post_run):
329           make debugging messages not clutter up THREAD debug category
330         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
331         (gst_element_change_state):
332           update to new caps API
333         * gst/gstinterface.c: (gst_implements_interface_cast):
334           don't put vital code in g_return_if_fail
335         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
336         (gst_pad_link_filtered):
337           add pst_pad_try_link and use it.
338         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
339           implement correctly, deprecate first one.
340         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
341           add and implement.
342         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
343           implement.
344         (gst_pad_get_negotiated_caps):
345           add and implement. Make GST_PAD_CAPS call this function.
346         (gst_pad_get_caps):
347           remove unneeded check..
348         (gst_pad_recover_caps_error):
349           disable, always return FALSE.
350         (gst_real_pad_dispose):
351           don't free caps and appfilter anymore, they're unused.
352         * gst/gstpad.h:
353           Reflect changes mentioned above.
354         * gst/gstsystemclock.c: (gst_system_clock_wait):
355           Make 'clock is way behind' a debugging message.
356         * gst/gstthread.c: (gst_thread_change_state):
357           Fix debugging message
358
359 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
360
361         * gst/gstinfo.h:
362           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
363         * docs/gst/tmpl/gstreamer-unused.sgml:
364           removed all traces of cvs conflicts
365
366 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
367
368         * configure.ac:
369         * gst/schedulers/cothreads_compat.h:
370         * libs/Makefile.am:
371           remove last instances of wingo cothread usage
372
373 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
374
375         * gst/gstplugin.c:
376         * gst/gstversion.h.in:
377         * gst/parse/grammar.y:
378           change comment block from /** to /* when not gtk-doc comments
379
380 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
381
382         * gst/gst.c: whitespace and doc style fixes
383
384 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
385
386         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
387
388 2003-12-24  Colin Walters  <walters@verbum.org>
389
390         * gst/elements/gsttypefindelement.c:
391           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
392           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
393           Don't double-free caps.
394
395 2003-12-23  David Schleef  <ds@schleef.org>
396
397         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
398           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
399           Many little fixes and additions of debug statements to
400           get rhythmbox working.
401
402 2003-12-23  Colin Walters  <walters@verbum.org>
403
404         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
405         Use GST_PAD_LINK_SUCCESSFUL.
406
407 2003-12-23  David Schleef  <ds@schleef.org>
408
409         * gst/elements/gstaggregator.c:
410         * gst/elements/gsttee.c:
411           Use gst_pad_proxy_getcaps().
412         * gst/gstpad.c:
413         * gst/gstpad.h:
414           Add gst_pad_proxy_getcaps(), which filter elements can use
415           as a generic getcaps implementation.
416           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
417           was advertised.
418
419 2003-12-23  David Schleef  <ds@schleef.org>
420
421         * gst/gstpad.c:
422           Rearrange/rewrite much of the pad negotiation code, since it
423           resembled pasta.  This actually changes the way some
424           negotiation works, since the previous code was inconsistent
425           depending on how it was invoked.  Add (internal) structure
426           GstPadLink, which is used to hold some information (more in
427           the future) about the link between two pads.  Fixes a number
428           of bugs, including random lossage of filter caps when the
429           initial negotiation is delayed.  A few functions are still
430           unimplemented.
431         * gst/gstpad.h:
432           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
433           these when testing GstPadLinkReturn values instead of comparing
434           directly.
435
436 2003-12-23  David Schleef  <ds@schleef.org>
437
438         * gst/gstvalue.c: 
439         * gst/gstvalue.h:
440           Rearrange lots of code.  Change registration of compare function
441           into registration of compare/serialize/deserialize functions.
442           Doesn't include implementation of gst_value_[de]serialize(),
443           but that should be easy.
444
445 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
446
447         * docs/gst/gstreamer-sections.txt:
448         * docs/gst/tmpl/gstprops.sgml: removed
449         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
450           David removed props and caps code, so let's remove their docs as well.
451           Removed all no longer existing symbols from gstreamer-sections.txt
452           
453 2003-12-22  Colin Walters  <walters@verbum.org>
454
455         * gst/gsttaginterface.c, gst/gsttaginterface.h,
456           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
457           of tags directly.
458
459 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
460
461         * gst/elements/gstelements.c:
462           Set ranks of elements to NONE, so the autoplugger doesn't use them.
463         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
464           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
465           gst_caps (peer).
466
467 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
468
469         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
470         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
471         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
472         (gst_spider_identity_sink_loop_type_finding):
473         * gst/autoplug/gstspideridentity.h:
474           Fix autoplugging in spider element, so it works with new caps.
475           This was mainly caused by identifying empty caps incorrectly.
476
477 2003-12-22  David Schleef  <ds@schleef.org>
478
479         * gststructure.c, gstvalue.c, gstvalue.h: Add
480           gst_value_init_and_copy() and use it, to avoid silly mistakes in
481           using g_value_copy()
482
483 2003-12-21  David Schleef  <ds@schleef.org>
484
485         * many, many files: Merge CAPS branch.  This includes:
486           - implemention of GstValue and several GstValue types
487           - implemention of GstStructure
488           - entire rewrite of GstCaps
489           - removal of GstProps
490           - many changes to GstPad to compensate for new caps paradigm
491           - removal of GstBufferpool
492         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
493         gstvalue.h, gst/gstcaps[2]*.[ch]:
494           - rename gstcaps2.[ch] to gstcaps.[ch]
495
496 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
497
498         * gst/gstqueue.c: (gst_queue_handle_pending_events),
499         (gst_queue_chain), (gst_queue_handle_src_event):
500           implement timeout for sending events. Workaround for if the
501           pipeline on this queue is not passing any data.
502
503 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
504                                                                                 
505         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
506         * moved CVS to freedesktop.org
507