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