add gst/gstelement.c
[platform/upstream/gstreamer.git] / ChangeLog
1 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * po/POTFILES.in:
4         * po/nl.po:
5           add gst/gstelement.c
6
7 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8
9         * po/nl.po: updated Dutch translation
10
11 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12
13         * gst/gsterror.c: (_gst_core_errors_init),
14         (_gst_library_errors_init), (_gst_resource_errors_init),
15         (_gst_stream_errors_init):
16         remove ending punctuation dots
17
18 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
19
20         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
21         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
22         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
23         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
24         (gst_pipefilter_chain), (gst_pipefilter_open_file):
25         use GST_ERROR_SYSTEM
26
27 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
28
29         * gst/gstelement.c: (gst_element_error_printf),
30         (gst_element_error_extended):
31         * gst/gstelement.h:
32           add a helper printf function so we can have NULL values passed.
33
34 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
35
36         * gst/gstelement.h:
37           add G_STMT macros to gst_element_error, which isn't strictly
38           necessary but people tell me to anyway.
39
40 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
41
42         * gst/Makefile.am:
43         * gst/autoplug/gstspideridentity.c:
44         (gst_spider_identity_sink_loop_type_finding):
45         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
46         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
47         (gst_filesink_close_file), (gst_filesink_handle_event),
48         (gst_filesink_chain):
49         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
50         (gst_filesrc_map_region), (gst_filesrc_get_read),
51         (gst_filesrc_open_file):
52         * gst/elements/gstidentity.c: (gst_identity_chain):
53         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
54         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
55         (gst_pipefilter_chain), (gst_pipefilter_open_file):
56         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
57         * gst/gst.h:
58         * gst/gst_private.h:
59         * gst/gstelement.c: (gst_element_class_init),
60         (gst_element_default_error), (gst_element_error_func),
61         (gst_element_error_extended):
62         * gst/gstelement.h:
63         * gst/gsterror.c: (_gst_core_errors_init),
64         (_gst_library_errors_init), (_gst_resource_errors_init),
65         (_gst_stream_errors_init), (gst_error_get_message):
66         * gst/gsterror.h:
67         * gst/gstinfo.c: (_gst_debug_init):
68         * gst/gstmarshal.list:
69         * gst/gstpad.c: (gst_pad_set_explicit_caps),
70         (gst_pad_recover_caps_error), (gst_pad_pull):
71         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
72         * gst/schedulers/gstbasicscheduler.c:
73         (gst_basic_scheduler_chainhandler_proxy),
74         (gst_basic_scheduler_gethandler_proxy),
75         (gst_basic_scheduler_cothreaded_chain):
76         * po/POTFILES.in:
77         * po/fr.po:
78         * po/nl.po:
79           change error signal
80           add error categories
81
82 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
83
84         * gst/gsttag.c: (_gst_tag_initialize):
85         * gst/gsttag.h:
86         Add replaygain tag
87
88 2004-01-18  Colin Walters  <walters@verbum.org>
89
90         * examples/retag/retag.c: Call gst_init before processing
91         program args.  Add g_assert to _link_many call.
92
93 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
94
95         * gst/gstpad.c: (gst_pad_alloc_buffer):
96           Return a newly allocated buffer when the pad has no peer.
97
98 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
99
100         * gst/gstclock.c: (gst_clock_get_time):
101           make it compile with gcc 2.95 again.
102           Patch by Scott Wheeler
103
104 2004-01-15  David Schleef  <ds@schleef.org>
105
106         * gst/gstcaps.h:
107         Added gst_caps_is_simple() macro.
108         * testsuite/caps/caps.c: (test1):
109         * testsuite/caps/intersect2.c: (main):
110         * testsuite/caps/intersection.c: (main):
111         Fixes to make 'make check' work again after removing
112         gst_caps_is_chained().
113
114 2004-01-15  Leif Johnson <leif@ambient.2y.net>
115
116         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
117         and additions to the MIDI document.
118
119 2004-01-15  David Schleef  <ds@schleef.org>
120
121         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
122         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
123         of GST_RPAD_, since we don't know if it's a real or ghost pad.
124
125 2004-01-15  David Schleef  <ds@schleef.org>
126
127         * gst/gstqueue.c:
128         * gst/gstqueue.h:
129         Fix the spelling of "treshold" and make min_threshold actually
130         affect the queue.
131
132 2004-01-15  David Schleef  <ds@schleef.org>
133
134         * gst/gstcaps.c:
135         Add lots of documentation.
136         * gst/gstcaps.h:
137         Deprecate a few functions.
138         * gst/gstpad.c:
139         Removed use of deprecated functions.
140
141 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
142
143         * gst/gstpad.c: (gst_pad_is_linked):
144         * gst/gstpad.h:
145           implement gst_pad_is_linked
146         * gst/gstelement.h:
147           reserve space for initiate_state_change
148
149 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
150
151         * gst/autoplug/gstspideridentity.c:
152         (gst_spider_identity_sink_loop_type_finding):
153           break infinite loop by just returning instead of looping
154         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
155           set event time difference correctly. Set it to 1 second instead
156           of 100ms to be more tolerant
157         * gst/gstelement.c: (gst_element_set_time):
158           add debugging output
159
160 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
161
162         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
163           query if buffers are inside the pool, ignore events
164
165 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
166
167         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
168         (gst_clock_set_speed), (gst_clock_set_active),
169         (gst_clock_is_active), (gst_clock_reset),
170         (gst_clock_handle_discont):
171         * gst/gstclock.h:
172           deprecate old interface and disable functions that aren't in use
173           anymore.
174         * gst/gstelement.h:
175         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
176         (gst_element_set_time), (gst_element_adjust_time):
177           add concept of "element time" and functions to get/set this time.
178         * gst/gstelement.c: (gst_element_change_state):
179           update element time correctly.
180         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
181           This is a debug message, not a g_critical.
182         * gst/gstpad.c: (gst_pad_event_default):
183           handle discontinuous events right with element time.
184         * gst/gstscheduler.c: (gst_scheduler_state_transition):
185           update to clocking fixes.
186           set clocks on elements in READY=>PAUSED. The old behaviour caused
187           a wrong element time on the first element that started playing.
188         * gst/schedulers/gstbasicscheduler.c:
189         (gst_basic_scheduler_class_init):
190         * gst/schedulers/gstoptimalscheduler.c:
191         (gst_opt_scheduler_class_init):
192           remove code that just implements the default behaviour.
193         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
194           update to use new clocking functions
195         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
196         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
197           update to test new element time.
198         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
199           use _get_allowed_caps instead of _get_caps. This catches filtered
200           caps correctly.
201         * testsuite/debug/commandline.c:
202           update for new GST_DEBUG syntax.
203         * testsuite/threads/Makefile.am:
204           disable a test that only works sometimes.
205
206 2004-01-13  Julien MOUTTE <julien@moutte.net>
207
208         * po/LINGUAS: Adding fr.
209         * po/fr.po: Adding french translation.
210
211 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
212
213         * gst/parse/grammar.y:
214         * po/POTFILES.in:
215         * po/nl.po:
216         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
217           translate parsing error messages
218
219 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
220
221         * po/POTFILES.in: adding gst-launch
222         * po/nl.po: updated translation, all 99 strings translated
223         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
224         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
225           fix strings for translation
226
227 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
228
229         * gst/gst.c:
230           - capitalize beginnings of popt options
231           - fix strings for translation
232           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
233
234 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
235
236         * po/README: add some notes on how to update translations
237
238 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
239
240         * ABOUT-NLS: removed, is autogenerated from autopoint
241         * autogen.sh: add autopoint stuff
242         * configure.ac: fix up gettext stuff
243         * gst/Makefile.am: add i18n headers to noinst_HEADERS
244         * gst/elements/gsttypefindelement.c: add header include
245         * gst/gettext.h: add header, copy from system-installed header
246         * gst/gst-i18n-app.h: to be included by each app having translations
247         * gst/gst-i18n-lib.h: to be included by each lib having translations
248         * gst/gst.c: (init_pre): fix up gettext calls
249         * gst/gst_private.h: remove i18n stuff, moving to separate headers
250         * po/LINGUAS: the new way to specify translations present
251         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
252         * po/Makevars: the variables filled in for GStreamer
253         * po/POTFILES.in: added new files with translations
254         * po/de.po: has new strings
255         * po/nl.po: readded, has new strings
256
257 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
258
259         * gst/gsttag.c: fix some strings marked for translation
260
261 2004-01-13  Iain <iain@prettypeople.org>
262
263         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
264         group when we add an element to it, cos we unref it when we remove one
265
266 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
267
268         * testsuite/debug/commandline.c: (debug_not_reached):
269         * testsuite/debug/output.c: (check_message):
270           fix testsuite
271
272 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
273
274         * examples/cutter/.cvsignore:
275         * examples/helloworld/.cvsignore:
276         * examples/launch/.cvsignore:
277         * examples/manual/.cvsignore:
278         * examples/mixer/.cvsignore:
279         * examples/pingpong/.cvsignore:
280         * examples/plugins/.cvsignore:
281         * examples/queue/.cvsignore:
282         * examples/queue2/.cvsignore:
283         * examples/queue3/.cvsignore:
284         * examples/queue4/.cvsignore:
285         * examples/retag/.cvsignore:
286         * examples/thread/.cvsignore:
287         * examples/typefind/.cvsignore:
288         * examples/xml/.cvsignore:
289         * gst/.cvsignore:
290         * gst/autoplug/.cvsignore:
291         * gst/elements/.cvsignore:
292         * gst/indexers/.cvsignore:
293         * gst/parse/.cvsignore:
294         * gst/registries/.cvsignore:
295         * gst/schedulers/.cvsignore:
296         * libs/gst/bytestream/.cvsignore:
297         * libs/gst/control/.cvsignore:
298         * libs/gst/getbits/.cvsignore:
299         * tests/.cvsignore:
300         * tests/bufspeed/.cvsignore:
301         * tests/instantiate/.cvsignore:
302         * tests/memchunk/.cvsignore:
303         * tests/muxing/.cvsignore:
304         * tests/sched/.cvsignore:
305         * tests/seeking/.cvsignore:
306         * tests/threadstate/.cvsignore:
307         * testsuite/.cvsignore:
308         * testsuite/caps/.cvsignore:
309         * testsuite/cleanup/.cvsignore:
310         * testsuite/dynparams/.cvsignore:
311         * testsuite/plugin/.cvsignore:
312         * tools/.cvsignore:
313           update - this is huge, because it includes *.bb, *.bbg and *.da files
314           which are generated for gcov.
315
316 2004-01-11  David Schleef  <ds@schleef.org>
317
318         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
319         a function to parse integers in ways that strto[u]l() does not.
320
321 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
322
323         * tools/gst-inspect.c: (print_caps):
324           improve output of caps a bit
325
326 2004-01-11  David Schleef  <ds@schleef.org>
327
328         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
329         inherit correct flags (READONLY and DONTKEEP).
330
331 2004-01-11  David Schleef  <ds@schleef.org>
332
333         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
334         (gst_filesrc_map_region):
335         * gst/gstbuffer.c: (_gst_buffer_initialize),
336         (_gst_buffer_sub_free), (gst_buffer_default_copy),
337         (gst_buffer_new), (gst_buffer_create_sub),
338         (gst_buffer_is_span_fast), (gst_buffer_span):
339         * gst/gstbuffer.h:
340         Change GstBuffer private structure element names. (all files)
341         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
342         (gst_queue_link):
343         * gst/gstqueue.h:
344         Implement getcaps/pad_link functions that handle the case where
345         there are data in the queue.
346
347 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
348
349         * gst/elements/gstbufferstore.c:
350           initialize debugging structure correctly
351         * gst/elements/gsttee.c: (gst_tee_set_property):
352           g_object_notify when property was changed
353         * gst/elements/gsttypefindelement.c:
354         (gst_type_find_element_change_state):
355           clear caps correctly
356
357 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
358
359         * gst/gstqueue.c: (gst_queue_init):
360           Use better defaults for when a queue should block. This
361           gets rid of jerky playback for quite a few files.
362           It takes more memory.
363
364 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
365
366         (gst_xml_registry_parse_padtemplate):
367           make critical message slightly more useful
368
369 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
370
371         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
372         (gst_debug_message_get), (gst_debug_log_default):
373         * gst/gstinfo.h:
374           Change gst_debug_log(_valist) to take a const format string.
375           Change prototype of log function and functions using those to 
376           take a GstDebugMessage instead of a string that requires using
377           gst_debug_message_get.
378
379 2004-01-08  David Schleef  <ds@schleef.org>
380
381         * Makefile.am:
382         * configure.ac:
383         Add option --enable-gcov to build GStreamer with -fprofile-arcs
384         and -ftest-coverage, which allows gcov to show information about
385         testsuite coverage.
386
387 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
388
389         * gst/gstutils.h:
390           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
391           GST_PARENT_CALL_WITH_DEFAULT
392         * gst/elements/gstaggregator.c: 
393         * gst/elements/gstbufferstore.c: 
394         * gst/elements/gstfakesink.c: 
395         * gst/elements/gstfakesrc.c: 
396         * gst/elements/gstfdsink.c: 
397         * gst/elements/gstfdsrc.c: 
398         * gst/elements/gstfilesink.c: 
399         * gst/elements/gstfilesrc.c: 
400         * gst/elements/gstidentity.c: 
401         * gst/elements/gstmd5sink.c: 
402         * gst/elements/gstmultidisksrc.c:
403         * gst/elements/gstpipefilter.c: 
404         * gst/elements/gstshaper.c:
405         * gst/elements/gststatistics.c:
406         * gst/elements/gsttee.c:
407         * gst/elements/gsttypefindelement.c:
408           use them.
409
410 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
411
412         * docs/gst/gstreamer-docs.sgml: remove props
413         * docs/gst/gstreamer-sections.txt: remove props
414         * docs/gst/tmpl/gst.sgml:
415         * docs/gst/tmpl/gstbin.sgml:
416         * docs/gst/tmpl/gstbuffer.sgml:
417         * docs/gst/tmpl/gstcaps.sgml:
418         * docs/gst/tmpl/gstclock.sgml:
419         * docs/gst/tmpl/gstelement.sgml:
420         * docs/gst/tmpl/gstindex.sgml:
421         * docs/gst/tmpl/gstobject.sgml:
422         * docs/gst/tmpl/gstpad.sgml:
423         * docs/gst/tmpl/gstpadtemplate.sgml:
424         * docs/gst/tmpl/gstreamer-unused.sgml:
425         * docs/gst/tmpl/gstthread.sgml:
426         * docs/gst/tmpl/gstxml.sgml:
427           sync with code reorganization
428
429 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
430
431         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
432         Make the 'Could not find compatible pad' message more informative.
433
434 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
435                                                                                 
436         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
437           Fix for if we pass NULL as property to location.
438         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
439         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
440           Fix for instantiate-test (see below).
441         * gst/gststructure.c: (_gst_structure_parse_value):
442           Fix compile error on gcc-2.96.
443         * configure.ac:
444         * tests/Makefile.am:
445         * tests/instantiate/Makefile.am:
446         * tests/instantiate/create.c: (create_all_elements), (main):
447           Add a test that instantiates all elements. This makes it easy to
448           track dead code for old API/design (like setting event functions
449           on sink pads and so on).
450
451 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
452
453         * gst/gstcaps.c: (gst_caps_append_structure):
454           Move the poisoning to allow a NULL structure
455         * gst/gstevent.c: (_gst_event_free):
456           When freeing a navigation event, free the structure
457           also
458
459 2004-01-04  David Schleef  <ds@schleef.org>
460
461         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
462         Remove usage of gst_pad_proxy_fixate.
463         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
464         (gst_caps_split_one), (gst_caps_replace):
465         Add poisoning code.
466         * gst/gstmarshal.list:
467         Add pointer__pointer for fixate signal
468         * gst/gstpad.c: (gst_real_pad_class_init),
469         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
470         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
471         (gst_pad_set_explicit_caps), (gst_pad_template_new):
472         Add poisoning code. Add fixate signal on RealPad. Change
473         set_explicit_caps() to take const GstCaps, like try_set_caps().
474         * gst/gstpad.h:
475         * testsuite/caps/Makefile.am:
476         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
477
478 2004-01-03  David Schleef  <ds@schleef.org>
479
480         * gst/elements/gsttypefindelement.c:
481         (gst_type_find_element_have_type), (gst_type_find_element_init):
482         Use gst_pad_use_explicit_caps for src pad.
483         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
484         before using it.
485
486 2004-01-03  David Schleef  <ds@schleef.org>
487
488         * gst/gstelement.c: (gst_element_link_pads_filtered),
489         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
490         that linking was successful.
491         * gst/gstpad.c: (gst_pad_link_free),
492         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
493         (gst_pad_link_try), (gst_pad_link_unnegotiate),
494         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
495         GstPadLinkReturn correctly between functions, and don't fail
496         when DELAYED is used (DELAYED is very important).  Better
497         cleanup on unlinking and unnegotiation.  Should fix some spider
498         bugs.
499
500 2004-01-02  David Schleef  <ds@schleef.org>
501
502         * gst/gstelement.c: (gst_element_class_init),
503         (gst_element_base_class_init): ->padtemplates should be cleared
504         in base_init, since we need to have a fresh list for every
505         class.  (Alternately, we chould copy the list and share the
506         actual pad templates (not the list), but that would require
507         changing every plugin to move pad template registration from
508         base_init to class_init.)
509
510 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
511
512         * gst/gstelement.c: (gst_element_class_add_pad_template):
513           Refuse registering a pad template if another pad template
514           with the same name already exists (#114715).
515
516 2004-01-02  David Schleef  <ds@schleef.org>
517
518         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
519         (gst_caps_is_equal_fixed): Add new function.
520         * gst/gstcaps.h: ditto.
521         * gst/gstpad.c: (gst_real_pad_class_init),
522         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
523         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
524         check new caps against existing caps -- if they're the same, return
525         OK without renegotiating.  caps-nego-failed signal fixed so that
526         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
527         to save an extra caps copy.  Don't complete negotiation if a pad
528         link function returns DELAYED.
529
530 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
531
532         * gst/gstpad.c: (gst_pad_try_relink_filtered):
533           Fix wrong g_return_if_fail
534
535 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
536
537         * gst/gstbin.c: (gst_bin_class_init):
538         Change the marshalling of element_added/element_removed
539         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
540         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
541
542 2004-01-01  David Schleef  <ds@schleef.org>
543
544         * gst/gstpad.c: (gst_pad_set_explicit_caps),
545         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
546         (gst_pad_use_explicit_caps):
547         * gst/gstpad.h:
548         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
549         to use an internal getcaps and link fuction so that negotiation
550         always results in the explicitly set caps.
551         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
552         are particularly useful for decoders.
553
554 2003-12-31  David Schleef  <ds@schleef.org>
555
556         * gst/elements/gstidentity.c: (gst_identity_class_init),
557         (gst_identity_init), (gst_identity_chain),
558         (gst_identity_set_property), (gst_identity_get_property):
559         * gst/elements/gstidentity.h:
560         * gst/gstqueue.c: (gst_queue_init):
561           Negotiation fixes.
562
563 2003-12-31  David Schleef  <ds@schleef.org>
564
565         * gst/gstcaps.c: (gst_caps_intersect),
566         (_gst_caps_normalize_foreach), (gst_caps_normalize):
567           Implement gst_caps_normalize().
568         * testsuite/caps/normalisation.c: (main):
569           Add an additional test
570
571 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
572
573         * gst/gstqueue.c: (gst_queue_init):
574           use gst_pad_proxy_getcaps()
575
576 2003-12-31  David Schleef  <ds@schleef.org>
577
578         * gst/elements/gstshaper.c: (gst_shaper_link):
579         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
580         * gst/gstqueue.c: (gst_queue_link):
581           Negotiation fixes.
582
583 2003-12-31  David Schleef  <ds@schleef.org>
584
585         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
586         * gst/gstpad.h: Add functions that are useful as default pad
587         link and fixate functions for elements.
588
589 2003-12-30  David Schleef  <ds@schleef.org>
590
591         * gst/gstpad.c: (gst_pad_link_try):
592           Fix segfault when attempting to return to old caps
593
594 2003-12-29  David Schleef  <ds@schleef.org>
595
596         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
597         (gst_caps_structure_simplify), (gst_caps_simplify):
598         * gst/gstcaps.h:
599           Add simplify function
600         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
601         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
602         * gst/gstpad.h:
603           Copy over srcnotify, sinknotify when calling old pad_link
604           functions.  Add new is_negotiated() function.
605         * gst/gststructure.c: (gst_structure_copy):
606           Fix an incredibly stupid bug that should have been noticed
607           weeks ago.  _copy() returned the argument, not the new copy.
608
609 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
610
611         * gst/gstcaps.c: (gst_caps_append):
612           add sanity checks
613         * gst/gstcaps.h: (gst_caps_debug):
614           remove, it doesn't exist anymore.
615         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
616         (gst_element_threadsafe_properties_post_run):
617           make debugging messages not clutter up THREAD debug category
618         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
619         (gst_element_change_state):
620           update to new caps API
621         * gst/gstinterface.c: (gst_implements_interface_cast):
622           don't put vital code in g_return_if_fail
623         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
624         (gst_pad_link_filtered):
625           add pst_pad_try_link and use it.
626         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
627           implement correctly, deprecate first one.
628         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
629           add and implement.
630         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
631           implement.
632         (gst_pad_get_negotiated_caps):
633           add and implement. Make GST_PAD_CAPS call this function.
634         (gst_pad_get_caps):
635           remove unneeded check..
636         (gst_pad_recover_caps_error):
637           disable, always return FALSE.
638         (gst_real_pad_dispose):
639           don't free caps and appfilter anymore, they're unused.
640         * gst/gstpad.h:
641           Reflect changes mentioned above.
642         * gst/gstsystemclock.c: (gst_system_clock_wait):
643           Make 'clock is way behind' a debugging message.
644         * gst/gstthread.c: (gst_thread_change_state):
645           Fix debugging message
646
647 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
648
649         * gst/gstinfo.h:
650           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
651         * docs/gst/tmpl/gstreamer-unused.sgml:
652           removed all traces of cvs conflicts
653
654 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
655
656         * configure.ac:
657         * gst/schedulers/cothreads_compat.h:
658         * libs/Makefile.am:
659           remove last instances of wingo cothread usage
660
661 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
662
663         * gst/gstplugin.c:
664         * gst/gstversion.h.in:
665         * gst/parse/grammar.y:
666           change comment block from /** to /* when not gtk-doc comments
667
668 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
669
670         * gst/gst.c: whitespace and doc style fixes
671
672 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
673
674         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
675
676 2003-12-24  Colin Walters  <walters@verbum.org>
677
678         * gst/elements/gsttypefindelement.c:
679           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
680           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
681           Don't double-free caps.
682
683 2003-12-23  David Schleef  <ds@schleef.org>
684
685         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
686           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
687           Many little fixes and additions of debug statements to
688           get rhythmbox working.
689
690 2003-12-23  Colin Walters  <walters@verbum.org>
691
692         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
693         Use GST_PAD_LINK_SUCCESSFUL.
694
695 2003-12-23  David Schleef  <ds@schleef.org>
696
697         * gst/elements/gstaggregator.c:
698         * gst/elements/gsttee.c:
699           Use gst_pad_proxy_getcaps().
700         * gst/gstpad.c:
701         * gst/gstpad.h:
702           Add gst_pad_proxy_getcaps(), which filter elements can use
703           as a generic getcaps implementation.
704           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
705           was advertised.
706
707 2003-12-23  David Schleef  <ds@schleef.org>
708
709         * gst/gstpad.c:
710           Rearrange/rewrite much of the pad negotiation code, since it
711           resembled pasta.  This actually changes the way some
712           negotiation works, since the previous code was inconsistent
713           depending on how it was invoked.  Add (internal) structure
714           GstPadLink, which is used to hold some information (more in
715           the future) about the link between two pads.  Fixes a number
716           of bugs, including random lossage of filter caps when the
717           initial negotiation is delayed.  A few functions are still
718           unimplemented.
719         * gst/gstpad.h:
720           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
721           these when testing GstPadLinkReturn values instead of comparing
722           directly.
723
724 2003-12-23  David Schleef  <ds@schleef.org>
725
726         * gst/gstvalue.c: 
727         * gst/gstvalue.h:
728           Rearrange lots of code.  Change registration of compare function
729           into registration of compare/serialize/deserialize functions.
730           Doesn't include implementation of gst_value_[de]serialize(),
731           but that should be easy.
732
733 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
734
735         * docs/gst/gstreamer-sections.txt:
736         * docs/gst/tmpl/gstprops.sgml: removed
737         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
738           David removed props and caps code, so let's remove their docs as well.
739           Removed all no longer existing symbols from gstreamer-sections.txt
740           
741 2003-12-22  Colin Walters  <walters@verbum.org>
742
743         * gst/gsttaginterface.c, gst/gsttaginterface.h,
744           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
745           of tags directly.
746
747 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
748
749         * gst/elements/gstelements.c:
750           Set ranks of elements to NONE, so the autoplugger doesn't use them.
751         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
752           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
753           gst_caps (peer).
754
755 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
756
757         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
758         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
759         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
760         (gst_spider_identity_sink_loop_type_finding):
761         * gst/autoplug/gstspideridentity.h:
762           Fix autoplugging in spider element, so it works with new caps.
763           This was mainly caused by identifying empty caps incorrectly.
764
765 2003-12-22  David Schleef  <ds@schleef.org>
766
767         * gststructure.c, gstvalue.c, gstvalue.h: Add
768           gst_value_init_and_copy() and use it, to avoid silly mistakes in
769           using g_value_copy()
770
771 2003-12-21  David Schleef  <ds@schleef.org>
772
773         * many, many files: Merge CAPS branch.  This includes:
774           - implemention of GstValue and several GstValue types
775           - implemention of GstStructure
776           - entire rewrite of GstCaps
777           - removal of GstProps
778           - many changes to GstPad to compensate for new caps paradigm
779           - removal of GstBufferpool
780         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
781         gstvalue.h, gst/gstcaps[2]*.[ch]:
782           - rename gstcaps2.[ch] to gstcaps.[ch]
783
784 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
785
786         * gst/gstqueue.c: (gst_queue_handle_pending_events),
787         (gst_queue_chain), (gst_queue_handle_src_event):
788           implement timeout for sending events. Workaround for if the
789           pipeline on this queue is not passing any data.
790
791 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
792                                                                                 
793         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
794         * moved CVS to freedesktop.org
795