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