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