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