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