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