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