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