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