gst/elements/gstfilesrc.c: Set READONLY flag on mmap'ed buffers, otherwise gst_buffer...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
4         (gst_file_src_map_region):
5           Set READONLY flag on mmap'ed buffers, otherwise
6           gst_buffer_make_writable() won't work properly (#314708).
7
8 2005-08-31  Wim Taymans  <wim@fluendo.com>
9
10         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
11         passthrough elements can even do inplace on non writable
12         buffers (as they don't touch them).
13
14 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
15
16         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
17         (gst_test_mono_source_set_property),
18         (gst_test_mono_source_class_init), (GST_START_TEST),
19         (gst_controller_suite):
20           more tests (hehe I have the most)
21         * gst/gstbus.c:
22           describe popping messages whenusing mulltiple sources
23         * libs/gst/controller/gst-controller.c:
24         (gst_controlled_property_set_interpolation_mode),
25         (gst_controlled_property_new):
26         * libs/gst/controller/gst-controller.h:
27         * libs/gst/controller/gst-interpolation.c:
28           implement boolean properties
29
30 2005-08-31  Wim Taymans  <wim@fluendo.com>
31
32         * gst/gstminiobject.c: (gst_mini_object_ref):
33         Cannot assert that the refcount has to be positive
34         since a disposed object can be resurected.
35
36 2005-08-31  Wim Taymans  <wim@fluendo.com>
37
38         * gst/gstpad.c: (gst_pad_init):
39         Revert change, need to first fix badly behaving 
40         apps.
41
42 2005-08-30  Wim Taymans  <wim@fluendo.com>
43
44         * check/elements/fakesrc.c: (setup_fakesrc):
45         * check/elements/identity.c: (setup_identity):
46         Activate pads before using them.
47
48 2005-08-30  Wim Taymans  <wim@fluendo.com>
49
50         * gst/base/gstadapter.c: (gst_adapter_flush):
51         Flushing out 0 bytes is ok for this function.
52
53         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
54         no newsegment gives a warning and sets the start/stop to 
55         invalid.
56
57         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
58         (gst_base_transform_set_passthrough):
59         Some debug info.
60
61         * gst/gstminiobject.c: (gst_mini_object_ref):
62         Check refcount here too.
63
64         * gst/gstpad.c: (gst_pad_init):
65         Pads are initially flushing and refusing data.
66
67         * gst/gstutils.c: (gst_element_link_pads_filtered):
68         When adding a capsfilter element make sure it has the
69         same state as the parent bin.
70
71 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
72
73         * docs/gst/tmpl/.cvsignore:
74         * docs/gst/tmpl/gstformat.sgml:
75         * docs/gst/tmpl/gstversion.sgml:
76         * gst/gstbus.h:
77         * gst/gstformat.c:
78         * gst/gstformat.h:
79         * gst/gstversion.h.in:
80           more docs and two more inlined
81
82 2005-08-30  Wim Taymans  <wim@fluendo.com>
83
84         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
85         Don't sync to clock.
86
87 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
88
89         * docs/gst/gstreamer-sections.txt:
90           ultral33t func10ns deserve to appear in the docs actualy
91         * docs/gst/tmpl/.cvsignore:
92         * docs/gst/tmpl/gstcompat.sgml:
93         * docs/gst/tmpl/gstconfig.sgml:
94         * gst/check/gstcheck.c:
95         * gst/gstcompat.h:
96         * gst/gstconfig.h.in:
97           inlined more docs
98
99 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
100
101         * docs/gst/tmpl/.cvsignore:
102         * docs/gst/tmpl/gstquery.sgml:
103         * docs/gst/tmpl/gstutils.sgml:
104         * gst/gstquery.c:
105         * gst/gstquery.h:
106           inlined and extended docs
107
108 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
109
110         * check/gst-libs/controller.c: (GST_START_TEST),
111         (gst_controller_suite):
112           more tests
113         * docs/gst/tmpl/gstutils.sgml:
114         * docs/libs/gstreamer-libs-sections.txt:
115         * docs/libs/tmpl/gstdataprotocol.sgml:
116           include path fixes
117         * examples/controller/audio-example.c: (main):
118           controller example works now
119         * gst/gstclock.h:
120           doc fixes
121         * tools/gst-inspect.c: (print_element_properties_info):
122           show param spec flags
123
124 2005-08-29  Andy Wingo  <wingo@pobox.com>
125
126         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
127
128 2005-08-28  Andy Wingo  <wingo@pobox.com>
129
130         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
131         as having two arguments instead of just one. Allows superclasses
132         to access information on subclasses -- see the terrible for() loop
133         in gtype.c:g_type_create_instance for the reason why. All callers
134         changed.
135
136 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
137
138         * docs/design/part-messages.txt:
139           update info
140         * docs/gst/tmpl/.cvsignore:
141         * docs/gst/tmpl/gstcaps.sgml:
142         * docs/gst/tmpl/gstclock.sgml:
143         * gst/gstbus.c:
144         * gst/gstcaps.c:
145         * gst/gstcaps.h:
146         * gst/gstclock.c:
147         * gst/gstclock.h:
148         * gst/gstmessage.c:
149           added descriptions for bus and message
150           inline caps and clock docs
151
152 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
153
154         * gst/gstmessage.c:
155         * gst/gstmessage.h:
156           doc fixes
157
158 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
159
160         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
161           fix div-by-zero
162
163 2005-08-26  Andy Wingo  <wingo@pobox.com>
164
165         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
166         element_set_state's return val.
167         (test_2_elements): Add test that's been disabled for months.
168
169         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
170         can-activate-pull properties.
171
172         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
173         can-activate-pull properties. Implement is_seekable so fakesrc can
174         operate in pull mode.
175
176         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
177         properties.
178         (gst_base_sink_activate, gst_base_sink_activate_pull)
179         (gst_base_sink_activate_push): Make activation mode choosing work.
180         Cleanups.
181         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
182         is right. Make pull mode work. Post an eos before pausing in pull
183         mode.
184         (gst_base_sink_change_state): Pay attention to the core's
185         change_state() return val.
186         
187         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
188         has-getrange properties. Cleanups.
189         
190         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
191         has_getrange and replace with can_activate_pull and
192         can_activate_push.
193
194         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
195         locking comments. Remove has_loop, has_chain and replace with
196         can_activate_pull and can_activate_push.
197
198 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
199
200         * configure.ac:
201         * examples/Makefile.am:
202         * examples/metadata/Makefile.am:
203         * examples/metadata/read-metadata.c: (message_loop),
204         (have_pad_handler), (make_pipeline), (print_tag), (main):
205           Add metadata reading example that loops over a list of filenames,
206           dumping any tags found.
207
208         * gst/gstbus.c: (gst_bus_dispose):
209         * gst/gstelement.c: (gst_element_dispose):
210           Release a few potentially-held references in dispose.
211
212 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
213
214         * docs/gst/tmpl/gstminiobject.sgml:
215           do *not* add tmpl/*.sgml files to CVS!
216
217 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
218
219         * libs/gst/bytestream/.cvsignore:
220         * libs/gst/bytestream/Makefile.am:
221         * libs/gst/bytestream/adapter.c:
222         * libs/gst/bytestream/adapter.h:
223         * libs/gst/bytestream/bytestream.c:
224         * libs/gst/bytestream/bytestream.h:
225         * libs/gst/bytestream/filepad.c:
226         * libs/gst/bytestream/filepad.h:
227           removing obsolete files
228
229 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
230
231         * docs/gst/gstreamer-docs.sgml:
232         * docs/libs/gstreamer-libs-docs.sgml:
233           disabed additional index entries again, as this makes docs-gen just
234           slow and they aren't useful yet
235         * docs/libs/gstreamer-libs-sections.txt:
236           little -section.txt cleanup for libs
237
238 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
239
240         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
241         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
242           fix up some debugging
243         (gst_base_transform_get_unit_size),
244         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
245         (gst_base_transform_handle_buffer):
246         * gst/base/gstbasetransform.h:
247           handle and store timed NEWSEGMENT events so that subclasses that
248           calculate time by counting samples have a segment_start time they
249           need to add to their timestamps - see audioresample
250
251 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
252
253         * gst/gstbin.h:
254           removed ';' from the end of macro defs
255         * docs/gst/gstreamer-docs.sgml:
256         * docs/gst/gstreamer-sections.txt:
257         * docs/gst/tmpl/.cvsignore:
258         * gst/gstbus.h:
259         * gst/gstelement.c: (gst_element_class_init),
260         (gst_element_set_state), (activate_pads),
261         (gst_element_save_thyself):
262         * gst/gstevent.c: (gst_event_new_newsegment):
263         * gst/gstevent.h:
264         * gst/gstiterator.c:
265         * gst/gstiterator.h:
266         * gst/gstpad.c:
267         * gst/gstprobe.h:
268         * gst/gstutils.c: (gst_pad_query_convert):
269         * gst/gstutils.h:
270           fixed parameter name mismatches between source, header and docs
271           added some more docs, resolved the last batch of unused elements in
272           docs (now someone needs to doc them)
273
274 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
275
276         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
277         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
278           don't walk through the plugins backwards.  Where is all this
279           reversed logic coming from ?
280
281 2005-08-25  Wim Taymans  <wim@fluendo.com>
282
283         * gst/base/gstbasetransform.c: (gst_base_transform_init),
284         (gst_base_transform_transform_size),
285         (gst_base_transform_configure_caps),
286         (gst_base_transform_get_unit_size),
287         (gst_base_transform_buffer_alloc),
288         (gst_base_transform_change_state):
289         * gst/base/gstbasetransform.h:
290         Cache caps unit_size.
291         Make sure we cannot negotiate up and downstream at the
292         same time.
293
294 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
295
296         * gst/gst.c: (init_pre), (init_post):
297           register the installed plugin path after the env var
298         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
299         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
300           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
301           directories, so the tests can prefer uninstalled over installed
302
303 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
304
305         * gst/base/gstbasetransform.h:
306           comment
307         * gst/gstpad.c:
308           add to docs
309
310 2005-08-25  Wim Taymans  <wim@fluendo.com>
311
312         * gst/gstbin.c: (bin_bus_handler):
313         Be a bit more conservative about the posted message.
314         
315         * gst/gstbus.c: (gst_bus_post):
316         Some cleanups, warn wrong return values.
317
318 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
319
320         * check/gst/gstbin.c: (GST_START_TEST):
321         * gst/gstbin.c: (bin_bus_handler):
322         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
323         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
324         (gst_message_new_warning), (gst_message_new_tag),
325         (gst_message_new_state_changed), (gst_message_new_segment_start),
326         (gst_message_new_segment_done), (gst_message_new_custom):
327         * gst/gstmessage.h:
328         * tools/gst-launch.c: (event_loop):
329         * tools/gst-md5sum.c: (event_loop):
330           Revert unpopular change for GST_MESSAGE_SRC to GObject.
331
332 2005-08-25  Wim Taymans  <wim@fluendo.com>
333
334         * check/generic/states.c: (GST_START_TEST):
335         Cleanup can be done at the end.
336
337         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
338         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
339         (gst_task_get_state), (gst_task_start), (gst_task_pause):
340         Oh boy.. Thanks for finding this, Thomas. 
341
342 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
343
344         * docs/gst/gstreamer.types:
345           added missing types
346
347 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
348
349         * docs/gst/gstreamer-docs.sgml:
350         * docs/gst/gstreamer-sections.txt:
351         * docs/gst/tmpl/.cvsignore:
352         * gst/gstbin.c:
353         * gst/gstiterator.c:
354         * gst/gstutils.c:
355         * gst/registries/gstxmlregistry.h:
356           added miissing classes and symbols (123 more to go)
357           removed removed symbols from section file
358           fixed many doc-comments
359
360 2005-08-24  Wim Taymans  <wim@fluendo.com>
361
362         * check/generic/states.c: (GST_START_TEST):
363         Make sure all tasks are stopped.
364
365         * check/gst/gstbin.c: (GST_START_TEST):
366         Unref after usage for proper valgrinding.
367
368         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
369         Really wait for the task to stop before destroying the
370         mutex.
371
372         * gst/gstqueue.c: (gst_queue_sink_activate_push),
373         (gst_queue_src_activate_push):
374         Small cleanups. Don't stop the task when we did not start
375         it.
376
377         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
378         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
379         (gst_task_get_state), (gst_task_start), (gst_task_pause),
380         (gst_task_join):
381         * gst/gsttask.h:
382         Protect the stream lock with the object lock.
383         Disallow setting the stream lock when running.
384         Add cleanup_all to wait for the threadpool to finish.
385         Remove code to autoallocate a mutex if none was provided.
386         Add _join() to wait for a task to stop.
387         Protect the thread pool with a global lock.
388
389 2005-08-24  Wim Taymans  <wim@fluendo.com>
390
391         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
392         (gst_base_sink_get_times), (gst_base_sink_do_sync),
393         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
394         * gst/base/gstbasesink.h:
395         Handle newsegment events correctly.
396         Drop buffers out of the segment range.
397
398 2005-08-22  Andy Wingo  <wingo@pobox.com>
399
400         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
401         macro, implements an interface and gstimplementsinterface for a
402         new type.
403
404 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
405
406         * check/Makefile.am:
407         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
408           add a test that does a bunch of state changes on elements
409           needs some fixing for valgrind
410         * check/states/sinks.c: (gst_object_suite):
411           whitespace
412         * gst/gstcaps.h:
413           add prototype for gst_caps_is_equal_fixed
414         * gst/gstplugin.c:
415         * gst/gstregistrypool.c:
416           doc fixes
417
418 2005-08-24  Andy Wingo  <wingo@pobox.com>
419
420         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
421         convert a negative value. Doesn't make much sense. Mostly this is
422         here to force callers to ensure -1 maps to -1.
423
424 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
425
426         * docs/pwg/advanced-types.xml:
427           Well done to Michael for catching my deliberate introduction
428           of this spelling mistake. 
429         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
430         * gst/gstelement.h:
431           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
432           unlink pads before removing the element from the bin.
433
434 2005-08-24  Andy Wingo  <wingo@pobox.com>
435
436         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
437         the same thing as GST_DEBUG=*:4.
438         (parse_debug_level, parse_debug_category): New helper parsers.
439
440 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
441
442         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
443         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
444         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
445         (gst_base_transform_buffer_alloc),
446         (gst_base_transform_handle_buffer):
447           use gboolean return values and pointers to size so we can use the
448           full GST_BUFFER_SIZE range (guint) for buffer sizes
449           use GstPadDirection for transform_caps
450         * gst/base/gstbasetransform.h:
451           rename get_size to get_unit_size since that's what it is
452         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
453           use GstPadDirection for transform_caps
454         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
455         * gst/gstutils.h:
456           cleanup and debugging
457
458 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
459
460         * gst/gstelement.c: (gst_element_class_init),
461         (gst_element_set_state), (activate_pads),
462         (gst_element_save_thyself):
463         * tools/gst-compprep.c: (main):
464         * tools/gst-inspect.c: (print_element_properties_info):
465         * tools/gst-xmlinspect.c: (print_element_properties):
466           Fixed long standing mem-leak
467
468 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
469
470         * check/gst/gstbin.c: (GST_START_TEST):
471         * gst/gstbin.c: (bin_bus_handler):
472         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
473         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
474         (gst_message_new_warning), (gst_message_new_tag),
475         (gst_message_new_state_changed), (gst_message_new_segment_start),
476         (gst_message_new_segment_done), (gst_message_new_custom):
477         * gst/gstmessage.h:
478         * tools/gst-launch.c: (event_loop):
479         * tools/gst-md5sum.c: (event_loop):
480           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
481           that applications can sensibly post custom messages with references
482           to their own objects.
483
484 2005-08-24  Andy Wingo  <wingo@pobox.com>
485
486         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
487         already.
488
489 2005-08-24  Wim Taymans  <wim@fluendo.com>
490
491         * gst/base/gstbasetransform.c: (gst_base_transform_init),
492         (gst_base_transform_transform_caps),
493         (gst_base_transform_transform_size),
494         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
495         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
496         (gst_base_transform_handle_buffer):
497         * gst/base/gstbasetransform.h:
498         Many fixes and new features added by Thomas. Can now also do
499         transforms with variable sizes and a custom fixate_caps function.
500
501 2005-08-24  Wim Taymans  <wim@fluendo.com>
502
503         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
504         Some debugging.
505
506         * gst/gstclock.h:
507         Cast to ClockTime before formatting to time.
508
509         * gst/gstutils.h:
510         Cleanups.
511
512 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
513
514         * check/gst-libs/controller.c: (GST_START_TEST),
515         (gst_controller_suite):
516         * docs/gst/tmpl/gstcaps.sgml:
517         * docs/gst/tmpl/gstghostpad.sgml:
518         * docs/gst/tmpl/gstquery.sgml:
519         * docs/gst/tmpl/gstutils.sgml:
520         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
521         (gst_object_sink_values), (gst_object_get_value_arrays),
522         (gst_object_get_value_array):
523           gracefully handle helper method calls to objects that are not beeing
524           controlled, added test case for that          
525
526 2005-08-23  Wim Taymans  <wim@fluendo.com>
527
528         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
529         (gst_event_new_newsegment), (gst_event_parse_newsegment),
530         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
531         (gst_event_parse_qos), (gst_event_new_seek),
532         (gst_event_parse_seek):
533         * gst/gstevent.h:
534         Some more debugging output and doc cleanups.
535
536         * gst/gstqueue.c: (gst_queue_handle_sink_event):
537         Fix possible deadlock.
538
539 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
540
541         * docs/gst/gstreamer-docs.sgml:
542         * docs/gst/gstreamer-sections.txt:
543         * docs/gst/gstreamer.types:
544         * docs/gst/tmpl/.cvsignore:
545         * gst/gstbin.h:
546         * gst/gstbus.c:
547         * gst/gstelement.c:
548         * gst/gstevent.h:
549           added about 100 symbols from gstreamer-unused.txt to the right sections
550           fixed more broken comments
551           added GstBus to docs
552
553 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
554
555         * docs/gst/gstreamer-sections.txt:
556         * docs/gst/tmpl/.cvsignore:
557         * docs/gst/tmpl/gstbin.sgml:
558         * docs/gst/tmpl/gstbuffer.sgml:
559         * gst/base/gstbasesrc.c:
560         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
561         * gst/gstbuffer.c:
562         * gst/gstbuffer.h:
563         * tools/gst-launch.1.in:
564           inlined more doc comments, added missing comments and fixed comments
565           fixed typos
566
567 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
568
569         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
570           some debugging
571         * gst/gstcaps.h:
572           whitespace fixes
573         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
574           more debugging
575         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
576         * gst/gststructure.h:
577           add a fixate function for booleans; add a FIXME that these func
578           names should probably be gst_structure_fixate_*
579
580 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
581
582         * docs/gst/gstreamer-docs.sgml:
583         * docs/gst/gstreamer-sections.txt:
584         * gst/Makefile.am:
585         * gst/gstbin.c: (gst_bin_get_type),
586         (gst_bin_child_proxy_get_child_by_index),
587         (gst_bin_child_proxy_get_children_count),
588         (gst_bin_child_proxy_init):
589         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
590         (gst_child_proxy_get_child_by_index),
591         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
592         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
593         (gst_child_proxy_get), (gst_child_proxy_set_property),
594         (gst_child_proxy_set_valist), (gst_child_proxy_set),
595         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
596         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
597         * gst/gstchildproxy.h:
598         * gst/parse/grammar.y:
599         * tools/gst-inspect.c: (print_interfaces),
600         (print_element_properties_info), (print_element_info):
601          ported gstchildproxy over from 0.8
602          ported gst-inspect fixes and enhancements over from 0.8
603
604 2005-08-22  Wim Taymans  <wim@fluendo.com>
605
606         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
607         (gst_base_transform_handle_buffer):
608         Also call the transform function if we have ANY caps.
609
610         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
611         Fix debug info.
612
613 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
614
615         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
616           Don't pretend to handle seek events if the source is not seekable
617
618 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
619
620         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
621           Remove extra parameter to debug output
622
623         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
624         (gst_base_src_do_seek), (gst_base_src_activate_push):
625           Fix seek event handling.
626
627         * gst/gstpipeline.c: (gst_pipeline_change_state):
628         * gst/gstqueue.c: (gst_queue_handle_sink_event),
629         (gst_queue_src_activate_push):
630           Don't start the src pad task on FLUSH_STOP if the pad
631           isn't linked.
632           Debug changes.
633
634 2005-08-22  Wim Taymans  <wim@fluendo.com>
635
636         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
637         Added check for gst_static_caps_get() refcounting.
638
639 2005-08-22  Wim Taymans  <wim@fluendo.com>
640
641         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
642         Make _static_caps_get() refcounting sane.
643         
644         * gst/gstelement.c: (gst_element_set_state):
645         Add g_return_val_if_fail() to protect against segfaults.
646
647 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
648
649         * docs/gst/tmpl/gstevent.sgml:
650         * gst/gstevent.c:
651         * gst/gstevent.h:
652           inlined remaining docs, added missing doc comments
653
654 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
655
656         * check/gst/gstbin.c: (GST_START_TEST):
657           since we don't know when preroll is done, use refcount range
658           check for the sink
659         * gst/check/gstcheck.h:
660           add macro for checking refcount range
661
662 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
663
664         * check/Makefile.am:
665           clean up environment for when registry gets built versus
666           when actual tests are run; valgrind seems to not report
667           leaks if GST_PLUGIN_PATH is set to some specific values
668         * check/gst/gstbin.c: (GST_START_TEST):
669           add more refcounting checks; maybe this exposes a
670           preroll lock bug ?
671         * common/check.mak:
672         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
673         * gst/check/gstcheck.h:
674         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
675         (gst_bin_change_state):
676         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
677           add/fix debugging/whitespace
678
679 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
680
681         * check/gst/gstevent.c: (event_probe), (test_event),
682         (GST_START_TEST):
683          Er, don't call gst_bin_watch_for_state_change you idiot.
684
685 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
686
687         * check/Makefile.am:
688           Use CHECK_CFLAGS and CHECK_LIBS
689         * check/gst/gstevent.c: (event_probe), (test_event),
690         (GST_START_TEST):
691           Don't leak events.
692         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
693         (gst_base_src_start), (gst_base_src_stop),
694         (gst_base_src_activate_push), (gst_base_src_activate_pull),
695         (gst_base_src_change_state):
696           Sprinkle gst_base_src_stop liberally around error paths to fix
697           problems reusing a source after failed state changes.
698         * gst/base/gsttypefindhelper.c: (helper_find_peek),
699         (helper_find_suggest), (gst_type_find_helper):
700           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
701         * gst/gstevent.h:
702         * docs/gst/tmpl/gstevent.sgml:
703           Migrate part of the docs from the SGML file. Wait for ensonic to
704           tell me how I did it wrong ;)
705         * tools/gst-typefind.c: (main):
706           Extra robustness to state changes between files.
707
708 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
709
710         * check/Makefile.am:
711           don't valgrind the controller test - it's leaking - Stefan, HELP
712         * gst/check/gstcheck.c: (gst_check_message_error),
713         (gst_check_chain_func), (gst_check_setup_element),
714         (gst_check_teardown_element), (gst_check_setup_src_pad),
715         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
716         (gst_check_teardown_sink_pad):
717         * gst/check/gstcheck.h:
718           add a bunch of methods to set up elements, and src and sink pads
719         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
720         * check/elements/identity.c: (setup_identity), (cleanup_identity),
721         (GST_START_TEST):
722           use them
723         * gst/gstmessage.c:
724         * gst/gsttag.h:
725           whitespace/doc fixes
726
727 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
728
729         * gst/gstelement.h:
730           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
731           be handled by the application and not always printed as well
732
733 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
734
735         * check/Makefile.am:
736           set GST_TOOLS_DIR
737         * gst/check/gstcheck.c: (gst_check_message_error):
738         * gst/check/gstcheck.h:
739           add a fail_unless_equals_int
740           add fail_unless for error messages
741
742 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
743
744         * check/Makefile.am:
745         * check/gst.supp:
746         * common/Makefile.am:
747         * common/check.mak:
748         * common/gst.supp:
749           factor out some of the common stuff so we can use it
750
751 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
752
753         * check/Makefile.am:
754         * check/gst/gstiterator.c: (GST_START_TEST):
755         * check/gst/gstsystemclock.c: (GST_START_TEST),
756         (gst_systemclock_suite):
757         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
758         * gst/gstclock.c:
759           valgrind more tests
760
761 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
762
763         * check/elements/.cvsignore:
764         * check/elements/gstfakesrc.c:
765           rename to name of element
766         * check/elements/identity.c: (chain_func), (event_func),
767         (setup_identity), (cleanup_identity), (GST_START_TEST),
768         (identity_suite), (main):
769           add a test for identity
770         * check/Makefile.am:
771         * pkgconfig/Makefile.am:
772         * pkgconfig/gstreamer-check.pc.in:
773         * pkgconfig/gstreamer-check-uninstalled.pc.in:
774         * gst/check:
775         * gst/Makefile.am:
776         * configure.ac:
777           move the check stuff to a library that gets installed
778         * check/gst-libs/controller.c: (GST_START_TEST):
779         * check/gst-libs/gdp.c:
780         * check/gst/gst.c: (GST_START_TEST):
781         * check/gst/gstbin.c:
782         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
783         * check/gst/gstbus.c:
784         * check/gst/gstcaps.c: (GST_START_TEST):
785         * check/gst/gstelement.c:
786         * check/gst/gstghostpad.c:
787         * check/gst/gstiterator.c:
788         * check/gst/gstmessage.c:
789         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
790         * check/gst/gstobject.c:
791         * check/gst/gstpad.c: (GST_START_TEST):
792         * check/gst/gststructure.c: (GST_START_TEST):
793         * check/gst/gstsystemclock.c: (GST_START_TEST),
794         (gst_systemclock_suite):
795         * check/gst/gsttag.c: (gst_tag_suite):
796         * check/gst/gstvalue.c:
797         * check/pipelines/cleanup.c:
798         * check/pipelines/simple_launch_lines.c:
799         * check/states/sinks.c:
800           change include statement
801
802         * docs/gst/gstreamer-sections.txt:
803         * docs/gst/tmpl/gstpad.sgml:
804           document more pad stuff
805         * gst/gstminiobject.c: (gst_mini_object_ref),
806         (gst_mini_object_unref):
807           debug refcounting
808
809 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
810
811         * docs/gst/tmpl/gst.sgml:
812         * gst/gst.c:
813           eliminate another tmpl file, fix spelling in the long-description
814
815 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
816
817         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
818         (test_event), (timediff), (gstevents_suite):
819           Should fix build on 64-bit arch's
820
821 2005-08-18  Andy Wingo  <wingo@pobox.com>
822
823         Make sure that when a pipeline goes to PLAYING, that data has
824         actually hit the sink.
825
826         * check/states/sinks.c (test_sink): A sink that doesn't get any
827         data shouldn't return SUCCESS for going to either PLAYING or
828         PAUSED. Test also the return values on the way back down.
829
830         * gst/gstelement.c (gst_element_set_state): When changing the
831         state of an element currently changing state asynchronously, go to
832         lost-state after commiting the pending state. Makes future calls
833         to get_state continue to return ASYNC.
834
835         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
836         ASYNC when going to PLAYING if we still don't have preroll, as can
837         happen with live sources.
838
839 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
840
841         * docs/pwg/advanced-types.xml:
842           Hack long paragraph into 2 chunks as a workaround for buggy
843           jadetex version in sid and breezy that loops infinitely and
844           eats all RAM.
845
846 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
847
848         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
849         (test_event), (timediff), (gstevents_suite):
850           Provide more error margin in clock measurements to allow for 
851           g_get_current_time inaccuracies.
852
853 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
854
855         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
856         (test_event), (timediff), (gstevents_suite):
857            Fix error message output so I might be able to tell why the
858            test works here but fails on the build farm.
859
860 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
861
862         * check/Makefile.am:
863         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
864         (test_event), (timediff), (gstevents_suite), (main):
865           I wrote a test!
866
867         * docs/design/part-seeking.txt:
868           Spelling correction
869
870         * docs/gst/tmpl/gstevent.sgml:
871         * docs/gst/tmpl/gstfakesrc.sgml:
872           Docs updates.
873
874         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
875           Treat a buffer-without-newsegment the same as a receiving 
876           a newsegment not in time format, and disable syncing to the clock
877           with a warning.
878
879         * gst/gstbus.c: (gst_bus_set_sync_handler):
880           Assert if anyone tries to replace the existing sync_handler for bus, 
881           as only the owner should be setting it.
882
883         * gst/gstevent.h:
884           Have a fixed set of custom event enums with events identified by
885           their structure name (as in 0.8), rather than a free-for-all
886           allowing collisions between enum values from different plugins.
887
888         * gst/gstpad.c: (gst_pad_class_init):
889           Docs change.
890           
891         * gst/gstqueue.c: (gst_queue_handle_sink_event):
892           Handle out-of-band downstream events from the sending thread.
893
894 2005-08-17  Andy Wingo  <wingo@pobox.com>
895
896         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
897         play-timeout==0 to mean no timeout at all. In that case, don't
898         bother with a get_state or a warning, just return directly, even
899         if it's ASYNC.
900
901         * gst/base/gstbasetransform.c: Debug changes.
902
903         * gst/gstutils.h:
904         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
905         ensure bins post state change messages. A bit of a hack but I can't
906         think of a way to avoid it.
907
908         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
909
910 2005-08-16  Andy Wingo  <wingo@pobox.com>
911
912         * gst/base/gstadapter.h:
913         * gst/base/gstadapter.c (gst_adapter_take): New function, like
914         peek() but you own the data. Not terribly efficient atm.
915
916 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
917
918         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
919         (gst_element_found_tags):
920         * gst/gstutils.h:
921           Add two utility functions for tag handling.
922
923 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
924
925         * docs/manual/advanced-dataaccess.xml:
926         * docs/manual/basics-helloworld.xml:
927           Fix docs to use _bin_add() before _link(), which fixes the examples
928           with recent core versions (reported by Madhan Raj M
929           <raj_madan@rediffmail.com>, #313199).
930
931 2005-08-16  Wim Taymans  <wim@fluendo.com>
932
933         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
934         Added subtract checks.
935
936         * docs/design/part-events.txt:
937         Some more docs about newsegment
938
939         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
940         Fix FIXME
941
942         * gst/gstcaps.c: (gst_caps_to_string):
943         Add comments, cleanups.
944         
945         * gst/gstelement.c: (gst_element_save_thyself):
946         cleanups
947         
948         * gst/gstvalue.c: (gst_value_collect_int_range),
949         (gst_string_unwrap), (gst_value_union_int_int_range),
950         (gst_value_union_int_range_int_range),
951         (gst_value_intersect_int_int_range),
952         (gst_value_intersect_int_range_int_range),
953         (gst_value_intersect_double_double_range),
954         (gst_value_intersect_double_range_double_range),
955         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
956         (gst_value_subtract_int_range_int),
957         (gst_value_subtract_double_range_double),
958         (gst_value_subtract_double_range_double_range),
959         (gst_value_subtract_from_list), (gst_value_subtract_list),
960         (gst_value_can_compare), (gst_value_compare_fraction):
961         Cleanups, add comments, remove unneeded asserts.
962
963 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
964
965         * tools/gst-launch.c: (event_loop):
966           don't convert NULL structures to strings
967
968 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
969
970         * docs/gst/gstreamer-sections.txt:
971           made some defines private
972         * docs/gst/tmpl/gstconfig.sgml:
973         * docs/gst/tmpl/gstqueue.sgml:
974         * docs/gst/tmpl/gsttaglist.sgml:
975         * docs/gst/tmpl/gsttypes.sgml:
976         * docs/gst/tmpl/gstutils.sgml:
977         * docs/pwg/appendix-porting.xml:
978         * gst/base/gstbasesink.h:
979         * gst/base/gstbasesrc.c:
980         * gst/base/gstbasesrc.h:
981         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
982         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
983         * gst/gstelement.c: (gst_element_class_init):
984         * gst/gstpad.c: (gst_pad_class_init):
985         * gst/gstqueue.c: (gst_queue_class_init):
986         * gst/gstxml.c: (gst_xml_class_init):
987           documented all undocumented signal inline
988         * libs/gst/controller/gst-controller.h:
989           added padding
990
991 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
992
993         * docs/pwg/appendix-porting.xml:
994           Document _set_link_function -> _set_setcaps_function.
995
996 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
997
998         * check/Makefile.am:
999           add a .check target for running the check
1000         * check/gst-libs/controller.c: (GST_START_TEST):
1001           cosmetic fixups
1002         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1003           complete checks for gstbuffer; would be nice if I could get the
1004           gcov stuff to work so I can see if I actually completed gstbuffer.c
1005         * check/gstcheck.h:
1006           add ASSERT_BUFFER_REFCOUNT
1007
1008 2005-08-13  Tim-Philipp M??ller  <tim at centricular dot net>
1009
1010         * docs/gst/gstreamer-sections.txt:
1011         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
1012         * gst/gsttag.h:
1013           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
1014           spew out a warning if a tag that is already registered
1015           is re-registered, unless it is re-registered with a 
1016           different type (#308438).
1017
1018 2005-08-12  Tim-Philipp M??ller  <tim at centricular dot net>
1019
1020         * docs/pwg/appendix-porting.xml:
1021         * docs/pwg/building-state.xml:
1022           Add some paragraphs about state changes in 0.9 to the PWG
1023           and the porting guide, in particular about the new meaning
1024           of GST_STATE_PAUSED and how to write state change functions
1025           with concurrent access by multiple threads in mind.
1026
1027 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
1028
1029         * docs/gst/gstreamer-docs.sgml:
1030         * docs/libs/gstreamer-libs-docs.sgml:
1031           added deprecation and since indexes
1032         * libs/gst/controller/gst-controller.c:
1033         * libs/gst/controller/gst-helper.c:
1034           added since tags
1035
1036
1037 2005-08-11  Wim Taymans  <wim@fluendo.com>
1038
1039         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
1040         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
1041         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
1042         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
1043         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
1044         (gst_ghost_pad_set_target):
1045         Actually implement (re)setting the target on a ghostpad
1046         as described in the docs.
1047
1048 2005-08-10  Tim-Philipp M??ller  <tim at centricular dot net>
1049
1050         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
1051           Check whether GST_DEBUG_NO_COLOR environment variable is
1052           set and disable coloured debug output if that is the case.
1053
1054 2005-08-10  Tim-Philipp M??ller  <tim at centricular dot net>
1055
1056         * gst/base/gsttypefindhelper.c: (helper_find_peek),
1057         (gst_type_find_helper):
1058           The memory returned by gst_type_find_peek() needs to
1059           stay valid until the end of a typefind function, and
1060           typefind functions may keep results from different 
1061           offsets around, so we can't just unref the buffer from
1062           the previous _peek(), but have to save all buffers 
1063           returned by _peek() until typefinding is done and only
1064           free them then.
1065
1066 2005-08-09  Tim-Philipp M??ller  <tim at centricular dot net>
1067
1068         * docs/gst/gstreamer-sections.txt:
1069         * gst/gstutils.h:
1070           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
1071
1072 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1073
1074         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1075           Fix a pretty good memleak.
1076
1077 2005-08-08  Tim-Philipp M??ller  <tim at centricular dot net>
1078
1079         * gst/gstiterator.h:
1080           Fix wrong include and 'make distcheck'.
1081
1082 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1083
1084         * gst/gstbin.c: (bin_bus_handler):
1085           Use gst_element_post_message() instead.
1086
1087 2005-08-08  Tim-Philipp M??ller  <tim at centricular dot net>
1088
1089         * gst/base/gstadapter.h:
1090         * gst/base/gstbasesink.h:
1091         * gst/base/gstbasesrc.h:
1092         * gst/base/gstbasetransform.h:
1093         * gst/base/gstcollectpads.h:
1094         * gst/base/gstpushsrc.h:
1095         * gst/gstiterator.h:
1096           Add padding to our base elements' class and instance structs and
1097           to GstIterator (you will need to rebuild all plugins and apps!)
1098
1099 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1100
1101         * gst/gstbin.c: (bin_bus_handler):
1102           Make default message forwarding from child->bus to bin->bus
1103           threadsafe and make it not emit warnings if the parent has no bus.
1104
1105 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1106
1107         * gst/gstelement.c: (activate_pads):
1108           On paused->ready, set pad->caps to NULL, as is the documented
1109           behaviour in this state change. Fixes playback of series of
1110           media files when visualization is enabled in Totem.
1111
1112 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1113
1114         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
1115           Allow NULL as filter-caps (which means "any").
1116
1117 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
1118
1119         * docs/libs/gstreamer-libs-sections.txt:
1120         * libs/gst/controller/gst-controller.c:
1121         * libs/gst/controller/gst-controller.h:
1122         * libs/gst/controller/gst-helper.c:
1123           adding more entries to the docs and fix small doc-bugs
1124
1125 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
1126
1127         * docs/gst/gstreamer-docs.sgml:
1128         * docs/gst/gstreamer-sections.txt:
1129         * docs/gst/gstreamer.types:
1130         * docs/gst/tmpl/gstbasesink.sgml:
1131         * docs/gst/tmpl/gstbasesrc.sgml:
1132         * docs/gst/tmpl/gstbasetransform.sgml:
1133         * docs/gst/tmpl/gstfakesrc.sgml:
1134         * gst/base/gstcollectpads.c:
1135         * gst/base/gstcollectpads.h:
1136         * libs/gst/controller/gst-controller.c:
1137         * libs/gst/controller/gst-controller.h:
1138         * libs/gst/controller/gst-helper.c:
1139         * libs/gst/controller/gst-interpolation.c:
1140         * libs/gst/controller/lib.c:
1141           added long/short desc for controller docs
1142           added collectpads base class docs
1143           added correct includes to base-class docs
1144
1145 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
1146
1147         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
1148         (gst_test_mono_source_set_property),
1149         (gst_test_mono_source_class_init), (GST_START_TEST),
1150         (gst_controller_suite):
1151         * docs/gst/gstreamer-docs.sgml:
1152         * docs/gst/gstreamer-sections.txt:
1153         * docs/gst/gstreamer.types:
1154         * docs/libs/gstreamer-libs-docs.sgml:
1155         * docs/libs/gstreamer-libs-sections.txt:
1156         * gst/base/gstadapter.c:
1157         * libs/gst/controller/gst-controller.c:
1158         (gst_controlled_property_new), (gst_controlled_property_free),
1159         (gst_controller_new_valist),
1160         (gst_controller_remove_properties_valist),
1161         (gst_controller_sink_values), (_gst_controller_finalize):
1162         * libs/gst/controller/gst-controller.h:
1163         * libs/gst/controller/gst-helper.c:
1164         (gst_object_control_properties), (gst_object_uncontrol_properties),
1165         (gst_object_get_controller), (gst_object_set_controller),
1166         (gst_object_sink_values), (gst_object_get_value_arrays),
1167         (gst_object_get_value_array):
1168           more tests (and fixes) for the controller
1169           more docs for the controller
1170           integrated companies docs for the adapter 
1171
1172 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1173
1174         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
1175         (GST_START_TEST), (fakesrc_suite):
1176           add tests for sizetype
1177
1178 2005-08-04  Andy Wingo  <wingo@pobox.com>
1179
1180         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
1181         fixes buffer_alloc proxying among other things.
1182
1183         * gst/base/gstbasetransform.c:
1184         * gst/base/gstbasetransform.h:
1185         Revert patch to gstbasetransform from 7-28 removing
1186         delay_configure.
1187
1188         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
1189         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
1190         Semantics changed, should return not the size of the output buffer
1191         but the byte size of a buffer with a given caps.
1192
1193         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
1194         debug object.
1195         (gst_base_transform_configure_caps): Don't set out_size here: (in,
1196         out) are not the pad caps until setcaps finishes.
1197         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
1198         not-in-place case as well. Deal with changing from in-place to
1199         not-in-place within calling pad_alloc_buffer. Still a bit
1200         concerned about the overhead here...
1201
1202 2005-08-03  Andy Wingo  <wingo@pobox.com>
1203
1204         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
1205         fixating is an error.
1206
1207 2005-08-04  Edward Hervey  <edward@fluendo.com>
1208
1209         * gst/base/gstadapter.h: 
1210         Added gst_adapter_get_type() to the header
1211
1212 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
1213
1214         * check/Makefile.am:
1215         * check/gst-libs/controller.c:
1216         * libs/gst/controller/gst-controller.c:
1217         (gst_controller_new_valist):
1218           added check test suite for the controller
1219         * gst/base/gstpushsrc.c:
1220           fixed a doc typo
1221
1222 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
1223
1224         * docs/gst/Makefile.am:
1225         * docs/gst/gstreamer-docs.sgml:
1226         * docs/gst/gstreamer-sections.txt:
1227         * docs/gst/gstreamer.types:
1228         * docs/gst/tmpl/gstfakesrc.sgml:
1229         * gst/base/README:
1230         * gst/base/gstbasesink.c:
1231         * gst/base/gstbasesink.h:
1232         * gst/base/gstbasesrc.c:
1233         * gst/base/gstbasesrc.h:
1234         * gst/base/gstbasetransform.c:
1235         * gst/base/gstpushsrc.c:
1236         * gst/base/gstpushsrc.h:
1237           add short/long description docs to base classes
1238           add pushsrc to the docs
1239           remove consolidated doc fragments
1240
1241 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
1242
1243         * configure.ac:
1244         * docs/libs/Makefile.am:
1245         * docs/libs/gstreamer-libs-docs.sgml:
1246         * docs/libs/gstreamer-libs-sections.txt:
1247         * docs/libs/gstreamer-libs.types:
1248         * examples/Makefile.am:
1249         * examples/controller/.cvsignore:
1250         * examples/controller/Makefile.am:
1251         * examples/controller/audio-example.c: (main):
1252         * libs/gst/Makefile.am:
1253         * libs/gst/controller/.cvsignore:
1254         * libs/gst/controller/Makefile.am:
1255         * libs/gst/controller/gst-controller.c:
1256         (on_object_controlled_property_changed), (gst_timed_value_compare),
1257         (gst_timed_value_find),
1258         (gst_controlled_property_set_interpolation_mode),
1259         (gst_controlled_property_new), (gst_controlled_property_free),
1260         (gst_controller_find_controlled_property),
1261         (gst_controller_new_valist), (gst_controller_new),
1262         (gst_controller_remove_properties_valist),
1263         (gst_controller_remove_properties), (gst_controller_set),
1264         (gst_controller_set_from_list), (gst_controller_unset),
1265         (gst_controller_get), (gst_controller_get_all),
1266         (gst_controller_sink_values), (gst_controller_get_value_arrays),
1267         (gst_controller_get_value_array),
1268         (gst_controller_set_interpolation_mode),
1269         (_gst_controller_finalize), (_gst_controller_init),
1270         (_gst_controller_class_init), (gst_controller_get_type):
1271         * libs/gst/controller/gst-controller.h:
1272         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
1273         (g_object_uncontrol_properties), (g_object_get_controller),
1274         (g_object_set_controller), (g_object_sink_values),
1275         (g_object_get_value_arrays), (g_object_get_value_array):
1276         * libs/gst/controller/gst-interpolation.c:
1277         (gst_controlled_property_find_timed_value_node),
1278         (interpolate_none_get), (interpolate_trigger_get),
1279         (interpolate_trigger_get_value_array):
1280         * libs/gst/controller/lib.c: (gst_controller_init):
1281         * pkgconfig/Makefile.am:
1282         * pkgconfig/gstreamer-control-uninstalled.pc.in:
1283         * pkgconfig/gstreamer-control.pc.in:
1284         * testsuite/Makefile.am:
1285         * testsuite/controller/.cvsignore:
1286         * testsuite/controller/Makefile.am:
1287         * testsuite/controller/interpolator.c: (main):
1288           added controller code
1289           removed dparam pc files
1290
1291 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
1292         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
1293         (gst_collectpads_stop):
1294           Broadcast the condition when shutting down, to make sure we wake all
1295           threads up. Shut down pads on finalize, for safety.
1296
1297 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
1298         * gst/base/gstbasetransform.c: (gst_base_transform_init),
1299         (gst_base_transform_handle_buffer),
1300         (gst_base_transform_change_state):
1301           Handle PAUSED->READY->PAUSED transition after negotiation
1302           occurred already.
1303         * gst/gstmessage.c: (gst_message_init):
1304           Extra piece of debug for new messages.
1305
1306 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
1307
1308         * configure.ac:
1309         * docs/gst/tmpl/gstbasesrc.sgml:
1310         * docs/gst/tmpl/gstelement.sgml:
1311         * docs/gst/tmpl/gstevent.sgml:
1312         * docs/gst/tmpl/gstfakesrc.sgml:
1313         * docs/gst/tmpl/gstformat.sgml:
1314         * docs/gst/tmpl/gstghostpad.sgml:
1315         * docs/gst/tmpl/gstpad.sgml:
1316         * docs/gst/tmpl/gstquery.sgml:
1317         * docs/gst/tmpl/gststructure.sgml:
1318         * docs/gst/tmpl/gsttaglist.sgml:
1319         * docs/gst/tmpl/gstvalue.sgml:
1320         * docs/libs/gstreamer-libs-docs.sgml:
1321         * docs/libs/gstreamer-libs-sections.txt:
1322         * docs/libs/gstreamer-libs.types:
1323         * libs/gst/Makefile.am:
1324         * libs/gst/control/.cvsignore:
1325         * libs/gst/control/Makefile.am:
1326         * libs/gst/control/control.c:
1327         * libs/gst/control/control.h:
1328         * libs/gst/control/dparam.c:
1329         * libs/gst/control/dparam.h:
1330         * libs/gst/control/dparam_smooth.c:
1331         * libs/gst/control/dparam_smooth.h:
1332         * libs/gst/control/dparamcommon.h:
1333         * libs/gst/control/dparammanager.c:
1334         * libs/gst/control/dparammanager.h:
1335         * libs/gst/control/dplinearinterp.c:
1336         * libs/gst/control/dplinearinterp.h:
1337         * libs/gst/control/unitconvert.c:
1338         * libs/gst/control/unitconvert.h:
1339         * testsuite/Makefile.am:
1340         * testsuite/dynparams/.cvsignore:
1341         * testsuite/dynparams/Makefile.am:
1342         * testsuite/dynparams/dparamstest.c:
1343         * tools/Makefile.am:
1344         * tools/gst-inspect.c: (print_element_info), (main):
1345         * tools/gst-xmlinspect.c: (print_element_info), (main):
1346           deactivate and remove dparams (libgstcontrol)
1347
1348 2005-08-01  Tim-Philipp M??ller  <tim at centricular dot net>
1349
1350         * gst/elements/gsttypefindelement.c:
1351         (gst_type_find_element_have_type), (gst_type_find_element_init),
1352         (stop_typefinding), (gst_type_find_element_handle_event),
1353         (gst_type_find_element_chain), (gst_type_find_element_getrange):
1354         * gst/elements/gsttypefindelement.h:
1355           Set caps on all outgoing buffers, not just the first one.
1356
1357 2005-08-01  Tim-Philipp M??ller  <tim at centricular dot net>
1358
1359         * gst/elements/gsttypefindelement.c:
1360         (gst_type_find_element_have_type),
1361         (gst_type_find_element_check_set_buffer_caps),
1362         (gst_type_find_element_init), (stop_typefinding),
1363         (gst_type_find_element_handle_event),
1364         (gst_type_find_element_chain), (gst_type_find_element_getrange):
1365         * gst/elements/gsttypefindelement.h:
1366           Set caps on first outgoing buffer when we've found the type.
1367
1368 2005-08-01  Tim-Philipp M??ller  <tim at centricular dot net>
1369
1370         * docs/gst/gstreamer-docs.sgml:
1371         * docs/gst/gstreamer-sections.txt:
1372         * docs/gst/tmpl/gstscheduler.sgml:
1373         * docs/gst/tmpl/gstschedulerfactory.sgml:
1374           Remove some old cruft from docs.
1375
1376 2005-07-31  Tim-Philipp M??ller  <tim at centricular dot net>
1377
1378         * gst/gstpad.h:
1379           Fix inline docs for GstPadLinkReturn.
1380           
1381         * gst/gststructure.c: (gst_structure_has_name):
1382         * gst/gststructure.h:
1383         * docs/gst/gstreamer-sections.txt:
1384           New API: gst_structure_has_name().
1385
1386 2005-07-30  Tim-Philipp M??ller  <tim at centricular dot net>
1387
1388         * configure.ac:
1389           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
1390           and _LARGEFILE_SOURCE in config.h as required. Do not 
1391           export those flags in our .pc files any longer (#142209).
1392
1393           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
1394
1395         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
1396         (gst_file_sink_do_seek), (gst_file_sink_event),
1397         (gst_file_sink_get_current_offset), (gst_file_sink_render):
1398           Redo seek/tell calls with large file support in mind; add some
1399           debugging messages; add log message that tells us when large
1400           file support is unavailable or not enabled for some reason.
1401
1402         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
1403           Add log message that tells us when large file support 
1404           is unavailable or not enabled for some reason.
1405
1406 2005-07-29  Wim Taymans  <wim@fluendo.com>
1407
1408         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1409         Added test for removing an element with ghostpad from a bin.
1410         Fixed test as current implementation does the right thing.
1411
1412         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
1413         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
1414         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
1415         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
1416         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
1417         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
1418         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
1419         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1420         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
1421         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
1422         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
1423         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
1424         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
1425         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
1426         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
1427         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
1428         * gst/gstghostpad.h:
1429         Clean up ghostpads, remove properties for internal stuff.
1430         Make threadsafe.
1431         Fix refcounting.
1432         Prepare for switching targets, not all use cases work yet.
1433
1434 2005-07-29  Wim Taymans  <wim@fluendo.com>
1435
1436         * docs/design/part-gstghostpad.txt:
1437         Small update.
1438
1439         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
1440         (gst_bin_remove_func):
1441         Unlinking pads while holding the bin LOCK is not a good
1442         idea.
1443
1444         * gst/gstpad.c: (gst_pad_class_init),
1445         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
1446         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
1447         No prob setting template after creating the pad.
1448
1449 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
1450
1451         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
1452         (gst_bus_peek), (gst_bus_source_dispatch),
1453         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
1454         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
1455           gst_bus_poll may be called from other threads. Handle
1456           this nicely by not making poll_data disappear off the
1457           stack once gst_bus_poll returns.
1458           gst_bus_peek now increments the refcount on the returned
1459           message.
1460
1461 2005-07-29  Wim Taymans  <wim@fluendo.com>
1462
1463         * docs/design/part-gstghostpad.txt:
1464         Overview of current GhostPad datastructures and use
1465         cases for changing the target.
1466
1467 2005-07-28  Wim Taymans  <wim@fluendo.com>
1468
1469         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1470         Added checks for hierarchy consistency whan adding linked
1471         elements to bins.
1472
1473         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
1474         Added check to test element scheduling without bin/pipeline.
1475
1476         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1477         First add elements to bin, then link.
1478         
1479         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
1480         (gst_bin_remove_func):
1481         Unlink pads from elements added/removed from bin to maintain
1482         hierarchy consistency.
1483
1484 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1485
1486         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
1487         (gst_base_transform_handle_buffer):
1488         * gst/base/gstbasetransform.h:
1489           Remove broken delay_configure (fixes renegotiation of software
1490           scaling pipelines); remove some leftover printf()s.
1491
1492 2005-07-28  Wim Taymans  <wim@fluendo.com>
1493
1494         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
1495         Added some more tests for wrong hierarchy
1496
1497         * docs/design/part-overview.txt:
1498         Some updates.
1499
1500         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
1501         Cleanups.
1502
1503         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
1504         (gst_element_dispose):
1505         Some more cleanups.
1506
1507         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
1508         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
1509         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1510         (gst_pad_set_caps), (gst_pad_send_event):
1511         Check for correct hierarchy when linking pads. Moving to
1512         strict requirement for ghostpads when linking elements in
1513         different bins.
1514
1515         * gst/gstpad.h:
1516         Clean ups. Added WRONG_HIERARCHY return value.
1517
1518 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1519
1520         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1521           Better debug if no transform is possible.
1522
1523 2005-07-27  Wim Taymans  <wim@fluendo.com>
1524
1525         * docs/random/wtay/network-transp:
1526         Some old doc I had.
1527
1528 2005-07-27  Wim Taymans  <wim@fluendo.com>
1529
1530         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1531         (gst_dp_event_from_packet):
1532         Fix serialization of seek events.
1533
1534 2005-07-27  Wim Taymans  <wim@fluendo.com>
1535
1536         * check/gst-libs/gdp.c: (GST_START_TEST):
1537         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
1538         Fix compilation and fix event serialization.
1539
1540 2005-07-27  Wim Taymans  <wim@fluendo.com>
1541
1542         * CHANGES-0.9:
1543         * docs/design/part-TODO.txt:
1544         * docs/design/part-events.txt:
1545         Some docs updates
1546
1547         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1548         (gst_base_sink_event), (gst_base_sink_do_sync),
1549         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
1550         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
1551         (gst_base_src_do_seek), (gst_base_src_event_handler),
1552         (gst_base_src_loop):
1553         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1554         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1555         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
1556         (gst_base_transform_event), (gst_base_transform_handle_buffer),
1557         (gst_base_transform_set_passthrough),
1558         (gst_base_transform_is_passthrough):
1559         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
1560         * gst/elements/gstfilesink.c: (gst_file_sink_event):
1561         Event updates.
1562
1563         * gst/gstbuffer.h:
1564         Use faster casts.
1565
1566         * gst/gstelement.c: (gst_element_seek):
1567         * gst/gstelement.h:
1568         Update gst_element_seek.
1569
1570         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
1571         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
1572         (gst_event_new_flush_start), (gst_event_new_flush_stop),
1573         (gst_event_new_eos), (gst_event_new_newsegment),
1574         (gst_event_parse_newsegment), (gst_event_new_tag),
1575         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
1576         (gst_event_parse_qos), (gst_event_new_seek),
1577         (gst_event_parse_seek), (gst_event_new_navigation):
1578         * gst/gstevent.h:
1579         Make GstEvent use GstStructure. Add parsing code, make sure the
1580         API is sufficiently generic.
1581         Mark possible directions of events and serialization.
1582
1583         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
1584         (_gst_message_copy), (gst_message_new_segment_start),
1585         (gst_message_new_segment_done), (gst_message_new_custom),
1586         (gst_message_parse_segment_start),
1587         (gst_message_parse_segment_done):
1588         Small cleanups.
1589
1590         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1591         (gst_pad_set_caps), (gst_pad_send_event):
1592         Update for new events. 
1593         Catch events sent in wrong directions.
1594
1595         * gst/gstqueue.c: (gst_queue_link_src),
1596         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
1597         (gst_queue_handle_src_query):
1598         Event updates.
1599
1600         * gst/gsttag.c:
1601         * gst/gsttag.h:
1602         Remove event code from this file.
1603
1604         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1605         (gst_dp_event_from_packet):
1606         Event updates.
1607
1608 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1609
1610         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
1611         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
1612         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
1613           Make debugging actually useful.
1614
1615 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1616
1617         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
1618         (gst_pad_fixate_caps):
1619           Implement default fixation once again, so that gst_pad_fixate()
1620           actually does anything at all. This probably needs to be some
1621           sort of a last resort, and use profile-based fixation first, but
1622           since that doesn't exist yet, this is the best we have. Fixes
1623           visualization in Totem.
1624
1625 2005-07-22  Wim Taymans  <wim@fluendo.com>
1626
1627         * docs/design/part-events.txt:
1628         Small update.
1629
1630         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1631         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
1632         (gst_base_sink_activate_pull):
1633         Some more comments.
1634
1635         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
1636         (gst_fake_src_create):
1637         Fix handoff marshall.
1638
1639         * gst/elements/gstidentity.c: (gst_identity_class_init),
1640         (gst_identity_transform_ip):
1641         We're a real inplace element.
1642
1643         * gst/gstbus.c: (gst_bus_post):
1644         Added some comments.
1645
1646         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
1647         * tests/muxing/case1.c: (main):
1648         * tests/sched/dynamic-pipeline.c: (main):
1649         * tests/sched/interrupt1.c: (main):
1650         * tests/sched/interrupt2.c: (main):
1651         * tests/sched/interrupt3.c: (main):
1652         * tests/sched/runxml.c: (main):
1653         * tests/sched/sched-stress.c: (main):
1654         * tests/seeking/seeking1.c: (event_received), (main):
1655         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
1656         (main):
1657         * tests/threadstate/threadstate3.c: (main):
1658         * tests/threadstate/threadstate4.c: (main):
1659         * tests/threadstate/threadstate5.c: (main):
1660         Fix the tests.
1661
1662 2005-07-21  Wim Taymans  <wim@fluendo.com>
1663
1664         * docs/design/part-seeking.txt:
1665         Some small additions.
1666
1667         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1668         (gst_base_sink_get_times), (gst_base_sink_do_sync),
1669         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
1670         * gst/base/gstbasesink.h:
1671         discont values are gint64, handle the math correctly.
1672
1673         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1674         Make the basesrc report error if the source pad is not linked.
1675
1676         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
1677         (gst_queue_loop), (gst_queue_handle_src_query),
1678         (gst_queue_src_activate_push):
1679         Make queue collect data even if the srcpad is not linked.
1680         Start pushing out data as soon as it is linked.
1681
1682         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
1683         * gst/gstutils.h:
1684         Added gst_flow_get_name() to ease error reporting.
1685
1686 2005-07-20  Wim Taymans  <wim@fluendo.com>
1687
1688         * gst/gstmessage.c: (gst_message_new_segment_start),
1689         (gst_message_new_segment_done), (gst_message_parse_segment_start),
1690         (gst_message_parse_segment_done):
1691         * gst/gstmessage.h:
1692         Added a bunch of messages for advanced seeking.
1693
1694         * gst/parse/grammar.y:
1695         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
1696         (gst_dpman_state_changed):
1697         Fix some new-pad -> pad-added signals
1698
1699 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1700
1701         * docs/manual/appendix-porting.xml:
1702         * docs/pwg/appendix-porting.xml:
1703           Document new-pad/state-change signal renames and the FixedList
1704           type rename.
1705
1706 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1707
1708         * docs/manual/advanced-autoplugging.xml:
1709         * docs/manual/basics-helloworld.xml:
1710         * docs/manual/basics-pads.xml:
1711         * docs/random/ds/0.9-suggested-changes:
1712         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
1713         * gst/gstelement.h:
1714         * gst/gstevent.h:
1715         * gst/gstformat.h:
1716         * gst/gstquery.h:
1717         * gst/gststructure.c: (gst_structure_value_get_generic_type),
1718         (gst_structure_parse_array), (gst_structure_parse_value):
1719         * gst/gstvalue.c: (gst_type_is_fixed),
1720         (gst_value_list_prepend_value), (gst_value_list_append_value),
1721         (gst_value_list_get_size), (gst_value_list_get_value),
1722         (gst_value_transform_array_string), (gst_value_serialize_array),
1723         (gst_value_deserialize_array), (gst_value_intersect_array),
1724         (gst_value_is_fixed), (_gst_value_initialize):
1725         * gst/gstvalue.h:
1726           GstElement::new-pad -> pad-added, GstElement::state-change ->
1727           state-changed, GstValueFixedList -> GstValueArray, add format and
1728           flags as their own arguments in gst_element_seek() (should improve
1729           "bindeability"), remove function generators since they don't work
1730           under a whole bunch of compilers (they were deprecated already
1731           anyway).
1732
1733 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1734
1735         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
1736         (_gst_debug_register_funcptr):
1737         * gst/gstinfo.h:
1738           Fix illegal cast on some platforms (#309253).
1739
1740 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1741
1742         * gst/gstmessage.c: (gst_message_new_custom):
1743         * gst/gstmessage.h:
1744           Add _new_custom, make _new_application a macro to _new_custom.
1745
1746 2005-07-20  Wim Taymans  <wim@fluendo.com>
1747
1748         * gst/base/gstbasesrc.c: (gst_base_src_init),
1749         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
1750         * gst/base/gstbasesrc.h:
1751         Add a gboolean to decide when to push out a discont.
1752
1753         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
1754         (gst_queue_loop), (gst_queue_handle_src_query),
1755         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
1756         (gst_queue_set_property), (gst_queue_get_property):
1757         Some cleanups.
1758
1759         * tests/threadstate/threadstate1.c: (main):
1760         Make a thread test compile and run... very silly..
1761
1762
1763 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1764
1765         * docs/manual/appendix-porting.xml:
1766           Mention removal of libgstgconf-0.9.la and existence of gconf
1767           elements.
1768
1769 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1770
1771         * docs/pwg/advanced-clock.xml:
1772         * docs/pwg/appendix-porting.xml:
1773         * docs/pwg/intro-preface.xml:
1774         * docs/pwg/other-base.xml:
1775         * docs/pwg/other-manager.xml:
1776         * docs/pwg/other-nton.xml:
1777         * docs/pwg/other-ntoone.xml:
1778         * docs/pwg/other-oneton.xml:
1779         * docs/pwg/pwg.xml:
1780           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
1781           demuxer), remove n-to-n (was never written), fix some code examples
1782           and links and update the porting section to include all this.
1783
1784 2005-07-19  Wim Taymans  <wim@fluendo.com>
1785
1786         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
1787         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
1788         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
1789         (gst_queue_src_activate_push), (gst_queue_change_state),
1790         (gst_queue_get_property):
1791         * gst/gstqueue.h:
1792         Propagate GstFlowReturn more intelligently upstream and output
1793         an ERROR/EOS when streaming stopped due to fatal error.
1794
1795 2005-07-19  Wim Taymans  <wim@fluendo.com>
1796
1797         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1798         Don't block forever for the state change to complete, the
1799         pipeline already did with a sensible timeout.
1800
1801 2005-07-19  Wim Taymans  <wim@fluendo.com>
1802
1803         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1804         Make sure we never call the create function is we
1805         got deactivated.
1806
1807 2005-07-19  Andy Wingo  <wingo@pobox.com>
1808
1809         * gst/parse/parse.l: Attempt to solve bug #172815.
1810
1811 2005-07-19  Wim Taymans  <wim@fluendo.com>
1812
1813         * docs/design/part-clocks.txt:
1814         * docs/design/part-events.txt:
1815         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
1816         Small docs updates.
1817         Only update the seeking values when we are not
1818         busy streaming.
1819
1820 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1821
1822         * gst/base/gstbasesrc.c: (gst_base_src_loop):
1823           Oops, ignore the result of gst_pad_push_event here.
1824
1825 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
1826
1827         * gst/base/gstbasesrc.c: (gst_base_src_loop),
1828         (gst_base_src_activate_push):
1829           Send discont event from the loop function, as pads
1830           aren't activated yet in the activate_push handler.
1831
1832         * gst/gstbin.c: (bin_bus_handler):
1833           Don't leak element name.
1834
1835 2005-07-18  Andy Wingo  <wingo@pobox.com>
1836
1837         * configure.ac: Use AS_LIBTOOL_TAGS.
1838
1839 2005-07-18  Wim Taymans  <wim@fluendo.com>
1840
1841         * docs/gst/gstreamer.types:
1842         Remove deleted types.
1843
1844 2005-07-18  Wim Taymans  <wim@fluendo.com>
1845
1846         * check/elements/gstfakesrc.c: (GST_START_TEST):
1847         * configure.ac:
1848         * gst/Makefile.am:
1849         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
1850         (init_popt_callback):
1851         * gst/gst.h:
1852         * gst/gst_private.h:
1853         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
1854         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
1855         * gst/gstbin.h:
1856         * gst/gstbus.h:
1857         * gst/gstconfig.h.in:
1858         * gst/gstelement.c: (gst_element_class_init),
1859         (gst_element_set_base_time), (gst_element_get_base_time),
1860         (iterator_fold_with_resync), (gst_element_change_state),
1861         (gst_element_dispose), (gst_element_get_bus):
1862         * gst/gstelement.h:
1863         * gst/gstelementfactory.h:
1864         * gst/gsterror.c: (_gst_core_errors_init):
1865         * gst/gsterror.h:
1866         * gst/gstevent.h:
1867         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
1868         * gst/gstindex.c:
1869         * gst/gstinfo.c: (_gst_debug_init):
1870         * gst/gstmessage.c: (_gst_message_copy):
1871         * gst/gstmessage.h:
1872         * gst/gstminiobject.h:
1873         * gst/gstobject.c:
1874         * gst/gstobject.h:
1875         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
1876         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
1877         * gst/gstpad.h:
1878         * gst/gstparse.h:
1879         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1880         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
1881         (gst_pipeline_get_last_stream_time):
1882         * gst/gstpipeline.h:
1883         * gst/gstpluginfeature.h:
1884         * gst/gstquery.h:
1885         * gst/gstscheduler.c:
1886         * gst/gstscheduler.h:
1887         * gst/gststructure.h:
1888         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
1889         (gst_task_finalize), (gst_task_func), (gst_task_create),
1890         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
1891         (gst_task_stop), (gst_task_pause):
1892         * gst/gsttask.h:
1893         * gst/gsttypefind.h:
1894         * gst/gsttypes.h:
1895         * gst/registries/gstlibxmlregistry.c: (load_feature),
1896         (gst_xml_registry_load), (gst_xml_registry_save_feature):
1897         * gst/registries/gstxmlregistry.c:
1898         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
1899         * gst/schedulers/threadscheduler.c:
1900         * libs/gst/control/dparammanager.h:
1901         * tools/gst-inspect.c: (print_element_list),
1902         (print_plugin_features), (print_element_features):
1903         * tools/gst-xmlinspect.c: (print_element_list),
1904         (print_plugin_info), (main):
1905         Removed plugable schedulers.
1906         Removed Scheduler/Manager from elements.
1907         Removed gsttypes.h, rearranged includes.
1908         Removed dependency pad<->element, element<>pipeline, and
1909         various others,  fix includes.
1910         implement gst_pad_get_parent() with gst_object_get_parent()
1911         Make GstTask sefcontained.
1912         Fix _get_state() on GstBin, it did not return ASYNC with a 0
1913         timeout.
1914         Fix endless loop in iterator_fold_with_resync.
1915
1916
1917 2005-07-18  Wim Taymans  <wim@fluendo.com>
1918
1919         * gst/Makefile.am:
1920         * gst/gstarch.h:
1921         Remove old file.
1922
1923 2005-07-18  Wim Taymans  <wim@fluendo.com>
1924
1925         * gst/Makefile.am:
1926         No more cothreads.h
1927
1928 2005-07-18  Wim Taymans  <wim@fluendo.com>
1929
1930         * gst/cothreads.c:
1931         * gst/cothreads.h:
1932         Let's remove these.
1933
1934 2005-07-18  Wim Taymans  <wim@fluendo.com>
1935
1936         * docs/design/part-dynamic.txt:
1937         * docs/design/part-events.txt:
1938         * docs/design/part-seeking.txt:
1939         Some more docs in the works.
1940
1941         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
1942         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
1943         (gst_base_transform_setcaps), (gst_base_transform_get_size),
1944         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
1945         (gst_base_transform_handle_buffer),
1946         (gst_base_transform_sink_activate_push),
1947         (gst_base_transform_src_activate_pull),
1948         (gst_base_transform_set_passthrough),
1949         (gst_base_transform_is_passthrough):
1950         Refcounting fixes.
1951
1952         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
1953         Cleanups.
1954
1955         * gst/gstevent.c: (gst_event_finalize):
1956         Set SRC to NULL.
1957
1958         * gst/gstutils.c: (gst_element_unlink),
1959         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
1960         (gst_pad_proxy_setcaps):
1961         * gst/gstutils.h:
1962         Add _get_parent_element() to get a pads parent as an element.
1963
1964 2005-07-18  Wim Taymans  <wim@fluendo.com>
1965
1966         * check/gst/gstbin.c: (GST_START_TEST):
1967         Remove bogus test.
1968
1969 2005-07-18  Wim Taymans  <wim@fluendo.com>
1970
1971         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
1972         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
1973         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1974         (gst_base_sink_event), (gst_base_sink_do_sync),
1975         (gst_base_sink_chain), (gst_base_sink_loop),
1976         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
1977         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1978         Refcounting fixes.
1979         Fix logic for returning ASYNC when not prerolled.
1980
1981 2005-07-18  Wim Taymans  <wim@fluendo.com>
1982
1983         * gst/gstqueue.c: (gst_queue_handle_sink_event):
1984         Fix nasty refcount bug.
1985
1986 2005-07-16 Philippe Khalaf <burger@speedy.org>
1987         * gst/elements/gstfdsrc.c:
1988         * gst/elements/gstfdsrc.h:
1989         * gst/elements/gstelements.c:
1990         * gst/elements/Makefile.am:
1991         Ported fdsrc to 0.9.
1992
1993 2005-07-16  Wim Taymans  <wim@fluendo.com>
1994
1995         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1996         (gst_base_sink_do_sync):
1997         Fix compile error.
1998
1999 2005-07-16  Wim Taymans  <wim@fluendo.com>
2000
2001         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2002         (gst_base_sink_event), (gst_base_sink_get_times),
2003         (gst_base_sink_do_sync), (gst_base_sink_change_state):
2004         * gst/base/gstbasesink.h:
2005         Store and use discont values when syncing buffers as described
2006         in design docs.
2007         
2008         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
2009         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
2010         (gst_base_src_activate_push):
2011         Push discont event when starting.
2012
2013         * gst/elements/gstidentity.c: (gst_identity_transform):
2014         Small cleanups.
2015
2016         * gst/gstbin.c: (gst_bin_change_state):
2017         Small cleanups in base_time  distribution.
2018
2019         * gst/gstelement.c: (gst_element_set_base_time),
2020         (gst_element_get_base_time), (gst_element_change_state):
2021         * gst/gstelement.h:
2022         Added methods for the base_time of the element.
2023         Some MT fixes.
2024
2025         * gst/gstpipeline.c: (gst_pipeline_send_event),
2026         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
2027         (gst_pipeline_get_last_stream_time):
2028         * gst/gstpipeline.h:
2029         MT fixes.
2030         Handle seeking as described in design doc, remove stream_time
2031         hack.
2032         Cleanups clock and stream_time selection code. Added accessors
2033         for the stream_time.
2034         
2035
2036 2005-07-16  Andy Wingo  <wingo@pobox.com>
2037
2038         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
2039         (#305291).
2040
2041 2005-07-16  Wim Taymans  <wim@fluendo.com>
2042
2043         * check/gst/gstbin.c: (GST_START_TEST):
2044         Make elements silent as the deep_notify refs the
2045         parent, which might make the test fail.
2046
2047         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
2048         Don't hold the lock for too long.
2049
2050 2005-07-16  Tim-Philipp M??ller  <tim at centricular dot net>
2051
2052         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2053           Don't unref the caps we passed to gst_caps_make_writable() after
2054           passing them. gst_caps_make_writable() will do that for us.
2055
2056 2005-07-15  Andy Wingo  <wingo@pobox.com>
2057
2058         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
2059         (#157311).
2060
2061         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
2062         own marshalling function for the handoff signal. Properly type the
2063         buffer as a buffer. Fixes some warnings. Should do a more general
2064         solution.
2065         (gst_identity_class_init): Plug into the right marshaller.
2066
2067 2005-07-15  Wim Taymans  <wim@fluendo.com>
2068
2069         * docs/design/part-TODO.txt:
2070         * docs/design/part-clocks.txt:
2071         * docs/design/part-element-sink.txt:
2072         * docs/design/part-events.txt:
2073         * docs/design/part-gstpipeline.txt:
2074         Updated docs, mostly DISCONT related.
2075
2076 2005-07-15  Tim-Philipp M??ller  <tim at centricular dot net>
2077
2078         * docs/pwg/building-pads.xml:
2079           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
2080
2081 2005-07-15  Andy Wingo  <wingo@pobox.com>
2082
2083         * tools/gst-typefind.c: Update, add copyright block.
2084
2085         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
2086         Normalize and truncate caps before fixation.
2087
2088         * gst/gstcaps.h:
2089         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
2090         discards all but the first structure from its argument.
2091
2092 2005-07-15  Wim Taymans  <wim@fluendo.com>
2093
2094         * gst/base/gstbasetransform.c: (gst_base_transform_init),
2095         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
2096         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
2097         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
2098         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
2099         (gst_base_transform_chain), (gst_base_transform_change_state),
2100         (gst_base_transform_set_passthrough),
2101         (gst_base_transform_is_passthrough):
2102         * gst/base/gstbasetransform.h:
2103         Make passthrough work using the bufferpools.
2104         Changed API a bit, subclasses have to write into a buffer
2105         provided by the base class.
2106         More debug info in nego functions.
2107         
2108         * gst/elements/gstidentity.c: (gst_identity_init),
2109         (gst_identity_transform):
2110         Port to new base class.
2111
2112 2005-07-15  Wim Taymans  <wim@fluendo.com>
2113
2114         * gst/gstmessage.c: (gst_message_new_state_changed):
2115         * tools/gst-launch.c: (event_loop), (main):
2116         Totally dump messages in -launch with the -m option.
2117         Fix message name for State messages,
2118
2119 2005-07-14  Wim Taymans  <wim@fluendo.com>
2120
2121         * gst/base/gstbasesrc.c: (gst_base_src_loop):
2122         Post error messages on errors.
2123
2124 2005-07-14  Wim Taymans  <wim@fluendo.com>
2125
2126         * gst/gstcaps.c: (gst_caps_do_simplify):
2127         Remove debug info.
2128
2129         * gst/gsterror.h:
2130         Define error for stream stopped.
2131
2132         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
2133         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
2134         Do proper return values.
2135
2136         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
2137         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
2138         (gst_pad_get_range):
2139         Better return values.
2140
2141         * gst/gstpad.h:
2142         Reorganise return values, add macro to check for fatal errors.
2143
2144         * gst/gstqueue.c: (gst_queue_chain):
2145         Return proper GstFlowReturn values,
2146
2147 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
2148
2149         * docs/gst/gstreamer-sections.txt:
2150         * docs/gst/gstreamer.types:
2151         * docs/gst/tmpl/gst.sgml:
2152         * docs/gst/tmpl/gstbasesink.sgml:
2153         * docs/gst/tmpl/gstbasesrc.sgml:
2154         * docs/gst/tmpl/gstbasetransform.sgml:
2155         * docs/gst/tmpl/gstbin.sgml:
2156         * docs/gst/tmpl/gstbuffer.sgml:
2157         * docs/gst/tmpl/gstcaps.sgml:
2158         * docs/gst/tmpl/gstclock.sgml:
2159         * docs/gst/tmpl/gstcompat.sgml:
2160         * docs/gst/tmpl/gstconfig.sgml:
2161         * docs/gst/tmpl/gstelement.sgml:
2162         * docs/gst/tmpl/gstelementdetails.sgml:
2163         * docs/gst/tmpl/gstelementfactory.sgml:
2164         * docs/gst/tmpl/gstenumtypes.sgml:
2165         * docs/gst/tmpl/gsterror.sgml:
2166         * docs/gst/tmpl/gstevent.sgml:
2167         * docs/gst/tmpl/gstfakesink.sgml:
2168         * docs/gst/tmpl/gstfakesrc.sgml:
2169         * docs/gst/tmpl/gstfilesink.sgml:
2170         * docs/gst/tmpl/gstfilesrc.sgml:
2171         * docs/gst/tmpl/gstfilter.sgml:
2172         * docs/gst/tmpl/gstformat.sgml:
2173         * docs/gst/tmpl/gstghostpad.sgml:
2174         * docs/gst/tmpl/gstimplementsinterface.sgml:
2175         * docs/gst/tmpl/gstindex.sgml:
2176         * docs/gst/tmpl/gstindexfactory.sgml:
2177         * docs/gst/tmpl/gstinfo.sgml:
2178         * docs/gst/tmpl/gstiterator.sgml:
2179         * docs/gst/tmpl/gstmacros.sgml:
2180         * docs/gst/tmpl/gstmemchunk.sgml:
2181         * docs/gst/tmpl/gstminiobject.sgml:
2182         * docs/gst/tmpl/gstobject.sgml:
2183         * docs/gst/tmpl/gstpad.sgml:
2184         * docs/gst/tmpl/gstpadtemplate.sgml:
2185         * docs/gst/tmpl/gstparse.sgml:
2186         * docs/gst/tmpl/gstpipeline.sgml:
2187         * docs/gst/tmpl/gstplugin.sgml:
2188         * docs/gst/tmpl/gstpluginfeature.sgml:
2189         * docs/gst/tmpl/gstquery.sgml:
2190         * docs/gst/tmpl/gstqueue.sgml:
2191         * docs/gst/tmpl/gstregistry.sgml:
2192         * docs/gst/tmpl/gstregistrypool.sgml:
2193         * docs/gst/tmpl/gstscheduler.sgml:
2194         * docs/gst/tmpl/gstschedulerfactory.sgml:
2195         * docs/gst/tmpl/gststructure.sgml:
2196         * docs/gst/tmpl/gstsystemclock.sgml:
2197         * docs/gst/tmpl/gsttaglist.sgml:
2198         * docs/gst/tmpl/gsttagsetter.sgml:
2199         * docs/gst/tmpl/gsttrace.sgml:
2200         * docs/gst/tmpl/gsttrashstack.sgml:
2201         * docs/gst/tmpl/gsttypefind.sgml:
2202         * docs/gst/tmpl/gsttypefindfactory.sgml:
2203         * docs/gst/tmpl/gsttypes.sgml:
2204         * docs/gst/tmpl/gsturihandler.sgml:
2205         * docs/gst/tmpl/gsturitype.sgml:
2206         * docs/gst/tmpl/gstutils.sgml:
2207         * docs/gst/tmpl/gstvalue.sgml:
2208         * docs/gst/tmpl/gstversion.sgml:
2209         * docs/gst/tmpl/gstxml.sgml:
2210         * docs/libs/tmpl/gstcontrol.sgml:
2211         * docs/libs/tmpl/gstdataprotocol.sgml:
2212         * docs/libs/tmpl/gstdparam.sgml:
2213         * docs/libs/tmpl/gstdplinint.sgml:
2214         * docs/libs/tmpl/gstdpman.sgml:
2215         * docs/libs/tmpl/gstdpsmooth.sgml:
2216         * docs/libs/tmpl/gstgetbits.sgml:
2217         * docs/libs/tmpl/gstunitconvert.sgml:
2218         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
2219         (gst_push_src_base_init), (gst_push_src_class_init),
2220         (gst_push_src_init), (gst_push_src_create):
2221         * gst/base/gstpushsrc.h:
2222         * gst/elements/gstelements.c:
2223         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
2224         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
2225         (gst_fake_sink_init), (gst_fake_sink_set_property),
2226         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
2227         (gst_fake_sink_event), (gst_fake_sink_preroll),
2228         (gst_fake_sink_render), (gst_fake_sink_change_state):
2229         * gst/elements/gstfakesink.h:
2230         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
2231         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
2232         (gst_fake_src_base_init), (gst_fake_src_class_init),
2233         (gst_fake_src_init), (gst_fake_src_event_handler),
2234         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
2235         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
2236         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
2237         (gst_fake_src_create_buffer), (gst_fake_src_create),
2238         (gst_fake_src_start), (gst_fake_src_stop):
2239         * gst/elements/gstfakesrc.h:
2240         * gst/elements/gstfilesink.c: (_do_init),
2241         (gst_file_sink_base_init), (gst_file_sink_class_init),
2242         (gst_file_sink_init), (gst_file_sink_dispose),
2243         (gst_file_sink_set_location), (gst_file_sink_set_property),
2244         (gst_file_sink_get_property), (gst_file_sink_open_file),
2245         (gst_file_sink_close_file), (gst_file_sink_query),
2246         (gst_file_sink_event), (gst_file_sink_render),
2247         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
2248         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
2249         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
2250         * gst/elements/gstfilesink.h:
2251         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
2252         (gst_file_src_class_init), (gst_file_src_init),
2253         (gst_file_src_finalize), (gst_file_src_set_location),
2254         (gst_file_src_set_property), (gst_file_src_get_property),
2255         (gst_file_src_map_region), (gst_file_src_map_small_region),
2256         (gst_file_src_create_mmap), (gst_file_src_create_read),
2257         (gst_file_src_create), (gst_file_src_is_seekable),
2258         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
2259         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
2260         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
2261         (gst_file_src_uri_handler_init):
2262         * gst/elements/gstfilesrc.h:
2263           more autistic cleanliness in functions/names/defines
2264
2265 2005-07-13  Andy Wingo  <wingo@pobox.com>
2266
2267         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
2268         source couldn't negotiate.
2269
2270         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
2271         connections again.
2272
2273         * gst/gstutils.h:
2274         * gst/gstutils.c (gst_element_link_pads_filtered): New old
2275         function. I am channeling Hades. Put your boots on suckers!!!
2276
2277 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2278
2279         * testsuite/caps/Makefile.am:
2280         * testsuite/caps/value_compare.c:
2281         * testsuite/caps/value_intersect.c:
2282         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2283           move two testsuite apps over to the check dir
2284
2285 2005-07-12  Wim Taymans  <wim@fluendo.com>
2286
2287         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
2288         Added more debug info in the negotiate process.
2289
2290         * gst/gstmessage.h:
2291         Prepare for segment playback.
2292
2293         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
2294         Better debugging.
2295
2296         * gst/gstutils.c:
2297         Some more docs.
2298
2299         * tools/gst-launch.c: (main):
2300         NULL pipeline on errors.
2301
2302 2005-07-12  Andy Wingo  <wingo@pobox.com>
2303
2304         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
2305         not it comes from a malloc region. Make sure our copy gets freed.
2306
2307 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2308
2309         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
2310         * check/gst/gstmessage.c: (GST_START_TEST):
2311         * check/gst/gststructure.c: (GST_START_TEST),
2312         (gst_structure_suite), (main):
2313           more testing
2314         * gst/gstelement.c: (gst_element_message_full):
2315           clean up GError and debug string now that they get copied
2316         * gst/gstmessage.c: (gst_message_new_error),
2317         (gst_message_new_warning), (gst_message_parse_error),
2318         (gst_message_parse_warning):
2319           use GST_TYPE_G_ERROR for structure_new, and take copies of
2320           arguments, so that we don't mess up refcounting
2321
2322 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2323
2324         * check/Makefile.am:
2325           add per-test valgrind targets
2326         * check/gst-libs/gdp.c: (GST_START_TEST),
2327         (gst_data_protocol_suite), (main):
2328           clean up
2329
2330 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2331
2332         * check/Makefile.am:
2333           instate more valgrindable tests
2334         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2335         (GST_START_TEST), (fakesrc_suite):
2336         * check/gst/gstpad.c: (GST_START_TEST):
2337         * check/gst/gststructure.c: (GST_START_TEST):
2338           fix test leaks
2339         * docs/gst/tmpl/gstminiobject.sgml:
2340         * gst/gstpad.c: (gst_pad_finalize):
2341           fix the static mutex leak
2342
2343 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2344
2345         * check/Makefile.am:
2346           add two more tests for valgrinding
2347         * check/gst/gstvalue.c: (GST_START_TEST):
2348           test refcount of deserialized buffer, found a leak
2349         * docs/gst/gstreamer-docs.sgml:
2350         * docs/gst/gstreamer-sections.txt:
2351         * docs/gst/gstreamer.types:
2352         * docs/gst/tmpl/gstminiobject.sgml:
2353           add miniobject to docs
2354         * gst/gstminiobject.c:
2355           add some docs
2356         * gst/gstvalue.c: (gst_value_deserialize_buffer),
2357         (gst_string_unwrap):
2358           fix a hard-to-find invalid write for one of the tests
2359           fix a leak for deserialized buffers
2360
2361 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2362
2363         * docs/pwg/advanced-events.xml:
2364         * docs/pwg/advanced-request.xml:
2365         * docs/pwg/advanced-scheduling.xml:
2366         * docs/pwg/appendix-porting.xml:
2367         * docs/pwg/building-boiler.xml:
2368         * docs/pwg/intro-preface.xml:
2369         * docs/pwg/other-ntoone.xml:
2370           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
2371           of example code and explanation for pad activation, loop() and
2372           getrange() functions and a bit more. Remove old comments pointing
2373           to loop-functions.
2374         * examples/pwg/Makefile.am:
2375           Add loop/getrange examples.
2376
2377 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2378
2379         * configure.ac:
2380           check for valgrind binary + some fixes
2381         * check/gst.supp:
2382           valgrind suppressions for the tests
2383         * check/Makefile.am:
2384           add a valgrind: target that valgrinds the unit tests
2385         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
2386         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
2387         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2388         * check/gst/gstghostpad.c:
2389           added some cleanup
2390         * check/gst/gstdata.c:
2391           removed
2392         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
2393         (thread_unref), (gst_mini_object_suite), (main):
2394           added
2395         * gst/gst.c: (gst_deinit):
2396         * gst/gst.h:
2397           add a method to clean up.
2398         * gst/gstsystemclock.c: (gst_system_clock_dispose),
2399         (gst_system_clock_obtain):
2400           allow for disposing the system clock.
2401         * tools/gst-launch.c: (main):
2402           deinit
2403
2404 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
2405
2406         * docs/gst/tmpl/gstbasesrc.sgml:
2407         * docs/gst/tmpl/gstfakesrc.sgml:
2408         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2409         (gst_base_src_init), (gst_base_src_set_property),
2410         (gst_base_src_get_property), (gst_base_src_get_range),
2411         (gst_base_src_start):
2412         * gst/base/gstbasesrc.h:
2413           add num-buffers property
2414         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2415         (gst_fakesrc_init), (gst_fakesrc_set_property),
2416         (gst_fakesrc_get_property), (gst_fakesrc_create),
2417         (gst_fakesrc_start):
2418           remove num-buffers property
2419
2420 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2421
2422         * docs/gst/gstreamer-sections.txt:
2423         * docs/gst/tmpl/gstbasesink.sgml:
2424         * docs/gst/tmpl/gstbasesrc.sgml:
2425         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
2426         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
2427         (gst_base_sink_finalize), (gst_base_sink_set_clock),
2428         (gst_base_sink_set_property), (gst_base_sink_get_property),
2429         (gst_base_sink_handle_object), (gst_base_sink_event),
2430         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
2431         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
2432         (gst_base_sink_loop), (gst_base_sink_deactivate),
2433         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
2434         (gst_base_sink_change_state):
2435         * gst/base/gstbasesink.h:
2436         * gst/base/gstbasesrc.h:
2437         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
2438         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
2439         (gst_filesink_init):
2440           more macro splitting
2441
2442 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2443
2444         * gst/gstelement.c: (gst_element_get_bus):
2445           add debug
2446         * tools/gst-launch.c: (check_intr), (event_loop):
2447           fix bus leaks
2448
2449 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2450
2451         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
2452           fix a caps leak
2453
2454 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2455
2456         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2457         (gst_base_src_finalize):
2458           add finalize method and clean up properly
2459         * gst/gstpipeline.c: (gst_pipeline_dispose):
2460           add debug
2461
2462 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2463
2464         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
2465         (gst_bin_suite):
2466           add more things to check
2467         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
2468         * gst/gstelement.c:
2469           more debug
2470
2471 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2472
2473         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2474         (GST_START_TEST), (fakesrc_suite):
2475         * check/gst-libs/gdp.c: (GST_START_TEST):
2476         * check/gst/gst.c: (GST_START_TEST):
2477         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
2478         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
2479         * check/gst/gstbus.c: (GST_START_TEST):
2480         * check/gst/gstcaps.c: (GST_START_TEST):
2481         * check/gst/gstdata.c: (GST_START_TEST):
2482         * check/gst/gstelement.c: (GST_START_TEST):
2483         * check/gst/gstghostpad.c: (GST_START_TEST):
2484         * check/gst/gstiterator.c: (GST_START_TEST):
2485         * check/gst/gstmessage.c: (GST_START_TEST):
2486         * check/gst/gstobject.c: (GST_START_TEST):
2487         * check/gst/gstpad.c: (GST_START_TEST):
2488         * check/gst/gststructure.c: (GST_START_TEST):
2489         * check/gst/gstsystemclock.c: (GST_START_TEST),
2490         (gst_systemclock_suite):
2491         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2492         * check/gst/gstvalue.c: (GST_START_TEST):
2493         * check/pipelines/cleanup.c: (GST_START_TEST):
2494         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
2495         * check/states/sinks.c: (GST_START_TEST):
2496         * check/gstcheck.c: (gst_check_init):
2497         * check/gstcheck.h:
2498           add debugging category
2499           use GST_START_TEST now, so we add a debug line
2500
2501 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2502
2503         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
2504           add test for state change message on a bin
2505         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
2506           add another test
2507         * gst/gstbin.c: (gst_bin_init):
2508         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
2509         * gst/gstelement.c: (gst_element_post_message),
2510         (gst_element_set_state):
2511         * gst/gstelementfactory.c: (gst_element_factory_create):
2512         * gst/gstmessage.c: (gst_message_new):
2513         * gst/gstscheduler.c:
2514           various debugging additions and cleanups
2515
2516 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2517
2518         * check/Makefile.am:
2519         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
2520         (main):
2521           adding tests for elements
2522         * gst/gstelement.c: (gst_element_dispose):
2523
2524 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2525
2526         * gst/registries/gstlibxmlregistry.c: (load_feature):
2527           plug more leaks.  A simple gst_init() now is leakfree, yay.
2528
2529 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2530
2531         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
2532         (gst_xml_registry_load):
2533           plug another memleak
2534
2535 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2536
2537         * configure.ac:
2538           use GST_SET_ERROR_CFLAGS
2539         * docs/faq/cvs.xml:
2540           change to ERROR_CFLAGS
2541
2542 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2543
2544         * configure.ac:
2545           make GST_ERROR_CFLAGS overridable and re-enable Werror
2546         * docs/faq/cvs.xml:
2547           add a note about error CFLAGS
2548         * docs/gst/tmpl/gstfakesrc.sgml:
2549         * gst/elements/gstfakesrc.c:
2550           comment out some unused code
2551         * gst/gst.c: (split_and_iterate):
2552         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
2553         (load_feature):
2554           plug some memleaks
2555
2556 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2557
2558         * common/Makefile.am:
2559         * common/gtk-doc.mak:
2560         * docs/gst/Makefile.am:
2561           factor out gtk-doc.mak
2562
2563 2005-07-07  Wim Taymans  <wim@fluendo.com>
2564
2565         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
2566         (gst_thread_scheduler_dispose):
2567         Unlock the STREAM_LOCK completely.
2568
2569 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2570
2571         * check/Makefile.am:
2572         * check/elements/.cvsignore:
2573         * check/elements/gstfakesrc.c: (chain_func), (event_func),
2574         (START_TEST), (fakesrc_suite), (main):
2575         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2576         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
2577         (gst_fakesrc_create), (gst_fakesrc_start):
2578         * gst/elements/gstfakesrc.h:
2579           adding a first element test
2580
2581 2005-07-07  Andy Wingo  <wingo@pobox.com>
2582
2583         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
2584         debug message.
2585
2586 2005-07-07  Wim Taymans  <wim@fluendo.com>
2587
2588         * gst/gstquery.c:
2589         * gst/gstquery.h:
2590         Remove old types
2591
2592 2005-07-07  Wim Taymans  <wim@fluendo.com>
2593
2594         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
2595         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
2596         Allow subclasses to implement their own negotiation.
2597
2598 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2599
2600         * docs/design/part-gstbin.txt:
2601         * docs/design/part-gstpipeline.txt:
2602           Update design notes to reflect the movement of
2603           responsibility for bus handling from GstPipeline to
2604           GstBin
2605
2606 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2607
2608         * configure.ac:
2609           Remove unnecessary queue2/3/4 examples.
2610
2611 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
2612
2613         * examples/Makefile.am:
2614         * examples/helloworld/helloworld.c: (event_loop), (main):
2615         * examples/queue/queue.c: (event_loop), (main):
2616         * examples/queue2/queue2.c: (main):
2617           Update a couple of the examples to work again.
2618
2619         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2620         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
2621          Spelling corrections and extra debug.
2622         
2623         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
2624         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
2625         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
2626         * gst/gstbin.h:
2627         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
2628         (gst_pipeline_change_state):
2629         * gst/gstpipeline.h:
2630           Move the bus handler for children to the GstBin, and create a
2631           separate bus for receiving messages from children to the one the
2632           bus sends 'upwards' on.
2633
2634 2005-07-06  Wim Taymans  <wim@fluendo.com>
2635
2636         * gst/base/README:
2637         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2638         (gst_base_sink_handle_object), (gst_base_sink_loop),
2639         (gst_base_sink_change_state):
2640         * gst/base/gstbasesink.h:
2641         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2642         (gst_base_src_init), (gst_base_src_setcaps),
2643         (gst_base_src_getcaps), (gst_base_src_loop),
2644         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
2645         (gst_base_src_start), (gst_base_src_change_state):
2646         * gst/base/gstbasesrc.h:
2647         Make basesrc negotiate.
2648         Handle the case where preroll fails in basesink.
2649         Update README.
2650
2651 2005-07-06  Wim Taymans  <wim@fluendo.com>
2652
2653         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
2654         Implement the fixate function.
2655         Clean up acceptcaps.
2656
2657 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2658
2659         * docs/pwg/building-filterfactory.xml:
2660         * docs/pwg/pwg.xml:
2661           Remove never-written filter-factory chapter; I'll add the various
2662           base classes to part 4 ("other element types") later on.
2663
2664 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2665
2666         * docs/pwg/advanced-negotiation.xml:
2667         * docs/pwg/building-boiler.xml:
2668         * docs/pwg/building-pads.xml:
2669         * docs/pwg/pwg.xml:
2670         * examples/pwg/Makefile.am:
2671           Add a chapter on caps negotiation, simplify the original code
2672           samples a bit w.r.t. caps negotiation, add link to the advanced
2673           section. Add a bunch of examples showing different use cases of
2674           different types of caps negotiation. Upstream renegotiation isn't
2675           fully documented yet since nobody knows how that works.
2676
2677 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2678
2679         * check/gst/gstpad.c:
2680         * check/gstcheck.c:
2681         * gst/gstpad.c: (gst_pad_get_internal_links_default):
2682           if pad has no parent, return NULL as list of internal links
2683
2684 2005-07-05  Andy Wingo  <wingo@pobox.com>
2685
2686         * gst/elements/gstfilesrc.c:
2687         * gst/elements/gstfakesrc.c: 
2688         * gst/base/gstpushsrc.c:
2689         * gst/base/gstbasesrc.h: 
2690         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
2691         
2692 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
2693
2694         * Makefile.am:
2695           better report generation target (lcov needs a patch)
2696
2697 2005-07-05  Andy Wingo  <wingo@pobox.com>
2698
2699         * gst/elements, testsuite: Null if we got it...
2700
2701 2005-07-05  Wim Taymans  <wim@fluendo.com>
2702
2703         * configure.ac:
2704         * libs/gst/dataprotocol/Makefile.am:
2705         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
2706         * libs/gst/dataprotocol/dataprotocol.h:
2707         * pkgconfig/Makefile.am:
2708         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
2709         * pkgconfig/gstreamer-dataprotocol.pc.in:
2710         Ported dataprotol to 0.9. 
2711         Added pkgconfig files.
2712
2713 2005-07-05  Andy Wingo  <wingo@pobox.com>
2714
2715         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
2716         Default to returning TRUE for the case when tranform_caps returns
2717         a fixed caps, like for identity or volume.
2718
2719         * check/gst/gstbus.c (pound_bus_with_messages): 
2720         * check/gst/gstmessage.c (START_TEST): 
2721         * check/pipelines/simple_launch_lines.c (got_handoff): Application
2722         message API change.
2723
2724         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
2725         logic weaks here: always run transform_caps, trying passthrough
2726         operation only if the original caps intersects with the transform.
2727
2728         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
2729         source and sink caps.
2730
2731         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
2732         Intersect the peer caps with the pad template before going into
2733         transform_caps.
2734         (gst_base_transform_transform_caps): More debugging.
2735
2736         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
2737         src argument.
2738
2739 2005-07-04  Edward Hervey  <edward@fluendo.com>
2740
2741         * gst/gstutils.c:
2742         * gst/gstutils.h:
2743         (gst_pad_add_*_probe): now returns the signal id for better wrapping
2744         in bindings.
2745
2746 2005-07-04  Andy Wingo  <wingo@pobox.com>
2747
2748         * check/gst/gstpad.c: Only set explicit caps on pads.
2749
2750 2005-07-01  Andy Wingo  <wingo@pobox.com>
2751
2752         * tests/network-clock.scm: Commentary update.
2753
2754         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
2755         Didn't really make sense, not implementable with basetransform,
2756         etc.
2757         (gst_identity_transform): Unref inbuf via make_writable. Feeble
2758         attempt at implementing the sync property, needs an unlock method.
2759
2760         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
2761         New func, by default returns the same caps (the identity
2762         transformation).
2763         (gst_base_transform_getcaps): Uses transform_caps to return
2764         something sensible.
2765         (gst_base_transform_setcaps): Complicated logic to get caps on
2766         both pads, even if they are different, and to call set_caps once
2767         for every time both pads get their caps set.
2768         (gst_base_transform_handle_buffer): Give the ref to the transform
2769         function. Allows in-place modification of the buffer.
2770
2771         * gst/base/gstbasetransform.h (transform_caps): New class method.
2772         Given caps on one side, what can I do on the other.
2773         (set_caps): Take two caps, one for each side of the element.
2774
2775         * gst/gstpad.h:
2776         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
2777         caps in place. This is safe because we can check the mutability of
2778         the caps, and a good idea because fixate functions are just called
2779         as a matter of last resort. (Not actually implemented.)
2780         (gst_pad_set_caps): If the caps we're setting is actually the same
2781         as the existing pad caps, just update the pointer without calling
2782         setcaps. Assert that caps is either NULL or fixed, as per the
2783         docs.
2784
2785         * gst/gstghostpad.c: Update for fixate changes.
2786
2787 2005-07-02  Andy Wingo  <wingo@pobox.com>
2788
2789         * gst/gstcaps.c:
2790         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
2791         two refcounts makes it immutable, which is enough. Doc more.
2792
2793 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
2794
2795         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
2796           Put the mini_object into GValue as a mini_object,
2797           not a gpointer, since that's how we declared
2798           the signal.
2799
2800 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2801
2802         * examples/pwg/Makefile.am:
2803           Fix buildbot again.
2804
2805 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2806
2807         * docs/pwg/building-testapp.xml:
2808           Add extra check.
2809         * examples/pwg/Makefile.am:
2810           Fix buildbot.
2811
2812 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2813
2814         * configure.ac:
2815         * examples/Makefile.am:
2816         * examples/pwg/Makefile.am:
2817         * examples/pwg/extract.pl:
2818           Enable building the PWG examples.
2819         * docs/pwg/advanced-interfaces.xml:
2820           Add URI interface stub.
2821         * docs/pwg/advanced-types.xml:
2822         * docs/pwg/other-autoplugger.xml:
2823         * docs/pwg/appendix-porting.xml:
2824         * docs/pwg/pwg.xml:
2825           Add porting guide (mostly stubs), remove autoplugging (see ADM).
2826         * docs/pwg/building-boiler.xml:
2827         * docs/pwg/building-chainfn.xml:
2828         * docs/pwg/building-pads.xml:
2829         * docs/pwg/building-props.xml:
2830         * docs/pwg/building-state.xml:
2831         * docs/pwg/building-testapp.xml:
2832           Update the building-*.xml parts for 0.9 changes. All examples
2833           code blocks compile in examples/pwg/*.
2834
2835 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2836
2837         * docs/manual/advanced-autoplugging.xml:
2838         * docs/manual/appendix-checklist.xml:
2839         * docs/manual/appendix-integration.xml:
2840         * docs/manual/highlevel-components.xml:
2841           Fix playbin/decodebin examples, update docs a bit, mention bus
2842           instead of signals in various places, mention kmplayer and
2843           kaffeine since they have a working GStreamer backend in the KDE
2844           section.
2845
2846 2005-06-30  Wim Taymans  <wim@fluendo.com>
2847
2848         * CHANGES-0.9:
2849         * docs/design/draft-ghostpads.txt:
2850         * docs/design/draft-push-pull.txt:
2851         * docs/design/draft-query.txt:
2852         * docs/design/part-TODO.txt:
2853         * docs/design/part-query.txt:
2854         Added CHANGES-0.9 doc, updated status of other docs.
2855         
2856         * gst/gstquery.h:
2857         Remove "hmm" macro
2858
2859 2005-06-30  Wim Taymans  <wim@fluendo.com>
2860
2861         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
2862         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
2863         (gst_base_sink_change_state):
2864         * gst/base/gstbasesink.h:
2865         Some tweaks, only EOS and a buffer complete a preroll.
2866
2867 2005-06-30  Andy Wingo  <wingo@pobox.com>
2868
2869         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
2870         activate_push down to the internal pad as well.
2871
2872 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
2873
2874         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2875
2876         * gst/gsttaginterface.c:
2877           Some documentation fixes (#307394 and #307397).
2878
2879 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
2880
2881         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2882
2883         * gst/gstvalue.c: (gst_value_intersect_list):
2884           Fix memleak (#309125).
2885
2886 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2887
2888         * docs/manual/advanced-dataaccess.xml:
2889           Fix fakesrc example to compile; doesn't work, bug somewhere...?
2890         * docs/manual/basics-pads.xml:
2891           Add reference for filtered caps to above chapter.
2892
2893 2005-06-30  Wim Taymans  <wim@fluendo.com>
2894
2895         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
2896         (gst_bin_change_state):
2897         Probes are gone.
2898         Lame attempt at making the state change function a bit
2899         more readable.
2900
2901 2005-06-30  Wim Taymans  <wim@fluendo.com>
2902
2903         * docs/design/part-clocks.txt:
2904         * docs/design/part-element-sink.txt:
2905         * docs/design/part-events.txt:
2906         * docs/design/part-preroll.txt:
2907         * docs/design/part-states.txt:
2908         Some more tweeks and additions to the docs.
2909
2910 2005-06-30  Wim Taymans  <wim@fluendo.com>
2911
2912         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2913         (default_have_data), (gst_pad_class_init), (gst_pad_init),
2914         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2915         (gst_pad_check_pull_range), (gst_pad_get_range),
2916         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
2917         * gst/gstpad.h:
2918         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
2919         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2920         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2921         (gst_pad_remove_buffer_probe):
2922         Removed atomic operations, use existing LOCK.
2923         Move exception handling out of main code path.
2924
2925 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2926
2927         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2928         (silly_return_true_function), (gst_pad_class_init),
2929         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
2930         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
2931         (gst_pad_send_event):
2932           Fix accumulator, add default value by using _emitv() instead
2933           of _emit() for signal emission.
2934
2935 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2936
2937         * docs/manual/advanced-dataaccess.xml:
2938         * examples/manual/Makefile.am:
2939           Add probe example.
2940         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
2941           Make work (??).
2942
2943 2005-06-29  Tim-Philipp M??ller  <tim at centricular dot net>
2944
2945         * gst/elements/gstfilesink.c: (gst_filesink_render):
2946           Simplify code so that we don't have to handle short
2947           writes and return GST_FLOW_ERROR if an error occured.
2948
2949 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2950
2951         * docs/gst/gstreamer-docs.sgml:
2952           Remove probes more.
2953
2954 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2955
2956         * docs/gst/gstreamer-sections.txt:
2957         * docs/gst/tmpl/gstpad.sgml:
2958         * docs/gst/tmpl/gstprobe.sgml:
2959         * gst/Makefile.am:
2960         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
2961         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
2962         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2963         (gst_pad_push_event), (gst_pad_send_event):
2964         * gst/gstpad.h:
2965         * gst/gstutils.c: (gst_pad_add_data_probe),
2966         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2967         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2968         (gst_pad_remove_buffer_probe):
2969         * gst/gstutils.h:
2970           Remove old probes, add new g-signal-based probes and some utility
2971           functions.
2972
2973 2005-06-29  Edward Hervey  <edward@fluendo.com>
2974
2975         * gst/gstelementfactory.c:
2976         * gst/gstutils.h:
2977         * gst/gstutils.c:
2978         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
2979         the definition to the header file.
2980
2981 2005-06-29  Andy Wingo  <wingo@pobox.com>
2982
2983         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
2984         plugins from the source directory.
2985
2986 2005-06-29  Wim Taymans  <wim@fluendo.com>
2987
2988         * docs/gst/tmpl/gstbuffer.sgml:
2989         * docs/gst/tmpl/gstclock.sgml:
2990         Some fixings for blantently wrong text.
2991
2992 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2993
2994         * check/Makefile.am:
2995         * gst/gst.c: (add_path_func), (init_pre):
2996         * gst/gstregistry.c: (gst_registry_add_path):
2997           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
2998           only scan the GST_PLUGIN_PATH locations, and not add
2999           system locations
3000
3001 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3002
3003         * docs/gst/gstreamer-sections.txt:
3004         * docs/gst/tmpl/gstbasesrc.sgml:
3005         * gst/gstelement.c:
3006         * gst/gstelement.h:
3007         * gst/gstevent.c:
3008         * gst/gstutils.c:
3009           doc fixes
3010
3011 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3012
3013         * docs/manual/advanced-autoplugging.xml:
3014           Fix autoplugging example.
3015
3016 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3017
3018         * docs/manual/advanced-autoplugging.xml:
3019         * docs/manual/mime-world.fig:
3020           Try to get autoplugging working, fix type detection. Fix text
3021           in hello-world image.
3022
3023 2005-06-29  Wim Taymans  <wim@fluendo.com>
3024
3025         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3026         (gst_base_sink_change_state):
3027         Small debug line.
3028
3029         * gst/gstclock.h:
3030         map SIGNAL and BROADCAST to the right function.
3031
3032         * gst/gstobject.h:
3033         Remove redundant braces.
3034
3035         * gst/gstpad.c: (gst_pad_set_caps):
3036         Don't call setcaps function when reseting caps to NULL.
3037
3038         * gst/gstsystemclock.c: (gst_system_clock_dispose),
3039         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
3040         (gst_system_clock_id_unschedule):
3041         Use BROADCAST as this is what we do.
3042
3043 2005-06-29  Wim Taymans  <wim@fluendo.com>
3044
3045         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3046         We are actually prerolling before commiting the state
3047         change. 
3048
3049 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3050
3051         * docs/manual/advanced-clocks.xml:
3052         * docs/manual/advanced-interfaces.xml:
3053         * docs/manual/advanced-metadata.xml:
3054         * docs/manual/advanced-position.xml:
3055         * docs/manual/advanced-schedulers.xml:
3056         * docs/manual/advanced-threads.xml:
3057         * docs/manual/appendix-porting.xml:
3058         * docs/manual/basics-bins.xml:
3059         * docs/manual/basics-bus.xml:
3060         * docs/manual/basics-elements.xml:
3061         * docs/manual/basics-helloworld.xml:
3062         * docs/manual/basics-pads.xml:
3063         * docs/manual/highlevel-components.xml:
3064         * docs/manual/manual.xml:
3065         * docs/manual/thread.fig:
3066           Update (until threads/scheduling) Application Development Manual;
3067           remove GstThread, add GstBus, add simple porting checklist, add
3068           documentation for tag writing, clocks, make all examples until this
3069           part compile and run.
3070         * examples/manual/Makefile.am:
3071           Update from changes to Application Development Manual; add bus
3072           example, remove thread example.
3073
3074 2005-06-28  Wim Taymans  <wim@fluendo.com>
3075
3076         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
3077         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
3078         (gst_bus_source_dispatch):
3079         Add debugging messages.
3080         Make internal methods static.
3081         Handle the case where the bus is flushed in the handler.
3082         
3083         * gst/gstelement.c: (gst_element_get_bus):
3084         Fix refcount in _get_bus();
3085
3086         * gst/gstpipeline.c: (gst_pipeline_change_state),
3087         (gst_pipeline_get_clock_func):
3088         Clock refcounting fixes.
3089         Handle the case where preroll timed out more gracefully.
3090         
3091         * gst/gstsystemclock.c: (gst_system_clock_dispose):
3092         Clean up the internal thread in dispose. This is needed
3093         for subclasses that actually get disposed.
3094         
3095         * gst/schedulers/threadscheduler.c:
3096         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
3097         (gst_thread_scheduler_dispose):
3098         Free thread pool in dispose.
3099
3100 2005-06-28  Andy Wingo  <wingo@pobox.com>
3101
3102         * tests/network-clock-utils.scm (debug, print-event): New utils.
3103
3104         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
3105         (*packet-loss*): Unified loss probability.
3106         (network-time): Report out-of-band events.
3107
3108         * tests/plot-data: Add support for out-of-band events. Hack it
3109         into this script instead of passing it down the pipe; should fix
3110         this later.
3111
3112 2005-06-28  Wim Taymans  <wim@fluendo.com>
3113
3114         * docs/gst/gstreamer.types:
3115         * docs/gst/tmpl/gstbasesrc.sgml:
3116         * docs/gst/tmpl/gstpad.sgml:
3117         Docs fixes.
3118
3119 2005-06-28  Wim Taymans  <wim@fluendo.com>
3120
3121         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
3122         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
3123         (gst_proxy_pad_do_fixatecaps):
3124         Correctly proxy the check_pull_range function.
3125
3126 2005-06-28  Andy Wingo  <wingo@pobox.com>
3127
3128         * tests/network-clock.scm: Removed need for slib.
3129         
3130 2005-06-28  Wim Taymans  <wim@fluendo.com>
3131
3132         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
3133         (gst_basesink_preroll_queue_flush):
3134         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
3135         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
3136         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
3137         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
3138         (gst_proxy_pad_set_property):
3139         * gst/gstpad.c:
3140         * gst/gstpad.h:
3141         * gst/gstqueue.c: (gst_queue_init):
3142         The deprecated pad loop function is removed now.
3143
3144 2005-06-28  Andy Wingo  <wingo@pobox.com>
3145
3146         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
3147         New parameters, simulate network packet loss.
3148
3149         * tests/network-clock-utils.scm: Initialize the RNG.
3150
3151 2005-06-28  Wim Taymans  <wim@fluendo.com>
3152
3153         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
3154         (gst_basesink_event), (gst_basesink_deactivate):
3155         Flushing the preroll queue always needs to unlock the waiters.
3156
3157 2005-06-28  Edward Hervey  <edward@fluendo.com>
3158
3159         * gst/gstpipeline.c: (gst_pipeline_send_event): 
3160         Wheen a seek was successful on a pipeline, set the stream_time to the
3161         seek offset in order to have a synchronized stream_time.
3162
3163 2005-06-28  Wim Taymans  <wim@fluendo.com>
3164
3165         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
3166         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
3167         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
3168         (gst_proxy_pad_do_fixatecaps):
3169         Call wrapper function instead of just calling the function
3170         pointers. This takes care of any locking and whatmore.
3171
3172 2005-06-28  Wim Taymans  <wim@fluendo.com>
3173
3174         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
3175         (gst_pad_pull_range):
3176         * gst/gstpad.h:
3177         CONNECTED -> LINKED.
3178
3179 2005-06-28  Andy Wingo  <wingo@pobox.com>
3180
3181         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
3182         source-munging commit!!!
3183
3184         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
3185         (gst_object_sink): Take gpointer arguments, not GstObject --
3186         avoids casts. Like GLib.
3187
3188         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
3189         activate.
3190
3191 2005-06-27  Andy Wingo  <wingo@pobox.com>
3192
3193         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
3194         remaining buffer.
3195
3196         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
3197         returns a sorted copy of the trace list.
3198         (gst_alloc_trace_print_live): New API, only prints traces with
3199         live objects. Sort the list.
3200         (gst_alloc_trace_print_all): Sort the list.
3201         (gst_alloc_trace_print): Align columns.
3202
3203         * gst/elements/gstttypefindelement.c:
3204         * gst/elements/gsttee.c:
3205         * gst/base/gstbasesrc.c:
3206         * gst/base/gstbasesink.c:
3207         * gst/base/gstbasetransform.c:
3208         * gst/gstqueue.c: Adapt for pad activation changes.
3209
3210         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
3211         sched.
3212         (gst_pipeline_dispose): Drop ref on sched.
3213
3214         * gst/gstpad.c (gst_pad_init): Set the default activate func.
3215         (gst_pad_activate_default): Push mode by default.
3216         (pre_activate_switch, post_activate_switch): New stubs, things to
3217         do before and after switching activation modes on pads.
3218         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
3219         the pad's activate function to choose which mode to activate.
3220         Shortcut on deactivation and call the right function directly.
3221         (gst_pad_activate_pull): New API, (de)activates a pad in pull
3222         mode.
3223         (gst_pad_activate_push): New API, same for push mode.
3224         (gst_pad_set_activate_function) 
3225         (gst_pad_set_activatepull_function) 
3226         (gst_pad_set_activatepush_function): Setters for new API.
3227
3228         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
3229         Trace all miniobjects.
3230         (gst_mini_object_make_writable): Unref the arg if we copy, like
3231         gst_caps_make_writable.
3232
3233         * gst/gstmessage.c (_gst_message_initialize): No trace init.
3234
3235         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
3236         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
3237         Adapt for new pad API.
3238
3239         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
3240
3241         * gst/gstelement.h:
3242         * gst/gstelement.c (gst_element_iterate_src_pads) 
3243         (gst_element_iterate_sink_pads): New API functions.
3244         
3245         * gst/gstelement.c (iterator_fold_with_resync): New utility,
3246         should fold into gstiterator.c in some form.
3247         (gst_element_pads_activate): Simplified via use of fold and
3248         delegation of decisions to gstpad->activate.
3249
3250         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
3251         help in debugging.
3252
3253         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
3254         class once in init, like gstmessage. Didn't run into this issue
3255         but it seems correct. Don't initialize a trace, gstminiobject does
3256         that.
3257
3258         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
3259         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
3260         to the bus.
3261         (assert_live_count): New util function, uses alloc traces to check
3262         cleanup.
3263
3264         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
3265         To be modified when unlink drops the internal pad.
3266
3267 2005-06-27  Wim Taymans  <wim@fluendo.com>
3268
3269         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
3270         (gst_bin_change_state):
3271         Cleanup the get_state() function a little, make sure it
3272         iterates the same set of elements.
3273         Added stub iterate_state_order().
3274
3275 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
3276
3277         * docs/gst/gstreamer-docs.sgml:
3278         * docs/gst/gstreamer-sections.txt:
3279         * docs/gst/gstreamer.types:
3280         * docs/gst/tmpl/gstbasesink.sgml:
3281         * docs/gst/tmpl/gstbasesrc.sgml:
3282         * docs/gst/tmpl/gstbasetransform.sgml:
3283         * docs/gst/tmpl/gstelement.sgml:
3284         * docs/gst/tmpl/gstiterator.sgml:
3285         * gst/base/gstbasesrc.c:
3286         * gst/base/gstbasesrc.h:
3287         * gst/base/gstbasetransform.h:
3288         * gst/gstelement.c:
3289         * gst/gstiterator.h:
3290           adding basetransform and iterator docs
3291
3292 2005-06-27  Andy Wingo  <wingo@pobox.com>
3293
3294         * docs/design/part-activation.txt: Notes on how activation should
3295         work -- not quite implemented yet.
3296
3297 2005-06-25  Wim Taymans  <wim@fluendo.com>
3298
3299         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
3300         At least get the chain function correct, needs more
3301         fixing.
3302
3303 2005-06-25  Wim Taymans  <wim@fluendo.com>
3304
3305         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3306         (gst_basesink_handle_object), (gst_basesink_event),
3307         (gst_basesink_do_sync), (gst_basesink_handle_event),
3308         (gst_basesink_change_state):
3309         * gst/gsttask.h:
3310         Right, two problems here: ghostpads don't take locks and
3311         glib _rec_mutex_lock_full() with depth==0 still locks.
3312         Catch illegal locking and g_warn them.
3313
3314 2005-06-25  Wim Taymans  <wim@fluendo.com>
3315
3316         * check/states/sinks.c: (START_TEST), (gst_object_suite):
3317         Have to check for completion now...
3318
3319 2005-06-25  Wim Taymans  <wim@fluendo.com>
3320
3321         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3322         (gst_basesink_handle_object), (gst_basesink_event),
3323         (gst_basesink_do_sync), (gst_basesink_handle_event),
3324         (gst_basesink_change_state):
3325         * gst/gstpad.h:
3326         Unlock STREAM_LOCK whatever the recursion was.
3327
3328 2005-06-25  Wim Taymans  <wim@fluendo.com>
3329
3330         * gst/base/gstbasesink.c: (gst_basesink_set_property),
3331         (gst_basesink_preroll_queue_empty),
3332         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
3333         (gst_basesink_event), (gst_basesink_do_sync),
3334         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
3335         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
3336         (gst_basesink_change_state):
3337         Reworked the base sink, handle event and buffer serialisation
3338         correctly and removed possible deadlock.
3339         Handle EOS correctly.
3340
3341 2005-06-25  Wim Taymans  <wim@fluendo.com>
3342
3343         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
3344         (gst_pipeline_change_state):
3345         * tools/gst-launch.c: (check_intr), (event_loop), (main):
3346         Allow elements to post EOS in the state change function.
3347         Fix up -launch, make it exit the poll loop when the
3348         pipeline actually changed state.
3349         Fix up warning parsing in -launch.
3350
3351 2005-06-25  Wim Taymans  <wim@fluendo.com>
3352
3353         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
3354         (gst_tee_sink_activate):
3355         Core takes STREAM_LOCK for us now.
3356
3357 2005-06-25  Wim Taymans  <wim@fluendo.com>
3358
3359         * gst/gstelement.c: (gst_element_get_state_func),
3360         (gst_element_set_state):
3361         * gst/gstelement.h:
3362         * gst/gstmessage.c: (gst_message_parse_error),
3363         (gst_message_parse_warning):
3364         Keep track of current target state while performing a state
3365         change so that subclasses can do something interesting.
3366         Fix parsing of warning/error messages when GError is NULL.
3367
3368 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3369
3370         * docs/gst/Makefile.am:
3371         * docs/gst/gstreamer-docs.sgml:
3372         * docs/gst/gstreamer-sections.txt:
3373         * docs/gst/gstreamer.types:
3374         * docs/gst/tmpl/gstbasesink.sgml:
3375         * docs/gst/tmpl/gstbasesrc.sgml:
3376         * docs/gst/tmpl/gstbin.sgml:
3377         * docs/gst/tmpl/gstcompat.sgml:
3378         * docs/gst/tmpl/gstfakesink.sgml:
3379         * docs/gst/tmpl/gstfakesrc.sgml:
3380         * docs/gst/tmpl/gstfilesink.sgml:
3381         * docs/gst/tmpl/gstfilesrc.sgml:
3382         * docs/gst/tmpl/gstindex.sgml:
3383         * docs/manual/appendix-quotes.xml:
3384         * gst/base/gstbasesrc.h:
3385         * gst/elements/gstfakesrc.h:
3386         * gst/gstmessage.h:
3387           start pulling in base classes and elements in our docs
3388
3389 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
3390
3391         * docs/gst/Makefile.am:
3392         * docs/libs/Makefile.am:
3393           fixed make distcheck with gtk-doc 1.3
3394
3395 2005-06-23  Wim Taymans  <wim@fluendo.com>
3396
3397         * gst/gstelement.c: (gst_element_get_state_func),
3398         (gst_element_set_state), (gst_element_change_state):
3399         When the state did not change, also report NO_PREROLL
3400         when it matters.
3401
3402 2005-06-23  Wim Taymans  <wim@fluendo.com>
3403
3404         * gst/gstpad.c: (gst_pad_event_default):
3405         * gst/gstqueue.c: (gst_queue_loop):
3406         No unsafe task pausing please.
3407
3408 2005-06-23  Wim Taymans  <wim@fluendo.com>
3409
3410         * gst/schedulers/threadscheduler.c:
3411         (gst_thread_scheduler_task_start),
3412         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
3413         Ref the task before pushing it on the threadpool. This
3414         makes sure that we have a ref when the threadfunction is
3415         actually called.
3416
3417 2005-06-23  Andy Wingo  <wingo@pobox.com>
3418
3419         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
3420         offset is greater than the file's size.
3421
3422         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
3423         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
3424         * gst/gstobject.c (gst_object_class_init): Make the class lock
3425         recursive. Wim won't let me drop deep_notify. Decodebin works
3426         again, whoopdy doo.
3427
3428         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
3429         internal pad, and hacks accordingly. Doesn't do it on the target
3430         pad because we change its caps. Probably catches all cases of
3431         interest tho.
3432         (gst_ghost_pad_set_property): Connect to notify::caps as
3433         appropritate.
3434
3435         * tests/network-clock.scm (plot-simulation): Pipe data to the
3436         elite python skript.
3437
3438         * tests/network-clock-utils.scm (define-parameter): New macro,
3439         defines a parameter that can be set via the command line.
3440         (set-parameter!, parse-parameter-arguments): Command line args
3441         parser.
3442
3443         * tests/plot-data: Simple matplotlib-based plotter, takes input on
3444         stdin.
3445
3446 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
3447
3448         * gst/elements/gsttypefindelement.c:
3449         (gst_type_find_element_handle_event):
3450           Don't restart typefinding on a discont.
3451         * gst/gstelement.c: (gst_element_set_state):
3452           Debug spelling fix.
3453         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
3454           Allow changing mode of an active pad.
3455           Debug output fixes.
3456         * gst/registries/gstlibxmlregistry.c: (load_feature):
3457           Don't cast a static pad template to a normal pad template.
3458
3459 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3460
3461         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3462         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3463           remove gst_strtoll completely, since it didn't actually do
3464           anything more than what g_ascii_strtoull already does.
3465           check for range errors when deserializing
3466           do a cast for the unsigned cases; but further fixing needs
3467           a decision on what the interpretation of "(int)" and
3468           deserialization should be for values that fall outside the
3469           type's boundaries (ie, refuse, or interpret as casting)
3470
3471 2005-06-23  Wim Taymans  <wim@fluendo.com>
3472
3473         * check/Makefile.am:
3474         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
3475         * docs/design/part-live-source.txt:
3476         * docs/design/part-states.txt:
3477         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3478         (gst_basesrc_set_live), (gst_basesrc_is_live),
3479         (gst_basesrc_get_range), (gst_basesrc_activate),
3480         (gst_basesrc_change_state):
3481         * gst/base/gstbasesrc.h:
3482         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3483         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3484         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
3485         * gst/gstelement.c: (gst_element_get_state_func),
3486         (gst_element_set_state):
3487         * gst/gstelement.h:
3488         * gst/gsttypes.h:
3489         * tools/gst-launch.c: (event_loop), (main):
3490         Added support for live sources and other elements that
3491         cannot do preroll.
3492         Updated design docs, added live-source design doc.
3493         Implemented live source functionality in basesrc
3494         Fix error condition in _bin_get_state()
3495         Implement live source handling in -launch.
3496         Added check for live sources.
3497         Fixed case in GstBin where elements were changed state
3498         multiple times.
3499
3500
3501 2005-06-23  Andy Wingo  <wingo@pobox.com>
3502
3503         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
3504         borken refcounting.
3505
3506         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
3507         gst_caps_replace takes care of this for us.
3508
3509         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
3510         gst_pad_set_caps on the target, not just its setcaps() function.
3511
3512         * tests/network-clock.scm: 
3513         * tests/network-clock-utils.scm: A network clock simulator.
3514         Something of an algorithmic testbed before doing something in C.
3515
3516 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3517
3518         * check/Makefile.am:
3519         * check/gst/capslist.h:
3520           copy over from 0.8, and add two with bitmasks specified with
3521           (int) 0xFF...
3522         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
3523           add test to parse everything from capslist.h
3524         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
3525         (main):
3526           add test for structure deserialization
3527         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3528           add tests for deserialization of strings to int types
3529         * gst/gststructure.c: (gst_structure_nth_field_name):
3530         * gst/gststructure.h:
3531           add a way to get the name of a field referenced by index
3532         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
3533           instead of checking if the resulting long long lies between
3534           min and max, we check if the long long would fit into
3535           a number of bytes for the final type.
3536           This fixes cases where a string represents 2^32 - 1, which
3537           when cast to int would be the (valid) -1, but is bigger than
3538           G_MAXINT
3539
3540 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3541
3542         * gst/parse/grammar.y:
3543           add a log line for type deserialization
3544
3545 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3546
3547         * check/gst/gstvalue.c: (START_TEST):
3548         * gst/gstvalue.c: (gst_value_deserialize):
3549           return long long, not int, so gint64 deserialization actually
3550           works.  Is there any flag that makes the compiler check this ?
3551           Fixes #308559
3552
3553 2005-06-22  Wim Taymans  <wim@fluendo.com>
3554
3555         * gst/gstbuffer.h:
3556         Added convenience macros for setting buffers in GValue.
3557
3558 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3559
3560         * check/gst/.cvsignore:
3561         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
3562           add a test deserializing int64, and comment part out because
3563           it fails, yay !
3564
3565 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
3566
3567         * check/Makefile.am:
3568         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
3569         * testsuite/Makefile.am:
3570         * testsuite/caps/Makefile.am:
3571         * testsuite/caps/value_serialize.c:
3572         * testsuite/test_gst_init.c:
3573           move a value_serialize test over
3574
3575 2005-06-20  Wim Taymans  <wim@fluendo.com>
3576
3577         * gst/gstpad.c:
3578         Small doc updates.
3579         
3580         * gst/gstvalue.c: (gst_value_compare_buffer),
3581         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
3582         (gst_value_compare_flags), (gst_value_serialize_flags),
3583         (gst_value_deserialize_flags), (_gst_value_initialize):
3584         Fix serialisation of buffers, they are not boxed types anymore
3585
3586 2005-06-20  Wim Taymans  <wim@fluendo.com>
3587
3588         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
3589         Testcase to show error in buffer-on-caps serialisation.
3590
3591 2005-06-20  Andy Wingo  <wingo@pobox.com>
3592
3593         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
3594         will be adding to later.
3595
3596         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
3597         if its socks fill with rocks.
3598         (gst_system_clock_obtain): Set the name on object construction.
3599         Avoid double-checked locking.
3600
3601 2005-06-20  Tim-Philipp M??ller  <tim at centricular dot net>
3602
3603         * gst/gsturi.c: (gst_element_make_from_uri):
3604           Fix potential endless loop.
3605
3606 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3607
3608         * check/Makefile.am:
3609           add gsttag
3610         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
3611         (main):
3612           move over from testsuite dir and clean up
3613         * configure.ac:
3614         * gst/gsttag.c:
3615         * testsuite/Makefile.am:
3616         * testsuite/tags/.cvsignore:
3617         * testsuite/tags/Makefile.am:
3618         * testsuite/tags/merge.c:
3619           remove testsuite/tags
3620
3621 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3622
3623         * docs/gst/gstreamer-sections.txt:
3624         * docs/gst/tmpl/gstenumtypes.sgml:
3625         * win32/gstenumtypes.c:
3626           clean up documentation build a little
3627
3628 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3629
3630         * check/gstcheck.h:
3631           add macros for checking refcounts on objects and caps
3632         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
3633           add some more unit tests
3634         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3635         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
3636           fix leaked refcounts (I hope :)) so unittest works
3637         * gst/gstpad.h:
3638           whitespace removal
3639
3640 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3641
3642         * configure.ac: back to HEAD
3643
3644 === release 0.9.1 ===
3645
3646 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3647
3648         * NEWS:
3649         * RELEASE:
3650           updated
3651
3652 2005-06-17  Andy Wingo  <wingo@pobox.com>
3653
3654         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
3655         assert; it's always possible that the pad gets deactivated in
3656         between the checks in gstpad.c and the implementation. Rely on
3657         finish_preroll() to return a FLUSHING or similar instead of on the
3658         assert.
3659         
3660         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
3661         clock and post an EOS message if we come out of finish_preroll in
3662         the playing state.
3663
3664 2005-06-16  David Schleef  <ds@schleef.org>
3665
3666         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3667         (gst_capsfilter_set_property): Allow NULL as possible value
3668         for filter_caps property, indicating GST_CAPS_ANY.
3669
3670 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3671
3672         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
3673           fix debug output
3674         * gst/schedulers/Makefile.am:
3675           use libgst prefix
3676         * gstreamer.spec.in:
3677           fix spec for it
3678
3679 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3680
3681         * gstreamer.spec.in:
3682           clean up
3683
3684 2005-06-08  Andy Wingo  <wingo@pobox.com>
3685
3686         * gst/gstutils.c: RPAD fixes all around.
3687         (gst_element_link_pads): Refcounting fixes.
3688
3689         * tools/gst-inspect.c:
3690         * tools/gst-xmlinspect.c:
3691         * parse/grammar.y:
3692         * gst/base/gsttypefindhelper.c:
3693         * gst/base/gstbasesink.c:
3694         * gst/gstqueue.c: RPAD fixes.
3695
3696         * gst/gstghostpad.h:
3697         * gst/gstghostpad.c: New ghost pad implementation as full proxy
3698         pads. The tricky thing is they provide both source and sink
3699         interfaces, since they proxy the internal pad for the external
3700         pad, and vice versa. Implement with lower-level ProxyPad objects,
3701         with the interior proxy pad as a child of the exterior ghost pad.
3702         Should write a doc on this.
3703         
3704         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
3705         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
3706         gst_object API.
3707         
3708         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
3709         pads are real pads. No ghost pads in this file. Not documenting
3710         the myriad s/RPAD/PAD/ and REALIZE fixes.
3711         (gst_pad_class_init): Add properties for "direction" and
3712         "template". Both are construct-only, so they can't change during
3713         the life of the pad. Fixes properly deriving from GstPad.
3714         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
3715         derived objects, just set properties when creating the objects via
3716         g_object_new.
3717         (gst_pad_get_parent): Implement as a function, return NULL if the
3718         parent is not an element.
3719         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
3720         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
3721         
3722         * gst/gstobject.c (gst_object_class_init): Make name a construct
3723         property. Don't set it in the object init.
3724
3725         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
3726         with UNKNOWN direction.
3727         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
3728         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
3729         (gst_element_remove_pad): Remove ghost-pad special cases.
3730         (gst_element_pads_activate): Remove rpad cruft.
3731
3732         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
3733         catch the pad's-parent-not-an-element case.
3734
3735         * gst/gst.h: Include gstghostpad.h.
3736
3737         * gst/gst.c (init_post): No more real, ghost pads.
3738
3739         * gst/Makefile.am: Add gstghostpad.[ch].
3740
3741         * check/Makefile.am:
3742         * check/gst/gstbin.c:
3743         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
3744         into a bin creates ghost pads, and that the refcounts are right.
3745         Partly moved from gstbin.c.
3746
3747 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3748
3749         * check/gst-libs/.cvsignore:
3750         * check/gst/.cvsignore:
3751         * check/pipelines/.cvsignore:
3752           ignore more
3753         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
3754         (START_TEST), (cleanup_suite), (main):
3755           add some tests related to cleanup after running pipelines
3756
3757 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3758
3759         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
3760           add a testsuite for GstBuffer
3761
3762 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3763
3764         * gst/gstminiobject.h:
3765           add defines for accessing the refcount
3766
3767 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
3768
3769         * Makefile.am: added support for html unit test coverage reports
3770
3771 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
3772
3773         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
3774           Free existing caps if the capsfilter changes. Add a FIXME about
3775           setting those caps on the pads.
3776
3777         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
3778           Before adding a ghost pad to a parent bin, check that there isn't
3779           already one for the element on the bin. Prevents infinite recursion
3780           when using decodebin in parse pipelines. Andy says he'll rewrite the
3781           way this works anyway, so ignore the hack.
3782
3783 2005-06-02  Andy Wingo  <wingo@pobox.com>
3784
3785         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
3786         file size, pass it on to the type find helper.
3787
3788         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
3789         segment_start and segment_end properly according to the seek
3790         method. Segment_end is still a bit flaky because offset can be
3791         negative for CUR and END cases, but it takes -1 as an "unset"
3792         value.
3793
3794 2005-06-02  Wim Taymans  <wim@fluendo.com>
3795
3796         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
3797         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
3798         (gst_basesink_activate):
3799         * gst/base/gstbasesink.h:
3800         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3801         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3802         (gst_pad_query), (gst_pad_start_task):
3803         * gst/gstpad.h:
3804         * gst/gstqueue.c: (gst_queue_bufferalloc),
3805         (gst_queue_handle_sink_event), (gst_queue_chain):
3806         Bufferalloc: return GstFlowReturn to more accuratly report
3807         why allocation failed.
3808
3809 2005-06-02  Wim Taymans  <wim@fluendo.com>
3810
3811         * gst/gstpipeline.c: (gst_pipeline_send_event):
3812         Take snapshot of state without blocking.
3813
3814 2005-06-02  Wim Taymans  <wim@fluendo.com>
3815
3816         * docs/design/part-TODO.txt:
3817         * docs/design/part-caps.txt:
3818         * docs/design/part-clocks.txt:
3819         * docs/design/part-negotiation.txt:
3820         * docs/design/part-preroll.txt:
3821         Small doc updates 
3822
3823 2005-05-30  Wim Taymans  <wim@fluendo.com>
3824
3825         * gst/elements/gstidentity.c: (gst_identity_event),
3826         (gst_identity_transform), (gst_identity_get_property):
3827         Protect last_message property as it is accessed from
3828         multiple threads.
3829
3830 2005-05-30  Wim Taymans  <wim@fluendo.com>
3831
3832         * gst/gstelement.c: (gst_element_init),
3833         (gst_element_pads_activate), (gst_element_change_state):
3834         Slicker pad activation code.
3835
3836 2005-05-30  Wim Taymans  <wim@fluendo.com>
3837
3838         * gst/Makefile.am:
3839         * gst/gstelement.h:
3840         * gst/gstelementfactory.h:
3841         * gst/gsttypes.h:
3842         Move elementfactory methods to separate .h file.
3843
3844 2005-05-30  Wim Taymans  <wim@fluendo.com>
3845
3846         * docs/design/part-overview.txt:
3847         * gst/gstsystemclock.h:
3848         Small typo fixes, doc updates.
3849
3850 2005-05-30  Wim Taymans  <wim@fluendo.com>
3851
3852         * gst/gst.c: (gst_init_get_popt_table), (init_post),
3853         (init_popt_callback):
3854         Remove cpu-opt flag.
3855
3856 2005-05-30  Wim Taymans  <wim@fluendo.com>
3857
3858         * gst/gstbuffer.c: (gst_subbuffer_finalize),
3859         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
3860         * gst/gstbuffer.h:
3861         Avoid typechecking in places where not needed.
3862         Added accessor for malloc_data.
3863
3864 2005-05-30  Wim Taymans  <wim@fluendo.com>
3865
3866         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
3867         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
3868         (gst_pad_configure_sink), (gst_pad_configure_src),
3869         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
3870         (gst_pad_start_task):
3871         Propagate errors from _set_caps() in configure_src/sink
3872         functions instead of returning TRUE.
3873         FLUSH events can travel up and downstream
3874
3875
3876 2005-05-30  Wim Taymans  <wim@fluendo.com>
3877
3878         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3879         (gst_basesink_activate):
3880         Handle EOS in preroll.
3881
3882 2005-05-30  Wim Taymans  <wim@fluendo.com>
3883
3884         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3885         (gst_queue_loop), (gst_queue_handle_src_event):
3886         Remove old pieces of code
3887         Flushing the queue in an upstream event is a very bad idea.
3888
3889 2005-05-26  Andy Wingo  <wingo@pobox.com>
3890
3891         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
3892         gst_value_set_mini_object so as to add a ref on the object (which
3893         will be removed when the value is unset).
3894
3895         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
3896         arg type in ::handoff.
3897
3898         * gst/gstelement.c (gst_element_change_state): Also deactivate
3899         pads in READY->NULL, just in case the element didn't make it to
3900         PAUSED. Wingo tested, Wim approved.
3901
3902 2005-05-26  Wim Taymans  <wim@fluendo.com>
3903
3904         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3905         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
3906         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
3907         A flushing pad cannot be used to alloc_buffer from.
3908
3909 2005-05-26  Wim Taymans  <wim@fluendo.com>
3910
3911         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
3912         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
3913         (gst_bus_source_dispatch), (gst_bus_source_finalize),
3914         (gst_bus_create_watch), (gst_bus_add_watch_full):
3915         * gst/gstbus.h:
3916         Implement a real GSource and use g_main_context_wakeup() to
3917         signal new messages instead of the socketpair.
3918
3919 2005-05-25  Wim Taymans  <wim@fluendo.com>
3920
3921         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
3922         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
3923         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3924         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3925         (gst_pad_send_event), (gst_pad_start_task):
3926         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
3927         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
3928         (gst_queue_sink_activate), (gst_queue_src_activate),
3929         (gst_queue_change_state):
3930         * gst/gstqueue.h:
3931         Fix state changes for non sinks. We now change sinks, then elements
3932         with unconnected srcpads, then the rest.
3933         More efficient queue unlocking in flush and state changes.
3934         Set the pad activate mode even if it does not have an activate
3935         function.
3936
3937 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3938
3939         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
3940           Don't go in pull mode for non-seekable sources.
3941         * gst/elements/gsttypefindelement.h:
3942         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3943         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
3944         (free_entry), (stop_typefinding),
3945         (gst_type_find_element_handle_event), (find_peek),
3946         (gst_type_find_element_chain), (do_pull_typefind),
3947         (gst_type_find_element_change_state):
3948           Allow typefinding (w/o seeking) in push-mode, simplified version
3949           of what was in 0.8.
3950         * gst/gstutils.c: (gst_buffer_join):
3951         * gst/gstutils.h:
3952           gst_buffer_join() from 0.8.
3953
3954 2005-05-25  Wim Taymans  <wim@fluendo.com>
3955
3956         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
3957         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
3958         (gst_pad_send_event), (gst_pad_start_task):
3959         Disable attempt at mode switching until it is figured out.
3960
3961 2005-05-25  Wim Taymans  <wim@fluendo.com>
3962
3963         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
3964         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
3965         (gst_basesink_finish_preroll), (gst_basesink_chain),
3966         (gst_basesink_loop), (gst_basesink_activate),
3967         (gst_basesink_change_state):
3968         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
3969         (gst_basesrc_get_range), (gst_basesrc_loop),
3970         (gst_basesrc_activate):
3971         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3972         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
3973         (gst_real_pad_init), (gst_real_pad_set_property),
3974         (gst_real_pad_get_property), (gst_pad_set_active),
3975         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
3976         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
3977         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
3978         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
3979         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3980         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
3981         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
3982         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
3983         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
3984         (gst_pad_stop_task):
3985         * gst/gstpad.h:
3986         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3987         (gst_queue_loop), (gst_queue_src_activate):
3988         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
3989         (gst_task_get_state):
3990         * gst/gsttask.h:
3991         * gst/schedulers/threadscheduler.c:
3992         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
3993         Implement gst_pad_pause/start/stop_task(), take STREAM lock
3994         in task function.
3995         Remove ACTIVE pad flag, use FLUSHING everywhere
3996         Added _pad_chain(), _pad_get_range() to call chain/getrange 
3997         functions.
3998         Add locks around IS_FLUSHING when reading.
3999         Take STREAM lock in chain(), get_range() functions so plugins
4000         don't need to take it anymore.
4001         
4002
4003
4004 2005-05-25  Wim Taymans  <wim@fluendo.com>
4005
4006         * tools/gst-launch.c: (event_loop):
4007         Unref message after using its contents instead of
4008         before.
4009
4010 2005-05-24  Wim Taymans  <wim@fluendo.com>
4011
4012         * docs/design/draft-ghostpads.txt:
4013         * docs/design/draft-push-pull.txt:
4014         * docs/design/draft-query.txt:
4015         * docs/design/part-overview.txt:
4016         Docs updates, added general overview doc.
4017
4018 2005-05-21  David Schleef  <ds@schleef.org>
4019
4020         * docs/gst/tmpl/old/GstBin.sgml:
4021         * docs/gst/tmpl/old/GstBuffer.sgml:
4022         * docs/gst/tmpl/old/GstCaps.sgml:
4023         * docs/gst/tmpl/old/GstClock.sgml:
4024         * docs/gst/tmpl/old/GstCompat.sgml:
4025         * docs/gst/tmpl/old/GstData.sgml:
4026         * docs/gst/tmpl/old/GstElement.sgml:
4027         * docs/gst/tmpl/old/GstEvent.sgml:
4028         * docs/gst/tmpl/old/GstIndex.sgml:
4029         * docs/gst/tmpl/old/GstStructure.sgml:
4030         * docs/gst/tmpl/old/GstTag.sgml:
4031         * docs/gst/tmpl/old/cothreads.sgml:
4032         * docs/gst/tmpl/old/cothreads_compat.sgml:
4033         * docs/gst/tmpl/old/gettext.sgml:
4034         * docs/gst/tmpl/old/gobject2gtk.sgml:
4035         * docs/gst/tmpl/old/grammar.tab.sgml:
4036         * docs/gst/tmpl/old/gst-i18n-app.sgml:
4037         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
4038         * docs/gst/tmpl/old/gst_private.sgml:
4039         * docs/gst/tmpl/old/gstaggregator.sgml:
4040         * docs/gst/tmpl/old/gstarch.sgml:
4041         * docs/gst/tmpl/old/gstatomic_impl.sgml:
4042         * docs/gst/tmpl/old/gstbufferstore.sgml:
4043         * docs/gst/tmpl/old/gstdata_private.sgml:
4044         * docs/gst/tmpl/old/gstdisksink.sgml:
4045         * docs/gst/tmpl/old/gstdisksrc.sgml:
4046         * docs/gst/tmpl/old/gstelementfactory.sgml:
4047         * docs/gst/tmpl/old/gstextratypes.sgml:
4048         * docs/gst/tmpl/old/gstfakesink.sgml:
4049         * docs/gst/tmpl/old/gstfakesrc.sgml:
4050         * docs/gst/tmpl/old/gstfdsink.sgml:
4051         * docs/gst/tmpl/old/gstfdsrc.sgml:
4052         * docs/gst/tmpl/old/gstfilesink.sgml:
4053         * docs/gst/tmpl/old/gstfilesrc.sgml:
4054         * docs/gst/tmpl/old/gsthttpsrc.sgml:
4055         * docs/gst/tmpl/old/gstidentity.sgml:
4056         * docs/gst/tmpl/old/gstindexfactory.sgml:
4057         * docs/gst/tmpl/old/gstmarshal.sgml:
4058         * docs/gst/tmpl/old/gstmd5sink.sgml:
4059         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
4060         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
4061         * docs/gst/tmpl/old/gstpadtemplate.sgml:
4062         * docs/gst/tmpl/old/gstpipefilter.sgml:
4063         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
4064         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
4065         * docs/gst/tmpl/old/gstshaper.sgml:
4066         * docs/gst/tmpl/old/gstspider.sgml:
4067         * docs/gst/tmpl/old/gstspideridentity.sgml:
4068         * docs/gst/tmpl/old/gststatistics.sgml:
4069         * docs/gst/tmpl/old/gsttee.sgml:
4070         * docs/gst/tmpl/old/gsttimecache.sgml:
4071         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
4072         * docs/gst/tmpl/old/gstxmlregistry.sgml:
4073         * docs/gst/tmpl/old/gthread-cothreads.sgml:
4074         * docs/gst/tmpl/old/types.sgml:
4075           I didn't intend to add these or check them in.
4076
4077 2005-05-19  David Schleef  <ds@schleef.org>
4078
4079         * configure.ac: Use -no-common everywhere.  In a sane world, it
4080           would be the default in libtool, because without it, you can't
4081           build DLLs on Windows.
4082         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
4083         * docs/gst/gstreamer-sections.txt:
4084         * docs/gst/tmpl/gstcpu.sgml:
4085         * docs/gst/tmpl/gstdata.sgml:
4086         * docs/gst/tmpl/gstthread.sgml:
4087
4088 2005-05-19  David Schleef  <ds@schleef.org>
4089
4090         * gst/gstminiobject.c: (gst_value_set_mini_object),
4091         (gst_value_take_mini_object), (gst_value_get_mini_object):
4092         * gst/gstminiobject.h: Add GValue set/get functions.
4093
4094 2005-05-19  Wim Taymans  <wim@fluendo.com>
4095
4096         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
4097         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
4098         (gst_subbuffer_init), (gst_buffer_is_span_fast):
4099         * gst/gstbuffer.h:
4100         * gst/gstbus.c: (gst_bus_post):
4101         * gst/gstelement.c: (gst_element_get_random_pad):
4102         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
4103         Make subbufer unref the parent in finalize.
4104         some more debugging info.
4105
4106
4107 2005-05-19  Wim Taymans  <wim@fluendo.com>
4108
4109         * gst/base/gstbasesink.c: (gst_basesink_class_init),
4110         (gst_basesink_init), (gst_basesink_finalize),
4111         (gst_basesink_activate), (gst_basesink_change_state):
4112         Don't free preroll queue too early.
4113
4114 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4115
4116         * gst/Makefile.am:
4117         * gst/ROADMAP:
4118           Hi, I'm outdated. Please shoot me.
4119
4120 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4121
4122         * gst/gstpipeline.c: (gst_pipeline_send_event):
4123           Do not access variables after they have been deleted.
4124
4125 2005-05-19  Wim Taymans  <wim@fluendo.com>
4126
4127         * tools/gst-inspect.c: (print_plugin_features):
4128         A plugin feature does unfortunatly not use the
4129         object name yet...
4130
4131 2005-05-18  Wim Taymans  <wim@fluendo.com>
4132
4133         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
4134         Port _span() functions to new subbuffers.
4135
4136 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4137
4138         * gst/gstbin.c: (gst_bin_add_func):
4139           Fix clock settery in bins when adding kids after the clock has
4140           been selected.
4141
4142 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4143
4144         * gst/elements/gstidentity.c: (gst_identity_class_init):
4145           Workaround until signals support GstMiniObject.
4146
4147 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
4148
4149         * gst/gstbuffer.c:
4150         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
4151
4152 2005-05-18  Wim Taymans  <wim@fluendo.com>
4153
4154         * gst/base/Makefile.am:
4155         * gst/base/gstadapter.c: (gst_adapter_base_init),
4156         (gst_adapter_class_init), (gst_adapter_init),
4157         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
4158         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
4159         (gst_adapter_flush), (gst_adapter_available),
4160         (gst_adapter_available_fast):
4161         * gst/base/gstadapter.h:
4162         Ported and added adapter to the base classes.
4163
4164 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4165
4166         * gst/gst.c:
4167         * gst/gstmessage.c:
4168           Make sure the class is reffed/unreffed once before threads can be
4169           used.  Fixes #304551.
4170
4171 2005-05-17  Wim Taymans  <wim@fluendo.com>
4172
4173         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
4174         (gst_basesink_chain_unlocked), (gst_basesink_activate):
4175         * gst/gstminiobject.c: (gst_mini_object_get_type),
4176         (gst_mini_object_free):
4177         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
4178         (gst_pad_push), (gst_pad_push_event):
4179         * gst/gstqueue.c: (gst_queue_change_state):
4180         Don't queue buffers in basesink when we are flushing.
4181         Unref buffer when flushing in basesink.
4182         Flush queue when going to READY
4183         Unref buffer when _push() returns an error.
4184         Don't free MiniObject instance when refcount is incremented
4185         in _finalize() so that we can recover objects.
4186
4187 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4188
4189         * docs/manual/advanced-schedulers.xml:
4190         * docs/manual/appendix-checklist.xml:
4191         * docs/pwg/advanced-clock.xml:
4192         * docs/pwg/advanced-interfaces.xml:
4193         * docs/pwg/advanced-request.xml:
4194         * docs/pwg/advanced-types.xml:
4195         * docs/pwg/intro-preface.xml:
4196         * examples/plugins/example.c: (gst_example_get_type),
4197         (gst_example_class_init), (gst_example_chain),
4198         (gst_example_set_property), (gst_example_get_property),
4199         (gst_example_change_state), (plugin_init):
4200         * examples/plugins/example.h:
4201           small doc fixes
4202
4203 2005-05-17  Wim Taymans  <wim@fluendo.com>
4204
4205         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
4206         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
4207         * gst/gstqueue.c: (gst_queue_change_state):
4208         Clear queue when going to READY.
4209         Remove IN_SETCAPS flag too.
4210
4211 2005-05-17  Tim-Philipp M??ller  <tim at centricular dot net>
4212
4213         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
4214           Remove implicit cast from gboolean to GstElementStateReturn;
4215           make sure we still return failure in paused => ready case if
4216           the parent class fails to change state and our own stop 
4217           vfunc succeeds.
4218
4219 2005-05-17  Wim Taymans  <wim@fluendo.com>
4220
4221         * tools/gst-launch.c: (event_loop):
4222         Message was unreffed too soon.
4223
4224 2005-05-16  Andy Wingo  <wingo@pobox.com>
4225
4226         * gst/gstbin.c (sink_iterator_filter): Err... um...
4227
4228         * check/gst/gstbin.c (test_ghost_pads): New test for the
4229         ghosting-if-elements-not-in-same-bin behavior.
4230
4231 2005-05-16  David Schleef  <ds@schleef.org>
4232
4233         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
4234         accessing refcount directly.
4235
4236 2005-05-15  David Schleef  <ds@schleef.org>
4237
4238         * check/Makefile.am: remove GstData checks
4239         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
4240         * gst/Makefile.am: add miniobject, remove data
4241         * gst/gst.h: add miniobject, remove data
4242         * gst/gstdata.c: remove
4243         * gst/gstdata.h: remove
4244         * gst/gstdata_private.h: remove
4245         * gst/gsttypes.h: remove GstEvent and GstMessage
4246         * gst/gstelement.c: (gst_element_post_message): fix for API changes
4247         * gst/gstmarshal.list: change BOXED -> OBJECT
4248
4249         Implement GstMiniObject.
4250         * gst/gstminiobject.c:
4251         * gst/gstminiobject.h:
4252
4253         Modify to be subclasses of GstMiniObject.
4254         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
4255         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
4256         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
4257         (gst_subbuffer_get_type), (gst_subbuffer_init),
4258         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
4259         (gst_buffer_span):
4260         * gst/gstbuffer.h:
4261         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
4262         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
4263         (_gst_event_copy), (gst_event_new):
4264         * gst/gstevent.h:
4265         * gst/gstmessage.c: (_gst_message_initialize),
4266         (gst_message_get_type), (gst_message_class_init),
4267         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
4268         (gst_message_new), (gst_message_new_error),
4269         (gst_message_new_warning), (gst_message_new_tag),
4270         (gst_message_new_state_changed), (gst_message_new_application):
4271         * gst/gstmessage.h:
4272         * gst/gstprobe.c: (gst_probe_perform),
4273         (gst_probe_dispatcher_dispatch):
4274         * gst/gstprobe.h:
4275         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
4276         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
4277         (_gst_query_copy), (gst_query_new):
4278
4279         Update elements for GstData -> GstMiniObject changes
4280         * gst/gstquery.h:
4281         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
4282         (gst_queue_chain), (gst_queue_loop):
4283         * gst/elements/gstbufferstore.c:
4284         (gst_buffer_store_add_buffer_func),
4285         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
4286         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4287         (gst_fakesink_render):
4288         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4289         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
4290         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
4291         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
4292         (gst_filesrc_create_read):
4293         * gst/elements/gstidentity.c: (gst_identity_class_init):
4294         * gst/elements/gsttypefindelement.c:
4295         (gst_type_find_element_src_event), (free_entry_buffers),
4296         (gst_type_find_element_handle_event):
4297         * libs/gst/dataprotocol/dataprotocol.c:
4298         (gst_dp_header_from_buffer):
4299         * libs/gst/dataprotocol/dataprotocol.h:
4300         * libs/gst/dataprotocol/dp-private.h:
4301
4302 2005-05-15  David Schleef  <ds@schleef.org>
4303
4304         * gst/elements/gstelements.c: Don't include headers that were
4305         just removed.
4306
4307 2005-05-15  David Schleef  <ds@schleef.org>
4308
4309         * gst/elements/Makefile.am: Remove some elements that don't
4310         need to be in the core (or even exist at all).
4311         * gst/elements/gstaggregator.c:
4312         * gst/elements/gstaggregator.h:
4313         * gst/elements/gstmd5sink.c:
4314         * gst/elements/gstmd5sink.h:
4315         * gst/elements/gstmultifilesrc.c:
4316         * gst/elements/gstmultifilesrc.h:
4317         * gst/elements/gstpipefilter.c:
4318         * gst/elements/gstpipefilter.h:
4319         * gst/elements/gstshaper.c:
4320         * gst/elements/gstshaper.h:
4321         * gst/elements/gststatistics.c:
4322         * gst/elements/gststatistics.h:
4323         * po/POTFILES.in: Remove above files.
4324
4325 2005-05-14  Andy Wingo  <wingo@pobox.com>
4326
4327         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
4328         so as to get the refs right.
4329         (sink_iterator_filter): New function, wraps bin_element_is_sink,
4330         unreffing objects that don't pass the filter.
4331
4332         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
4333         gst_element_set_bus.
4334         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
4335         normal cases, this will destroy the bus.
4336
4337         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
4338         object.
4339
4340         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
4341         has no sinks.
4342
4343 2005-05-13  Andy Wingo  <wingo@pobox.com>
4344
4345         * gst/gstutils.c (gst_element_link_pads): Instead of calling
4346         gst_pad_link, call pad_link_maybe_ghosting,
4347         (pad_link_maybe_ghosting): Links pads, making sure that the
4348         elements being linked are in the same bin.
4349         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
4350         Helpers for pad_link_maybe_ghosting.
4351
4352 2005-05-13  Tim-Philipp M??ller  <tim at centricular dot net>
4353
4354         * configure.ac:
4355           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
4356
4357 2005-05-13  Tim-Philipp M??ller  <tim at centricular dot net>
4358
4359         * docs/design/part-element-source.txt:
4360           Mention GstPushSrc
4361
4362 2005-05-12  Wim Taymans  <wim@fluendo.com>
4363
4364         * gst/base/gstbasesink.c: (gst_basesink_init),
4365         (gst_basesink_activate):
4366         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
4367         (gst_basesrc_is_seekable):
4368         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4369         (bin_element_is_sink), (gst_bin_change_state):
4370         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
4371         * gst/gstelement.h:
4372         Identify sinks by their flag to avoid overly complicated
4373         checks (fow now).
4374         Do state changes even for elements not reachable from the
4375         sinks.
4376         BaseSink is a sink now :)
4377         Some more debugging info in the basesrc.
4378
4379
4380 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4381
4382         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
4383           Implement _query on a bin, similar to _send_event.
4384
4385 2005-05-12  Tim-Philipp M??ller  <tim at centricular dot net>
4386
4387         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
4388           Discont event offset format should be GST_FORMAT_BYTES,
4389           not GST_FORMAT_TIME.
4390
4391 2005-05-12  Wim Taymans  <wim@fluendo.com>
4392
4393         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
4394         Same fix as Ronald's but without the signal. 
4395
4396 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4397
4398         * gst/gstutils.c: (gst_element_query_position):
4399           No, an element is not a pad.
4400
4401 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4402
4403         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
4404         (gst_bin_get_state):
4405           If a child is removed from a bin while we remove the child from
4406           the bin and while we're retrieving its state, signal this to the
4407           get_state function so we abort the wait (instead of waiting for
4408           a timeout) and can immediately re-iterate over all other elements.
4409
4410 2005-05-12  Wim Taymans  <wim@fluendo.com>
4411
4412         * gst/base/Makefile.am:
4413         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
4414         (gst_basesrc_start):
4415         * gst/base/gstbasesrc.h:
4416         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
4417         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
4418         (gst_pushsrc_init), (gst_pushsrc_create):
4419         * gst/base/gstpushsrc.h:
4420         Added is_seekable to BaseSrc
4421         Added simple PushSrc.
4422
4423 2005-05-11  Wim Taymans  <wim@fluendo.com>
4424
4425         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
4426         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4427         (gst_element_link_pads), (gst_element_query_position),
4428         (gst_element_query_convert), (intersect_caps_func),
4429         (gst_pad_query_position), (gst_pad_query_convert):
4430         Fix refcounting in utils function.
4431         No point in trying to activate a pad when it's added, it could
4432         be added from the state change function and then we deadlock, the
4433         element has to decide what to do.
4434
4435 2005-05-10  Andy Wingo  <wingo@pobox.com>
4436
4437         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
4438         *all* the arguments.
4439
4440         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
4441         stream lock if it's a FLUSH_DONE; normal flushes don't get the
4442         lock (according to the docs -- if this is wrong change the docs).
4443
4444         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
4445         flush messages in the NULL state.
4446
4447         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
4448         message immediately and return.
4449         (gst_bus_set_flushing): New function. If a bus is flushing, it
4450         flushes out any queued messages and immediately unrefs new
4451         messages. This is so when an element goes to NULL, all of the
4452         unhandled messages coming from it can be freed, and their
4453         references to the element dropped. In other words: message source
4454         ref considered harmful :P
4455
4456         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
4457         we're finished with it.
4458
4459         * gst/gstmessage.c (gst_message_new_state_changed): 
4460
4461 2005-05-10  Wim Taymans  <wim@fluendo.com>
4462
4463         * gst/gstvalue.c: (gst_value_compare_flags),
4464         (gst_value_serialize_flags), (gst_value_deserialize_flags),
4465         (_gst_value_initialize):
4466         Added flags serialize/deserialize/compare code.
4467
4468 2005-05-09  Andy Wingo  <wingo@pobox.com>
4469
4470         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
4471         Intersect the peer's caps with our caps.
4472
4473 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4474
4475         * gst/base/gsttypefindhelper.c: (helper_find_peek):
4476         * gst/elements/gsttypefindelement.c: (find_peek):
4477           Handle negative offsets better. Fixes decodebin.
4478
4479 2005-05-09  Wim Taymans  <wim@fluendo.com>
4480
4481         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
4482         (gst_base_transform_event):
4483         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
4484         Implement accept_caps.
4485         Fix silly lock/unlock mismatch in base class.
4486
4487 2005-05-09  Wim Taymans  <wim@fluendo.com>
4488
4489         * docs/design/draft-push-pull.txt:
4490         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
4491         * gst/elements/gstfilesink.c: (gst_filesink_init),
4492         (gst_filesink_query):
4493         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
4494         (gst_type_find_handle_src_query), (find_element_get_length):
4495         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
4496         * gst/gstelement.h:
4497         * gst/gstmessage.c:
4498         * gst/gstmessage.h:
4499         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
4500         (gst_real_pad_get_caps_unlocked),
4501         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
4502         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4503         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
4504         (gst_real_pad_dispose), (gst_real_pad_finalize),
4505         (gst_pad_load_and_link), (gst_pad_save_thyself),
4506         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
4507         (gst_pad_check_pull_range), (gst_pad_pull_range),
4508         (gst_pad_template_get_type), (gst_pad_template_class_init),
4509         (gst_pad_template_init), (gst_pad_template_dispose),
4510         (name_is_valid), (gst_static_pad_template_get),
4511         (gst_pad_template_new), (gst_static_pad_template_get_caps),
4512         (gst_pad_template_get_caps), (gst_pad_set_element_private),
4513         (gst_pad_get_element_private), (gst_pad_start_task),
4514         (gst_pad_pause_task), (gst_pad_stop_task),
4515         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
4516         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
4517         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
4518         (gst_ghost_pad_new):
4519         * gst/gstpad.h:
4520         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
4521         (gst_query_new_position), (gst_query_set_position),
4522         (gst_query_parse_position), (gst_query_new_convert),
4523         (gst_query_set_convert), (gst_query_parse_convert):
4524         * gst/gstquery.h:
4525         * gst/gstqueryutils.c:
4526         * gst/gstqueryutils.h:
4527         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4528         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
4529         (gst_queue_handle_src_query):
4530         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4531         (gst_element_query_position), (gst_element_query_convert),
4532         (intersect_caps_func), (gst_pad_query_position),
4533         (gst_pad_query_convert):
4534         * gst/gstutils.h:
4535         * tools/gst-inspect.c: (print_pad_info):
4536         * tools/gst-xmlinspect.c: (print_element_info):
4537         Remove old query functions. Ported old code.
4538         Added position/convert helper functions to gstutils.
4539         Reordered gstpad.c code, grouping relevant things.
4540         Remove gst_message_new(), always need to speficy a specific
4541         message.
4542
4543
4544 2005-05-09  Andy Wingo  <wingo@pobox.com>
4545
4546         * gst/gstiterator.h: Add some includes.
4547
4548         * gst/gstqueryutils.h: Include more headers.
4549
4550         * gst/gstpad.h:
4551         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
4552         some uses of gst_pad_query.
4553
4554         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
4555         NULL out parameters.
4556         (gst_query_new_position): New proc, allocates a new position
4557         query.
4558
4559         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
4560         gstqueryutils.c to the build.
4561
4562         * gst/gststructure.c (gst_structure_set_valist): Implement with
4563         the generic G_VALUE_COLLECT.
4564         
4565 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
4566
4567         * gst/Makefile.am: (gst_headers):
4568         Added gstqueryutils.h to the list of headers to install, that was
4569         a 'nachty' move wingo :)
4570
4571 2005-05-06  Andy Wingo  <wingo@pobox.com>
4572
4573         * gst/gstquery.h
4574         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
4575         GstData, init a memchunk.
4576         (standard_definitions): Add a few query types, deprecate a few.
4577         (gst_query_get_type): New proc.
4578         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
4579         implementation.
4580         (gst_query_new_application, gst_query_get_structure): New public
4581         procs.
4582
4583         * docs/design/draft-query.txt: Removed LINKS from the query types,
4584         because all the rest can be dispatched to other pads -- seemed
4585         ugly to have a query that couldn't be dispatched. internal_links
4586         is fine as a pad method.
4587
4588         * gst/gstpad.h: Add query2 as a pad method, add the new functions
4589         in gstpad.c, but maintain binary compatibility for the moment.
4590         Will fix before 0.9 is out.
4591
4592         * gst/gstqueryutils.c: 
4593         * gst/gstqueryutils.h: New files, implement 3 methods for each
4594         query type: parse_query, parse_response, and set. Probably need an
4595         allocator as well.
4596
4597         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
4598
4599         * gst/elements/gstfilesink.c (gst_filesink_query2):
4600         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
4601         query_types, and formats methods.
4602
4603         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
4604         (gst_pad_set_query2_function): New functions.
4605         (gst_real_pad_init): Set query2_default as the default query2
4606         function. Basically just dispatches to internally linked pads.
4607
4608         Needs review!
4609         
4610         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
4611         without using the atomic operations. Only one thread can possibly
4612         be accessing the data at this point. Changed so as to avoid
4613         gst_atomic operations.
4614
4615 2005-05-06  Wim Taymans  <wim@fluendo.com>
4616
4617         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
4618         Also set caps if we use the fallback buffer alloc.
4619
4620 2005-05-06  Tim-Philipp M??ller  <tim at centricular dot net>
4621
4622         * docs/gst/Makefile.am:
4623         * docs/gst/gstreamer-docs.sgml:
4624         * docs/gst/gstreamer-sections.txt:
4625         * docs/gst/tmpl/gstatomic.sgml:
4626         * docs/gst/tmpl/gstmemchunk.sgml:
4627         * testsuite/elements/struct_i386.h:
4628         * win32/GStreamer.vcproj:
4629         * win32/Makefile:
4630           Purge GstAtomic stuff from docs and win32 makefiles as well
4631
4632 2005-05-06  Wim Taymans  <wim@fluendo.com>
4633
4634         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
4635         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
4636         * gst/gstpad.c: (gst_pad_peer_get_caps):
4637         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
4638         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
4639         (gst_queue_src_activate), (gst_queue_change_state):
4640         * gst/gstqueue.h:
4641         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4642         (intersect_caps_func):
4643         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
4644         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
4645         Some fixes for the peer_get_caps() change.
4646
4647 2005-05-06  Wim Taymans  <wim@fluendo.com>
4648
4649         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
4650         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
4651         (gst_basesink_activate):
4652         Actually do something with error codes returned from the push
4653         functions.
4654
4655 2005-05-06  Wim Taymans  <wim@fluendo.com>
4656
4657         * docs/design/part-element-sink.txt:
4658         * docs/design/part-element-source.txt:
4659         * gst/base/gstbasesink.c: (gst_basesink_class_init),
4660         (gst_basesink_event), (gst_basesink_activate):
4661         * gst/base/gstbasesink.h:
4662         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
4663         (gst_basesrc_activate):
4664         * gst/base/gstbasesrc.h:
4665         * gst/gstelement.c: (gst_element_pads_activate):
4666         Some more documentation.
4667         Fixed scheduling decision in _pads_activate().
4668
4669 2005-05-05  Andy Wingo  <wingo@pobox.com>
4670
4671         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
4672         the test suite.
4673
4674 2005-05-05  Wim Taymans  <wim@fluendo.com>
4675
4676         * gst/base/Makefile.am:
4677         * gst/base/gstbasesink.h:
4678         * gst/base/gstbasesrc.c: (gst_basesrc_init),
4679         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
4680         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
4681         (gst_collectpads_class_init), (gst_collectpads_init),
4682         (gst_collectpads_finalize), (gst_collectpads_new),
4683         (gst_collectpads_set_function), (gst_collectpads_add_pad),
4684         (find_pad), (gst_collectpads_remove_pad),
4685         (gst_collectpads_is_active), (gst_collectpads_collect),
4686         (gst_collectpads_collect_range), (gst_collectpads_start),
4687         (gst_collectpads_stop), (gst_collectpads_peek),
4688         (gst_collectpads_pop), (gst_collectpads_available),
4689         (gst_collectpads_read), (gst_collectpads_flush),
4690         (gst_collectpads_chain):
4691         * gst/base/gstcollectpads.h:
4692         * gst/elements/Makefile.am:
4693         * gst/elements/gstelements.c:
4694         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
4695         (gst_fakesink_get_times), (gst_fakesink_event),
4696         (gst_fakesink_preroll), (gst_fakesink_render):
4697         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
4698         (gst_filesink_init), (gst_filesink_set_location),
4699         (gst_filesink_open_file), (gst_filesink_close_file),
4700         (gst_filesink_pad_query), (gst_filesink_event),
4701         (gst_filesink_render), (gst_filesink_change_state):
4702         * gst/elements/gstfilesink.h:
4703         Added object to help in making collect pad based elements.
4704         Ported filesink.
4705         Make event function in sink baseclass return gboolean.
4706
4707 2005-05-05  Wim Taymans  <wim@fluendo.com>
4708
4709         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
4710         (gst_bin_get_by_name):
4711         * gst/gstbuffer.h:
4712         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
4713         (gst_clock_finalize):
4714         * gst/gstdata.c: (gst_data_replace):
4715         * gst/gstdata.h:
4716         * gst/gstelement.c: (gst_element_request_pad),
4717         (gst_element_pads_activate):
4718         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
4719         (gst_object_unref):
4720         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4721         (gst_pad_set_checkgetrange_function),
4722         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
4723         (gst_pad_check_pull_range), (gst_pad_pull_range),
4724         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4725         (gst_pad_pause_task), (gst_pad_stop_task):
4726         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4727         (gst_element_request_pad), (gst_pad_proxy_getcaps):
4728         Fix name lookup in GstBin.
4729         Added _data_replace() function and _buffer_replace()
4730         Use finalize method to clean up clock.
4731         Fix refcounting on request pads.
4732         Fix pad schedule mode error.
4733         Some more object refcounting debug info,
4734
4735
4736 2005-05-04  Andy Wingo <wingo@pobox.com>
4737
4738         * check/Makefile.am:
4739         * docs/gst/tmpl/gstatomic.sgml:
4740         * docs/gst/tmpl/gstplugin.sgml:
4741         * gst/base/gstbasesink.c: (gst_basesink_activate):
4742         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
4743         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
4744         (gst_basesrc_query), (gst_basesrc_set_property),
4745         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
4746         (gst_basesrc_activate):
4747         * gst/base/gstbasesrc.h:
4748         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
4749         (gst_base_transform_src_activate):
4750         * gst/elements/gstelements.c:
4751         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4752         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
4753         * gst/elements/gsttee.c: (gst_tee_sink_activate):
4754         * gst/elements/gsttypefindelement.c: (find_element_get_length),
4755         (gst_type_find_element_checkgetrange),
4756         (gst_type_find_element_activate):
4757         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
4758         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
4759         (gst_caps_load_thyself):
4760         * gst/gstelement.c: (gst_element_pads_activate),
4761         (gst_element_save_thyself), (gst_element_restore_thyself):
4762         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
4763         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
4764         * gst/gstpad.h:
4765         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
4766         (gst_xml_parse_file), (gst_xml_parse_memory),
4767         (gst_xml_get_element), (gst_xml_make_element):
4768         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4769         (_file_index_id_save_xml), (gst_file_index_commit):
4770         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
4771         (read_enum), (load_pad_template), (load_feature), (load_plugin),
4772         (load_paths):
4773         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
4774         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
4775         * tools/gst-complete.c: (main):
4776         * tools/gst-compprep.c: (main):
4777         * tools/gst-inspect.c: (print_element_properties_info):
4778         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
4779         * tools/gst-xmlinspect.c: (print_element_properties):
4780         GCC 4 fixen.
4781         
4782 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4783
4784         * gst/gstplugin.c: (gst_plugin_check_module),
4785         (gst_plugin_check_file), (gst_plugin_load_file):
4786             apply patch from #172526 to make register work on MacOSX
4787
4788 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4789
4790         * docs/gst/tmpl/gstconfig.sgml:
4791         * gst/gstconfig.h.in:
4792           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
4793         * testsuite/debug/printf_extension.c: (main):
4794           Do not use GST_PTR_FORMAT on pointers to types with
4795           sizeof < sizeof(gpointer).  Fixes test on 64-bit
4796         * testsuite/elements/property.h:
4797           use correct printf format
4798
4799 2005-05-02  Wim Taymans  <wim@fluendo.com>
4800
4801         * docs/design/draft-push-pull.txt:
4802         * docs/design/draft-query.txt:
4803         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
4804         (gst_basesrc_start):
4805         Added draft for new query API.
4806         Added draft for better selecting scheduling methods.
4807         Make basesrc ignore length if the subclass does not support
4808         it.
4809
4810 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4811
4812         * gst/Makefile.am:
4813           possible fixes for automake-1.5 - _LIBADD is reserved
4814
4815 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4816
4817         * docs/faq/Makefile.am:
4818         * docs/manual/Makefile.am:
4819         * docs/manuals.mak:
4820         * docs/pwg/Makefile.am:
4821         * gst/Makefile.am:
4822           possible fixes for automake-1.5
4823
4824 2005-04-28  Wim Taymans  <wim@fluendo.com>
4825
4826         * gst/base/gstbasesink.c: (gst_basesink_base_init),
4827         (gst_basesink_pad_getcaps), (gst_basesink_init),
4828         (gst_basesink_do_sync):
4829         * gst/gstclock.c: (gst_clock_entry_new):
4830         * gst/gstevent.c: (gst_event_discont_get_value):
4831         * gst/gstpipeline.c: (pipeline_bus_handler),
4832         (gst_pipeline_change_state):
4833         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4834         Better debugging of clocking info.
4835         Allow NULL values when getting discont values.
4836
4837 2005-04-27  Wim Taymans  <wim@fluendo.com>
4838
4839         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4840         * check/gst/gstpad.c: (gst_pad_suite):
4841         Increase timeout for checks.
4842
4843 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4844
4845         * check/Makefile.am:
4846           fix the broken rule for cleanup.  Apparently this rule is
4847           only needed on FC2, so maybe this warrants further autotool
4848           inspection.
4849
4850 2005-04-26  Wim Taymans  <wim@fluendo.com>
4851
4852         * gst/gsttrashstack.h:
4853         Ooohh. a nasty one! After having a failed pop() from the stack,
4854         it's possible that the stack is empty. In that case, don't
4855         follow the NULL pointer.
4856
4857 2005-04-25  Wim Taymans  <wim@fluendo.com>
4858
4859         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4860         (gst_pad_set_checkgetrange_function),
4861         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
4862         (gst_pad_check_pull_range), (gst_pad_pull_range),
4863         (gst_static_pad_template_get_caps), (gst_pad_start_task),
4864         (gst_pad_pause_task), (gst_pad_stop_task):
4865         * gst/gstplugin.c: (gst_plugin_load):
4866         * gst/gstplugin.h:
4867         Remove gst_library_load as it does more harm than good with
4868         the new g_module flags.
4869         Revert bogus caps template check in pad linking, pad caps
4870         are important when linking not the template, which is more
4871         general than the current caps.
4872
4873 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4874
4875         * gst/autoplug/.cvsignore:
4876         * gst/autoplug/Makefile.am:
4877         * gst/autoplug/gstsearchfuncs.c:
4878         * gst/autoplug/gstsearchfuncs.h:
4879         * gst/autoplug/gstspider.c:
4880         * gst/autoplug/gstspider.h:
4881         * gst/autoplug/gstspideridentity.c:
4882         * gst/autoplug/gstspideridentity.h:
4883         * gst/autoplug/spidertest.c:
4884           Die, spider, die.
4885
4886 2005-04-25  Wim Taymans  <wim@fluendo.com>
4887
4888         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
4889         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
4890         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
4891         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
4892         * gst/gstpad.h:
4893         Added stubs for unimplemented functions. 
4894
4895 2005-04-24  David Schleef  <ds@schleef.org>
4896
4897         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
4898         please fix.
4899
4900 2005-04-24  David Schleef  <ds@schleef.org>
4901
4902         Convert everything from GstAtomicInt to g_atomic_int_*, and
4903         remove gstatomic.
4904         * gst/Makefile.am:
4905         * gst/gstatomic.c:
4906         * gst/gstatomic.h:
4907         * gst/gstatomic_impl.h:
4908         * gst/gstbuffer.c:
4909         * gst/gstcaps.c:
4910         * gst/gstcaps.h:
4911         * gst/gstclock.c:
4912         * gst/gstclock.h:
4913         * gst/gstdata.c:
4914         * gst/gstdata.h:
4915         * gst/gstdata_private.h:
4916         * gst/gstevent.c:
4917         * gst/gstinfo.c:
4918         * gst/gstinfo.h:
4919         * gst/gstmessage.c:
4920         * gst/gstobject.c:
4921         * gst/gstobject.h:
4922         * gst/gststructure.c:
4923         * gst/gststructure.h:
4924         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
4925         * gst/gstutils.h:
4926
4927 2005-04-24  David Schleef  <ds@schleef.org>
4928
4929         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
4930         make the regressions tests work.  Remove some code that is no
4931         longer true.
4932         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
4933         Disable warning for pads without templates.
4934
4935 2005-04-24  David Schleef  <ds@schleef.org>
4936
4937         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
4938         functions that handle filtered links.
4939         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
4940         removed functions.
4941         * gst/gstutils.c: Fix/remove utility functions that handle
4942         filtered caps.
4943         * gst/gstutils.h:
4944         * gst/gstvalue.c: Add serialization/deserialization of caps
4945         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
4946         requires fixing so that the filter caps notation creates
4947         a capsfilter element and sets the filter_caps property.  I
4948         think everyone probably wants to keep the shorthand notation.
4949         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
4950         * docs/gst/tmpl/gstpad.sgml:
4951
4952         * gst/elements/gstelements.c: Register capsfilter element.
4953         * gst/Makefile.am: fix spacing
4954         * docs/random/ds/0.9-suggested-changes: random
4955
4956 2005-04-23  David Schleef  <ds@schleef.org>
4957
4958         * gst/elements/Makefile.am:
4959         * gst/elements/gstcapsfilter.c: New element that acts like an
4960         identity, but filters caps.  Will eventually replace filtered
4961         caps in pad linking.
4962         * gst/gstutils.c: (gst_element_create_all_pads): New function
4963         to create all the ALWAYS pads that are registered with an
4964         element class.  This functionality should eventually be
4965         merged in with GstElement initialization.
4966         * gst/gstutils.h:
4967         * testsuite/trigger/README: part of trigger test code that should
4968         have been checked in a long time ago.
4969
4970 2005-04-23  David Schleef  <ds@schleef.org>
4971
4972         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
4973         needed with new versions of libtool (nobody will confirm this),
4974         and hard to carry around.
4975         * gst/autoplug/Makefile.am:
4976         * gst/base/Makefile.am:
4977         * gst/elements/Makefile.am:
4978         * gst/indexers/Makefile.am:
4979         * gst/schedulers/Makefile.am:
4980         * libs/gst/bytestream/Makefile.am:
4981         * libs/gst/control/Makefile.am:
4982         * libs/gst/dataprotocol/Makefile.am:
4983         * libs/gst/getbits/Makefile.am:
4984
4985 2005-04-21  Wim Taymans  <wim@fluendo.com>
4986
4987         * docs/design/draft-push-pull.txt:
4988         * docs/design/part-MT-refcounting.txt:
4989         * docs/design/part-TODO.txt:
4990         * docs/design/part-caps.txt:
4991         * docs/design/part-events.txt:
4992         * docs/design/part-gstbus.txt:
4993         * docs/design/part-gstpipeline.txt:
4994         * docs/design/part-messages.txt:
4995         * docs/design/part-push-pull.txt:
4996         * docs/design/part-query.txt:
4997         Some more docs.
4998
4999 2005-04-21  Wim Taymans  <wim@fluendo.com>
5000
5001         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
5002         (gst_message_new), (gst_message_new_error),
5003         (gst_message_new_warning), (gst_message_new_tag),
5004         (gst_message_new_state_changed), (gst_message_new_application),
5005         (gst_message_get_structure):
5006         * gst/gstmessage.h:
5007         * gst/gststructure.c: (gst_structure_set_parent_refcount),
5008         (gst_structure_copy_conditional):
5009         Use parent refcount in GstMessage to ensure GstStructure
5010         consistency.
5011         Cleaned up headers a bit.
5012         
5013
5014 2005-04-20  Wim Taymans  <wim@fluendo.com>
5015
5016         * gst/base/gstbasesink.c: (gst_basesink_base_init),
5017         (gst_basesink_pad_getcaps), (gst_basesink_init),
5018         (gst_basesink_chain_unlocked):
5019         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
5020         (gst_type_find_helper):
5021         * gst/elements/gsttypefindelement.c:
5022         (gst_type_find_element_have_type), (gst_type_find_element_init),
5023         (stop_typefinding), (gst_type_find_element_handle_event),
5024         (find_suggest), (gst_type_find_element_chain),
5025         (gst_type_find_element_checkgetrange),
5026         (gst_type_find_element_getrange), (do_typefind),
5027         (gst_type_find_element_activate):
5028         * gst/gstbuffer.c: (_gst_buffer_sub_free),
5029         (gst_buffer_default_free), (gst_buffer_default_copy),
5030         (gst_buffer_set_caps):
5031         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
5032         (gst_caps_replace):
5033         * gst/gstmessage.c: (gst_message_new),
5034         (gst_message_new_state_changed):
5035         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
5036         (gst_pad_set_checkgetrange_function),
5037         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
5038         (gst_pad_set_caps), (gst_pad_check_pull_range),
5039         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
5040         * gst/gstpad.h:
5041         * gst/gsttypefind.c: (gst_type_find_register):
5042         Make gst_caps_replace() work like other _replace() functions.
5043         Use _caps_replace() where possible.
5044         Make sure _message_new() initialises its field.
5045         Add gst_static_pad_template_get_caps()
5046
5047
5048 2005-04-18  Andy Wingo  <wingo@pobox.com>
5049
5050         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
5051         on the peer, not the pad. I think that was a typo. Pass an extra
5052         arg to see if random access is possible. Activate the pads as
5053         PULL_RANGE if possible.
5054
5055         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
5056
5057         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
5058         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
5059         to PROP_....
5060
5061 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5062
5063         * docs/faq/using.xml:
5064           Add note on gstreamer-properties (#154996).
5065
5066 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5067
5068         * docs/random/bbb/optional-properties:
5069           Some analysis on optional properties.
5070
5071 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5072
5073         * docs/gst/tmpl/gstelementfactory.sgml:
5074         * gst/gstelement.h:
5075         * gst/gstelementfactory.c: (gst_element_factory_init),
5076         (gst_element_factory_cleanup), (gst_element_register),
5077         (__gst_element_factory_add_static_pad_template),
5078         (gst_element_factory_get_static_pad_templates),
5079         (gst_element_factory_can_src_caps),
5080         (gst_element_factory_can_sink_caps):
5081         * gst/registries/Makefile.am:
5082         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
5083         (gst_xml_registry_class_init), (gst_xml_registry_init),
5084         (gst_xml_registry_new), (gst_xml_registry_set_property),
5085         (gst_xml_registry_get_property), (get_time), (make_dir),
5086         (gst_xml_registry_get_perms_func),
5087         (plugin_times_older_than_recurse), (plugin_times_older_than),
5088         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
5089         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
5090         (add_to_char_array), (read_string), (read_uint), (read_enum),
5091         (load_pad_template), (load_feature), (load_plugin), (load_paths),
5092         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
5093         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
5094         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
5095         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
5096         (gst_xml_registry_rebuild):
5097         * gst/registries/gstlibxmlregistry.h:
5098         * tools/gst-compprep.c: (main):
5099         * tools/gst-inspect.c: (print_pad_templates_info):
5100         * tools/gst-xmlinspect.c: (print_element_info):
5101           Use libxml2 for registry parsing, use staticpadtemplates in
5102           elementfactories. Makes gst_init() +/- 10x faster.
5103
5104 2005-04-12  Wim Taymans  <wim@fluendo.com>
5105
5106         * gst/base/Makefile.am:
5107         * gst/base/gstbasesink.c: (gst_basesink_base_init),
5108         (gst_basesink_pad_getcaps), (gst_basesink_init),
5109         (gst_basesink_event), (gst_basesink_change_state):
5110         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
5111         (gst_basesrc_init), (gst_basesrc_query),
5112         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
5113         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
5114         (gst_basesrc_check_get_range), (gst_basesrc_loop),
5115         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
5116         (gst_basesrc_stop), (gst_basesrc_activate),
5117         (gst_basesrc_change_state):
5118         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5119         (helper_find_suggest), (gst_type_find_helper):
5120         * gst/base/gsttypefindhelper.h:
5121         * gst/elements/Makefile.am:
5122         * gst/elements/gstelements.c:
5123         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
5124         (gst_fakesink_get_times), (gst_fakesink_event),
5125         (gst_fakesink_preroll), (gst_fakesink_render):
5126         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
5127         (gst_fakesrc_init), (gst_fakesrc_event_handler),
5128         (gst_fakesrc_get_property), (gst_fakesrc_create),
5129         (gst_fakesrc_start), (gst_fakesrc_stop):
5130         * gst/elements/gstfakesrc.h:
5131         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
5132         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
5133         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
5134         (gst_filesrc_create_read), (gst_filesrc_create),
5135         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
5136         (gst_filesrc_start):
5137         * gst/elements/gsttypefindelement.c:
5138         (gst_type_find_element_have_type), (gst_type_find_element_init),
5139         (start_typefinding), (stop_typefinding), (push_buffer_store),
5140         (gst_type_find_element_handle_event),
5141         (gst_type_find_element_chain),
5142         (gst_type_find_element_checkgetrange),
5143         (gst_type_find_element_getrange), (do_typefind),
5144         (gst_type_find_element_activate),
5145         (gst_type_find_element_change_state):
5146         * gst/elements/gsttypefindelement.h:
5147         * gst/gstpipeline.c: (pipeline_bus_handler):
5148         Added typefind helper.
5149         Small preroll fix in the base sink.
5150         Disable typefind code in basesrc.
5151         Crude port of typefindelement.
5152         Fakesrc cleanups.
5153
5154
5155 2005-04-11  Wim Taymans  <wim@fluendo.com>
5156
5157         * check/gst/gstbus.c: (gstbus_suite):
5158         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
5159         * check/gstcheck.h:
5160           Fix up the timeout so that the test does not fail.
5161
5162 2005-04-06  Wim Taymans  <wim@fluendo.com>
5163
5164         * gst/base/README:
5165         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
5166         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
5167         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
5168         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
5169         (gst_basesrc_check_get_range), (gst_basesrc_loop),
5170         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
5171         (gst_basesrc_stop), (gst_basesrc_activate),
5172         (gst_basesrc_change_state), (basesrc_find_peek),
5173         (basesrc_find_suggest), (gst_basesrc_type_find):
5174         * gst/base/gstbasesrc.h:
5175         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
5176         (gst_filesrc_class_init), (gst_filesrc_init),
5177         (gst_filesrc_finalize), (gst_filesrc_set_location),
5178         (gst_filesrc_set_property), (gst_filesrc_get_property),
5179         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
5180         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
5181         (gst_filesrc_create_read), (gst_filesrc_create),
5182         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
5183         * gst/elements/gstfilesrc.h:
5184         * gst/gstelement.c: (gst_element_get_state_func),
5185         (gst_element_lost_state), (gst_element_pads_activate):
5186         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
5187         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
5188         (gst_pad_pull_range):
5189         * gst/gstpad.h:
5190         More work on the generic source base class, implement seeking,
5191         query.
5192         Make filesrc extend the base source class.
5193         Added gst_pad_set_checkgetrange_function to GstPad.
5194
5195 2005-04-06  Andy Wingo  <wingo@pobox.com>
5196
5197         * pkgconfig/gstreamer-base.pc.in:
5198         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
5199
5200         * pkgconfig/Makefile.am:
5201         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
5202
5203 2005-04-04  Wim Taymans  <wim@fluendo.com>
5204
5205         * gst/base/Makefile.am:
5206         * gst/base/README:
5207         * gst/base/gstbasesink.c: (gst_basesink_base_init),
5208         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
5209         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
5210         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
5211         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
5212         (gst_basesrc_base_init), (gst_basesrc_class_init),
5213         (gst_basesrc_init), (gst_basesrc_get_formats),
5214         (gst_basesrc_get_query_types), (gst_basesrc_query),
5215         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
5216         (gst_basesrc_set_property), (gst_basesrc_get_property),
5217         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
5218         (gst_basesrc_loop), (gst_basesrc_activate),
5219         (gst_basesrc_change_state):
5220         * gst/base/gstbasesrc.h:
5221         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
5222         (gst_fakesrc_class_init), (gst_fakesrc_init),
5223         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
5224         (gst_fakesrc_get_property), (gst_fakesrc_create):
5225         * gst/elements/gstfakesrc.h:
5226         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
5227         (gst_filesrc_open_file), (gst_filesrc_loop),
5228         (gst_filesrc_activate), (filesrc_find_peek),
5229         (gst_filesrc_type_find):
5230         Made base source class, make fakesrc extend it.
5231         Add comments to basesink class.
5232         Some filesrc cleanup.
5233
5234 2005-03-31  David Schleef  <ds@schleef.org>
5235
5236         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
5237         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
5238         expected to link against libgstreamer.
5239         * gst/base/Makefile.am: link against libgstreamer
5240         * gst/elements/Makefile.am: same
5241
5242 2005-03-31  Andy Wingo  <wingo@pobox.com>
5243
5244         * tests/instantiate/Makefile.am:
5245         * tests/instantiate/caps.c: Add test to test speed of caps copy
5246         and free.
5247
5248         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
5249         GMemChunk to be fair.
5250
5251         * gst/gsttrashstack.h: Remove warning about using the fallback
5252         trash stack implementation, it's still faster than malloc.
5253
5254 2005-03-30  Andy Wingo  <wingo@pobox.com>
5255
5256         * tests/complexity.c: Add a copyright.
5257
5258 2005-03-31  Wim Taymans  <wim@fluendo.com>
5259
5260         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
5261         (gst_base_transform_class_init), (gst_base_transform_init),
5262         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
5263         (gst_base_transform_get_property),
5264         (gst_base_transform_sink_activate),
5265         (gst_base_transform_src_activate),
5266         (gst_base_transform_change_state):
5267         * gst/base/gstbasetransform.h:
5268         * gst/elements/gstidentity.c: (gst_identity_class_init),
5269         (gst_identity_event), (gst_identity_check_perfect),
5270         (gst_identity_transform), (gst_identity_start),
5271         (gst_identity_stop):
5272         Added start/stop methods to transform base class so subclasses 
5273         don't need to deal with state changes even.
5274
5275 2005-03-31  Wim Taymans  <wim@fluendo.com>
5276
5277         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
5278         (gst_event_new_discontinuous), (gst_event_discont_get_value):
5279         * gst/gstevent.h:
5280         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
5281         (gst_pad_pull_range):
5282         Added rate to the discont event to prepare for variable speed
5283         and reverse playback.
5284
5285 2005-03-29  David Schleef  <ds@schleef.org>
5286
5287         * configure.ac:
5288         * testsuite/trigger/Makefile.am:
5289         * testsuite/trigger/trigger.c: A little example program to show
5290         how trigger-based elements can work.
5291
5292 2005-03-29  Wim Taymans  <wim@fluendo.com>
5293
5294         * gst/base/Makefile.am:
5295         * gst/base/README:
5296         * gst/base/gstbasesink.c: (gst_basesink_get_type),
5297         (gst_basesink_base_init), (gst_basesink_class_init),
5298         (gst_basesink_pad_getcaps), (gst_basesink_init),
5299         (gst_basesink_activate), (gst_basesink_change_state):
5300         * gst/base/gstbasesink.h:
5301         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
5302         (gst_base_transform_base_init), (gst_base_transform_finalize),
5303         (gst_base_transform_class_init), (gst_base_transform_init),
5304         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
5305         (gst_base_transform_event), (gst_base_transform_getrange),
5306         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
5307         (gst_base_transform_set_property),
5308         (gst_base_transform_get_property),
5309         (gst_base_transform_sink_activate),
5310         (gst_base_transform_src_activate),
5311         (gst_base_transform_change_state):
5312         * gst/base/gstbasetransform.h:
5313         * gst/elements/gstidentity.c: (gst_identity_finalize),
5314         (gst_identity_class_init), (gst_identity_init),
5315         (gst_identity_event), (gst_identity_check_perfect),
5316         (gst_identity_transform), (gst_identity_set_property),
5317         (gst_identity_get_property), (gst_identity_change_state):
5318         * gst/elements/gstidentity.h:
5319         * gst/gstelement.c: (gst_element_get_state_func),
5320         (gst_element_lost_state), (gst_element_pads_activate):
5321         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
5322         (gst_pad_check_pull_range), (gst_pad_pull_range):
5323         * gst/gstpad.h:
5324         Simplify pad activation.
5325         Added function to check if pull_range can be performed.
5326         Error out when pulling inactive or flushing pads.
5327         Removed const from refcounted types as it does not make sense.
5328         Simplify pad templates in basesink
5329         Added base class for simple 1-to-1 transforms.
5330         Make identity subclass the base transform.
5331
5332 2005-03-29  Andy Wingo  <wingo@pobox.com>
5333
5334         * docs/libs/gstreamer-libs-overrides.txt: 
5335         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
5336         really don't understand what's going on, but like whatever. I want
5337         green buildbot!
5338
5339         * docs/gst/Makefile.am:
5340         * docs/libs/Makefile.am: Dist the overrides files.
5341
5342         * check/Makefile.am (clean-local): Remove .libs directories.
5343
5344         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
5345         elements to EXTRA_DIST, so po/ files are happy.
5346
5347         * po/POTFILES.in: Er, remove it here.
5348
5349         * po/POTFILES: Remove gstspider.c.
5350
5351         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
5352
5353         * docs/libs/gstreamer-libs-docs.sgml: 
5354         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
5355         bytestream.
5356
5357         * tests/complexity.c (main): Set the length of the preroll queue
5358         on the sinks to prevent a lockup.
5359
5360         * libs/gst/dataprotocol/Makefile.am: 
5361         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
5362         the same as the one in check/gst-libs/gdp.c.
5363
5364         * po/, docs/gst/: Commit automatic changes to docs and po files.
5365
5366         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
5367         the versioned libgstbase.
5368
5369         * check/Makefile.am: Depend on an unversioned gst-register, seems
5370         to make autoconf happier.
5371
5372         * gst/base/Makefile.am: Make libgstbase a versioned lib.
5373
5374 2005-03-28  Wim Taymans  <wim@fluendo.com>
5375
5376         * configure.ac:
5377         * docs/design/part-gstelement.txt:
5378         * docs/design/part-negotiation.txt:
5379         * docs/design/part-preroll.txt:
5380         * docs/design/part-scheduling.txt:
5381         * docs/design/part-states.txt:
5382         * gst/Makefile.am:
5383         * gst/base/Makefile.am:
5384         * gst/base/README:
5385         * gst/base/gstbasesink.c: (gst_basesink_get_template),
5386         (gst_basesink_base_init), (gst_basesink_class_init),
5387         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
5388         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
5389         (gst_basesink_set_pad_functions),
5390         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
5391         (gst_basesink_set_property), (gst_basesink_get_property),
5392         (gst_base_sink_get_template), (gst_base_sink_get_caps),
5393         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
5394         (gst_basesink_preroll_queue_push),
5395         (gst_basesink_preroll_queue_empty),
5396         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
5397         (gst_basesink_event), (gst_basesink_get_times),
5398         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
5399         (gst_basesink_chain_unlocked), (gst_basesink_chain),
5400         (gst_basesink_loop), (gst_basesink_activate),
5401         (gst_basesink_change_state):
5402         * gst/base/gstbasesink.h:
5403         * gst/elements/Makefile.am:
5404         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
5405         (gst_fakesink_class_init), (gst_fakesink_init),
5406         (gst_fakesink_set_property), (gst_fakesink_get_property),
5407         (gst_fakesink_get_times), (gst_fakesink_event),
5408         (gst_fakesink_preroll), (gst_fakesink_render),
5409         (gst_fakesink_change_state):
5410         * gst/elements/gstfakesink.h:
5411         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
5412         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
5413         * gst/gstelement.c: (gst_element_add_pad),
5414         (gst_element_get_state_func), (gst_element_abort_state),
5415         (gst_element_commit_state), (gst_element_lost_state),
5416         (gst_element_set_state), (gst_element_pads_activate):
5417         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
5418         * gst/gstpipeline.c: (gst_pipeline_send_event),
5419         (gst_pipeline_change_state):
5420         Added state change code.
5421         Added/updated docs.
5422         Added sink base class, make fakesink extend the base class.
5423         Small cleanups in GstPipeline.
5424
5425 2005-03-26  David Schleef  <ds@schleef.org>
5426
5427         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
5428         is broken and should be implemented in a different library.
5429         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
5430         * gst/gst.h: remove gstcpu.h
5431         * gst/gstcpu.c: remove
5432         * gst/gstcpu.h: remove
5433         * gst/Makefile.am.future: Remove this file.  It's ancient.
5434
5435 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5436
5437         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
5438         (gst_bin_send_event):
5439           Add default event/set_manager handlers. The set_manager handler
5440           takes care that the manager is distributed over kids that were
5441           already in the bin before the manager was set. The event handler
5442           is a utility virtual function that sends the event over all sinks,
5443           so that gst_element_send_event (bin, event); has the expected
5444           behaviour.
5445         * gst/gstpad.c: (gst_pad_event_default):
5446           Re-install default event handling for discontinuities, so that
5447           seeking works without requiring hacks in applications or extra
5448           code in sinks.
5449         * gst/gstpipeline.c: (gst_pipeline_class_init),
5450         (gst_pipeline_send_event):
5451           Half hack, half utility: set a pipeline to PAUSED for seek events,
5452           since that is the only way we can guarantee a/v sync. Means that
5453           you can do gst_element_seek (pipeline, method, pos); on a pipeline
5454           and it "just works".
5455
5456 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5457
5458         * gst/gstpipeline.c: (gst_pipeline_use_clock):
5459           Lock/unlock mismatch.
5460
5461 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
5462
5463         * docs/faq/gst-uninstalled:
5464           add gst-plugins-base
5465         * docs/gst/Makefile.am:
5466           don't error out until docs are fixed
5467         * docs/gst/gstreamer.types:
5468           remove thread
5469
5470 2005-03-22  Wim Taymans  <wim@fluendo.com>
5471
5472         * check/Makefile.am:
5473         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
5474         * gst/gststructure.c: (gst_structure_set_valist),
5475         (gst_structure_copy_conditional):
5476         Activated more tests.
5477         Added message test.
5478         Added G_TYPE_POINTER to GstStructure.
5479         
5480
5481 2005-03-22  Wim Taymans  <wim@fluendo.com>
5482
5483         * docs/design/part-TODO.txt:
5484         * docs/design/part-events.txt:
5485         * docs/design/part-gstbin.txt:
5486         * docs/design/part-gstbus.txt:
5487         * docs/design/part-gstpipeline.txt:
5488         * docs/design/part-messages.txt:
5489         * gst/gstbus.c:
5490         * gst/gstmessage.c:
5491         Docs updates
5492
5493 2005-03-21  Wim Taymans  <wim@fluendo.com>
5494
5495         * gst/gstbus.c: (gst_bus_post):
5496         Fix copy-and-paste error.
5497
5498 2005-03-21  Wim Taymans  <wim@fluendo.com>
5499
5500         * check/Makefile.am:
5501         * gst/Makefile.am:
5502         * gst/elements/Makefile.am:
5503         * gst/elements/gstelements.c:
5504         * gst/elements/gstfakesink.c: (gst_fakesink_init),
5505         (gst_fakesink_event), (gst_fakesink_chain):
5506         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
5507         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
5508         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
5509         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
5510         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
5511         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
5512         (gst_fakesrc_loop), (gst_fakesrc_activate),
5513         (gst_fakesrc_change_state):
5514         * gst/elements/gstfakesrc.h:
5515         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
5516         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
5517         (gst_filesrc_open_file), (gst_filesrc_loop),
5518         (gst_filesrc_activate), (gst_filesrc_change_state),
5519         (filesrc_find_peek), (filesrc_find_suggest),
5520         (gst_filesrc_type_find):
5521         * gst/elements/gstidentity.c: (gst_identity_finalize),
5522         (gst_identity_class_init), (gst_identity_init),
5523         (gst_identity_proxy_getcaps), (identity_queue_push),
5524         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
5525         (gst_identity_getrange), (gst_identity_chain),
5526         (gst_identity_sink_loop), (gst_identity_src_loop),
5527         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
5528         (gst_identity_set_property), (gst_identity_get_property),
5529         (gst_identity_change_state):
5530         * gst/elements/gstidentity.h:
5531         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
5532         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
5533         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
5534         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
5535         (gst_tee_sink_activate):
5536         * gst/elements/gsttee.h:
5537         * gst/gst.c: (gst_register_core_elements), (init_post):
5538         * gst/gst.h:
5539         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
5540         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
5541         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
5542         (gst_bin_change_state):
5543         * gst/gstbin.h:
5544         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
5545         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
5546         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
5547         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
5548         (gst_bus_set_sync_handler), (gst_bus_create_watch),
5549         (bus_watch_callback), (bus_watch_destroy),
5550         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
5551         (poll_timeout), (gst_bus_poll):
5552         * gst/gstbus.h:
5553         * gst/gstcaps.h:
5554         * gst/gstdata.h:
5555         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5556         (gst_element_post_message), (gst_element_message_full),
5557         (gst_element_get_state_func), (gst_element_get_state),
5558         (gst_element_abort_state), (gst_element_commit_state),
5559         (gst_element_lost_state), (gst_element_set_state),
5560         (gst_element_pads_activate), (gst_element_change_state),
5561         (gst_element_dispose), (gst_element_set_manager_func),
5562         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
5563         (gst_element_set_manager), (gst_element_get_manager),
5564         (gst_element_set_bus), (gst_element_get_bus),
5565         (gst_element_set_scheduler), (gst_element_get_scheduler):
5566         * gst/gstelement.h:
5567         * gst/gstevent.c: (gst_event_new_segment_seek),
5568         (gst_event_new_flush):
5569         * gst/gstevent.h:
5570         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
5571         (_gst_message_free), (gst_message_get_type), (gst_message_new),
5572         (gst_message_new_eos), (gst_message_new_error),
5573         (gst_message_new_warning), (gst_message_new_tag),
5574         (gst_message_new_state_changed), (gst_message_new_application),
5575         (gst_message_get_structure), (gst_message_parse_tag),
5576         (gst_message_parse_state_changed), (gst_message_parse_error),
5577         (gst_message_parse_warning):
5578         * gst/gstmessage.h:
5579         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
5580         (gst_real_pad_set_property), (gst_pad_set_active),
5581         (gst_pad_is_active), (gst_pad_set_blocked_async),
5582         (gst_pad_set_blocked), (gst_pad_is_blocked),
5583         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
5584         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
5585         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
5586         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
5587         (gst_pad_link_filtered), (gst_pad_relink_filtered),
5588         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
5589         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
5590         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
5591         (gst_pad_set_caps), (gst_pad_configure_sink),
5592         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
5593         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
5594         (gst_real_pad_dispose), (gst_real_pad_finalize),
5595         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
5596         (gst_pad_event_default_dispatch), (gst_pad_event_default),
5597         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
5598         * gst/gstpad.h:
5599         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
5600         (pipeline_bus_handler), (gst_pipeline_change_state),
5601         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
5602         * gst/gstpipeline.h:
5603         * gst/gstprobe.h:
5604         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5605         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
5606         (gst_queue_link_src), (gst_queue_bufferalloc),
5607         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
5608         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
5609         (gst_queue_loop), (gst_queue_handle_src_event),
5610         (gst_queue_handle_src_query), (gst_queue_src_activate),
5611         (gst_queue_change_state):
5612         * gst/gstqueue.h:
5613         * gst/gstscheduler.c: (gst_scheduler_init),
5614         (gst_scheduler_dispose), (gst_scheduler_create_task),
5615         (gst_scheduler_factory_create):
5616         * gst/gstscheduler.h:
5617         * gst/gststructure.c: (gst_structure_get_type),
5618         (gst_structure_copy_conditional):
5619         * gst/gststructure.h:
5620         * gst/gsttaginterface.h:
5621         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
5622         (gst_task_init), (gst_task_dispose), (gst_task_create),
5623         (gst_task_get_state), (gst_task_start), (gst_task_stop),
5624         (gst_task_pause):
5625         * gst/gsttask.h:
5626         * gst/gstthread.c:
5627         * gst/gstthread.h:
5628         * gst/gsttypes.h:
5629         * gst/schedulers/Makefile.am:
5630         * gst/schedulers/cothreads_compat.h:
5631         * gst/schedulers/entryscheduler.c:
5632         * gst/schedulers/faircothreads.c:
5633         * gst/schedulers/faircothreads.h:
5634         * gst/schedulers/fairscheduler.c:
5635         * gst/schedulers/gstbasicscheduler.c:
5636         * gst/schedulers/gstoptimalscheduler.c:
5637         * gst/schedulers/gthread-cothreads.h:
5638         * gst/schedulers/threadscheduler.c:
5639         (gst_thread_scheduler_task_get_type),
5640         (gst_thread_scheduler_task_class_init),
5641         (gst_thread_scheduler_task_init),
5642         (gst_thread_scheduler_task_start),
5643         (gst_thread_scheduler_task_stop),
5644         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
5645         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
5646         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
5647         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
5648         (plugin_init):
5649         * libs/gst/Makefile.am:
5650         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
5651         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
5652         (gst_file_pad_parent_set):
5653         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
5654         (gst_dp_event_from_packet):
5655         * tests/complexity.c: (main):
5656         * tests/mass_elements.c: (main):
5657         * testsuite/states/locked.c: (message_received), (main):
5658         * testsuite/states/parent.c: (main):
5659         * tools/gst-inspect.c: (print_element_flag_info),
5660         (print_implementation_info), (print_pad_info):
5661         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
5662         (main):
5663         * tools/gst-md5sum.c: (event_loop), (main):
5664         * tools/gst-typefind.c: (main):
5665         * tools/gst-xmlinspect.c: (print_element_info):
5666         Next big merge.
5667         Added GstBus for mainloop integration.
5668         Added GstMessage for sending notifications on the bus.
5669         Added GstTask as an abstraction for pipeline entry points.
5670         Removed GstThread.
5671         Removed Schedulers.
5672         Simplified GstQueue for multithreaded core.
5673         Made _link threadsafe, removed old capsnego.
5674         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
5675         Added pad blocking functions.
5676         Reworked scheduling functions in GstPad to prepare for
5677         scheduling updates soon.
5678         Moved events out of data stream.
5679         Simplified GstEvent types.
5680         Added return values to push/pull.
5681         Removed clocking from GstElement.
5682         Added prototypes for state change function for next merge.
5683         Removed iterate from bins and state change management.
5684         Fixed some elements, disabled others for now.
5685         Fixed -inspect and -launch.
5686         Added check for GstBus.
5687
5688 2005-03-10  Wim Taymans  <wim@fluendo.com>
5689
5690         * docs/design/part-MT-refcounting.txt:
5691         * docs/design/part-clocks.txt:
5692         * docs/design/part-gstelement.txt:
5693         * docs/design/part-gstobject.txt:
5694         * docs/design/part-standards.txt:
5695         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5696         (gst_bin_remove_func), (gst_bin_remove):
5697         * gst/gstbin.h:
5698         * gst/gstbuffer.c:
5699         * gst/gstcaps.h:
5700         * testsuite/clock/clock1.c: (main):
5701         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
5702         (main):
5703         * testsuite/dlopen/loadgst.c: (do_test):
5704         * testsuite/refcounting/bin.c: (add_remove_test1),
5705         (add_remove_test2), (main):
5706         * testsuite/refcounting/element.c: (main):
5707         * testsuite/refcounting/element_pad.c: (main):
5708         * testsuite/refcounting/pad.c: (main):
5709         * tools/gst-launch.c: (sigint_handler_sighandler):
5710         * tools/gst-typefind.c: (main):
5711         Doc updates.
5712         Added doc about clock.
5713         removed gst_bin_iterate_recurse_up(), marked methods
5714         for removal.
5715         Fix more testsuites.
5716
5717 2005-03-09  Wim Taymans  <wim@fluendo.com>
5718
5719         * gst/gstpad.c: (gst_pad_get_direction),
5720         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
5721         (gst_pad_collect_valist):
5722         * testsuite/bins/interface.c: (main):
5723         * testsuite/caps/audioscale.c: (test_caps):
5724         * testsuite/caps/caps.c: (test1), (test2), (test3):
5725         * testsuite/caps/deserialize.c: (main):
5726         * testsuite/caps/enumcaps.c: (main):
5727         * testsuite/caps/filtercaps.c: (main):
5728         * testsuite/caps/intersect2.c: (main):
5729         * testsuite/caps/random.c: (main):
5730         * testsuite/caps/renegotiate.c: (my_fixate), (main):
5731         * testsuite/caps/sets.c: (check_caps):
5732         * testsuite/caps/simplify.c: (check_caps), (main):
5733         * testsuite/caps/subtract.c: (check_caps):
5734         Fix _pad_get_direction wrt ghostpads.
5735         Fix caps testsuite.
5736
5737 2005-03-09  Wim Taymans  <wim@fluendo.com>
5738
5739         * check/Makefile.am:
5740         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
5741         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
5742         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
5743         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
5744         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
5745         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
5746         (gst_bin_remove), (gst_bin_iterate_recurse_up),
5747         (bin_element_is_sink), (gst_bin_iterate_sinks),
5748         (gst_bin_iterate_all_by_interface):
5749         * gst/gstbin.h:
5750         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
5751         (gst_element_change_state), (gst_element_dispose),
5752         (gst_element_finalize), (gst_element_set_loop_function):
5753         * gst/gstelement.h:
5754         * gst/gstiterator.c: (find_custom_fold_func):
5755         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5756         (gst_pad_collectv), (gst_pad_collect_valist),
5757         (gst_pad_template_new):
5758         * gst/gstpipeline.c: (gst_pipeline_class_init),
5759         (gst_pipeline_dispose), (gst_pipeline_set_property),
5760         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
5761         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
5762         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
5763         * gst/gstutils.h:
5764         * gst/schedulers/entryscheduler.c:
5765         * gst/schedulers/gstbasicscheduler.c:
5766         (gst_basic_scheduler_cothreaded_chain),
5767         (gst_basic_scheduler_chain_add_element):
5768         * testsuite/bins/interface.c: (main):
5769         Added GstBin test.
5770         Added GstSystemClock test.
5771         Implemented clock distribution code in GstBin.
5772         Implemented iterate sinks method for future use.
5773         Rearranged gstelement.h
5774         Fix GstIterator comparison bug.
5775         Moved some code to GstPipeline, mostly clocking related.
5776
5777 2005-03-09  Wim Taymans  <wim@fluendo.com>
5778
5779         * configure.ac:
5780         * gst/gst_private.h:
5781         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5782         (gst_bin_remove_func), (gst_bin_remove),
5783         (gst_bin_get_by_name_recurse_up):
5784         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
5785         (gst_clock_id_compare_func), (gst_clock_id_wait),
5786         (gst_clock_id_wait_async), (gst_clock_init),
5787         (gst_clock_adjust_unlocked), (gst_clock_get_time):
5788         * gst/gstelement.h:
5789         * gst/gstinfo.c: (_gst_debug_init):
5790         * gst/gstobject.h:
5791         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
5792         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
5793         * gst/gstpad.h:
5794         Bump version number, we're now 0.9.0
5795         Add future debugging category.
5796         Fix NULL _unref() in _get_by_name_recurse_up
5797         Rearrange gstpad.h.
5798         Update some docs.
5799
5800 2005-03-08  Wim Taymans  <wim@fluendo.com>
5801
5802         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
5803         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5804         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
5805         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
5806         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
5807         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
5808         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
5809         * gst/elements/gstidentity.c: (gst_identity_class_init):
5810         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
5811         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
5812         * gst/elements/gstshaper.c: (gst_shaper_class_init):
5813         * gst/elements/gststatistics.c: (gst_statistics_class_init):
5814         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
5815         (gst_tee_link):
5816         * gst/gstelement.c: (gst_element_class_init),
5817         (gst_element_base_class_init), (gst_element_init),
5818         (gst_element_get_random_pad), (gst_element_wait_state_change),
5819         (gst_element_change_state), (gst_element_dispose),
5820         (gst_element_finalize), (gst_element_set_loop_function):
5821         * gst/gstelement.h:
5822         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
5823         * gst/gstthread.c: (gst_thread_class_init),
5824         (gst_thread_release_children_locks), (gst_thread_change_state):
5825         * gst/schedulers/gstbasicscheduler.c:
5826         (gst_basic_scheduler_loopfunc_wrapper),
5827         (gst_basic_scheduler_chain_wrapper),
5828         (gst_basic_scheduler_src_wrapper),
5829         (gst_basic_scheduler_remove_element):
5830         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5831         Remove threadsafe properties. Fix elements because GObject
5832         complains when installing a property before declaring a
5833         set/get_property handler.
5834         Rearrange gstelement.h file, use STATE macros for state locks.
5835         Free mutexes in the finalize method instead of dispose.
5836
5837 2005-03-08  Wim Taymans  <wim@fluendo.com>
5838
5839         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
5840         * gst/gstthread.c: (gst_thread_release_children_locks):
5841         Added parentage check.
5842         Fix build og GstThread again.
5843
5844 2005-03-08  Wim Taymans  <wim@fluendo.com>
5845
5846         * docs/design/part-MT-refcounting.txt:
5847         * docs/design/part-conventions.txt:
5848         * docs/design/part-gstobject.txt:
5849         * docs/design/part-relations.txt:
5850         * docs/design/part-standards.txt:
5851         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
5852         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
5853         (gst_bin_get_by_name), (gst_bin_get_by_interface),
5854         (gst_bin_iterate_all_by_interface):
5855         * gst/gstbuffer.h:
5856         * gst/gstclock.h:
5857         * gst/gstelement.c: (gst_element_class_init),
5858         (gst_element_change_state), (gst_element_set_loop_function):
5859         * gst/gstelement.h:
5860         * gst/gstiterator.c:
5861         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
5862         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
5863         (gst_object_dispatch_properties_changed), (gst_object_set_name),
5864         (gst_object_set_parent), (gst_object_unparent),
5865         (gst_object_check_uniqueness):
5866         * gst/gstobject.h:
5867         Docs updates, clean up some headers.
5868
5869 2005-03-07  Wim Taymans  <wim@fluendo.com>
5870
5871         * check/.cvsignore:
5872         * check/Makefile.am:
5873         * check/gst-libs/.cvsignore:
5874         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
5875         * check/gst/.cvsignore:
5876         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
5877         (START_TEST), (gstbus_suite), (main):
5878         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
5879         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
5880         (gst_data_suite), (main):
5881         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
5882         (add_fold_func), (gstiterator_suite), (main):
5883         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
5884         (thread_name_object), (thread_name_object_default),
5885         (gst_object_name_compare), (gst_object_suite), (main):
5886         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
5887         (gst_pad_suite), (main):
5888         * check/gstcheck.c: (gst_check_log_message_func),
5889         (gst_check_log_critical_func), (gst_check_init):
5890         * check/gstcheck.h:
5891         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5892         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
5893         Added checks.
5894
5895 2005-03-07  Wim Taymans  <wim@fluendo.com>
5896
5897         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5898         (gst_list_iterator_next), (gst_list_iterator_resync),
5899         (gst_list_iterator_free), (gst_iterator_new_list),
5900         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
5901         (gst_iterator_free), (gst_iterator_push), (filter_next),
5902         (filter_resync), (filter_uninit), (filter_free),
5903         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
5904         (gst_iterator_foreach), (find_custom_fold_func),
5905         (gst_iterator_find_custom):
5906         * gst/gstiterator.h:
5907         Added missing files.
5908
5909 2005-03-07  Wim Taymans  <wim@fluendo.com>
5910
5911         * Makefile.am:
5912         * configure.ac:
5913         * docs/design/part-MT-refcounting.txt:
5914         * docs/design/part-conventions.txt:
5915         * docs/design/part-gstobject.txt:
5916         * docs/design/part-relations.txt:
5917         * examples/mixer/mixer.c: (main):
5918         * examples/thread/thread.c: (eos), (main):
5919         * gst/Makefile.am:
5920         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
5921         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
5922         (gst_spider_plug_from_srcpad):
5923         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
5924         (gst_spider_identity_change_state),
5925         (gst_spider_identity_sink_loop_type_finding):
5926         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
5927         * gst/elements/gstidentity.c: (gst_identity_init):
5928         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
5929         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
5930         * gst/elements/gsttypefindelement.c: (free_entry):
5931         * gst/gst.c:
5932         * gst/gst.h:
5933         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
5934         (gst_bin_set_clock_func), (gst_bin_auto_clock),
5935         (gst_bin_set_index), (gst_bin_set_element_sched),
5936         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
5937         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
5938         (gst_bin_iterate_elements), (iterate_child_recurse),
5939         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
5940         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
5941         (compare_interface), (gst_bin_get_by_interface),
5942         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
5943         * gst/gstbin.h:
5944         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
5945         (gst_buffer_default_free), (gst_buffer_default_copy),
5946         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
5947         (gst_buffer_create_sub):
5948         * gst/gstbuffer.h:
5949         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
5950         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
5951         (gst_caps_unref), (gst_static_caps_get),
5952         (gst_caps_remove_and_get_structure), (gst_caps_append),
5953         (gst_caps_append_structure), (gst_caps_remove_structure),
5954         (gst_caps_copy_nth), (gst_caps_set_simple),
5955         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
5956         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
5957         (gst_caps_structure_intersect_field), (gst_caps_intersect),
5958         (gst_caps_structure_subtract_field), (gst_caps_subtract),
5959         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
5960         (gst_caps_structure_figure_out_union),
5961         (gst_caps_switch_structures), (gst_caps_do_simplify),
5962         (gst_caps_replace), (gst_caps_from_string),
5963         (gst_caps_copy_conditional):
5964         * gst/gstcaps.h:
5965         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
5966         (_gst_clock_id_free), (gst_clock_id_unref),
5967         (gst_clock_id_compare_func), (gst_clock_id_wait),
5968         (gst_clock_id_wait_async), (gst_clock_class_init),
5969         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
5970         (gst_clock_get_time), (gst_clock_set_time_adjust),
5971         (gst_clock_set_property), (gst_clock_get_property):
5972         * gst/gstclock.h:
5973         * gst/gstcompat.h:
5974         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
5975         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
5976         * gst/gstdata.h:
5977         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
5978         (gst_element_requires_clock), (gst_element_provides_clock),
5979         (gst_element_set_clock), (gst_element_clock_wait),
5980         (gst_element_wait), (gst_element_set_time_delay),
5981         (gst_element_is_indexable), (gst_element_add_pad),
5982         (gst_element_add_ghost_pad), (gst_element_remove_pad),
5983         (pad_compare_name), (gst_element_get_static_pad),
5984         (gst_element_request_pad), (gst_element_get_request_pad),
5985         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
5986         (gst_element_class_get_pad_template_list),
5987         (gst_element_class_get_pad_template), (gst_element_error_func),
5988         (gst_element_get_random_pad), (gst_element_get_event_masks),
5989         (gst_element_send_event), (gst_element_seek),
5990         (gst_element_get_query_types), (gst_element_query),
5991         (gst_element_get_formats), (gst_element_convert),
5992         (gst_element_is_locked_state), (gst_element_set_locked_state),
5993         (gst_element_sync_state_with_parent), (gst_element_change_state),
5994         (gst_element_finalize), (gst_element_yield),
5995         (gst_element_interrupt), (gst_element_set_scheduler),
5996         (gst_element_get_scheduler), (gst_element_set_loop_function):
5997         * gst/gstelement.h:
5998         * gst/gstevent.h:
5999         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
6000         (gst_format_get_by_nick), (gst_format_get_details),
6001         (gst_format_iterate_definitions):
6002         * gst/gstformat.h:
6003         * gst/gstindex.c: (gst_index_gtype_resolver):
6004         * gst/gstinfo.c:
6005         * gst/gstinfo.h:
6006         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
6007         (gst_mem_chunk_free):
6008         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
6009         (gst_object_ref), (gst_object_unref), (gst_object_sink),
6010         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
6011         (gst_object_dispatch_properties_changed),
6012         (gst_object_set_name_default), (gst_object_set_name),
6013         (gst_object_get_name), (gst_object_set_name_prefix),
6014         (gst_object_get_name_prefix), (gst_object_set_parent),
6015         (gst_object_get_parent), (gst_object_unparent),
6016         (gst_object_check_uniqueness), (gst_object_save_thyself),
6017         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
6018         (gst_object_set_property), (gst_object_get_property),
6019         (gst_object_get_path_string):
6020         * gst/gstobject.h:
6021         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
6022         (gst_real_pad_init), (gst_real_pad_get_property),
6023         (gst_pad_custom_new), (gst_pad_get_direction),
6024         (gst_pad_set_active), (gst_pad_is_active),
6025         (gst_pad_set_event_function), (gst_pad_is_linked),
6026         (gst_pad_link_free), (gst_pad_link_intersect),
6027         (gst_pad_link_fixate), (gst_pad_set_caps),
6028         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
6029         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
6030         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
6031         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
6032         (gst_pad_get_caps), (gst_pad_peer_get_caps),
6033         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
6034         (gst_pad_realize), (gst_pad_get_allowed_caps),
6035         (gst_real_pad_dispose), (gst_real_pad_finalize),
6036         (gst_pad_collectv), (gst_pad_collect_valist),
6037         (gst_pad_template_dispose), (gst_pad_template_new),
6038         (gst_pad_get_internal_links):
6039         * gst/gstpad.h:
6040         * gst/gstpipeline.c: (gst_pipeline_dispose),
6041         (gst_pipeline_change_state):
6042         * gst/gstpipeline.h:
6043         * gst/gstplugin.c:
6044         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
6045         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
6046         * gst/gstpluginfeature.h:
6047         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6048         * gst/gstquery.c: (_gst_query_type_initialize),
6049         (gst_query_type_register), (gst_query_type_get_by_nick),
6050         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
6051         * gst/gstquery.h:
6052         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
6053         * gst/gstscheduler.c: (gst_scheduler_add_element),
6054         (gst_scheduler_factory_create):
6055         * gst/gststructure.c: (gst_structure_set_parent_refcount),
6056         (gst_structure_free), (gst_structure_set_name),
6057         (gst_structure_id_set_value), (gst_structure_set_value),
6058         (gst_structure_set_valist), (gst_structure_remove_field),
6059         (gst_structure_remove_fields),
6060         (gst_structure_remove_fields_valist),
6061         (gst_structure_remove_all_fields), (gst_structure_foreach),
6062         (gst_structure_map_in_place),
6063         (gst_caps_structure_fixate_field_nearest_int),
6064         (gst_caps_structure_fixate_field_nearest_double):
6065         * gst/gststructure.h:
6066         * gst/gstsystemclock.c: (gst_system_clock_class_init),
6067         (gst_system_clock_init), (gst_system_clock_dispose),
6068         (gst_system_clock_async_thread),
6069         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
6070         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
6071         * gst/gstsystemclock.h:
6072         * gst/gsttag.c: (gst_tag_list_add_value_internal),
6073         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
6074         * gst/gsttaginterface.c:
6075         * gst/gstthread.c: (gst_thread_dispose),
6076         (gst_thread_release_children_locks), (gst_thread_change_state),
6077         (gst_thread_main_loop):
6078         * gst/gsttrashstack.h:
6079         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
6080         * gst/gsttypes.h:
6081         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
6082         (gst_element_request_pad), (gst_element_get_pad_from_template),
6083         (gst_element_request_compatible_pad),
6084         (gst_element_get_compatible_pad_filtered),
6085         (gst_element_get_compatible_pad), (gst_element_state_get_name),
6086         (gst_element_link_pads_filtered), (gst_element_link_filtered),
6087         (gst_element_link_many), (gst_element_link),
6088         (gst_element_link_pads), (gst_element_unlink_pads),
6089         (gst_element_unlink_many), (gst_element_unlink),
6090         (gst_pad_can_link_filtered), (gst_pad_can_link),
6091         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
6092         (gst_object_default_error), (gst_bin_add_many),
6093         (gst_bin_remove_many), (gst_element_populate_std_props),
6094         (gst_element_class_install_std_props), (gst_buffer_merge),
6095         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
6096         (link_fold_func), (gst_pad_proxy_setcaps):
6097         * gst/gstutils.h:
6098         * gst/gstvalue.c: (gst_value_deserialize_string):
6099         * gst/parse/grammar.y:
6100         * gst/schedulers/gstbasicscheduler.c:
6101         (gst_basic_scheduler_cothreaded_chain),
6102         (gst_basic_scheduler_chain_recursive_add),
6103         (gst_basic_scheduler_pad_link):
6104         * gst/schedulers/gstoptimalscheduler.c:
6105         (get_group_schedule_function),
6106         (gst_opt_scheduler_state_transition),
6107         (gst_opt_scheduler_add_element), (element_get_reachables_func):
6108         * libs/gst/bytestream/bytestream.c:
6109         * libs/gst/dataprotocol/dataprotocol.c:
6110         (gst_dp_header_from_buffer):
6111         * po/nb.po:
6112         * po/ru.po:
6113         * tests/threadstate/threadstate2.c: (eos):
6114         * tools/gst-compprep.c: (main):
6115         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
6116         (print_pad_info), (print_children_info):
6117         * tools/gst-launch.c: (idle_func), (main):
6118         * tools/gst-md5sum.c: (idle_func), (main):
6119         * tools/gst-xmlinspect.c: (print_element_info):
6120         First THREADED backport attempt, focusing on adding locks and
6121         making sure the API is threadsafe. Needs more work. More docs
6122         follow this week.
6123
6124 2005-02-24  Andy Wingo  <wingo@pobox.com>
6125
6126         * tests/bench-complexity.scm:
6127         * tests/complexity.gnuplot: New files, good for running complexity
6128         benchmarks.
6129
6130         * tests/Makefile.am:
6131         * tests/complexity.c: New test, sets up N elements, at each level
6132         teeing into M streams per element. Eeeenteresting.
6133
6134         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
6135         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
6136         running bench-mass_elements.scm.
6137
6138         * tests/bench-mass_elements.scm: New script, runs mass_elements
6139         for various numbers of identities, outputting the results to a
6140         file. Requires guile 1.6. Just for testing.
6141
6142 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6143
6144         * gst/schedulers/fairscheduler.c:
6145           compile with debug disabled
6146
6147 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6148
6149         * configure.ac:
6150           hunting season on 0.9 is now OPEN
6151
6152 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
6153
6154         * docs/libs/tmpl/gstcontrol.sgml:
6155         * docs/libs/tmpl/gstdparam.sgml:
6156         * docs/libs/tmpl/gstdplinint.sgml:
6157         * docs/libs/tmpl/gstdpman.sgml:
6158         * docs/libs/tmpl/gstdpsmooth.sgml:
6159         * docs/libs/tmpl/gstunitconvert.sgml:
6160           more docs for the state of dparams
6161
6162 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6163
6164         * gst/gstelementfactory.c: (gst_element_factory_create):
6165         * gst/gstobject.c: (gst_object_init),
6166         (gst_object_set_name_default), (gst_object_set_name):
6167           name objects by default, not in gst_element_factory_create. Allows
6168           using elements created with g_object_new. (fixes #167283)
6169
6170 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6171
6172         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
6173           make the time that debugging functions print relative to when
6174           gst_init was called
6175
6176 2005-02-18  Tim-Philipp M??ller  <tim at centricular dot net>
6177
6178         * gst/gsttaginterface.c:
6179           Fix inline docs: tag setter vararg functions are NULL-terminated,
6180           GST_TAG_INVALID doesn't exist any more.
6181
6182 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6183
6184         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
6185         Allocate the 1 byte more memory that was forgotten!!!!!
6186         fixes memory corruption on 64bit platforms
6187
6188 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
6189
6190         * docs/pwg/building-pads.xml:
6191         * docs/pwg/intro-basics.xml:
6192           fixed a few typos, relabeled introductionary list of types
6193         * docs/random/ensonic/dparams.txt:
6194           more notes abut dparam changes
6195         * libs/gst/control/dparam.c: (gst_dparam_attach):
6196         * libs/gst/control/dparammanager.c:
6197         * libs/gst/control/dparammanager.h:
6198           - many comments and notes on dparam implementation
6199           - new dparams are were not initialized to the default value
6200             from param spec
6201
6202 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6203
6204         submitted by: Peter Astakhov
6205
6206         * po/LINGUAS:
6207         * po/ru.po:
6208           adding Russian translation
6209
6210 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6211
6212         * configure.ac:
6213         * docs/gst/Makefile.am:
6214         * docs/libs/Makefile.am:
6215           make sure popt is added to gtk-doc flags.  Fixes #147782.
6216
6217 2005-02-09  Tim-Philipp M??ller  <tim at centricular dot net>
6218
6219         * docs/faq/using.xml:
6220           Fix typo in FAQ (artssink => artsdsink)
6221
6222 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6223
6224         * tools/gst-launch.1.in:
6225           Fix typo (#166699).
6226
6227 2005-02-08  Tim-Philipp M??ller  <tim at centricular dot net>
6228
6229         * docs/faq/using.xml:
6230           Add -v argument to fakesrc/fakesink gst-launch line,
6231           so that the promised output will actually show up.
6232
6233 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6234
6235         * gst/gstthread.c: (gst_thread_change_state):
6236           Implement state-change error handling (#166073).
6237
6238 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6239
6240         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
6241           Release interrupt after handling (#166250).
6242
6243 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6244
6245         * configure.ac:
6246           back to HEAD
6247
6248 === release 0.8.9 ===
6249
6250 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6251
6252         * NEWS:
6253         * RELEASE:
6254         * configure.ac:
6255           releasing 0.8.9, "Like Eating Glass"
6256
6257 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6258
6259         submitted by: Clytie Siddall
6260
6261         * po/vi.po: Added Vietnamese translation
6262
6263 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6264
6265         patch by: Tim Philipp-M??ller
6266
6267         * configure.ac:
6268         * gst/gstpad.c:
6269           unref data when probe function returns FALSE.  Fixes #166362
6270
6271 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6272
6273         * gst/gst.c: (gst_init_get_popt_table):
6274           Fix typo (#166269).
6275
6276 2005-02-04  Andy Wingo  <wingo@pobox.com>
6277
6278         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
6279         the debugging on whether the caps are compatible.
6280
6281 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6282
6283         * docs/manual/basics-elements.xml:
6284           Fix two typos.
6285
6286 2005-02-02  Wim Taymans  <wim@fluendo.com>
6287
6288         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
6289         (schedule_chain), (get_invalid_call), (chain_invalid_call),
6290         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
6291         Remove some FIXMEs after analysing and commenting why they
6292         are not issues.
6293
6294 2005-02-02  Wim Taymans  <wim@fluendo.com>
6295
6296         * gst/schedulers/gstoptimalscheduler.c:
6297         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
6298         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
6299         (get_invalid_call), (chain_invalid_call),
6300         (get_group_schedule_function), (loop_group_schedule_function),
6301         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
6302         (gst_opt_scheduler_state_transition),
6303         (gst_opt_scheduler_add_element),
6304         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
6305         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
6306         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
6307         (gst_opt_scheduler_show):
6308         Added lock to protect scheduler data structures.
6309
6310 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6311
6312         * testsuite/threads/threadi.c: (cb_data):
6313           Fix buglet in test.
6314
6315 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6316
6317         * testsuite/threads/Makefile.am:
6318         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
6319           On Wim's request, split the test in three separately-compiled
6320           tests that each test a very specific bug. Two of them still fail,
6321           will create bugs for those. threadi.c indicates why they fail.
6322
6323 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6324
6325         * gst/schedulers/gstoptimalscheduler.c:
6326         (get_group_schedule_function):
6327           Try to work with the threading mess that queue_link is.
6328
6329 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6330
6331         * gst/gstbin.c: (gst_bin_remove_func):
6332           Explicitely make an element release locks in a group when being
6333           remove from a bin.
6334         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
6335           If there's no scheduler, always return immediately (similar to
6336           gst_element_interrupt).
6337
6338 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6339
6340         * gst/gstbin.c: (gst_bin_child_state_change_func):
6341           Remove a piece of code that could never be reached.
6342         * docs/gst/gstreamer-sections.txt:
6343         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
6344         (gst_pad_call_get_function):
6345         * gst/gstpad.h:
6346         * testsuite/pad/Makefile.am:
6347           Fix #150546, enable tests.
6348
6349 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6350
6351         * docs/pwg/advanced-types.xml:
6352           Fix description for buffer-frames=0.
6353         * docs/gst/tmpl/gstbin.sgml:
6354         * gst/gstbin.c: (gst_bin_child_state_change_func),
6355         (gst_bin_change_state), (gst_bin_change_state_norecurse):
6356         * gst/gstbin.h:
6357         * testsuite/threads/Makefile.am:
6358         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
6359         (cb_state), (cb_play), (main):
6360           Fix non-recursive state changes to *really* change the state
6361           of the object, and not just call parent_class->state_change.
6362           Fix a lot of lockups caused by this. Fixes #132775. Add test
6363           for the problem. Also enable test to show #142588 (fixed).
6364         * gst/gstthread.c: (gst_thread_change_state),
6365         (gst_thread_child_state_change):
6366           Don't exit the thread if we go to NULL and are inside thread
6367           context. Instead, return control to the main thread context
6368           and exit from there.
6369         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
6370           Don't unset virtual functions, since those may still be used.
6371           That's not necessarily correct, but suffices for now.
6372         * configure.ac:
6373         * testsuite/Makefile.am:
6374         * testsuite/pad/Makefile.am:
6375         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
6376         (gst_test_sink_base_init), (gst_test_sink_chain),
6377         (gst_test_sink_init), (main):
6378         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
6379         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
6380         (main):
6381         * testsuite/pad/link.c: (gst_test_element_class_init),
6382         (gst_test_element_base_init), (gst_test_src_get),
6383         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
6384         (gst_test_filter_loop), (gst_test_filter_init),
6385         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
6386         (cb_error), (main):
6387           Add tests to show #150546. Pass, but should fail (currently
6388           disabled from the testsuite).
6389         * gst/gstscheduler.c: (gst_scheduler_dispose):
6390           Dereference child schedulers on dispose (#94464).
6391         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
6392           Fix typo.
6393         * testsuite/threads/thread.c: (main):
6394           Add more debug.
6395
6396 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6397
6398         * gst/gstpad.c: (gst_pad_push):
6399           Oops, revert previous commit, broke testsuite...
6400
6401 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6402
6403         * gst/gstpad.c: (gst_pad_push):
6404           Add check that the pad on which the push is performed is not a
6405           get-based pad (#150546).
6406
6407 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6408
6409         * gst/elements/gsttypefindelement.c:
6410         (gst_type_find_element_handle_event):
6411           Fix buffer pushing if stream EOSes during typefinding.
6412
6413 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
6414
6415         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6416
6417         * gst/gstvalue.c: (gst_string_wrap):
6418           Allow NULL-strings as argument (#165365).
6419
6420 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
6421
6422         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6423
6424         * gst/schedulers/faircothreads.c:
6425         (gst_fair_scheduler_cothread_queue_show):
6426           Fix build without debug enabled.
6427
6428 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
6429
6430         * docs/gst/gstreamer-sections.txt:
6431         * docs/libs/gstreamer-libs-docs.sgml:
6432         * docs/libs/gstreamer-libs-sections.txt:
6433         * docs/libs/tmpl/gstcontrol.sgml:
6434         * docs/libs/tmpl/gstdparam.sgml:
6435         * docs/libs/tmpl/gstdplinint.sgml:
6436         * docs/libs/tmpl/gstdpman.sgml:
6437         * docs/libs/tmpl/gstdpsmooth.sgml:
6438         * docs/libs/tmpl/gstputbits.sgml:
6439         * docs/libs/tmpl/gstunitconvert.sgml:
6440         * libs/gst/control/dparam.c:
6441         * libs/gst/control/dparam.h:
6442         * libs/gst/control/dparammanager.c:
6443         (gst_dpman_add_required_dparam_callback),
6444         (gst_dpman_add_required_dparam_direct),
6445         (gst_dpman_add_required_dparam_array),
6446         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
6447         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
6448         (gst_dpman_get_manager)
6449           restructured DParam docs
6450
6451 2005-01-25  Tim-Philipp M??ller  <tim at centricular dot net>
6452
6453         * gst-element-check.m4:
6454           Only check for gst-inspect if we haven't already
6455           found it in previous element check runs
6456
6457 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
6458
6459         * docs/gst/Makefile.am:
6460         * docs/libs/Makefile.am:
6461           fixed install rules to treat style.css as optional
6462
6463 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
6464
6465         * docs/gst/Makefile.am:
6466         * docs/libs/Makefile.am:
6467           install style.css along with docs
6468         * docs/gst/tmpl/gstbin.sgml:
6469         * docs/gst/tmpl/gstclock.sgml:
6470         * docs/gst/tmpl/gstdata.sgml:
6471         * docs/gst/tmpl/gstelement.sgml:
6472         * gst/gstbin.h:
6473         * gst/gstelement.c: (gst_element_class_init):
6474         * gst/gstelement.h:
6475           fixing incomplete docs
6476
6477 2005-01-24  Tim-Philipp M??ller  <tim at centricular dot net>
6478
6479         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
6480           Don't unref seek event twice when fflush() fails
6481           
6482 2005-01-22  David Schleef  <ds@schleef.org>
6483
6484         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
6485
6486 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
6487
6488         * docs/gst/Makefile.am:
6489         * docs/libs/Makefile.am:
6490           added params for deprecation guards
6491         * gst/gst.c:
6492         * gst/gst.h:
6493         * gst/gsterror.c: (_gst_resource_errors_init),
6494         (_gst_stream_errors_init):
6495         * gst/gsterror.h:
6496           documented some more enums
6497
6498 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6499         * gst/autoplug/gstspideridentity.c:
6500         Cosmetic fix - spider_find_peek should be static
6501         * gst/parse/parse.l:
6502         Applying fix for #164261
6503
6504 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
6505
6506         * docs/gst/gstreamer-sections.txt:
6507         * docs/gst/tmpl/gstplugin.sgml:
6508         * docs/libs/gstreamer-libs-sections.txt:
6509         * docs/libs/tmpl/gstcontrol.sgml:
6510         * gst/gstbuffer.h:
6511         * gst/gsttag.h:
6512         * gst/gstvalue.c:
6513           added docs for the TAG defines
6514
6515 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6516
6517         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
6518           Only unref entry if there is an entry.
6519
6520 2005-01-17  Wim Taymans  <wim@fluendo.com>
6521
6522         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6523         (remove_from_group), (schedule_group), (normalize_group),
6524         (gst_opt_scheduler_iterate):
6525         Also ref/unref decoupled elements before iterating the
6526         group since they are not added to the list of elements.
6527
6528 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6529
6530         * docs/manual/highlevel-components.xml:
6531           Add subtitle/streamselection as new features to playbin.
6532
6533 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6534
6535         * docs/manual/manual.xml:
6536           Re-enable dataaccess docs (oops).
6537
6538 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6539
6540         * docs/pwg/advanced-types.xml:
6541         * docs/random/mimetypes:
6542           Add documentation on libsndfile types (#163309), by Steve Baker
6543           <steve@stevebaker.org>.
6544         * gst/gstelement.c: (gst_element_release_request_pad):
6545           If an element has no explicit function, just remove the pad.
6546
6547 2005-01-17  Luca Ognibene  <luogni@tin.it>
6548
6549         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6550
6551         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
6552           Fix memleak (#163801).
6553
6554 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6555
6556         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
6557           I think this is actually more correct...
6558
6559 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6560
6561         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6562           Another workaround for memory access while destroyed in callback.
6563           Please, someone with refcount knowledge, have a look at this.
6564
6565 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6566
6567         * docs/faq/faq.xml:
6568         * docs/faq/legal.xml:
6569           move the legal Q&A here
6570
6571 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6572
6573         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
6574         (gst_tee_request_new_pad):
6575           Fix negotiation.
6576
6577 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6578
6579         * docs/random/omega/caps2:
6580         * testsuite/caps/caps_strings:
6581           replace framerate aproximations by their real value
6582           (24000/1001, 30000/1001, 60000/1001)
6583           Partially fixes bug #164049
6584
6585 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6586
6587         * docs/gst/Makefile.am:
6588           don't fail on the stupid GstPoptOption
6589
6590 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6591
6592         * gst/gstpad.h:
6593         * gst/gstprobe.c:
6594           allow probes to work on ghost pads by realizing the pad
6595           probe debugging
6596
6597 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6598
6599         * docs/gst/gstreamer-sections.txt:
6600         * docs/gst/tmpl/gstpad.sgml:
6601         * gst/gstpad.c: (gst_pad_set_active_recursive):
6602         * gst/gstpad.h:
6603           Add gst_pad_set_active_recursive().
6604
6605 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6606
6607         * docs/random/release:
6608           updates
6609         * gst/gst_private.h:
6610         * gst/gstinfo.c:
6611         * gst/gstobject.c:
6612           move deep_notify logging to a new category
6613         * gst/gstprobe.c:
6614         * gst/gstprobe.h:
6615           add stuff so bindings can wrap probes
6616
6617 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6618
6619         * gst/gstplugin.c: (gst_plugin_load):
6620           Fix plugin loading if plugin/lib was already loaded. Fixes
6621           #163383
6622
6623 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
6624
6625         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6626
6627         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
6628           Protect plugin loading by a mutex so it's threadsafe. Fixes
6629           #163234.
6630
6631 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6632
6633         * gst/gstevent.c: (_gst_event_copy):
6634           Reference source object when copying events, since it'll be
6635           dereferenced on event dereferencing as well.
6636
6637 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6638
6639         * docs/gst/gstreamer-sections.txt:
6640         * docs/gst/tmpl/gstevent.sgml:
6641         * gst/gstevent.c: (gst_event_new_filler_stamped),
6642         (gst_event_filler_get_duration):
6643         * gst/gstevent.h:
6644           Add two new functions for filler events (which are used to
6645           synchronize streams if one of them is not having any data
6646           for a while) without interrupting the actual data-stream.
6647           Basically a no-op.
6648         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
6649         (gst_queue_link_sink), (gst_queue_link_src),
6650         (gst_queue_change_state):
6651           Allow for renegotiation while filled. Required for stream
6652           switching while playing.
6653
6654 2005-01-08  Benjamin Otte  <otte@gnome.org>
6655
6656         * gst/gstelement.c: (gst_element_link_many):
6657           fix up g_return_if_fail's
6658         * po/LINGUAS:
6659         * po/de.po:
6660           add German translation, that was somehow not included
6661
6662 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
6663
6664         * docs/random/mimetypes:
6665           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
6666           do not add them to riff-lib as they are not common
6667
6668 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6669
6670         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
6671           Check for existence of probe after performing the probe before
6672           re-accessing it to prevent segfaults caused by removal of the
6673           probe in the callback.
6674
6675 2005-01-05  David Schleef  <ds@schleef.org>
6676
6677         * testsuite/registry/Makefile.am:
6678         * testsuite/registry/gst-print-formats.c:
6679         (print_pad_templates_info), (print_element_list),
6680         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
6681         (g_list_uniqify), (get_pad_templates_info),
6682         (get_element_mime_list), (print_mime_list), (main): A little
6683         program that looks through the registry to find elements of
6684         a given type.  Not particularly interesting as a test, except
6685         that there's no other test covering the same area.
6686
6687 2005-01-05  David Schleef  <ds@schleef.org>
6688
6689         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
6690         (fault_handler_sigaction), (fault_spin),
6691         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
6692         in signal.h-type signal handlers by not calling forbidden functions,
6693         including gst_element_set_state().
6694
6695 2005-01-05  David Schleef  <ds@schleef.org>
6696
6697         * gst/gstvalue.h: Mark _gst_reserved[] as private
6698
6699 2005-01-05  David Schleef  <ds@schleef.org>
6700
6701         * gst/gstvalue.c: Fix doc build problem.
6702
6703 2005-01-05  David Schleef  <ds@schleef.org>
6704
6705         * gst/gstvalue.c: Add some documentation
6706
6707 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
6708
6709         * docs/README:
6710           another shell oneliner for empty return value docs
6711         * gst/gstcaps.c:
6712         * gst/gstvalue.c:
6713         * libs/gst/control/dparam.c:
6714           more doc fixes (parameters and return values)
6715
6716 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
6717
6718         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6719
6720         * gst/gstregistry.h:
6721         * gst/registries/gstxmlregistry.c:
6722           Fix macro's for Mingw (fixes #162276).
6723
6724 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
6725
6726         * docs/README:
6727           quick shell oneliner to find undocumented members
6728         * docs/gst/tmpl/gstplugin.sgml:
6729         * docs/gst/tmpl/gstscheduler.sgml:
6730         * docs/gst/tmpl/gstthread.sgml:
6731           more enumtypes cleanup
6732         * gst/gsterror.h:
6733           activated documentation comments, now someone needs to document
6734           the enums :(
6735
6736 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6737
6738         * docs/manual/manual.xml:
6739           Add dataaccess part (doh!).
6740
6741 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6742
6743         * docs/manual/advanced-autoplugging.xml:
6744           Fix typo (intiate -> initiate).
6745
6746 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6747
6748         * docs/random/bbb/streamselection:
6749           Add some notes on how to handle multi-subtitle/-audio streams.
6750
6751 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
6752
6753         * docs/gst/gstreamer-docs.sgml:
6754         * docs/gst/gstreamer-sections.txt:
6755         * docs/gst/tmpl/gstenumtypes.sgml:
6756         * docs/gst/tmpl/gsterror.sgml:
6757         * docs/gst/tmpl/gstevent.sgml:
6758         * docs/gst/tmpl/gstpad.sgml:
6759         * docs/gst/tmpl/gstpadtemplate.sgml:
6760         * docs/gst/tmpl/gstthread.sgml:
6761           removed gstenumtypes section from docs and put all the enums into
6762           their sections
6763
6764 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6765
6766         * gst/gstplugin.c:
6767           document gst_library_load a bit more (riff special case + return
6768           value if already loaded)
6769         * testsuite/bytestream/filepadsink.c:
6770           plugin name is 'gstbytestream', not 'bytestream'
6771
6772 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6773
6774         * docs/random/bbb/subtitles:
6775           Add some first mind rumblings on proper subtitle support.
6776
6777 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6778
6779         * po/ca.po:
6780         * po/sv.po:
6781           updated translations
6782
6783 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6784
6785         * docs/manual/advanced-dataaccess.xml:
6786           Add section on how to use fakesrc/fakesink/identity in your
6787           application, plus section on how to embed plugins. Also mention
6788           probes.
6789         * docs/manual/appendix-checklist.xml:
6790         * docs/manual/appendix-debugging.xml:
6791         * docs/manual/appendix-gnome.xml:
6792         * docs/manual/appendix-integration.xml:
6793           Debug -> checklist, GNOME -> integration, add sections on Linux,
6794           KDE integration and add other things useful for application
6795           development.
6796         * docs/manual/manual.xml:
6797           Remove some fixmes, update some file pointers.
6798         * docs/pwg/appendix-checklist.xml:
6799           Fix typo.
6800         * docs/pwg/building-boiler.xml:
6801           Remove ugly header and add commented fixme.
6802         * docs/pwg/pwg.xml:
6803           Add fixme.
6804         * examples/manual/Makefile.am:
6805           Add example for added docs.
6806
6807 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6808
6809         * configure.ac:
6810           back to HEAD
6811
6812 === release 0.8.8 ===
6813
6814 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6815
6816         * NEWS:
6817         * RELEASE:
6818         * configure.ac:
6819           Releasing 0.8.8, "I'll Take Care Of You"
6820
6821 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6822
6823         * configure.ac:
6824           second prerelease
6825
6826 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6827
6828         patch by: Wim Taymans
6829
6830         * gst/gstbin.c:
6831           Fix for #159852 - make iterate emission threadsafe
6832
6833 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6834
6835         * docs/faq/cvs.xml:
6836           notes about new fdo account request
6837
6838 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
6839
6840         * docs/gst/gstreamer-docs.sgml:
6841         * docs/gst/tmpl/gstenumtypes.sgml:
6842         * docs/gst/tmpl/gstplugin.sgml:
6843         * docs/libs/gstreamer-libs-docs.sgml:
6844           Added missing short docs. Added ids for navigation.
6845
6846 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6847
6848         * docs/manual/advanced-autoplugging.xml:
6849         * docs/manual/advanced-schedulers.xml:
6850         * docs/manual/advanced-threads.xml:
6851           Rewrites. Remove cothreads, go a bit into opt specifically,
6852           document threads and their gotchas, and do some technical stuff
6853           on autoplugging plus add some working examples. Fixes #157395.
6854         * examples/manual/Makefile.am:
6855           Add typefind/autoplugger example (one that actually works).
6856           Remove queue example since it's a duplicate of the thread one.
6857
6858 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6859
6860         * gst/gstvalue.c: (gst_value_deserialize_string):
6861           use deprecated g_value_set_string_take_ownership to keep compatible
6862           with glib 2.2
6863
6864 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6865
6866         * gst/gstvalue.c: (gst_value_deserialize_string):
6867           revert last patch, only dom a g_utf8_validate now before accepting
6868           the string - caps parsing strips " from strings so we can't rely on
6869           them
6870         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6871           disable a test that tested the above and comment it
6872
6873 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
6874
6875         Patch reviewed by David Schleef  <ds@schleef.org>
6876
6877         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
6878         bug #153882)
6879         * win32/gstenumtypes.h: same
6880
6881 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6882
6883         * gst/gstpad.c: (gst_pad_query):
6884           Do query on realized pad, similar to how convert/send_event handle
6885           this. Also makes sense, since this pad belongs to the function to
6886           which this query will be sent. Fixes #158163.
6887
6888 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
6889
6890         * docs/manual/appendix-programs.xml: fix pipeline to actually work
6891
6892 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
6893
6894         * docs/faq/general.xml: fix pipeline to actually work
6895
6896 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6897
6898         * gst/gstvalue.c: (gst_value_deserialize_string):
6899           check that a simple string that gets deserialized does not contain
6900           invalid characters
6901         * testsuite/caps/value_serialize.c: (test_string_deserialization):
6902           remove a test that tested a wring behaviour
6903
6904 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
6905
6906         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6907
6908         * docs/manual/intro-motivation.xml:
6909           Fix typos.
6910
6911 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
6912
6913         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6914
6915         * docs/gst/tmpl/gstprobe.sgml:
6916           Fix documentation of probe callback - it is supposed to return
6917           FALSE, not TRUE, to remove data from the stream (#159087).
6918
6919 2004-12-16  Daniel Gazard  <dany42@free.fr>
6920
6921         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6922
6923         * gst/gstelementfactory.c: (gst_element_factory_create):
6924           Fix compile failure if compiling without libxml2 support (#149936).
6925
6926 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6927
6928         * docs/manual/advanced-autoplugging.xml:
6929         * docs/manual/highlevel-components.xml:
6930           Move spider from autoplugging to components. Autoplugging is for
6931           internals, not for solutions. ;-).
6932
6933 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6934
6935         * docs/random/ds/0.9-suggested-changes:
6936           Make note on device/location/uri property names.
6937
6938 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6939
6940         * docs/manual/advanced-autoplugging.xml:
6941         * docs/manual/advanced-clocks.xml:
6942         * docs/manual/advanced-interfaces.xml:
6943         * docs/manual/advanced-metadata.xml:
6944         * docs/manual/advanced-position.xml:
6945         * docs/manual/advanced-schedulers.xml:
6946         * docs/manual/advanced-threads.xml:
6947         * docs/manual/appendix-gnome.xml:
6948         * docs/manual/appendix-programs.xml:
6949         * docs/manual/appendix-quotes.xml:
6950         * docs/manual/autoplugging.xml:
6951         * docs/manual/basics-bins.xml:
6952         * docs/manual/basics-data.xml:
6953         * docs/manual/basics-elements.xml:
6954         * docs/manual/basics-helloworld.xml:
6955         * docs/manual/basics-init.xml:
6956         * docs/manual/basics-pads.xml:
6957         * docs/manual/basics-plugins.xml:
6958         * docs/manual/bins-api.xml:
6959         * docs/manual/bins.xml:
6960         * docs/manual/buffers-api.xml:
6961         * docs/manual/buffers.xml:
6962         * docs/manual/clocks.xml:
6963         * docs/manual/components.xml:
6964         * docs/manual/cothreads.xml:
6965         * docs/manual/debugging.xml:
6966         * docs/manual/dparams-app.xml:
6967         * docs/manual/dynamic.xml:
6968         * docs/manual/elements-api.xml:
6969         * docs/manual/elements.xml:
6970         * docs/manual/factories.xml:
6971         * docs/manual/gnome.xml:
6972         * docs/manual/goals.xml:
6973         * docs/manual/helloworld.xml:
6974         * docs/manual/helloworld2.xml:
6975         * docs/manual/highlevel-components.xml:
6976         * docs/manual/highlevel-xml.xml:
6977         * docs/manual/init-api.xml:
6978         * docs/manual/intro-basics.xml:
6979         * docs/manual/intro-motivation.xml:
6980         * docs/manual/intro-preface.xml:
6981         * docs/manual/intro.xml:
6982         * docs/manual/links-api.xml:
6983         * docs/manual/links.xml:
6984         * docs/manual/manual.xml:
6985         * docs/manual/motivation.xml:
6986         * docs/manual/pads-api.xml:
6987         * docs/manual/pads.xml:
6988         * docs/manual/plugins-api.xml:
6989         * docs/manual/plugins.xml:
6990         * docs/manual/programs.xml:
6991         * docs/manual/queues.xml:
6992         * docs/manual/quotes.xml:
6993         * docs/manual/schedulers.xml:
6994         * docs/manual/states-api.xml:
6995         * docs/manual/states.xml:
6996         * docs/manual/threads.xml:
6997         * docs/manual/typedetection.xml:
6998         * docs/manual/win32.xml:
6999         * docs/manual/xml.xml:
7000           Try 2. This time, include a short preface as a "general
7001           introduction", also add code blocks around all code samples
7002           so they get compiled. We still need a way to tell readers
7003           the filename of the code sample. In some cases, don't show
7004           all code in the documentation, but do include it in the generated
7005           code. This allows for focussing on specific bits in the docs,
7006           while still having a full test application available.
7007         * examples/manual/Makefile.am:
7008           Fix up examples for new ADM. Add several of the new examples that
7009           were either added or were missing from the build system.
7010         * examples/manual/extract.pl:
7011           Allow nameless blocks.
7012
7013 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7014
7015         * docs/manual/elements-api.xml:
7016         * docs/manual/helloworld.xml:
7017         * examples/manual/extract.pl:
7018           fix last example.  Add example of adding code blocks that are not
7019           shown in docbook output.
7020
7021 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7022
7023         * docs/manual/dynamic.xml:
7024         * docs/manual/elements-api.xml:
7025         * docs/manual/gnome.xml:
7026         * docs/manual/helloworld2.xml:
7027         * docs/manual/init-api.xml:
7028         * docs/manual/queues.xml:
7029         * docs/manual/threads.xml:
7030         * docs/manual/xml.xml:
7031         * examples/manual/extract.pl:
7032           Make it possible to extract example code from separate blocks.
7033           Should make Ronald happy.
7034
7035 2004-12-15  Wim Taymans  <wim@fluendo.com>
7036
7037         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7038         (remove_from_group), (group_elements_set_visited),
7039         (normalize_group), (gst_opt_scheduler_iterate):
7040         Fix bug where a flag was not updated on a decoupled entry point 
7041         because we were just checking the group element list and decoupled
7042         elements are not in that list..
7043
7044 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7045
7046         * docs/manual/advanced-autoplugging.xml:
7047         * docs/manual/advanced-clocks.xml:
7048         * docs/manual/advanced-dparams.xml:
7049         * docs/manual/advanced-interfaces.xml:
7050         * docs/manual/advanced-metadata.xml:
7051         * docs/manual/advanced-position.xml:
7052         * docs/manual/advanced-schedulers.xml:
7053         * docs/manual/advanced-threads.xml:
7054         * docs/manual/appendix-debugging.xml:
7055         * docs/manual/appendix-gnome.xml:
7056         * docs/manual/appendix-programs.xml:
7057         * docs/manual/appendix-quotes.xml:
7058         * docs/manual/appendix-win32.xml:
7059         * docs/manual/autoplugging.xml:
7060         * docs/manual/basics-bins.xml:
7061         * docs/manual/basics-data.xml:
7062         * docs/manual/basics-elements.xml:
7063         * docs/manual/basics-helloworld.xml:
7064         * docs/manual/basics-init.xml:
7065         * docs/manual/basics-pads.xml:
7066         * docs/manual/basics-plugins.xml:
7067         * docs/manual/bins-api.xml:
7068         * docs/manual/bins.xml:
7069         * docs/manual/buffers-api.xml:
7070         * docs/manual/buffers.xml:
7071         * docs/manual/clocks.xml:
7072         * docs/manual/components.xml:
7073         * docs/manual/cothreads.xml:
7074         * docs/manual/debugging.xml:
7075         * docs/manual/dparams-app.xml:
7076         * docs/manual/dynamic.xml:
7077         * docs/manual/elements-api.xml:
7078         * docs/manual/elements.xml:
7079         * docs/manual/factories.xml:
7080         * docs/manual/gnome.xml:
7081         * docs/manual/goals.xml:
7082         * docs/manual/helloworld.xml:
7083         * docs/manual/helloworld2.xml:
7084         * docs/manual/highlevel-components.xml:
7085         * docs/manual/highlevel-xml.xml:
7086         * docs/manual/init-api.xml:
7087         * docs/manual/intro-motivation.xml:
7088         * docs/manual/intro-preface.xml:
7089         * docs/manual/intro.xml:
7090         * docs/manual/links-api.xml:
7091         * docs/manual/links.xml:
7092         * docs/manual/manual.xml:
7093         * docs/manual/motivation.xml:
7094         * docs/manual/pads-api.xml:
7095         * docs/manual/pads.xml:
7096         * docs/manual/plugins-api.xml:
7097         * docs/manual/plugins.xml:
7098         * docs/manual/programs.xml:
7099         * docs/manual/queues.xml:
7100         * docs/manual/quotes.xml:
7101         * docs/manual/schedulers.xml:
7102         * docs/manual/states-api.xml:
7103         * docs/manual/states.xml:
7104         * docs/manual/threads.xml:
7105         * docs/manual/typedetection.xml:
7106         * docs/manual/win32.xml:
7107         * docs/manual/xml.xml:
7108           First try at rewriting the ADM. Needs lotsamore work, but some
7109           parts might already be somewhat useful.
7110         * docs/pwg/advanced-interfaces.xml:
7111           Remove properties interface, it never actually existed (except for
7112           on my HD...).
7113
7114 2004-12-13  David Schleef  <ds@schleef.org>
7115
7116         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
7117         be NULL (bug #160220).
7118
7119 2004-12-13  David Schleef  <ds@schleef.org>
7120
7121         * configure.ac: remove all mmx stuff, because it's not used.
7122         * docs/random/ds/0.9-suggested-changes: additional notes
7123         * include/Makefile.am: we don't use these anymore
7124         * include/mmx.h: remove
7125         * include/sse.h: remove
7126
7127 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
7128
7129         * docs/random/mimetypes:
7130           Add FOURCC code for h264 codec (VSSH)
7131           Add alternate FOURCC codes for h263 related codecs
7132
7133 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
7134
7135         * docs/manual/programs.xml:
7136           Added more gst-launch examples.
7137
7138 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7139
7140         * gst/gstqueue.c: (gst_queue_handle_src_query):
7141           Check for availability again.
7142
7143 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7144
7145         * gst/gstcaps.c: (gst_caps_compare_structures):
7146           Simple caps go first. This has the nice side-effect of fixing an
7147           obscure warning.
7148
7149 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7150
7151         * gst/gstversion.h.in:
7152           Protect header.
7153
7154 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7155
7156         * gst/schedulers/gstoptimalscheduler.c:
7157         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
7158         (gst_opt_scheduler_get_wrapper):
7159           When we're recursing into a chain run, only run the directly
7160           related group, not all queued ones. This will fix a possible
7161           deadlock in chains with more than two groups.
7162
7163 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7164
7165         * autogen.sh:
7166           remove patch if autopoint fails
7167
7168 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7169
7170         * docs/gst/gstreamer-sections.txt:
7171           Document Thomas' addition, fix build, make Luis the sheriff happy.
7172
7173 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7174
7175         * gst/gstplugin.c:
7176         * gst/gstplugin.h:
7177           add accessor for version field
7178
7179 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7180
7181         submitted by: Luca Ferretti <elle.uca@infinito.it>
7182
7183         * po/LINGUAS:
7184         * po/it.po:
7185           New tranlation added: Italian
7186
7187 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7188
7189         * gst/gstpad.c: (gst_pad_is_negotiated),
7190         (gst_pad_get_negotiated_caps):
7191           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
7192           it doesn't actually check the contents), so be sure to hand it
7193           a RealPad else we'll crash.
7194
7195 2004-12-03  Wim Taymans  <wim@fluendo.com>
7196
7197         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
7198         (gst_queue_link), (gst_queue_handle_src_query):
7199         Reverted to 1.110 until this makes the testsuite and various
7200         apps work.
7201
7202 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
7203
7204         * docs/upload.mak: fix included CVS conflict strings
7205
7206 2004-12-01  William Jon McCann  <mccann@jhu.edu>
7207
7208         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7209
7210         * gst/gstelement.c: (gst_element_error_full):
7211           Use g_error_new_literal because error text may have
7212           percentage signs in it. Fixes #160019.
7213
7214 2004-12-01  Benjamin Otte  <otte@gnome.org>
7215
7216         * gst/elements/gstbufferstore.c:
7217         (gst_buffer_store_add_buffer_func):
7218           don't try to make subbuffers bigger than they can be. (fixes
7219           #159970)
7220
7221 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7222
7223         * docs/gst/gstreamer-sections.txt:
7224         * docs/gst/tmpl/gstvalue.sgml:
7225           Add new function to docs to fix build.
7226
7227 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7228
7229         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
7230         * gst/gstpad.c: (_gst_pad_default_fixate_value),
7231         (_gst_pad_default_fixate_foreach):
7232         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
7233         * gst/gstvalue.h:
7234           Deprecate _type_is_fixed, use _value_is_fixed instead, since
7235           in some cases (arrays), the fixedness depends on the content.
7236         * gst/gstqueue.c: (gst_queue_handle_src_query):
7237           Check for availability before doing something.
7238
7239 2004-11-29  Wim Taymans  <wim@fluendo.com>
7240
7241         * testsuite/threads/Makefile.am:
7242         * testsuite/threads/signals.c: (gst_test_get_type),
7243         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
7244         (gst_test_set_property), (gst_test_get_property),
7245         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
7246         (gst_test_do_prop), (run_thread), (main):
7247         Added a bunch of testcases that show threadsafety bugs in glib.
7248
7249 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
7250
7251         * docs/manual/programs.xml:
7252           Added a first batch of gst-launch examples, as provided by Ronald
7253           and others from the devel-mlist
7254
7255 2004-11-28  Benjamin Otte  <otte@gnome.org>
7256
7257         * gst/gstelement.c: (gst_element_negotiate_pads):
7258           simplify
7259         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
7260         (gst_value_serialize_string), (gst_value_deserialize_string):
7261           add unwrapping of previously wrapped strings. Fix bug in wrapping
7262           while at it.
7263         * testsuite/caps/value_serialize.c: (test1),
7264         (test_string_serialization), (test_string_deserialization), (main):
7265           add tests for string (de)serialization
7266
7267 2004-11-26  Wim Taymans  <wim@fluendo.com>
7268
7269         * testsuite/threads/159566.c: (object_deep_notify), (main):
7270         * testsuite/threads/Makefile.am:
7271         Added testsuite to show bug #159566
7272
7273 2004-11-25  Wim Taymans  <wim@fluendo.com>
7274
7275         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
7276         (gst_thread_child_state_change), (gst_thread_main_loop):
7277         Ref the thread object in the GThread mainloop. Break out of the
7278         thread mainloop if it holds the last ref. This properly exits
7279         the threads when disposing the thread from its own context. It
7280         also avoids possible deadlocks in the dispose function.
7281
7282 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
7283
7284         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
7285         it is necessary to wait.
7286
7287 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7288
7289         * docs/pwg/building-boiler.xml:
7290           Make description somewhat clearer.
7291
7292 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7293
7294         * docs/upload.mak:
7295           Apparently docs changed location on FDO's server.
7296
7297 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7298
7299         * docs/pwg/appendix-checklist.xml:
7300           Add some random notes on things to check when writing an element.
7301           This list can be extended as people see fit.
7302
7303 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
7304
7305         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
7306         (gst_queue_link_src): Allow for renegotiating the caps of the sink
7307         pad. The queue will now wait until it is empty and forward the new
7308         caps to the source.
7309         * gst/gstbin.c (gst_bin_set_element_sched)
7310         (gst_bin_unset_element_sched): Make sure that all elements and
7311         links are registered and unregistered with the scheduler exactly
7312         once. This elaborates on a fix by Benjamin Otte, but
7313         guarantees that decoupled elements are also registered.
7314
7315 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7316
7317         * docs/manual/quotes.xml:
7318           add a quote
7319         * configure.ac:
7320         * gst/gst.c:
7321         * gst/gstinfo.c:
7322           add LIBDIR and move init message higher up so it's at the start
7323
7324 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
7325
7326         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
7327         * gstreamer.spec.in: add fair
7328
7329 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7330
7331         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
7332         * gst/elements/gstidentity.c: (gst_identity_class_init):
7333           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
7334           <teuf@gnome.org> (#157263).
7335         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
7336         (gst_type_find_handle_src_query):
7337           Subtract size of internally stored data from position queries.
7338
7339 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
7340
7341         * gst/schedulers/fairscheduler.c:
7342         * gst/schedulers/faircothreads.c:
7343         * gst/schedulers/faircothreads.h:
7344         New cothread based scheduler: Fair scheduler.
7345         * gst/schedulers/gthread-cothreads.h: 
7346         Add the standard #if around the whole file.
7347         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
7348         compilation of the functions defined in this file. This is
7349         necessary to be able to use this file as a normal header.
7350         * gst/schedulers/Makefile.am: Add compiling support for fair
7351         scheduler.
7352         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
7353         scheduler cothreads layer from documentation generation.
7354
7355 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7356
7357         * gst/autoplug/gstspideridentity.c:
7358         (gst_spider_identity_sink_loop_type_finding):
7359           Don't crash if that function is not implemented.
7360
7361 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7362
7363         * docs/pwg/advanced-types.xml:
7364           Another typo.
7365
7366 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7367
7368         * docs/pwg/intro-preface.xml:
7369           Hm, ok, so the brackets weren't really useful...
7370         * docs/pwg/other-ntoone.xml:
7371           Fix embarassing typo.
7372
7373 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7374
7375         * docs/pwg/intro-preface.xml:
7376           Rewrite preface.
7377
7378 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7379
7380         * docs/pwg/advanced-scheduling.xml:
7381         * docs/pwg/advanced-tagging.xml:
7382         * docs/pwg/advanced-types.xml:
7383         * docs/pwg/building-boiler.xml:
7384         * docs/pwg/building-chainfn.xml:
7385         * docs/pwg/building-signals.xml:
7386         * docs/pwg/building-state.xml:
7387         * docs/pwg/building-testapp.xml:
7388         * docs/pwg/intro-basics.xml:
7389         * docs/pwg/other-manager.xml:
7390         * docs/pwg/other-source.xml:
7391           Typo fixes.
7392         * docs/pwg/other-manager.xml:
7393           Add some first content. No example code yet.
7394         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
7395           Remove double newlines.
7396
7397 2004-11-04  Wim Taymans  <wim@fluendo.com>
7398
7399         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7400         (remove_from_group), (normalize_group), (group_migrate_connected),
7401         (gst_opt_scheduler_iterate):
7402         * testsuite/schedulers/.cvsignore:
7403         * testsuite/schedulers/Makefile.am:
7404         * testsuite/schedulers/queue_link.c: (main):
7405         Added testcase for scheduler segfault.
7406         Fix scheduler segfault when removing a decoupled
7407         entry point as the last element from a group.
7408
7409 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7410
7411         * gst/gstmarshal.list: add missing marshaller, fixes build
7412
7413 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7414
7415         * docs/random/signal: added notes about using BOXED for GstBuffer
7416         signal marshallers, not POINTER
7417
7418 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7419
7420         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
7421         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
7422         POINTER=>BOXED changes to marshal GstBuffers
7423
7424 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
7425
7426         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
7427         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
7428
7429 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
7430
7431         * docs/gst/gstreamer-sections.txt:
7432         * docs/gst/tmpl/gstcaps.sgml:
7433         * docs/gst/tmpl/gsterror.sgml:
7434         * docs/gst/tmpl/gstinfo.sgml:
7435         * docs/gst/tmpl/gstmacros.sgml:
7436         * docs/gst/tmpl/gstutils.sgml:
7437         * docs/random/ensonic/interfaces.txt:
7438         * gst/gstinfo.h:
7439           added some more docs, removed two obsolete defines
7440
7441 2004-11-02  Kjartan Maraas <as at gnome.org>
7442
7443         reviewed by: Wim Taymans, Ronald Bultje.
7444
7445         * gst/cothreads.c: (cothread_create):
7446         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7447         (gst_bin_child_state_change_func):
7448         * gst/gstbuffer.c: (gst_buffer_span):
7449         * gst/gstelement.c: (gst_element_get_index),
7450         (gst_element_get_event_masks), (gst_element_get_query_types),
7451         (gst_element_get_formats):
7452         * gst/gsterror.c: (_gst_core_errors_init),
7453         (_gst_library_errors_init), (_gst_resource_errors_init),
7454         (_gst_stream_errors_init):
7455         * gst/gstobject.c: (gst_object_default_deep_notify):
7456         * gst/gstpad.c: (gst_pad_get_event_masks),
7457         (gst_pad_get_internal_links_default):
7458         * gst/gstplugin.c: (gst_plugin_register_func),
7459         (gst_plugin_get_module):
7460         * gst/gststructure.c: (gst_structure_get_string),
7461         (gst_structure_get_abbrs), (gst_structure_from_abbr),
7462         (gst_structure_to_abbr):
7463         * gst/gstutils.c: (gst_print_element_args):
7464         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7465         (setup_group_scheduler), (gst_opt_scheduler_iterate):
7466         Aplied part of patch #157127: Cleanup of issues reported by 
7467         sparse.
7468         Also do not try to use cothreads when there is no cothread
7469         context yet.
7470
7471 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
7472
7473         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7474         (gst_opt_scheduler_iterate):
7475         Applied patch #154061. Running a pipeline in which an element 
7476         calls GST_ELEMENT_ERROR in the chain function, the opt 
7477         scheduler doesn't unref the chain so it never gets freed.
7478
7479 2004-11-02  Wim Taymans  <wim@fluendo.com>
7480
7481         * gst/gststructure.c: (gst_structure_get_abbrs),
7482         (gst_structure_from_abbr), (gst_structure_to_abbr):
7483         Remove that ugly if-then thing in the code that converts
7484         between strings and types.
7485
7486 2004-11-02  Wim Taymans  <wim@fluendo.com>
7487
7488         * gst/gstscheduler.c: (gst_scheduler_add_element),
7489         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
7490         Aplied clock distribution patch, this should fix bug
7491         #148787.
7492
7493 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7494
7495         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
7496
7497         * po/LINGUAS:
7498         * po/nb.po:
7499           Added Norwegian Bokmaal translation
7500
7501 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7502
7503         * tools/gst-inspect.c: (print_signal_info):
7504           print signal arguments as pointers if they are
7505
7506 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
7507
7508         * docs/pwg/building-boiler.xml:
7509           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
7510
7511 2004-10-19  Wim Taymans  <wim at fluendo dot com>
7512
7513         * gst/parse/parse.l:
7514         * testsuite/parse/parse1.c: (main):
7515         Since parse can do 'element name=a:b' make 'a:b.' work as
7516         well. 
7517         Added testcase to verify fix.
7518
7519 2004-10-19  Wim Taymans  <wim at fluendo dot com>
7520
7521         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
7522         Use the realpad when printing the direction.
7523         Add extra \n when printing extensions of typefind factories.
7524
7525 2004-10-13  David Schleef  <ds@schleef.org>
7526
7527         * examples/manual/Makefile.am: $< isn't portable in Makefile
7528         rules.
7529
7530 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
7531
7532         * docs/gst/tmpl/gstobject.sgml:
7533         * docs/gst/tmpl/gstplugin.sgml:
7534         * docs/gst/tmpl/gstpluginfeature.sgml:
7535         * docs/gst/tmpl/gstregistry.sgml:
7536         * docs/gst/tmpl/gstversion.sgml:
7537         * gst/gstbin.c:
7538           more api documentation
7539         * gst/gstplugin.c: (gst_plugin_register_func),
7540         (gst_plugin_check_file), (gst_plugin_load_file):
7541           better error signaling and logging
7542
7543 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7544
7545         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
7546           Subtract current queue contents from position queries.
7547
7548 2004-10-11  Johan Dahlin  <johan@gnome.org>
7549
7550         * gst/gsturi.c (gst_uri_get_location): unescape string
7551         (gst_uri_construct): escape string.
7552
7553 2004-10-11  Benjamin Otte  <otte@gnome.org>
7554
7555         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
7556         (gst_pad_try_set_caps_nonfixed):
7557           allow renegotiation of unconnected pads (as inside spider). Simply
7558           return OK if unconnected - mimic try_set_caps there.
7559
7560 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7561
7562         * gst/gstbin.c: (gst_bin_sync_children_state):
7563           Add missing break.
7564
7565 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7566
7567         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
7568         Set element to EOS before sending EOS event
7569
7570 2004-10-08  Wim Taymans  <wim at fluendo dot com>
7571
7572         * gst/elements/gsttypefindelement.c:
7573         (gst_type_find_element_handle_event):
7574         Handle EOS events when doing the transition from
7575         typefind to data passing. This should fix the
7576         infinite loops in short files.
7577
7578 2004-10-07  Wim Taymans  <wim at fluendo dot com>
7579
7580         * gst/gstthread.c: (gst_thread_change_state),
7581         (gst_thread_child_state_change):
7582         Make sure no iteration happens while performing
7583         the state change as it could mess up the internal
7584         consistency of the thread state.
7585
7586 2004-10-07  Wim Taymans  <wim at fluendo dot com>
7587
7588         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
7589         (gst_thread_change_state), (gst_thread_child_state_change):
7590         Do not try to grab the iterate lock in the state change method
7591         when we are in the same thread as the iterate or else we
7592         could deadlock. Some other cleanups.
7593
7594 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7595
7596         * configure.ac:
7597           bump nano to cvs
7598
7599 === release 0.8.7 ===
7600
7601 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7602
7603         * configure.ac:
7604         * NEWS:
7605         * RELEASE:
7606         * configure.ac:
7607           releasing 0.8.7, "A Cruise"
7608
7609 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
7610
7611         * docs/random/mimetypes:
7612         Add an entry for Sony ATRAC3 audio format with mime-type
7613         used by rmdemux et riff-read
7614
7615 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7616
7617         * gst/elements/gsttypefindelement.c: (stop_typefinding):
7618         Push the buffer store instead of clearing it in case that
7619         the stream is not seekable.
7620
7621 2004-10-06  Wim Taymans  <wim at fluendo dot com>
7622
7623         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
7624         (gst_thread_main_loop):
7625         Lock the iteration and the state change so that automatic
7626         negotiation and fixation does not happen at the same time
7627         as the in stream negotiation.
7628
7629 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7630
7631         * configure.ac:
7632           bump nano to cvs
7633
7634 === release 0.8.6 ===
7635
7636 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7637
7638         * configure.ac:
7639         * NEWS:
7640         * RELEASE:
7641         * configure.ac:
7642           releasing 0.8.6, "Narc"
7643
7644 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7645
7646         * configure.ac:
7647           prerel bump
7648
7649 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7650
7651         patch by: Steve Lhomme
7652
7653         * gst/elements/gstfakesrc.c:
7654         * gst/elements/gstidentity.c:
7655         * gst/gstthread.c:
7656           Fix for #153881
7657
7658 2004-10-01  Wim Taymans  <wim at fluendo dot com>
7659
7660         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
7661         Fix threadsafety of the crc checking function.
7662
7663 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7664
7665         patch by: Ronald Bultje
7666
7667         * gst/elements/gsttypefindelement.c: (stop_typefinding),
7668         (gst_type_find_element_handle_event),
7669         (gst_type_find_element_chain):
7670         * gst/elements/gsttypefindelement.h:
7671          #153657.
7672          Filter out discont event from seekable sources when typefind
7673          asks them to seek.  Fixes typefind with demuxers for
7674          avi, asf and matroska.
7675
7676 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7677
7678         * docs/gst/gstreamer-sections.txt:
7679         * gst/gstcaps.c:
7680         * gst/gstcaps.h:
7681         * gst/gstpad.c:
7682           Revert preferred caps: (#147789)
7683
7684 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
7685
7686         * win32/dirent.c:
7687           fix a memory leak
7688
7689 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7690
7691         * configure.ac:
7692           bump for prerelease
7693
7694 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7695
7696         * docs/Makefile.am:
7697         * docs/manual/elements-api.xml:
7698           restructure so that common stuff is shown first
7699         * docs/manual/init-api.xml:
7700           convert to examples
7701         * docs/manual/manual.xml:
7702         * docs/manuals.mak:
7703         * docs/url.entities:
7704           link to API on the website, possibly override later in build
7705         * examples/manual/.cvsignore:
7706           ignore more
7707         * examples/manual/Makefile.am:
7708           add more examples
7709         * examples/manual/extract.pl:
7710           error out on failure
7711
7712 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7713
7714         * docs/gst/tmpl/gstthread.sgml:
7715         * docs/manual/init-api.xml:
7716         * examples/manual/Makefile.am:
7717           convert two code bits to examples
7718
7719 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7720
7721         * gst/gstelement.c: (gst_element_change_state):
7722           Well, actually, I was about to remove this insane assert when
7723           I noticed Wim already did that. A warning is nice so we can
7724           fix actual ugs (using --g-fatal-warnings and backtraces), so
7725           I added that instead.
7726
7727 2004-09-06  Wim Taymans  <wim@fluendo.com>
7728
7729         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
7730         (gst_element_threadsafe_properties_post_run),
7731         (gst_element_set_state), (gst_element_change_state):
7732         Added extra refcounting around various places. 
7733
7734 2004-09-06  Wim Taymans  <wim@fluendo.com>
7735
7736         * gst/gstpad.c: (gst_pad_link_call_link_functions):
7737         Fix debug info.
7738
7739 2004-09-06  Wim Taymans  <wim@fluendo.com>
7740
7741         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
7742         (remove_from_group):
7743         Some more debug info.
7744
7745 2004-09-03  Wim Taymans  <wim@fluendo.com>
7746
7747         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7748         (gst_fakesrc_init), (gst_fakesrc_set_clock),
7749         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
7750         (gst_fakesrc_get), (gst_fakesrc_change_state):
7751         * gst/elements/gstfakesrc.h:
7752         * gst/elements/gstidentity.c: (gst_identity_class_init),
7753         (gst_identity_init), (gst_identity_chain),
7754         (gst_identity_set_property), (gst_identity_get_property),
7755         (gst_identity_change_state):
7756         * gst/elements/gstidentity.h:
7757         Added datarate properties to limit the datarate.
7758
7759 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7760
7761         * gst/autoplug/gstspider.c: (plugin_init):
7762           don't set a rank. We don't want to autoplug by inserting spiders.
7763
7764 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7765
7766         * gst/autoplug/gstspider.c: (gst_spider_class_init),
7767         (gst_spider_identity_plug):
7768           add a template for spider's sink
7769         * gst/gst.c: (gst_register_core_elements):
7770           queue's rank should be NULL, we don't want spider to add it.
7771
7772 2004-08-18  David Schleef  <ds@schleef.org>
7773
7774         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
7775         * docs/libs/Makefile.am: same
7776         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
7777         * docs/random/ds/0.9-planning: random additions
7778         * docs/random/ds/0.9-suggested-changes: same
7779         * gst/gstxml.h: remove vestigal GstXMLNs definition
7780
7781         Preferred caps: (#147789)
7782         * docs/gst/gstreamer-sections.txt: Add symbols
7783         * docs/gst/tmpl/gstcaps.sgml: Add symbols
7784         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
7785         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
7786         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
7787         (gst_caps_get_preferred), (gst_caps_set_preferred),
7788         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
7789         (gst_caps_use_preferred): Handle caps preferences
7790         * gst/gstcaps.h: Add caps preferences
7791         * gst/gstpad.c: (gst_pad_link_get_preferred),
7792         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
7793         (gst_pad_renegotiate), (gst_pad_guess_preferred),
7794         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
7795         negotiation.
7796
7797 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7798
7799         * gst/autoplug/gstspideridentity.c:
7800         (gst_spider_identity_request_new_pad):
7801         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
7802         (gst_aggregator_init):
7803         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
7804         (gst_fakesink_init):
7805         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
7806         (gst_fakesrc_init):
7807         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
7808         (gst_fdsink_init):
7809         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
7810         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
7811         (gst_filesink_init):
7812         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
7813         (gst_filesrc_init):
7814         * gst/elements/gstidentity.c: (gst_identity_base_init),
7815         (gst_identity_init):
7816         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
7817         (gst_multifilesrc_init):
7818         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
7819         (gst_pipefilter_init):
7820         * gst/elements/gststatistics.c: (gst_statistics_base_init),
7821         (gst_statistics_init):
7822         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
7823         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
7824           s/gst_pad_new/&_from_template/
7825           register pad templates in the base_init function
7826           add static pad template definitions
7827
7828 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7829
7830         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
7831         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
7832         * testsuite/refcounting/pad.c: (main):
7833         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
7834           s/gst_pad_new/&_from_template/
7835           prepare deprecation of gst_pad_new
7836
7837 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7838
7839         patch by: Luca Ognibene <skaboy81@virgilio.it>
7840
7841         * gst/gstcaps.c:
7842         * gst/gstelement.c:
7843         * gst/gstpad.c:
7844         * gst/gstxml.c:
7845           fix memleaks.  Fixes #150001
7846
7847 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7848
7849         * docs/random/ds/0.9-suggested-changes:
7850           add notes - mostly about pad templates
7851
7852 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
7853
7854         * win32/GStreamer.vcproj:
7855           temporary locale files are .gmo not .mo
7856
7857 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7858
7859         * configure.ac: bump nano to cvs
7860
7861 === release 0.8.5 ===
7862
7863 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7864
7865         * configure.ac:
7866           releasing 0.8.5, "Stuttgart"
7867         * NEWS:
7868         * RELEASE:
7869         * configure.ac:
7870         * docs/random/release:
7871           updates for release
7872
7873 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7874
7875         patch by: Wim Taymans (wim@fluendo.com)
7876
7877         * gst/gstbuffer.c:
7878         * gst/gstindex.h:
7879         * libs/gst/dataprotocol/dataprotocol.c:
7880           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
7881
7882 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7883
7884         * Makefile.am:
7885         * win32/MANIFEST:
7886           add win32 dir to the build.  Fixes #149981.
7887
7888 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7889
7890         * configure.ac:
7891           bump libtool versioning
7892         * gst/gststructure.c:
7893           mark function as static
7894         * po/af.po:
7895         * po/az.po:
7896         * po/ca.po:
7897         * po/cs.po:
7898         * po/en_GB.po:
7899         * po/fr.po:
7900         * po/nl.po:
7901         * po/sq.po:
7902         * po/sr.po:
7903         * po/sv.po:
7904         * po/tr.po:
7905         * po/uk.po:
7906           translations update
7907         * win32/README.txt:
7908           trademark protection
7909
7910 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7911
7912         * configure.ac:
7913           fix GST_ORIGIN
7914           set GST_PACKAGE to source, and distinguish between release and other
7915         * tools/gst-inspect.c:
7916           print out plugin an element factory is part of so we see this info
7917
7918 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7919
7920         * docs/gst/gstreamer-sections.txt:
7921         * docs/gst/tmpl/gstbuffer.sgml:
7922         * docs/gst/tmpl/gstschedulerfactory.sgml:
7923           reorder docs a little, make GstBuffer's more sensible.
7924         * gst/gstbuffer.h:
7925           API: added GST_BUFFER_FLAG_DELTA_UNIT
7926         * gst/gstscheduler.c:
7927           comment API addition
7928
7929 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7930
7931         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
7932           work with non-regular files that can be mmapped (like /dev/zero)
7933         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
7934           get rid of typefinds that require a seek when we can't seek instead
7935           of trying them over and over again
7936         * tools/gst-launch.c: (idle_func), (error_cb), (main):
7937           return non-zero failure value when the pipeline was interrupted or
7938           an error occurred
7939
7940 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7941
7942         * win32/config.h:
7943         * win32/GStreamer.vcproj:
7944           compile and install the locales
7945
7946 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7947
7948         * gst/gstvalue.c:
7949           fix a possible memory leak under Windows
7950
7951 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
7952
7953         * win32/GStreamer.vcproj:
7954           fix a memory leak that occured under Windows
7955         * win32/gstreamer.def:
7956           add gst_scheduler_register
7957
7958 2004-08-11  Benjamin Otte  <otte@gnome.org>
7959
7960         * docs/gst/gstreamer-sections.txt:
7961         * gst/gstscheduler.c: (gst_scheduler_register):
7962         * gst/gstscheduler.h:
7963           API:
7964           add gst_scheduler_register shortcut similar to gst_element_register
7965         * gst/schedulers/entryscheduler.c: (plugin_init):
7966         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
7967         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
7968           use it
7969
7970 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
7971
7972         * gst/gstvalue.h:
7973           fix a memory leak that occured under Windows
7974
7975 2004-08-10  Colin Walters  <walters@redhat.com>
7976
7977         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
7978         Don't use O_EXCL to open temporary registry.  It will prevent
7979         registry creation if a temporary one already exists, which
7980         is unnecessary.
7981
7982 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7983
7984         * docs/gst/gstreamer-sections.txt:
7985         * docs/gst/tmpl/gstvalue.sgml:
7986           remove some valuable stuff from the documentation due to the use of GST_EXPORT
7987
7988 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
7989
7990         * win32/gstbytestream.vcproj:
7991         * win32/gstelements.vcproj:
7992         * win32/gstgetbits.vcproj:
7993         * win32/gst-inspect.vcproj:
7994         * win32/gst-launch.vcproj:
7995         * win32/gstoptimalscheduler.vcproj:
7996         * win32/GStreamer.vcproj:
7997         * win32/gst-register.vcproj:
7998         * win32/gstspider.vcproj:
7999           update the include and lib dirs to fit standard libraries as
8000           described in the Win32 manual
8001
8002 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
8003
8004         * win32/config.h:
8005         * win32/gstversion.h:
8006           enable NLS again, push the version number for the coming 0.8.5 release
8007
8008 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
8009
8010         * gst/gstvalue.h:
8011           export gst_type_XXX for windows DLLs
8012
8013 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8014
8015         * docs/faq/gst-uninstalled:
8016           fix PKG_CONFIG_PATH and PYTHONPATH
8017         * gst/schedulers/Makefile.am:
8018           cleanup
8019         * libs/gst/bytestream/bytestream.c:
8020           remove newline
8021         * po/LINGUAS:
8022         * po/sq.po:
8023           adding Albanian translation (Laurent Dhima)
8024         * po/cs.po:
8025           updated
8026
8027 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8028
8029         * po/ca.po:
8030         * po/sv.po:
8031           updated translations
8032
8033 2004-08-04  Benjamin Otte  <otte@gnome.org>
8034
8035         * tests/mass_elements.c: (main):
8036           allow specifying src and sink element explicitly, so I can test
8037           videotestsrc instead of fakesrc
8038
8039 2004-08-04  Benjamin Otte  <otte@gnome.org>
8040
8041         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
8042         (gst_structure_id_empty_new), (gst_structure_empty_new),
8043         (gst_structure_copy):
8044           add gst_structure_id_empty_new_with_size to allow preallocating
8045           value array sizes. Use this in gst_structure_copy to get rid of
8046           reallocs.
8047           don't do quark=>string=>quark when copying structures
8048
8049 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
8050
8051         * docs/manual/win32.xml:
8052         * win32/README.txt:
8053           update documentation with the clean version of dependencies
8054
8055 2004-08-03  Benjamin Otte  <otte@gnome.org>
8056
8057         * gst/schedulers/entryscheduler.c:
8058         (gst_entry_scheduler_remove_element):
8059           fix for GST_DISABLE_DEBUG
8060         * tools/gst-launch.c: (print_tag):
8061           fixes for G_DISABLE_ASSERT
8062
8063 2004-08-03  Benjamin Otte  <otte@gnome.org>
8064
8065         * gst/gst.c: (gst_register_core_elements):
8066           fix for G_DISABLE_ASSERT
8067         * gst/gstinfo.c: (__gst_in_valgrind):
8068           add for GST_DISABLE_DEBUG
8069
8070 2004-08-03  Benjamin Otte  <otte@gnome.org>
8071
8072         * gst/parse/parse.l:
8073           fix for G_DISABLE_ASSERT
8074
8075 2004-08-03  Wim Taymans  <wim@fluendo.com>
8076
8077         * gst/gstbin.c: (gst_bin_get_type),
8078         (gst_bin_child_state_change_func):
8079         * gst/gstthread.c: (gst_thread_change_state):
8080         Backported some debug logging from a reverted patch
8081         Don't try to destroy the thread twice. Added some more
8082         debugging in GstThread. Unlock and signal even if we
8083         are in the thread context.
8084
8085 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8086
8087         * po/uk.po:
8088           updated translation
8089
8090 2004-07-30  David Schleef  <ds@schleef.org>
8091
8092         * gst/gstatomic_impl.h: Enable atomic code for x86_64
8093
8094 2004-07-29  David Schleef  <ds@schleef.org>
8095
8096         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
8097         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
8098
8099 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8100
8101         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
8102         (gst_bin_add_func), (gst_bin_remove_func),
8103         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
8104         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
8105         (gst_bin_change_state_norecurse), (gst_bin_dispose),
8106         (gst_bin_sync_children_state):
8107         * gst/gstbin.h:
8108         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
8109         (gst_thread_change_state):
8110         * testsuite/states/Makefile.am:
8111           revert state change patches as agreed so we can rework them
8112           gradually
8113
8114 2004-07-29  Benjamin Otte  <otte@gnome.org>
8115
8116         * libs/gst/control/Makefile.am:
8117           link to libgstreamer (fixes Debian bug 262019, see
8118           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
8119
8120 2004-07-29  Wim Taymans  <wim@fluendo.com>
8121
8122         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
8123         (check_from_fraction_convert), (transform_test), (main):
8124         Make the test less pedantic about float roundoff errors.
8125
8126 2004-07-29  Benjamin Otte  <otte@gnome.org>
8127
8128         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
8129         (gst_filesrc_srcpad_event):
8130           make seek events to before start/after end of file not fail, but
8131           seek to start/end instead
8132         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
8133           add more output
8134
8135 2004-07-29  Benjamin Otte  <otte@gnome.org>
8136
8137         * gst/gstpad.c: (gst_pad_set_explicit_caps):
8138           check that caps are fixed
8139         * gst/gstpad.c: (gst_pad_template_new):
8140           don't try to simplify caps, costs too much time on gst_init
8141         * gst/gstplugin.c: (gst_plugin_add_feature):
8142           G_ERROR if features are added twice
8143         * gst/gsttypefind.c: (gst_type_find_register):
8144         * gst/gstelementfactory.c: (gst_element_register):
8145           don't add features twice
8146         * docs/random/ds/0.9-suggested-changes:
8147           add note about possible gst_init optimization
8148
8149 2004-07-28  David Schleef  <ds@schleef.org>
8150
8151         * testsuite/elements/Makefile.am:
8152         * testsuite/elements/struct_i386.h:
8153         * testsuite/elements/struct_size.c: (main):  A little test
8154         to keep distcheck from working if someone changes a structure
8155         size accidentally.
8156
8157 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8158
8159         * docs/libs/Makefile.am:
8160         * docs/libs/gstreamer-libs-docs.sgml:
8161         * docs/libs/gstreamer-libs-sections.txt:
8162         * docs/libs/tmpl/gstbytestream.sgml:
8163         * docs/libs/tmpl/gstcontrol.sgml:
8164         * docs/libs/tmpl/gstdataprotocol.sgml:
8165         * docs/libs/tmpl/gstgetbits.sgml:
8166         * libs/gst/bytestream/Makefile.am:
8167         * libs/gst/bytestream/bytestream.c:
8168         * libs/gst/bytestream/bytestream.h:
8169         * libs/gst/control/Makefile.am:
8170         * libs/gst/dataprotocol/Makefile.am:
8171         * libs/gst/getbits/Makefile.am:
8172         * libs/gst/getbits/getbits.h:
8173           various doc and style fixes, adding bytestream to libs docs.
8174
8175 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8176
8177         * docs/gst/gstreamer-docs.sgml:
8178         * docs/libs/Makefile.am:
8179         * docs/libs/gstreamer-libs-docs.sgml:
8180         * docs/libs/gstreamer-libs-sections.txt:
8181         * libs/gst/control/dparam.c:
8182           more doc fixes.  gst-libs docs now build the same way as gst.
8183
8184 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8185
8186         * configure.ac:
8187         * testsuite/Makefile.am:
8188         * testsuite/bins/Makefile.am:
8189         * testsuite/caps/Makefile.am:
8190         * testsuite/cleanup/Makefile.am:
8191         * testsuite/clock/Makefile.am:
8192         * testsuite/debug/Makefile.am:
8193         * testsuite/dlopen/Makefile.am:
8194         * testsuite/dynparams/Makefile.am:
8195         * testsuite/elements/.cvsignore:
8196         * testsuite/elements/Makefile.am:
8197         * testsuite/enumcaps/Makefile.am:
8198         * testsuite/enumcaps/enumcaps.c:
8199         * testsuite/ghostpads/Makefile.am:
8200         * testsuite/indexers/Makefile.am:
8201         * testsuite/negotiation/Makefile.am:
8202         * testsuite/parse/Makefile.am:
8203         * testsuite/plugin/Makefile.am:
8204         * testsuite/refcounting/Makefile.am:
8205         * testsuite/schedulers/.cvsignore:
8206         * testsuite/states/Makefile.am:
8207         * testsuite/tags/Makefile.am:
8208         * testsuite/threads/Makefile.am:
8209           fold enumcaps into caps dir
8210           clean up Makefile.am's for testsuite
8211
8212 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8213
8214         * docs/gst/Makefile.am:
8215         * docs/libs/Makefile.am:
8216           clean up docs build.  Fixes needless rebuilding of template files.
8217
8218 2004-07-28  Wim Taymans  <wim@fluendo.com>
8219
8220         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
8221         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
8222         Make sure that a bin state change tries to keep the children
8223         in sync. 
8224         Added debug logging to the thread.
8225
8226 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
8227
8228         * win32/GStreamer.vcproj:
8229         * win32/gstreamer.def:
8230           more exports for the plugins
8231
8232 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
8233
8234         * win32/gstgetbits.vcproj:
8235         * win32/gstgetbits.def:
8236         * win32/msvc71.sln:
8237           add support for the getbits plugin
8238
8239 2004-07-27  Wim Taymans  <wim@fluendo.com>
8240
8241         * gst/gstvalue.c: (gst_value_transform_double_fraction),
8242         (gst_value_transform_fraction_double), (_gst_value_initialize):
8243         * testsuite/caps/Makefile.am:
8244         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
8245         (check_from_fraction_convert), (transform_test), (main):
8246         Added transform functions between double and fraction.
8247         Added testcase to verify transforms
8248
8249 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8250
8251         * win32/GStreamer.vcproj:
8252           rename GStreamer-0.8.lib to libgstreamer.lib
8253
8254 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8255
8256         * win32/gstelements.vcproj:
8257         * win32/gstoptimalscheduler.vcproj:
8258           fixes for the Release build
8259
8260 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8261
8262         * win32/config.h:
8263           update the version number
8264
8265 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8266
8267         * win32/GStreamer.vcproj:
8268           add gstinterface to the build
8269
8270 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
8271
8272         * win32/gstreamer.def:
8273           add many definitions needed by plugins,
8274           GST_CAT_DEFAULT only available in the Debug build ?
8275
8276 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8277
8278         * gst/gstelement.c: (gst_element_set_eos_recursive):
8279           various whitespace fixes.
8280           doc fix, fixes #148497
8281
8282 2004-07-25  Benjamin Otte  <otte@gnome.org>
8283
8284         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
8285           don't delay links on the sink elements, it causes unnegotiated
8286           links.
8287         * gst/elements/gsttypefindelement.c:
8288         (gst_type_find_element_base_init):
8289           add our padtemplates, we indeed do have some.
8290         * gst/elements/gsttypefindelement.c:
8291         (gst_type_find_element_handle_event),
8292         (gst_type_find_element_chain):
8293           don't push data when typefinding failed.
8294         * gst/gstpad.c: (gst_pad_link_fixate):
8295           check that no fixate function returns empty caps.
8296         * gst/gstpad.c: (gst_pad_push):
8297           check that the link is negotiated before data gets pushed.
8298         * tools/gst-register.c: (main):
8299           don't assert (fixes #148283)
8300
8301 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8302
8303         * docs/gst/gstreamer-sections.txt:
8304         * docs/gst/tmpl/gstconfig.sgml:
8305           add GST_PLUGIN_EXPORT definition
8306
8307 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8308
8309         * gst/gstplugin.h:
8310         * gst/gstconfig.h.in:
8311         * win32/gstconfig.h:
8312         * win32/gstelements.def:
8313         * win32/gstelements.vcproj:
8314         * win32/gstoptimalscheduler.def:
8315         * win32/gstoptimalscheduler.vcproj:
8316         * win32/gstspider.def:
8317         * win32/gstspider.vcproj:
8318           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
8319
8320 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
8321
8322         * docs/gst/gstreamer-sections.txt:
8323           remove GST_CAT_DEFAULT because the type has changed
8324
8325 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8326
8327         * win32/gstbytestream.vcproj:
8328         * win32/gstelements.vcproj:
8329         * win32/gst-inspect.vcproj:
8330         * win32/gst-launch.vcproj:
8331         * win32/gstoptimalscheduler.vcproj:
8332         * win32/GStreamer.vcproj:
8333         * win32/gst-register.vcproj:
8334         * win32/gstspider.vcproj:
8335         * win32/msvc71.sln:
8336           Copy the files where needed after building, The testsuite will be
8337           built separately
8338
8339 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
8340
8341         * win32/config.h:
8342         * win32/README.txt:
8343         * docs/manual/win32.xml:
8344         Fixed the plugin and GStreamer location
8345
8346 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8347
8348         * win32/gstreamer.def:
8349         More exports for the plugins
8350
8351 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8352
8353         * gst/gstinfo.h:
8354         Marc was right, we need to export literally GST_CAT_DEFAULT
8355
8356 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8357
8358         * win32/config.h:
8359         NLS crashes in gettext, disabled until this is solved
8360
8361 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8362
8363         * win32/gst-inspect.vcproj:
8364         * win32/gst-launch.vcproj:
8365         Should use NLS when available
8366
8367 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8368
8369         * gst/registries/gstxmlregistry.c:
8370         removing the file doesn't seem to be a good idea on Linux
8371
8372 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
8373
8374         * gst/registries/gstxmlregistry.c:
8375         Remove the registry before renaming the tempfile (needed for Windows)
8376
8377 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8378
8379         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
8380         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
8381         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
8382         * gst/elements/gstmultifilesrc.h:
8383         Added newmedia property so it generates newmedia events between each
8384         file when property is set, as well as fixed eos handling
8385
8386 2004-07-22  David Schleef  <ds@schleef.org>
8387
8388         * gst/gststructure.c: (gst_structure_id_empty_new),
8389         (gst_structure_empty_new):  Set type field correctly.
8390         * gst/gststructure.h: Check type field correctly.
8391         * testsuite/caps/Makefile.am:
8392         * testsuite/caps/structure.c: (test1), (main): Add a very small
8393         test for structures.
8394
8395 2004-07-22  David Schleef  <ds@schleef.org>
8396
8397         * docs/random/ds/0.9-suggested-changes: more comments
8398         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
8399
8400 2004-07-22  Benjamin Otte  <otte@gnome.org>
8401
8402         * gst/gstelementfactory.c: (gst_element_register):
8403           set the factory in the class struct, so gst_element_get_factory
8404           actually works
8405         * gst/parse/grammar.y:
8406           set element to playing when it gets unlocked as we can't rely on the
8407           bin state - all elements in the bin state might still be locked in
8408           NULL)
8409
8410 2004-07-22  Benjamin Otte  <otte@gnome.org>
8411
8412         * gst/gstelement.c: (gst_element_set_state_func):
8413           make this a static function
8414
8415 2004-07-22  Wim Taymans  <wim@fluendo.com>
8416
8417         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8418         (gst_opt_scheduler_pad_link):
8419         fix 147894-2 and the group_link problem.
8420
8421 2004-07-22  Wim Taymans  <wim@fluendo.com>
8422
8423         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
8424         (handoff_identity), (main):
8425         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8426         (handoff_identity), (main):
8427         * testsuite/schedulers/Makefile.am:
8428         * testsuite/schedulers/group_link.c: (main):
8429         Show bug in scheduler when linking chain and loop based element 
8430         where the chain based element was not yet in a group.
8431
8432 2004-07-21  Benjamin Otte  <otte@gnome.org>
8433
8434         * gst/.cvsignore:
8435         * gst/autoplug/.cvsignore:
8436         * gst/elements/.cvsignore:
8437         * gst/indexers/.cvsignore:
8438         * libs/gst/bytestream/.cvsignore:
8439         * libs/gst/control/.cvsignore:
8440         * libs/gst/getbits/.cvsignore:
8441         * testsuite/states/.cvsignore:
8442         * testsuite/threads/.cvsignore:
8443           keep this up to date, since I seem to be the only one who cares
8444           about not missing files on commits (editor's note: no you don't,
8445           but feel free to change them at the time you add stuff instead
8446           of later on)
8447
8448 2004-07-21  Benjamin Otte  <otte@gnome.org>
8449
8450         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
8451         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
8452         (gst_bin_child_state_change_func), (set_kid_state_func),
8453         (gst_bin_set_state), (gst_bin_change_state_norecurse):
8454           make state changes work correctly and reentrant (so removing
8455           elements from bins during state changes of bins doesn't cause
8456           segfaults or even wrong states)
8457           add debugging category and debugging output to print children states
8458         * gst/gstbin.c: (gst_bin_dispose): 
8459           add some assertion checks
8460         * gst/gstbin.h:
8461         * gst/gstbin.c: (gst_bin_sync_children_state):
8462           deprecate this function - it just does gst_bin_set_state (bin,
8463           GST_STATE (bin)) 
8464         * testsuite/threads/queue.c: (main):
8465           don't use gst_bin_sync_children_state anymore
8466         * testsuite/states/Makefile.am:
8467         * testsuite/states/bin.c:
8468           test that the state changes of bins work as expected
8469         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
8470           some adjustments to change states correctly, too
8471         * gst/gstthread.c: (gst_thread_change_state):
8472           don't enable/disable "threadsafe" properties, they're unused and
8473           cause random segfaults
8474         * testsuite/threads/Makefile.am:
8475           the queue check randomly passes now, ignore it
8476
8477 2004-07-21  Benjamin Otte  <otte@gnome.org>
8478
8479         * gst/gstpad.c:
8480           check if data is NULL before outputting debug info. (fixes #145100)
8481
8482 2004-07-21  Benjamin Otte  <otte@gnome.org>
8483
8484         * gst/schedulers/entryscheduler.c:
8485         (gst_entry_scheduler_loop_wrapper),
8486         (gst_entry_scheduler_chain_wrapper),
8487         (gst_entry_scheduler_get_wrapper):
8488           reset the state when the cothread starts, so we don't get assertion
8489           failures on restarting of cothreads
8490
8491 2004-07-20  Benjamin Otte  <otte@gnome.org>
8492
8493         * gst/gstelement.c: (gst_element_link_pads_filtered):
8494           use correct sinkpad, if only sinkpad is specified, but not srcpad
8495           (fixes #147889)
8496         * gst/gstelement.c: (gst_element_set_state_func),
8497         (gst_element_change_state): ref/unref the element, signal handlers
8498         could get rid of the element otherwise
8499
8500 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
8501
8502         * docs/random/ds/0.9-suggested-changes:
8503           Make note about renaming fixed-list to array.
8504         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
8505         (_gst_value_initialize):
8506           Add array intersections.
8507         * testsuite/caps/intersect2.c: (main):
8508           Add test for array intersections.
8509
8510 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8511
8512         * configure.ac: back to cvs
8513
8514 === release 0.8.4 ===
8515
8516 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8517
8518         * configure.ac:
8519           releasing 0.8.4, "Paella"
8520           bump libtool versioning
8521
8522 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8523
8524         * po/LINGUAS:
8525         * po/ca.po:
8526           adding Catalan translation (Jordi Mallach)
8527
8528 2004-07-20  Wim Taymans  <wim@fluendo.com>
8529
8530         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
8531         (handoff_identity), (main):
8532         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8533         (handoff_identity), (main):
8534         * testsuite/schedulers/Makefile.am:
8535         Added failing testcase for variant of #147894
8536
8537 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8538
8539         patch by: David Moore
8540
8541         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
8542         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
8543         (group_migrate_connected):
8544         * testsuite/schedulers/Makefile.am:
8545           fix for #142813 (Deadlock in optimal scheduler)
8546
8547 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8548
8549         patch by: Wim Taymans
8550
8551         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
8552         (gst_opt_scheduler_schedule_run_queue),
8553         (gst_opt_scheduler_get_wrapper), (get_group),
8554         (group_migrate_connected):
8555         * testsuite/schedulers/Makefile.am:
8556           fix for #147819 (Add some checks in the opt scheduler)
8557
8558 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8559
8560         patch by: Benjamin Otte
8561
8562         * gst/gstelementfactory.c: (__gst_element_details_set):
8563           fix for #147929: running gst-register in non-utf8 locale can cause
8564           invalid registry
8565
8566 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8567
8568         patch by: Wim Taymans
8569
8570         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
8571         (group_has_element), (element_get_reachables_func),
8572         (group_migrate_connected):
8573           fix for #147894 (opt scheduler decoupled elements mismanagement)
8574         * testsuite/schedulers/Makefile.am:
8575           testsuite app now passes
8576
8577 2004-07-19  Wim Taymans  <wim@fluendo.com>
8578
8579         * testsuite/schedulers/147819.c: (handoff_identity1),
8580         (handoff_identity2), (main):
8581         * testsuite/schedulers/Makefile.am:
8582         Added testcase for bug 147819
8583
8584 2004-07-19  Wim Taymans  <wim@fluendo.com>
8585
8586         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
8587         (handoff_identity), (main):
8588         * testsuite/schedulers/Makefile.am:
8589         Added testcase for bug 147894
8590
8591 2004-07-16  Wim Taymans  <wim@fluendo.com>
8592
8593         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
8594         * testsuite/schedulers/142183.c: (handoff_identity), (main):
8595         * testsuite/schedulers/Makefile.am:
8596         Added testsuite for bug 142183 in its two incarnations. Refcount
8597         is not increased for scheduled elements and threadsafe properties
8598         mutexes are not properly unlocked.
8599
8600 2004-07-16  Wim Taymans  <wim@fluendo.com>
8601
8602         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
8603         (create_chain), (destroy_chain), (create_group), (destroy_group),
8604         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
8605         (group_dec_link), (gst_opt_scheduler_pad_link),
8606         (group_inc_links_for_element), (group_migrate_connected):
8607         Call group_inc_link with the proper src->sink ordering -- 
8608         break this, and we break sort_chain. patch from wingo for bug
8609         147713.
8610         Partially revert patch 1.89. When adding a loop based element to 
8611         the scheduler, the links to other groups are automatically followed
8612         and incremented. This should not happen because the bin will call
8613         pad_link explicitly for those connection, resulting in them counted 
8614         twice. Results in assertion failure on pipeline cleanup.
8615
8616 2004-07-16  Wim Taymans  <wim@fluendo.com>
8617
8618         * testsuite/schedulers/143777-2.c: (main):
8619         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
8620         (main):
8621         * testsuite/schedulers/Makefile.am:
8622         Added cleanup code to testcase 143777-2.
8623         Added testcase to show bug 147713, does not really show the
8624         deadlock as I can't figure out how to trigger it, but it does
8625         demonstrate bad ordering in the scheduler.
8626
8627 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8628
8629         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8630           change strndup to g_strndup.  Fixes #147707
8631
8632 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8633
8634         * po/af.po:
8635         * po/az.po:
8636         * po/cs.po:
8637         * po/en_GB.po:
8638         * po/fr.po:
8639         * po/nl.po:
8640         * po/sr.po:
8641         * po/sv.po:
8642         * po/tr.po:
8643         * po/uk.po:
8644           updated translations
8645
8646 2004-07-16  Benjamin Otte  <otte@gnome.org>
8647
8648         * gst/gstvalue.c: (gst_greatest_common_divisor):
8649           use ints and return ints, fractions only use ints, too, so this
8650           avoids accidently casting multiplications to unsigned
8651         (gst_value_lcopy_fraction): it's ints, not uint32
8652         (gst_value_set_fraction): disallow minint, multiplying and negation
8653           are broken with it
8654         (gst_value_fraction_multiply): fix to make large numbers work and get
8655         rid of the assumption that the multiplication of two ints fits an
8656         int64 - dunno if that's true for all systems
8657         * testsuite/caps/Makefile.am:
8658         * testsuite/caps/fraction-multiply-and-zero.c:
8659         (check_multiplication), (check_equal), (zero_test), (main):
8660           add tests for all the stuff above
8661         * testsuite/caps/value_compare.c: (test1):
8662           fix comment
8663         * tests/.cvsignore:
8664         * testsuite/caps/.cvsignore:
8665         * testsuite/debug/.cvsignore:
8666         * testsuite/dlopen/.cvsignore:
8667         * testsuite/states/.cvsignore:
8668           get up to date
8669
8670 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8671
8672         * docs/manual/bins-api.xml:
8673         * docs/manual/factories.xml:
8674         * docs/manual/helloworld.xml:
8675         * docs/manual/links-api.xml: 
8676           fixes for out of date info, incorrect info and grammar
8677
8678 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8679
8680         * docs/manual/pads.xml:
8681         * docs/manual/pads-api.xml: grammar fix
8682
8683 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8684
8685         * docs/manual/pads-api.xml: typo + grammar fix
8686
8687 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8688
8689         * docs/gst/gstreamer-sections.txt:
8690           add new symbols
8691         * docs/gst/tmpl/gstelement.sgml:
8692         * docs/gst/tmpl/gstpad.sgml:
8693         * docs/gst/tmpl/gsttypes.sgml:
8694         * docs/gst/tmpl/gstvalue.sgml:
8695           update docs
8696         * gst/gststructure.c: (gst_structure_set_valist),
8697         (gst_structure_from_abbr), (gst_structure_to_abbr):
8698         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
8699         (gst_greatest_common_divisor), (gst_value_init_fraction),
8700         (gst_value_copy_fraction), (gst_value_collect_fraction),
8701         (gst_value_lcopy_fraction), (gst_value_set_fraction),
8702         (gst_value_get_fraction_numerator),
8703         (gst_value_get_fraction_denominator),
8704         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
8705         (gst_value_deserialize_fraction),
8706         (gst_value_transform_fraction_string),
8707         (gst_value_transform_string_fraction),
8708         (gst_value_compare_fraction), (_gst_value_initialize):
8709         * gst/gstvalue.h:
8710           adding GstFraction GValue type, get/set, and multiply
8711         * testsuite/caps/Makefile.am:
8712         * testsuite/caps/fraction.c: (test), (main):
8713         * testsuite/caps/string-conversions.c: (main):
8714         * testsuite/caps/value_compare.c: (test1), (main):
8715           add regression tests for GstFraction
8716
8717 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8718         
8719         * docs/manual/init-api.xml: Grammar fix
8720
8721 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8722
8723         * docs/manual/states.xml: Fix inconsistent information
8724
8725 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8726
8727         * gst/gstelement.c: (gst_element_set_state):
8728         * gst/gstpad.c: (gst_pad_try_set_caps):
8729         * gst/gststructure.c:
8730         * gst/gstthread.c: (gst_thread_child_state_change):
8731         * gst/gstvalue.c: (gst_value_compare_double):
8732         * gst/gstvalue.h:
8733         * testsuite/parse/parse1.c: (main):
8734           debugging additions and style cleanups
8735
8736 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8737
8738         * docs/manual/states.xml: Grammar fix
8739
8740 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8741
8742         * docs/manual/pads.xml: Grammar fix
8743
8744 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8745
8746         * docs/manual/elements.xml: Fixed image reference
8747
8748 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8749
8750         * docs/manual/goals.xml: Grammar fix
8751
8752 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8753
8754         * docs/manual/motivation.xml:
8755         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
8756
8757 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8758
8759         * docs/manual/motivation.xml: Fix spelling
8760
8761 2004-07-15  Benjamin Otte  <otte@gnome.org>
8762
8763         * gst/gstelement.h: 
8764           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
8765           strings.
8766         * gst/gstelement.c (gst_element_class_init):
8767           GError's are boxed, not objects
8768         * gst/gstmarshal.list:
8769           update list for the fixed error signal
8770
8771 2004-07-14  Andy Wingo  <wingo@pobox.com>
8772
8773         * gst/gsttag.c: Add a tag merge func for pointers. The header was
8774         there all along, but the function wasn't. (guile-gstreamer's build
8775         system uses the address of the function -- I wasn't actually
8776         trying to use this.)
8777
8778 2004-07-14  Andy Wingo  <wingo@pobox.com>
8779
8780         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
8781         as gst_pad_proxy_pad_link) just link to every other pad when they
8782         are called. In the case where the graph has cycles, this will mean
8783         that a call to try_set_caps will recurse. Allow this recursion
8784         and return OK, while we wait for the first try_set_caps to give a
8785         proper return value.
8786         (gst_pad_link_call_link_functions): Since this function is the
8787         only one to set the NEGOTIATING flag on a pad, if the flag is set
8788         it means that the link functions have indirectly recursed. If this
8789         happens, error out to avoid infinite recursion and an eventual
8790         SEGV.
8791         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
8792         (gst_pad_proxy_getcaps): Intersect the result with the template
8793         caps to ensure that the return value is valid.
8794
8795 2004-07-14  Andy Wingo  <wingo@pobox.com>
8796
8797         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
8798         one refcount, the calling function is the owner of the buffer.
8799
8800 2004-07-14  Wim Taymans  <wim@fluendo.com>
8801
8802         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8803         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8804         Fix stupid warning when an element is to be migrated but
8805         is already migrated.
8806
8807 2004-07-14  Wim Taymans  <wim@fluendo.com>
8808
8809         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
8810         (gst_opt_scheduler_pad_link), (group_migrate_connected):
8811         Make sure that a single non-loop-based element does not 
8812         end up in a group. This fixes the testsuite again.
8813
8814 2004-07-14  Wim Taymans  <wim@fluendo.com>
8815
8816         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8817         (add_to_group), (merge_groups), (schedule_group),
8818         (gst_opt_scheduler_get_wrapper), (group_elements),
8819         (group_dec_link), (gst_opt_scheduler_pad_link),
8820         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
8821         (gst_opt_scheduler_iterate):
8822         move isolated groups to a new chain.
8823         Emit a warning instead of segfaulting in some error cases.
8824         Fix a bug where the link count between groups was not calculated 
8825         correctly. Fixes #144510.
8826
8827 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
8828         * gst/elements/gstfilesrc.c:
8829           Binary files support under Windows now OK
8830       
8831 2004-07-13  Benjamin Otte  <otte@gnome.org>
8832
8833           compatibility fixes for Solaris 8/gcc 2.95
8834         * configure.ac:
8835           include libintl libs in LDFLAGS
8836         * gstvalue.c (gst_value_deserialize_buffer):
8837           cast isxdigit stuff to int to silence compiler warning
8838
8839 2004-07-12  Benjamin Otte  <otte@gnome.org>
8840
8841         * gst/gsttypes.h:
8842           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
8843           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
8844           just causes support madness
8845         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
8846           make it work without this
8847         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
8848         (gst_file_index_commit):
8849           glib IO channels don't want binary mode
8850         * testsuite/bytestream/filepadsink.c: (main):
8851         * testsuite/bytestream/test1.c: (read_param_file):
8852           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
8853
8854 2004-07-12  Benjamin Otte  <otte@gnome.org>
8855
8856         * gst/gstelement.c: (gst_element_class_init),
8857         (gst_element_set_state), (gst_element_set_state_func):
8858           virutalize gst_element_set_state, use set_state member in class
8859           struct that was already added in 0.7 for this.
8860         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
8861         (gst_bin_change_state):
8862           make gst_bin_foreach works similar to other foreach functions, plug
8863           memleaks in it. Make functions using it work with the new approach.
8864           Document gst_bin_foreach, so it can be exported if we want to
8865         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
8866           use virtualized set_state to make set_state on bins set the state of
8867           all its children.
8868
8869 2004-07-12  Benjamin Otte  <otte@gnome.org>
8870
8871         * configure.ac:
8872           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
8873           http://bugs.gentoo.org/show_bug.cgi?id=53967)
8874         * gst/gstpad.c: (gst_pad_alloc_buffer):
8875           allow buffer_alloc functions to return NULL and allocate a normal
8876           buffer in that case
8877
8878 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8879         * gst/elements/gstfilesink.c:
8880         * gst/elements/gstfilesrc.c:
8881         * gst/indexers/gstfileindex.c:
8882         * gst/gsttypes.h:
8883         * testsuite/bytestream/filepadsink.c:
8884         * testsuite/bytestream/test1.c:
8885           Handle binary files under Windows
8886
8887 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8888         * docs/manual/win32.xml:
8889         * win32/config.h:
8890         * win32/gst-register.vcproj:
8891         * win32/gstreamer.def:
8892           Update to another gettext public build
8893
8894 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
8895         * gst/gstplugin.c:
8896           Fix an impossible C syntax
8897         * win32/config.h:
8898           Disable i18n under Windows for the moment
8899         * win32/gst-register.vcproj:
8900           Use this configuration
8901
8902 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
8903         * docs/manual/quotes.xml:
8904           Keep the quotes file alive
8905         * docs/random/ds/0.9-suggested-changes:
8906           Add the suggestion of including a 'rowstride' as part of video
8907           format caps
8908
8909 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8910
8911         * gst/gstelement.c: (gst_element_set_state),
8912         (gst_element_change_state):
8913           d'oh.  Set PENDING state correctly before forcing bin to change.
8914         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8915         (gst_structure_parse_fixed_list):
8916         * gst/schedulers/gstoptimalscheduler.c:
8917         (gst_opt_scheduler_state_transition):
8918         * testsuite/states/parent.c: (main):
8919           remove comment now that it's fixed.
8920
8921 2004-07-11  Benjamin Otte  <otte@gnome.org>
8922
8923         * gst/gstclock.h:
8924           GST_SECOND shouldn't cause a conversion to unsigned.
8925         * testsuite/clock/.cvsignore:
8926         * testsuite/clock/Makefile.am:
8927         * testsuite/clock/signedness.c: (main):
8928           make sure it never will again
8929
8930 2004-07-11  Andy Wingo  <wingo@pobox.com>
8931
8932         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
8933         whose state is higher than the bin state, raise the bin state to
8934         ensure that bin state := highest child state.
8935         
8936 2004-07-11  Andy Wingo  <wingo@pobox.com>
8937
8938         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
8939         procedure on the children of a bin. Assumes that the procedure can
8940         change the set of children.
8941         (set_kid_state_func): New static function.
8942         (gst_bin_change_state): Use gst_bin_foreach to call
8943         set_kid_state_func. Fixes a bug: if a child had a state-change
8944         handler that removes it from the bin, there would be a segfault.
8945         Hopefully it should also work in the case where the state-change
8946         handler on one child adds or removes other children. In any case,
8947         fixes should go to gst_bin_foreach.
8948
8949 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8950
8951         * gst/gstelement.c: (gst_element_set_state):
8952           compatibility fix for latest plugins release.  Change loop back
8953           to while {}
8954
8955 2004-07-09  Wim Taymans  <wim@fluendo.com>
8956
8957         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
8958         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
8959         (gst_thread_main_loop):
8960         Since remove is virtual in GstBin we must not assume the 
8961         elements GList to have anothing useful.
8962         Add some more logging to GstThread and be a bit more paranoid
8963         when resetting the scheduler.
8964         Set the state of the bin to NULL before removing the children.
8965
8966 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8967
8968         * testsuite/threads/Makefile.am:
8969         * testsuite/threads/threadg.c:
8970           added test to check if problem when removing all elements from a
8971           GstThread before setting GstThread state to NULL
8972
8973 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8974
8975         * docs/gst/tmpl/gstelement.sgml:
8976         * docs/gst/tmpl/gsttypes.sgml:
8977         * gst/gstbin.c: (gst_bin_change_state):
8978         * gst/gstelement.c: (gst_element_set_state),
8979         (gst_element_change_state):
8980           rework so that for bins we try to set the state on all children
8981           as well even if the bin is in the correct state already.
8982           change while to do so at least one iteration is done.
8983           For regular elements, we fall back to the previous behaviour for
8984           now since we first need a new plugins release.
8985         * testsuite/states/parent.c: (main):
8986           test for this case
8987           Fixes #123774
8988
8989 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8990
8991         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
8992         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
8993         (gst_queue_release_locks), (gst_queue_change_state),
8994         (gst_queue_set_property):
8995           add proper lock debugging.  Change dispose to finalize, since
8996           we're freeing mutexes and other stuff which should happen only once.
8997
8998 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8999
9000         * docs/gst/tmpl/gstelement.sgml:
9001         * docs/gst/tmpl/gstplugin.sgml:
9002         * docs/gst/tmpl/gsttypes.sgml:
9003         * docs/pwg/building-state.xml:
9004         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
9005         * gst/gstelement.c: (gst_element_change_state):
9006         * gst/gstthread.c: (gst_thread_change_state):
9007           catch wrong state changes in element base class.
9008
9009 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9010
9011         * gst/gstinfo.h:
9012           clean up layout a little.
9013
9014 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9015
9016         * configure.ac:
9017         * testsuite/Makefile.am:
9018         * testsuite/states/Makefile.am:
9019         * testsuite/states/parent.c: (main):
9020           re-enable states testsuite dir.  Add test for state changes and
9021           parent behaviour
9022
9023 2004-07-09  Wim Taymans  <wim@fluendo.com>
9024
9025         * gst/schedulers/gstoptimalscheduler.c:
9026         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
9027         (element_get_reachables_func), (element_get_reachables),
9028         (debug_element), (rechain_group), (group_migrate_connected),
9029         (gst_opt_scheduler_pad_unlink):
9030         Do not try to migrate decoupled elements to a new group since
9031         they are not added to groups.
9032
9033 2004-07-08  Benjamin Otte  <otte@gnome.org>
9034
9035         * gst/gstelement.c: (gst_element_error_func):
9036           make reentrant (= allow removing elements in error handler)
9037
9038 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9039
9040         * gst/gstpad.c: (gst_pad_event_default_dispatch),
9041         (gst_pad_send_event), (gst_pad_call_chain_function):
9042           events sent to elements below PAUSED cannot be handled, so
9043           don't try to
9044
9045 2004-07-08  Wim Taymans  <wim@fluendo.com>
9046
9047         * gst/schedulers/gstoptimalscheduler.c:
9048         (chain_recursively_migrate_group), (create_group),
9049         (schedule_group), (gst_opt_scheduler_pad_link),
9050         (group_elements_set_visited), (element_get_reachables_func),
9051         (element_get_reachables), (group_can_reach_group), (debug_element),
9052         (rechain_group), (group_migrate_connected),
9053         (gst_opt_scheduler_pad_unlink):
9054         * testsuite/schedulers/Makefile.am:
9055         Implemented group splitting and rechaining.
9056         Fixes 143777 and 143777-2 in the testsuite.
9057
9058 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9059
9060         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
9061           extra debugging
9062         * gst/gstevent.h:
9063         * gst/gstinfo.c: (gst_debug_log_default):
9064           print time nicely.  add thread pointer until someone figures out
9065           a completely portable way of getting at thread id's.
9066         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
9067         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
9068         (gst_pad_call_chain_function):
9069           extra debugging
9070         * gst/schedulers/gstoptimalscheduler.c:
9071         (get_group_schedule_function), (loop_group_schedule_function),
9072         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
9073         (pad_clear_queued), (gst_opt_scheduler_iterate):
9074           rename BUFPEN and friends to DATAPEN since that's what they are.
9075
9076 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9077
9078         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
9079         * gst/gstbuffer.h:
9080         * gst/gstpad.c:
9081           cleanups and debugging
9082
9083 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9084
9085         * configure.ac:
9086         * gst/gstvalue.c: (gst_value_compare_enum),
9087         (gst_value_serialize_enum), (gst_value_deserialize_enum),
9088         (gst_value_can_compare), (gst_value_compare):
9089         * testsuite/Makefile.am:
9090         * testsuite/enumcaps/Makefile.am:
9091         * testsuite/enumcaps/enumcaps.c:
9092           Fix enum serialization, deserialization, comparison in caps, add
9093           a test to ensure that this continues working in the future.
9094
9095 2004-07-06  David Schleef  <ds@schleef.org>
9096
9097         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
9098         Fix memleak.
9099
9100 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9101
9102         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
9103         * gst/gstplugin.h:
9104         * gst/registries/gstxmlregistry.c:
9105         (plugin_times_older_than_recurse), (plugin_times_older_than),
9106         (gst_xml_registry_parse_padtemplate):
9107           only rebuild registry when actual plugins have a newer time than
9108           the registry.  Fixes #145520
9109
9110 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9111
9112         * docs/manual/manual.xml:
9113         * docs/manual/win32.xml:
9114           add chapter on win32 building.  fixes #142422
9115
9116 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9117
9118         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
9119
9120         * gst/autoplug/gstspider.c: (gst_spider_init),
9121         (gst_spider_dispose):
9122           fix spider memleaks.  fixes #137863
9123
9124 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9125
9126         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
9127
9128         * gst/schedulers/gstoptimalscheduler.c:
9129         (gst_opt_scheduler_pad_unlink):
9130           fix SIGBUS error, fixes #145338
9131
9132 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9133
9134         * gst/gstobject.c: (gst_object_replace):
9135         * gst/gstscheduler.c: (gst_scheduler_get_clock):
9136         * gst/gstsystemclock.c: (gst_system_clock_obtain):
9137           clean up clock lifecycle.  Fixes #109831
9138
9139 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9140
9141         * po/LINGUAS:
9142         * po/cs.po:
9143           added Czech translation (Miloslav Trmac)
9144
9145 2004-07-04  David Schleef  <ds@schleef.org>
9146
9147         * tools/Makefile.am:
9148         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
9149
9150 2004-07-04  David Schleef  <ds@schleef.org>
9151
9152         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
9153
9154 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9155
9156         * gst/gstbin.c: (gst_bin_restore_thyself):
9157           chain to parent restore so the bins get restored correctly
9158           in the editor
9159
9160 2004-07-03  David Schleef  <ds@schleef.org>
9161
9162         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
9163         Actually do something in these functions, like before the big
9164         caps change.  (bug #145137)
9165
9166 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9167
9168         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
9169         (gst_element_get_compatible_pad_filtered):
9170         * gst/gstthread.c: (gst_thread_main_loop):
9171           more debugging
9172
9173 2004-07-02  David Schleef  <ds@schleef.org>
9174
9175         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
9176         * gst/gstobject.h:
9177         * gst/gstparse.h:
9178         * gst/gsttrace.h:
9179         * gst/gstxml.h:
9180
9181 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9182
9183         * gst/gstpad.c: (gst_pad_check_schedulers),
9184         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
9185         (gst_pad_link_prepare):
9186           revert until testsuite is fixed
9187
9188 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9189
9190         * testsuite/Makefile.am:
9191         * testsuite/caps/filtercaps.c: (main):
9192         * testsuite/clock/clock1.c: (main):
9193         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
9194           fix some more tests
9195
9196 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9197
9198         * testsuite/cleanup/cleanup1.c: (create_pipeline):
9199         * testsuite/cleanup/cleanup2.c: (create_pipeline):
9200         * testsuite/cleanup/cleanup4.c: (main):
9201           fix testsuite
9202
9203 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9204
9205         * libs/gst/control/control.c:
9206         * libs/gst/control/dparam.c:
9207         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
9208         * libs/gst/control/dparammanager.c:
9209         * libs/gst/control/dparammanager.h:
9210         * testsuite/dynparams/Makefile.am:
9211         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
9212         (gst_dptest_change_state), (gst_dptest_chain), (main):
9213           fix testcase for dparams
9214           add debugging category
9215
9216 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9217
9218         * testsuite/Rules:
9219           change path
9220
9221 2004-07-02  Benjamin Otte  <otte@gnome.org>
9222
9223         * tests/.cvsignore:
9224         * tests/Makefile.am:
9225         * tests/mass_elements.c: (gst_get_current_time), (main):
9226           add simple benchmark to test various speeds of fakesrc ! identity !
9227           identity ! ... ! fakesink.
9228           Usage: mass_elements [num_identities] [num_buffers]
9229           If not specified they default to 1000.
9230
9231 2004-07-02  Benjamin Otte  <otte@gnome.org>
9232
9233         * gst/gstpad.c: (gst_pad_check_schedulers),
9234         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
9235         (gst_pad_link_prepare):
9236           check that pads that get linked belong to the same manager. The old
9237           code allowed linking elements before putting them into bins, so it
9238           worked to link them and then put them in different threads, which
9239           lead to weird behaviour.
9240           Since this effectively disallows linking elements before putting
9241           them in a bin, some applications might not work after this and error
9242           out. If these applications are too critical, we might need to revert
9243           that patch. Please test this before the next release...
9244
9245 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9246
9247         * gst/gstpad.c: (gst_pad_get_caps):
9248           throw an error if the getcaps function does not return a subset of
9249           the template caps.
9250         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
9251           make disconts without position info an error in debugging
9252         * tests/spidey_bench.c: (handoff), (main):
9253           don't count first try when averaging
9254
9255 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9256
9257         * gst/gstplugin.c: (gst_plugin_load_file):
9258           figure out problem with dynamic test
9259
9260 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9261
9262         * docs/gst/Makefile.am:
9263           fix docs build
9264
9265 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9266
9267         * po/POTFILES.in:
9268         * po/af.po:
9269         * po/az.po:
9270         * po/en_GB.po:
9271         * po/fr.po:
9272         * po/nl.po:
9273         * po/sr.po:
9274         * po/sv.po:
9275         * po/tr.po:
9276         * po/uk.po:
9277         * tools/gst-register.c: (plugin_added_func), (main):
9278           i18n-ize -register, fix plural
9279
9280 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9281
9282         * gst/elements/gstidentity.c: (gst_identity_class_init),
9283         (gst_identity_init), (gst_identity_chain),
9284         (gst_identity_set_property), (gst_identity_get_property):
9285         * gst/elements/gstidentity.h:
9286           check for perfect stream
9287
9288 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9289
9290         * gst/elements/gstidentity.c: (gst_identity_chain):
9291           print offset_end
9292
9293 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9294
9295         * docs/gst/Makefile.am:
9296         * docs/gst/gstreamer-docs.sgml:
9297           doc fixes
9298
9299 2004-06-24  David Schleef  <ds@schleef.org>
9300
9301         * autogen.sh:  Remove call to env, since the buildbot isn't
9302         broken anymore.
9303
9304 2004-06-24  Wim Taymans  <wim@fluendo.com>
9305
9306         * gst/elements/Makefile.am:
9307         * gst/elements/gstelements.c:
9308         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
9309         (gst_multifdsink_class_init), (gst_multifdsink_init),
9310         (gst_multifdsink_add), (gst_multifdsink_remove),
9311         (gst_multifdsink_clear), (gst_multifdsink_chain),
9312         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
9313         * gst/elements/gstmultifdsink.h:
9314         Added an element that writes to multiple filedescriptors at once.
9315
9316 2004-06-24  Benjamin Otte  <otte@gnome.org>
9317
9318         * gst/parse/grammar.y:
9319           don't try to link elements before they have been added to bins
9320
9321 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9322
9323         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
9324         (gst_file_pad_get_length):
9325         * libs/gst/bytestream/filepad.h:
9326           add 2 new functions
9327
9328 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9329
9330         * docs/gst/gstreamer-sections.txt:
9331         remove from docs, the define that Benjamin removed from gstelement.h
9332
9333 2004-06-22  Benjamin Otte  <otte@gnome.org>
9334
9335         * gst/gstelement.h:
9336           remove define that referenced a nonexisting GstElement struct member
9337
9338 2004-06-20  Benjamin Otte  <otte@gnome.org>
9339
9340         * gst/gstdata.c: (gst_data_is_writable):
9341           whoops, return values were wrong, so writable data was marked as
9342           non-writable and vice versa. (fixes #143953, spotted by Francis
9343           Labonte)
9344           Shows how rarely we need to copy data ;)
9345
9346 2004-06-20  Benjamin Otte  <otte@gnome.org>
9347
9348         * testsuite/schedulers/.cvsignore:
9349         * testsuite/schedulers/Makefile.am:
9350         * testsuite/schedulers/143777-2.c: (main):
9351           add test for opt breakage in bug #143777
9352
9353 2004-06-20  Benjamin Otte  <otte@gnome.org>
9354
9355         * gst/gstpad.c: (gst_pad_call_chain_function):
9356           check for if we were unlinked while inside the chainfunction (fixes
9357           entrygthread having issues with #143777)
9358         * testsuite/schedulers/143777.c: (main):
9359         * testsuite/schedulers/Makefile.am:
9360           add a test for that fix
9361
9362 2004-06-20  Benjamin Otte  <otte@gnome.org>
9363
9364         * gst/gstvalue.c: (gst_value_set_int_range):
9365           test that start is smaller then end
9366         * libs/gst/bytestream/Makefile.am:
9367         * libs/gst/bytestream/filepad.c: 
9368         * libs/gst/bytestream/filepad.h:
9369           add GstFilePad - a pad that behaves like a FILE*
9370         * testsuite/bytestream/.cvsignore:
9371         * testsuite/bytestream/Makefile.am:
9372         * testsuite/bytestream/filepadsink.c: 
9373           test for the GstFilePad
9374
9375 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9376
9377         * gst/elements/gstidentity.c: (gst_identity_class_init),
9378         (gst_identity_init), (gst_identity_set_clock),
9379         (gst_identity_chain), (gst_identity_set_property),
9380         (gst_identity_get_property):
9381         * gst/elements/gstidentity.h:
9382         * gst/gstclock.c: (gst_clock_id_wait):
9383           add a "sync" property to sync to the clock
9384
9385 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9386
9387         * gst/gstelementfactory.c: (gst_element_factory_create):
9388           make the freakin "elementfactory bla has no type" message more
9389           useful. So we actually can do something when someone shows up
9390           complaining about it.
9391
9392 2004-06-15  Johan Dahlin  <johan@gnome.org>
9393
9394         * tools/gst-inspect.c (main): Fallback to plugin if no element is
9395         found. This matches the old behavior better. Thanks to Thomas for
9396         pointing out.
9397
9398 2004-06-14  David Schleef  <ds@schleef.org>
9399
9400         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
9401         -fomit-frame-pointer.  Appears to generate correct code in
9402         other cases as well.
9403
9404 2004-06-14  Johan Dahlin  <johan@gnome.org>
9405
9406         * tools/gst-inspect.c (main): Add two new command line options: -a
9407         to print all elements and -n to print the name on each line. Also
9408         fix some error reporting.
9409         (main): Simplify, remove -n and always print names if -a is specified
9410
9411 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
9412
9413         * win32/gstconfig.h:
9414         * win32/GSTreamer.vcproj:
9415         * win32/Makefile:
9416         * gst/gstconfig.h.in:
9417         * gst/gst.h:
9418         * gst/gstbin.h:
9419         * gst/gstelement.h:
9420         * gst/gstevent.h:
9421         * gst/gstobject.h:
9422         * gst/gstpad.h:
9423         * docs/gst/gstreamer-sections.txt:
9424         * docs/gst/tmpl/gstconfig.sgml:
9425           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
9426
9427 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
9428         * docs/gst/gstreamer-sections.txt:
9429         * docs/gst/tmpl/gstconfig.sgml:
9430         Add the GSTREAMER_EXPORT macro to the docs
9431
9432 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
9433
9434         * tools/gst-compprep.c: (handle_xmlerror), (main):
9435         Add a check for the version that introduced SetStructuredError to fix
9436         the build on FC1
9437
9438 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9439
9440         * win32/msvc71.sln:
9441         * win32/testsuite/:
9442           prepare to compile the testsuite with MSVC
9443
9444 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9445
9446         * docs/manual/win32.xml:
9447           attempt to transform the Win32 README into an XML doc
9448
9449 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9450
9451         * gst/gst.c:
9452         * gst/gstbin.*:
9453         * gst/config.h.in:
9454         * gst/gstelement.*:
9455         * gst/gstevent.h:
9456         * gst/gstobject.*:
9457         * gst/gstpad.h:
9458         * tools/gst-register.c:
9459         * win32/gstreamer.def:
9460           extern symbols are now exported for the Windows DLL
9461
9462 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9463
9464         * gst/gstinfo.h:
9465           fix a problem to enable/disable DEBUG under MSVC
9466
9467 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9468
9469         * win32/:
9470           enable more debug code in DEBUG build
9471
9472 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
9473
9474         * win32/config.h:
9475         * gst/gst-i18n-app.h:
9476           enable NLS under Windows
9477
9478 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
9479         * tools/gst-compprep.c: (handle_xmlerror), (main):
9480           Make an error that baffled me a bit clearer
9481
9482 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9483
9484         * gst/gstqueue.c:
9485           don't use g_queue_get_length () because it's 2.4, use ->length
9486
9487 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
9488
9489         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
9490
9491         * tools/gst-inspect.c: (print_signal_info):
9492           don't free random data twice. (fixes #144185)
9493
9494 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9495
9496         * gst/gstqueue.c:
9497         * gst/gstqueue.h:
9498           fix removing from the wrong queue on event timeout
9499           fix disposing of the event queue by casting correctly
9500           add mutexes for handling the event queue
9501           someone was sleeping when fixing queue last time around :)
9502
9503 2004-06-10  Johan Dahlin  <johan@gnome.org>
9504
9505         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
9506         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
9507
9508 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9509
9510         * docs/random/gdp:
9511         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
9512         * libs/gst/dataprotocol/dataprotocol.c:
9513         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9514         (gst_dp_buffer_from_header):
9515         * libs/gst/dataprotocol/dataprotocol.h:
9516         * libs/gst/dataprotocol/dp-private.h:
9517           rev version to 0.1, add buffer flags and copy them
9518
9519 2004-06-09  Johan Dahlin  <johan@gnome.org>
9520
9521         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
9522         the flags from the buffer we're copying.
9523
9524 2004-06-09  Wim Taymans  <wim@fluendo.com>
9525
9526         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
9527         * gst/elements/gstidentity.c: (gst_identity_init),
9528         (gst_identity_chain):
9529         Print more buffer info in fakesink.
9530         Make identity output similar to fakesink.
9531
9532 2004-06-07  Daniel Gazard  <dany42@free.fr>
9533
9534         reviewed by Benjamin Otte  <otte@gnome.org>
9535
9536         * configure.ac:
9537           fix cross compiling not working. (fixes #143741)
9538
9539 2004-06-07  Benjamin Otte  <otte@gnome.org>
9540
9541         * gst/gstelement.c: (gst_element_set_time_delay):
9542           add failure check
9543         * gst/gstinfo.h:
9544           put brackets around macro arguments of GST_TIME_ARGS, add note to
9545           move it to correct header in 0.9
9546
9547 2004-06-07  Benjamin Otte  <otte@gnome.org>
9548
9549         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
9550         (gst_file_index_load), (_file_index_id_save_entries),
9551         (gst_file_index_commit), (gst_file_index_add_association),
9552         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
9553         (gst_file_index_plugin_init):
9554           make debugging use a default category
9555
9556 2004-06-06  David Moore  <dcm@acm.org>
9557
9558         reviewed by Benjamin Otte  <otte@gnome.org>
9559
9560         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9561         (gst_fdsrc_change_state):
9562           reset offset counter when going READY => PAUSED. (fixes #142903)
9563
9564 2004-06-06  ed@catmur.co.uk
9565
9566         reviewed by Benjamin Otte  <otte@gnome.org>
9567
9568         * gst/registries/gstxmlregistry.c:
9569         (gst_xml_registry_rebuild_recurse):
9570           don't rely on g_dir_open to figure out if a file is a directory, use
9571           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
9572           directories. (fixes #142850)
9573
9574 2004-06-06  Benjamin Otte  <otte@gnome.org>
9575
9576         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
9577           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
9578         * libs/gst/bytestream/adapter.c:
9579         * libs/gst/bytestream/adapter.h:
9580           fix copyright in header and typo in debugging category name
9581
9582 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9583
9584         * configure.ac:
9585           bump nano to cvs
9586
9587 === release 0.8.3 ===
9588
9589 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9590
9591         * configure.ac:
9592           update libtool versioning
9593           do a new release
9594         * docs/gst/tmpl/gstelement.sgml:
9595         * docs/gst/tmpl/gsttypes.sgml:
9596         * gst/gstinfo.c: (_gst_debug_init):
9597           put back GST_CAT_DATAFLOW to fix API breakage
9598
9599 2004-06-04  David Schleef  <ds@schleef.org>
9600
9601         * autogen.sh: Add a temporary 'env' to test buildbot problems.
9602
9603 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9604
9605         * configure.ac:
9606           bump nano to cvs
9607
9608 === release 0.8.2 ===
9609
9610 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9611
9612         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
9613           check GST_DEBUG environment variable which is parsed the same way
9614           as --gst-debug=
9615
9616 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
9617
9618         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
9619                             gstmd5sink.c gstshaper.c gsttee.c
9620                             gsttypefindelement.c
9621         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
9622
9623           - removing trailing commas at end of enums
9624             it is correct C99 code but C90 compilers would complain
9625             (AIX, Forte, ...)
9626             ('should' fix #143290, at least partially)
9627
9628 2004-05-27  Wim Taymans  <wim@fluendo.com>
9629
9630         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
9631         (chain_group_set_enabled), (create_group), (add_to_group),
9632         (merge_groups), (setup_group_scheduler), (group_elements),
9633         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
9634         Don't try to follow the pad connections with other groups
9635         when a loop based element is added to the scheduler because
9636         the bin will inform the scheduler about the pad links a little
9637         later.
9638
9639 2004-05-27  Wim Taymans  <wim@fluendo.com>
9640
9641         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9642         (remove_from_chain), (chain_group_set_enabled),
9643         (setup_group_scheduler), (group_element_set_enabled),
9644         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
9645         (gst_opt_scheduler_show):
9646         Elements without a group can do a state change as well, just wait
9647         with the setup of the scheduling function when it is added to a
9648         chain.
9649
9650 2004-05-27  Wim Taymans  <wim@fluendo.com>
9651
9652         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
9653         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
9654         (merge_groups), (setup_group_scheduler),
9655         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
9656         (gst_opt_scheduler_show):
9657         Fixes to maintain internal consistency of the scheduler data
9658         structures. 
9659          - adding an enabled group to a chain should increment the
9660            number of enabled elements in that chain.
9661          - removing an enabled group from a chain could disable the
9662            chain.
9663          - removing a disabled group from a chain could enable the
9664            chain.
9665          - add g_assert when internal inconsistency is detected.
9666          - adding an element to a group could increase the number of
9667            links this group has with other groups.
9668          - merging two groups also merges the chains.
9669          - also show group links in the _show method.
9670            
9671
9672 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9673
9674         * gst/gstcaps.c: (gst_caps_structure_simplify):
9675           don't print error messages when there is no error
9676         * gst/gstvalue.c: (gst_value_compare_int_range):
9677           compare the second value, too
9678         * testsuite/caps/Makefile.am:
9679         * testsuite/caps/random.c: (assert_on_error), (main):
9680           add tests to make sure the two things above are checked for
9681
9682 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9683
9684         * configure.ac:
9685         * libs/gst/dataprotocol/Makefile.am:
9686         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
9687         * libs/gst/dataprotocol/dataprotocol.h:
9688           wrap header in GST_ENABLE_NEW.  make code use it
9689
9690 2004-05-23  Johan Dahlin  <johan@gnome.org>
9691
9692         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
9693         so verbose and print GstElement signal names all the time.
9694
9695 2004-05-22  David Schleef  <ds@schleef.org>
9696
9697         * gst/registries/gstxmlregistry.c:
9698         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
9699         (bug #142957)
9700
9701 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9702
9703         * configure.ac:
9704           scrub cflags for glib2 so gcc doesn't complain when glib is in
9705           /usr/local
9706
9707 2004-05-21  Johan Dahlin  <johan@gnome.org>
9708
9709         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
9710         __GNUC__, patch from Brian Cameron, fixes bug #142804
9711
9712 2004-05-20  David Schleef  <ds@schleef.org>
9713
9714         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
9715         comparison code.  (bug #142819)
9716
9717 2004-05-20  Wim Taymans  <wim@fluendo.com>
9718
9719         * gst/gstbuffer.c: (gst_buffer_default_copy):
9720         * gst/gstbuffer.h:
9721         Added Comment to a flag.
9722         copy relevant flags in _buffer_copy.
9723
9724 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9725
9726         reviewed by: Wim Taymans <wim at fluendo dot com>
9727
9728         * gst/gstbuffer.h:
9729           add GST_BUFFER_IN_CAPS buffer flag
9730         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9731         (gst_structure_parse_any_list), (gst_structure_parse_list),
9732         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
9733         * gst/gstvalue.c: (gst_value_serialize_any_list),
9734         (gst_value_transform_any_list_string),
9735         (gst_value_list_prepend_value), (gst_value_list_append_value),
9736         (gst_value_list_get_size), (gst_value_list_get_value),
9737         (gst_value_transform_list_string),
9738         (gst_value_transform_fixed_list_string),
9739         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
9740         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
9741         (_gst_value_initialize):
9742         * gst/gstvalue.h:
9743           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
9744           < , > as a format.
9745         * testsuite/caps/string-conversions.c: (main):
9746           add regression tests for < >
9747
9748 2004-05-20  Johan Dahlin  <johan@gnome.org>
9749
9750         * docs/gst/Makefile.am (all-local): Re-add
9751
9752 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9753
9754         * docs/gst/Makefile.am:
9755         * docs/gst/gstreamer-docs.sgml:
9756         * docs/libs/Makefile.am:
9757         * docs/libs/gstreamer-libs-docs.sgml:
9758           fix distcheck issues
9759
9760 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9761
9762         * libs/gst/dataprotocol/Makefile.am:
9763           add to autotest
9764
9765 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9766
9767         * libs/gst/dataprotocol/Makefile.am:
9768         * libs/gst/dataprotocol/dataprotocol.c:
9769         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9770         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
9771         * libs/gst/dataprotocol/dp-private.h:
9772           use GST macros to read/write fixed length ints
9773           add some more asserts
9774
9775 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9776
9777         * docs/libs/gstreamer-libs-docs.sgml:
9778         * docs/libs/gstreamer-libs-sections.txt:
9779           remove idct and putbits
9780         * configure.ac:
9781         * docs/libs/tmpl/gstdataprotocol.sgml:
9782         * libs/gst/Makefile.am:
9783         * libs/gst/dataprotocol/Makefile.am:
9784         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
9785         (buffer_test), (caps_test), (event_test), (main):
9786         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9787         (gst_dp_dump_byte_array), (gst_dp_init),
9788         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
9789         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9790         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
9791         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
9792         (gst_dp_validate_header), (gst_dp_validate_payload),
9793         (gst_dp_validate_packet), (plugin_init):
9794         * libs/gst/dataprotocol/dataprotocol.h:
9795         * libs/gst/dataprotocol/dp-private.h:
9796           add dataprotocol
9797
9798 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9799
9800         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9801           fix int variable deserialization and add a helper so we can actually
9802           debug this.
9803
9804 2004-05-18  David Schleef  <ds@schleef.org>
9805
9806         * testsuite/debug/commandline.c: (main): Call ./commandline, not
9807           argv[0].  Calling yourself is probably not the best way to
9808           construct a test like this, btw.
9809
9810 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9811
9812         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
9813           don't claim to be more intelligent than a scheduler when the
9814           scheduler claims the pipeline is stopped
9815         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
9816         (safe_cothread_destroy),
9817         (gst_entry_scheduler_remove_all_cothreads),
9818         (gst_entry_scheduler_reset), (_remove_cothread),
9819         (gst_entry_scheduler_state_transition):
9820           hold off cothread destruction if we're not in main cothread
9821         * configure.ac:
9822         * testsuite/Makefile.am:
9823           add new test dir
9824         * testsuite/schedulers/.cvsignore:
9825         * testsuite/schedulers/Makefile.am:
9826           add tests
9827         * testsuite/schedulers/relink.c: (cb_handoff), (main):
9828           check relinking and adding/removing elements from a running pipeline
9829         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
9830           check unlinking in a running pipeline
9831         * testsuite/schedulers/unref.c: (cb_handoff), (main):
9832           check unreffing a running pipeline
9833         * testsuite/schedulers/useless_iteration.c: (main):
9834           check iterating a pipeline that contains running threads works
9835
9836 2004-05-18  David Schleef  <ds@schleef.org>
9837
9838         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
9839           is false.
9840
9841 2004-05-18  Wim Taymans  <wim@fluendo.com>
9842
9843         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
9844         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
9845         Fixed an error introduced with patch for 1.63. When setting
9846         a get based element as the entry point in a group, make sure
9847         to mark the group as GET based.
9848
9849 2004-05-18  Wim Taymans  <wim@fluendo.com>
9850
9851         * gst/schedulers/gstoptimalscheduler.c: (create_group),
9852         (setup_group_scheduler), (loop_group_schedule_function),
9853         (gst_opt_scheduler_pad_link):
9854         Added some more debug info and fixed a bug where the group
9855         type was set to LOOP but it was in fact unknown.
9856
9857 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9858
9859         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
9860           make resetting scheduler work twice in a row
9861
9862 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9863
9864         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
9865         (CREATE_USERIALIZATION), (_gst_value_initialize),
9866         (gst_value_compare_float), (gst_value_serialize_float),
9867         (gst_value_deserialize_float), (gst_value_compare_enum),
9868         (gst_value_serialize_enum), (gst_value_deserialize_enum):
9869           add serialization and comparison functions for long, int64, enum and
9870           float values
9871         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
9872           use best serialization function in type hierarchy instead of only a
9873           matching one. This is required for enums to work.
9874         * gst/parse/grammar.y:
9875           use gst_caps_deserialize
9876         * testsuite/parse/Makefile.am:
9877           parse1 now works
9878         * testsuite/parse/parse1.c: (main):
9879           remove aggregator check, aggregator is broken, this test works now
9880           but fails because of bug #138012
9881         * testsuite/parse/parse2.c: (main):
9882           s/xvideosink/xvimagesink - this test looks a lot like we should
9883           disable it
9884
9885 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9886
9887         * gst/gstelement.c: (gst_element_class_init):
9888           whoops, store the signal id correctly
9889         * gst/schedulers/gstbasicscheduler.c:
9890         (gst_basic_scheduler_chain_wrapper):
9891           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
9892           chain function isn't linked
9893
9894 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
9895         * configure.ac:
9896         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
9897         support until we decide where the flags should be used
9898         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
9899         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
9900         * gst/gstpad.c: (gst_pad_link_call_link_functions):
9901         Output refused caps in the debug info
9902
9903 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9904
9905         * gst/elements/gstidentity.c: (gst_identity_chain):
9906           add duration debug
9907         * gst/gstinfo.c: (gst_debug_log_default):
9908           add timestamp
9909
9910 2004-05-13  Benjamin Otte  <otte@gnome.org>
9911
9912         * gst/gstpipeline.c: (gst_pipeline_dispose),
9913         (gst_pipeline_change_state):
9914           call gst_scheduler_reset on dispose (fixes #141416)
9915
9916 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9917
9918         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9919           compute mapsize correctly
9920         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
9921           use correct datatypes when calling a varargs function
9922         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9923           push a DISCONT event as first thing
9924         * gst/gst_private.h:
9925         * gst/gstinfo.c: (_gst_debug_init):
9926           remove GST_DATAFLOW debugging category
9927         * gst/gstbin.c: (gst_bin_iterate):
9928           use GST_SCHEDULING category
9929         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
9930         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
9931         (gst_pad_call_get_function):
9932           add GST_DATAFLOW to easily track flow of buffers or events.
9933         * gst/gstqueue.c: (gst_queue_get_type),
9934         (gst_queue_handle_pending_events), (gst_queue_chain),
9935         (gst_queue_get), (gst_queue_handle_src_event):
9936           use own static debugging category GST_DATAFLOW for dataflow,
9937           use DEBUG category for showing which path events go, use LOG
9938           category for buffers.
9939
9940 2004-05-10  David Schleef  <ds@schleef.org>
9941
9942         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
9943
9944 2004-05-10  David Schleef  <ds@schleef.org>
9945
9946         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
9947         symbols, because otherwise we don't know what they are.  Thanks,
9948         the GStreamer team.
9949         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
9950
9951 2004-05-10  David Schleef  <ds@schleef.org>
9952
9953         (from Steve Lhomme)
9954         * win32/Makefile: When using make clean the MS Visual Studio makefiles
9955         are deleted.  Fix.
9956         * win32/Makefile.inspect:
9957         * win32/Makefile.launch:
9958         * win32/Makefile.register:
9959
9960 2004-05-10  David Schleef  <ds@schleef.org>
9961
9962         * gst/gstinfo.h: Add missing inline function.
9963         * gst/gsttrace.c: add include
9964         * gst/parse/grammar.y: remove unused code
9965         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
9966         more portable.
9967         * tools/gst-register.c: wrap unistd.h
9968         
9969         More additions/fixes from Steve for the MSVC build.
9970         * win32/GStreamer.vcproj:
9971         * win32/Makefile:
9972         * win32/Makefile.inspect:
9973         * win32/Makefile.launch:
9974         * win32/Makefile.register:
9975         * win32/README.txt:
9976         * win32/gst-inspect.vcproj:
9977         * win32/gst-launch.vcproj:
9978         * win32/gst-register.vcproj:
9979         * win32/gstbytestream.def:
9980         * win32/gstbytestream.vcproj:
9981         * win32/gstconfig.h:
9982         * win32/gstelements.def:
9983         * win32/gstelements.vcproj:
9984         * win32/gstenumtypes.c:
9985         * win32/gstenumtypes.h:
9986         * win32/gstoptimalscheduler.def:
9987         * win32/gstoptimalscheduler.vcproj:
9988         * win32/gstreamer.def:
9989         * win32/gstspider.def:
9990         * win32/gstspider.vcproj:
9991         * win32/gstversion.h:
9992         * win32/msvc71.sln:
9993
9994 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9995
9996         * gst/gstelement.c: (gst_element_class_init),
9997         (gst_element_no_more_pads):
9998         * gst/gstelement.h:
9999           add gst_element_no_more_pads and the "no-more-pads" signal
10000
10001 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10002
10003         * gst/gstregistry.c: (gst_registry_add_plugin):
10004           refuse to add plugins when a plugin with same name is already
10005           registered. Fixes a bunch of "How to remove plugins?" issues.
10006           May lead to other problems though, let's test
10007
10008 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10009
10010         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
10011         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
10012         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
10013
10014 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10015
10016         * tests/Makefile.am: fix am16 issue
10017
10018 2004-05-09  Benjamin Otte  <otte@gnome.org>
10019
10020         * libs/gst/bytestream/Makefile.am:
10021           we should indeed add .c files to makefiles or they won't be built
10022           (d'oh)
10023
10024 2004-05-08  Benjamin Otte  <otte@gnome.org>
10025
10026         * gst/gstpad.c: (gst_pad_proxy_fixate):
10027           really reduce the set of caps
10028
10029 2004-05-08  Benjamin Otte  <otte@gnome.org>
10030
10031         * tests/Makefile.am:
10032         * tests/spidey_bench.c: (handoff), (main):
10033           add benchmark to test how long spider needs to create a pipeline
10034
10035 2004-05-08  Benjamin Otte  <otte@gnome.org>
10036
10037         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
10038           mark links as unengaged when unnegotiating instead of deactivating.
10039           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
10040
10041 2004-05-08  Benjamin Otte  <otte@gnome.org>
10042
10043         * docs/manual/helloworld.xml:
10044           s/audiosink/osssink (patch by Patrick Guimond)
10045
10046 2004-05-07  David Schleef  <ds@schleef.org>
10047
10048         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
10049         since it contains important stuff.
10050
10051 2004-05-07  David Schleef  <ds@schleef.org>
10052
10053         * testsuite/caps/caps.c: (test3), (main): A check for appending
10054         ANY caps.
10055
10056 2004-05-07  David Schleef  <ds@schleef.org>
10057
10058         * common/m4/as-compiler-flag.m4: Properly quote arguments,
10059         which may contain commas.  Fixes detection of -Wa,-mregnames
10060
10061 2004-05-06  David Schleef  <ds@schleef.org>
10062
10063         Changes to handle compilers that don't have variadic macro
10064         support.  In particular, glib headers define some inlines
10065         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
10066         builds.
10067         * gst/Makefile.am:
10068         * gst/cothreads.c:
10069         * gst/elements/gstfdsink.c:
10070         * gst/elements/gstfdsrc.c:
10071         * gst/elements/gstfilesink.c:
10072         * gst/elements/gstfilesrc.c:
10073         * gst/gst_private.h:
10074         * gst/gstatomic.c:
10075         * gst/gstcaps.c: (gst_caps_append):
10076         * gst/gstcpu.c: (gst_cpuid_i386):
10077         * gst/gstelement.c:
10078         * gst/gsterror.c:
10079         * gst/gstfilter.c:
10080         * gst/gstinfo.h:
10081         * gst/gstprobe.c:
10082         * gst/gstquery.c:
10083         * gst/gstregistry.c:
10084         * gst/gststructure.c:
10085         * gst/gsttaginterface.c:
10086         * gst/gsttrace.c: (gst_trace_new):
10087         * gst/gsttrashstack.c:
10088         * gst/gsturi.c:
10089         * gst/gstvalue.c:
10090         * gst/parse/grammar.y:
10091         * gst/parse/parse.l:
10092         * tools/gst-inspect.c: (main):
10093         * tools/gst-launch.c: (main):
10094         * tools/gst-xmlinspect.c: (PUT_STRING):
10095
10096 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10097
10098         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
10099         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
10100         * gst/elements/gstfilesrc.h:
10101           send NEW_MEDIA events correctly
10102         * gst/elements/gsttypefindelement.c: (start_typefinding),
10103         (gst_type_find_element_handle_event):
10104           restart typefinding when we get a NEW_MEDIA event
10105         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
10106         (gst_bin_dispose):
10107           don't die when someone removes elements in callbacks
10108         * gst/gstelement.c: (gst_element_change_state):
10109           improve debugging
10110         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
10111           we need a NEW_MEDIA event to engage a link
10112         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
10113           don't g_print debugging stuff
10114         * testsuite/caps/simplify.c: (check_caps):
10115
10116 2004-05-04  Benjamin Otte  <otte@gnome.org>
10117
10118         * gst/parse/grammar.y:
10119           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
10120
10121 2004-05-04  Benjamin Otte  <otte@gnome.org>
10122
10123         * testsuite/caps/renegotiate.c: (main):
10124           improve output in error case
10125
10126 2004-05-04  Benjamin Otte  <otte@gnome.org>
10127
10128         * gst/parse/grammar.y:
10129           fix assert to not trigger when there's no error argument
10130         * gst/parse/parse.l:
10131           fix definition of caps to allow more than two structures
10132         * testsuite/caps/Makefile.am:
10133         * testsuite/caps/renegotiate.c: (main):
10134           it's sinesrc and works in that case
10135
10136 2004-05-04  Wim Taymans  <wim@fluendo.com>
10137
10138         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
10139         (group_dec_link), (gst_opt_scheduler_pad_unlink):
10140         when removing an element from a group, we always need to
10141         decrement the link count that this group had with other 
10142         groups through the element.
10143         added an extra assert to catch inconsistencies when decrementing
10144         the link count.
10145
10146 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10147
10148         * configure.ac:
10149         * docs/gst/Makefile.am:
10150         * docs/gst/gstreamer-sections.txt:
10151         * docs/gst/tmpl/gstcompat.sgml:
10152         * examples/appreader/Makefile.am:
10153         * examples/cutter/Makefile.am:
10154         * examples/events/Makefile.am:
10155         * examples/helloworld/Makefile.am:
10156         * examples/helloworld2/Makefile.am:
10157         * examples/launch/Makefile.am:
10158         * examples/manual/Makefile.am:
10159         * examples/mixer/Makefile.am:
10160         * examples/pingpong/Makefile.am:
10161         * examples/plugins/Makefile.am:
10162         * examples/queue/Makefile.am:
10163         * examples/queue2/Makefile.am:
10164         * examples/queue3/Makefile.am:
10165         * examples/queue4/Makefile.am:
10166         * examples/retag/Makefile.am:
10167         * examples/thread/Makefile.am:
10168         * examples/typefind/Makefile.am:
10169         * examples/xml/Makefile.am:
10170         * gst/Makefile.am:
10171         * gst/autoplug/Makefile.am:
10172         * gst/elements/Makefile.am:
10173         * gst/gstcompat.h:
10174         * gst/indexers/Makefile.am:
10175         * gst/parse/Makefile.am:
10176         * gst/registries/Makefile.am:
10177         * gst/schedulers/Makefile.am:
10178         * libs/gst/bytestream/Makefile.am:
10179         * libs/gst/control/Makefile.am:
10180         * libs/gst/getbits/Makefile.am:
10181         * po/af.po:
10182         * po/az.po:
10183         * po/en_GB.po:
10184         * po/fr.po:
10185         * po/nl.po:
10186         * po/sr.po:
10187         * po/sv.po:
10188         * po/tr.po:
10189         * po/uk.po:
10190         * tests/Makefile.am:
10191         * tests/bufspeed/Makefile.am:
10192         * tests/instantiate/Makefile.am:
10193         * tests/memchunk/Makefile.am:
10194         * tests/muxing/Makefile.am:
10195         * tests/negotiation/Makefile.am:
10196         * tests/probes/Makefile.am:
10197         * tests/sched/Makefile.am:
10198         * tests/seeking/Makefile.am:
10199         * tests/threadstate/Makefile.am:
10200         * testsuite/caps/Makefile.am:
10201         * testsuite/cleanup/Makefile.am:
10202         * testsuite/dlopen/Makefile.am:
10203         * testsuite/dynparams/Makefile.am:
10204         * testsuite/plugin/Makefile.am:
10205         * testsuite/states/Makefile.am:
10206         * tools/Makefile.am:
10207           reorganize compile/link flags to be consistent
10208           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
10209
10210 2004-05-04  David Schleef  <ds@schleef.org>
10211
10212         The "once more, with feeling" check-in.
10213         * testsuite/caps/Makefile.am: dist caps_strings
10214         * testsuite/caps/renegotiate.c: (main): This test triggers a
10215           segfault in the core.  Marking as failing.
10216
10217 2004-05-03  David Schleef  <ds@schleef.org>
10218
10219         * testsuite/caps/deserialize.c: (main): Fix problems noticed
10220           by the build bots.
10221         * testsuite/caps/renegotiate.c: (main): Same.
10222
10223 2004-05-03  David Schleef  <ds@schleef.org>
10224
10225         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
10226
10227 2004-05-03  David Schleef  <ds@schleef.org>
10228
10229         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
10230           variable to find our source file.
10231
10232 2004-05-03  David Schleef  <ds@schleef.org>
10233
10234         * configure.ac:  Link plugins with libgstreamer and dependent
10235           libraries
10236         * testsuite/caps/Makefile.am:
10237         * testsuite/caps/caps_strings:
10238         * testsuite/caps/deserialize.c: (main): Add a little test to slog
10239           through a file of caps strings and test each one
10240
10241 2004-05-04  Benjamin Otte  <otte@gnome.org>
10242
10243         * libs/gst/bytestream/Makefile.am:
10244         * libs/gst/bytestream/adapter.c: 
10245         * libs/gst/bytestream/adapter.h:
10246           add GstAdapter, similar to bytestream, but doesn't require ugly event
10247           handling or uglier loopbased elements
10248
10249 2004-05-03  David Schleef  <ds@schleef.org>
10250
10251         * testsuite/caps/Makefile.am: Fix spelling of ??????????????????????
10252         * testsuite/caps/erathostenes.c:
10253         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
10254
10255 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10256
10257         * docs/pwg/pwg.xml:
10258           remove hardcoded stylesheet path (duh)
10259         * docs/random/release:
10260         * docs/gst/gstreamer-sections.txt:
10261         * gst/Makefile.am:
10262         * gst/gst.h:
10263         * gst/gst_private.h:
10264         * gst/gstcaps.c:
10265         * gst/gstevent.c:
10266         * gst/gstformat.c:
10267         * gst/gstinfo.c:
10268         * gst/gstinfo.h:
10269         * gst/gstinterface.c:
10270         * gst/gstmemchunk.c:
10271         * gst/gstprobe.c:
10272         * gst/gstquery.c:
10273         * gst/gstregistry.c:
10274         * gst/gstregistrypool.c:
10275         * gst/gststructure.c:
10276         * gst/gsttaginterface.c:
10277         * gst/gstthread.c:
10278         * gst/gsttrace.c:
10279         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
10280         * gst/gsturi.c:
10281         * gst/gstvalue.c:
10282           deprecate gst_info; remove gstlog.h
10283    
10284
10285 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10286
10287         * Makefile.am:
10288         * po/en_GB.po:
10289         * po/sv.po:
10290         * po/uk.po:
10291           updated translations
10292
10293 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10294
10295         * gst/gstbin.c: (gst_bin_dispose):
10296           better debugging
10297
10298 2004-05-03  Johan Dahlin  <johan@gnome.org>
10299
10300         * gst/schedulers/gstoptimalscheduler.c
10301         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
10302         really is a GstElement. Avoids critical when running gst-launch -v
10303         and a oggdemux/decoding pipeline.
10304
10305 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10306
10307         * docs/gst/tmpl/gstpipeline.sgml :
10308         * docs/manual/elements-api.xml :
10309                 doc fix by Patrick Guimond (Protector) from devel ML
10310                 reviewed by ronald
10311
10312 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10313
10314         * docs/gst/Makefile.am :
10315         * docs/libs/Makefile.am :
10316                 apply a patch from Arwed v. Merkatz so that gtk-doc
10317                 generated docs install (same for .devhelp file)
10318                 (fixes part 1 of #138836)
10319
10320 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10321
10322         * docs/faq/dependencies.xml: typo
10323         * docs/faq/getting.xml :
10324             - fix download URL for new gstreamer site
10325             - hide sf.net download page as latest version aren't there
10326             - fix apt URLs
10327             - fill "get via CVS" paragraph (link to dev page on the site)
10328         * docs/faq/general.xml:
10329             hide status tables as they no more exists
10330             change case on plugins license file to reflect reality
10331         * docs/faq/troubleshooting.xml:
10332             remove the wiki question/answer as there is no more wiki
10333
10334 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10335
10336         * gst/gsterror.h:
10337           include the headers needed for declarations used in this header
10338
10339 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10340
10341         * docs/random/uraeus/gstreamer_and_midi.txt :
10342           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
10343           (fixes #132288)
10344
10345 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
10346
10347         reviewed by Benjamin Otte  <otte@gnome.org>
10348
10349         * gst/schedulers/gthread-cothreads.h:
10350           free allocated data for main cothread, too when destroying context
10351           (fixes #141417)
10352
10353 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
10354
10355         * docs/manual/goals.xml : remove duplicated paragraph at end 
10356         of doc page (fixes #141448)
10357
10358 2004-04-29  David Schleef  <ds@schleef.org>
10359
10360         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
10361         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
10362
10363 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10364
10365         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10366           fix property
10367         * gst/gstcaps.c:
10368           fix doc string
10369         * po/POTFILES.in:
10370           rename typefind source file
10371
10372 2004-04-28  David Schleef  <ds@schleef.org>
10373
10374         Several new files from Steve Lhomme's MSVC patch (bug #141317):
10375         * win32/GStreamer.vcproj:
10376         * win32/Makefile:
10377         * win32/config.h:
10378         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
10379         (_trewinddir), (_ttelldir), (_tseekdir):
10380         * win32/dirent.h:
10381         * win32/gst-inspect.vcproj:
10382         * win32/gst-launch.vcproj:
10383         * win32/gst-register.vcproj:
10384         * win32/gstbytestream.vcproj:
10385         * win32/gstelements.vcproj:
10386         * win32/gstoptimalscheduler.vcproj:
10387         * win32/gstspider.vcproj:
10388         * win32/gtchar.h:
10389         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
10390         * win32/mman.h:
10391         * win32/mman.inl:
10392         * win32/msvc71.sln:
10393
10394 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10395
10396         * gst/gst.c: (init_post):
10397         * gst/gstinfo.c:
10398           remove useless _gst_progname stuff
10399         * tools/gst-inspect.c: (print_field), (print_caps):
10400           improve caps output
10401
10402 2004-04-28  David Schleef  <ds@schleef.org>
10403
10404         Disable parsing of a lot of files that aren't part of the
10405         exported API.  Move corresponding template files to old/,
10406         waiting for removal when they don't contain anything
10407         interesting.
10408         * docs/gst/Makefile.am:
10409         * docs/gst/gstreamer-sections.txt:
10410         * docs/gst/tmpl/cothreads.sgml:
10411         * docs/gst/tmpl/cothreads_compat.sgml:
10412         * docs/gst/tmpl/gettext.sgml:
10413         * docs/gst/tmpl/gobject2gtk.sgml:
10414         * docs/gst/tmpl/grammar.tab.sgml:
10415         * docs/gst/tmpl/gst-i18n-app.sgml:
10416         * docs/gst/tmpl/gst-i18n-lib.sgml:
10417         * docs/gst/tmpl/gst_private.sgml:
10418         * docs/gst/tmpl/gstaggregator.sgml:
10419         * docs/gst/tmpl/gstarch.sgml:
10420         * docs/gst/tmpl/gstatomic_impl.sgml:
10421         * docs/gst/tmpl/gstbufferstore.sgml:
10422         * docs/gst/tmpl/gstdata_private.sgml:
10423         * docs/gst/tmpl/gstdisksink.sgml:
10424         * docs/gst/tmpl/gstdisksrc.sgml:
10425         * docs/gst/tmpl/gstelementfactory.sgml:
10426         * docs/gst/tmpl/gstextratypes.sgml:
10427         * docs/gst/tmpl/gstfakesink.sgml:
10428         * docs/gst/tmpl/gstfakesrc.sgml:
10429         * docs/gst/tmpl/gstfdsink.sgml:
10430         * docs/gst/tmpl/gstfdsrc.sgml:
10431         * docs/gst/tmpl/gstfilesink.sgml:
10432         * docs/gst/tmpl/gstfilesrc.sgml:
10433         * docs/gst/tmpl/gsthttpsrc.sgml:
10434         * docs/gst/tmpl/gstidentity.sgml:
10435         * docs/gst/tmpl/gstindexfactory.sgml:
10436         * docs/gst/tmpl/gstmarshal.sgml:
10437         * docs/gst/tmpl/gstmd5sink.sgml:
10438         * docs/gst/tmpl/gstmultidisksrc.sgml:
10439         * docs/gst/tmpl/gstmultifilesrc.sgml:
10440         * docs/gst/tmpl/gstpadtemplate.sgml:
10441         * docs/gst/tmpl/gstpipefilter.sgml:
10442         * docs/gst/tmpl/gstschedulerfactory.sgml:
10443         * docs/gst/tmpl/gstsearchfuncs.sgml:
10444         * docs/gst/tmpl/gstshaper.sgml:
10445         * docs/gst/tmpl/gstspider.sgml:
10446         * docs/gst/tmpl/gstspideridentity.sgml:
10447         * docs/gst/tmpl/gststatistics.sgml:
10448         * docs/gst/tmpl/gsttee.sgml:
10449         * docs/gst/tmpl/gsttimecache.sgml:
10450         * docs/gst/tmpl/gsttypefind.sgml:
10451         * docs/gst/tmpl/gsttypefindfactory.sgml:
10452         * docs/gst/tmpl/gstxmlregistry.sgml:
10453         * docs/gst/tmpl/gthread-cothreads.sgml:
10454         * docs/gst/tmpl/old/cothreads.sgml:
10455         * docs/gst/tmpl/old/cothreads_compat.sgml:
10456         * docs/gst/tmpl/old/gettext.sgml:
10457         * docs/gst/tmpl/old/gobject2gtk.sgml:
10458         * docs/gst/tmpl/old/grammar.tab.sgml:
10459         * docs/gst/tmpl/old/gst-i18n-app.sgml:
10460         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
10461         * docs/gst/tmpl/old/gst_private.sgml:
10462         * docs/gst/tmpl/old/gstaggregator.sgml:
10463         * docs/gst/tmpl/old/gstarch.sgml:
10464         * docs/gst/tmpl/old/gstatomic_impl.sgml:
10465         * docs/gst/tmpl/old/gstbufferstore.sgml:
10466         * docs/gst/tmpl/old/gstdata_private.sgml:
10467         * docs/gst/tmpl/old/gstdisksink.sgml:
10468         * docs/gst/tmpl/old/gstdisksrc.sgml:
10469         * docs/gst/tmpl/old/gstelementfactory.sgml:
10470         * docs/gst/tmpl/old/gstextratypes.sgml:
10471         * docs/gst/tmpl/old/gstfakesink.sgml:
10472         * docs/gst/tmpl/old/gstfakesrc.sgml:
10473         * docs/gst/tmpl/old/gstfdsink.sgml:
10474         * docs/gst/tmpl/old/gstfdsrc.sgml:
10475         * docs/gst/tmpl/old/gstfilesink.sgml:
10476         * docs/gst/tmpl/old/gstfilesrc.sgml:
10477         * docs/gst/tmpl/old/gsthttpsrc.sgml:
10478         * docs/gst/tmpl/old/gstidentity.sgml:
10479         * docs/gst/tmpl/old/gstindexfactory.sgml:
10480         * docs/gst/tmpl/old/gstmarshal.sgml:
10481         * docs/gst/tmpl/old/gstmd5sink.sgml:
10482         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
10483         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
10484         * docs/gst/tmpl/old/gstpadtemplate.sgml:
10485         * docs/gst/tmpl/old/gstpipefilter.sgml:
10486         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
10487         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
10488         * docs/gst/tmpl/old/gstshaper.sgml:
10489         * docs/gst/tmpl/old/gstspider.sgml:
10490         * docs/gst/tmpl/old/gstspideridentity.sgml:
10491         * docs/gst/tmpl/old/gststatistics.sgml:
10492         * docs/gst/tmpl/old/gsttee.sgml:
10493         * docs/gst/tmpl/old/gsttimecache.sgml:
10494         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
10495         * docs/gst/tmpl/old/gstxmlregistry.sgml:
10496         * docs/gst/tmpl/old/gthread-cothreads.sgml:
10497         * docs/gst/tmpl/old/types.sgml:
10498         * docs/gst/tmpl/types.sgml:
10499
10500         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
10501         gtkdoc-scan doesn't like files with the same name in different
10502         directories.
10503         * gst/elements/Makefile.am:
10504         * gst/elements/gstelements.c:
10505         * gst/elements/gsttypefind.c: 
10506         * gst/elements/gsttypefind.h:
10507         * gst/elements/gsttypefindelement.c:
10508         * gst/elements/gsttypefindelement.h:
10509
10510 2004-04-28  David Schleef  <ds@schleef.org>
10511
10512         A bunch of portability fixes, derived from Steve Lhomme's MSVC
10513         patch (bug #141317):
10514         * gst/gst-i18n-lib.h: Allow disabling gettext.
10515         * gst/gstatomic_impl.h: disable warning when it's dumb.
10516         * gst/gstclock.c: fix include
10517         * gst/gstcompat.h: fix variadic macro
10518         * gst/gstinfo.c: fix include
10519         * gst/gstmacros.h: add defines for inlines on MSVC
10520         * gst/gstplugin.c: fix includes
10521         * gst/gstregistry.c: fix includes
10522         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
10523         * gst/gstsystemclock.c: fix include
10524         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
10525         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
10526         * gst/registries/gstxmlregistry.c:
10527         (gst_xml_registry_parse_element_factory): fix use of non-portable
10528         functions
10529         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
10530         * libs/gst/control/dparammanager.h: same
10531
10532 2004-04-28  David Schleef  <ds@schleef.org>
10533
10534         Move a bunch of unused files to old/ with names that are
10535         not case-insensitive-unique.  These files still contain some
10536         useful information that needs to be merged into gstbin.sgml,
10537         etc., so they shouldn't be deleted yet.
10538         * docs/gst/tmpl/GstBin.sgml:
10539         * docs/gst/tmpl/GstBuffer.sgml:
10540         * docs/gst/tmpl/GstCaps.sgml:
10541         * docs/gst/tmpl/GstClock.sgml:
10542         * docs/gst/tmpl/GstCompat.sgml:
10543         * docs/gst/tmpl/GstData.sgml:
10544         * docs/gst/tmpl/GstElement.sgml:
10545         * docs/gst/tmpl/GstEvent.sgml:
10546         * docs/gst/tmpl/GstIndex.sgml:
10547         * docs/gst/tmpl/GstStructure.sgml:
10548         * docs/gst/tmpl/GstTag.sgml:
10549         * docs/gst/tmpl/old/GstBin.sgml:
10550         * docs/gst/tmpl/old/GstBuffer.sgml:
10551         * docs/gst/tmpl/old/GstCaps.sgml:
10552         * docs/gst/tmpl/old/GstClock.sgml:
10553         * docs/gst/tmpl/old/GstCompat.sgml:
10554         * docs/gst/tmpl/old/GstData.sgml:
10555         * docs/gst/tmpl/old/GstElement.sgml:
10556         * docs/gst/tmpl/old/GstEvent.sgml:
10557         * docs/gst/tmpl/old/GstIndex.sgml:
10558         * docs/gst/tmpl/old/GstStructure.sgml:
10559         * docs/gst/tmpl/old/GstTag.sgml:
10560
10561 2004-04-28  David Schleef  <ds@schleef.org>
10562
10563         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
10564         (gst_caps_append), (gst_caps_append_structure),
10565         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
10566         (gst_caps_set_simple), (gst_caps_set_simple_valist),
10567         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
10568         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
10569         (gst_caps_intersect), (gst_caps_normalize),
10570         (gst_caps_transform_to_string):  Patch from Tim-Philipp M??ller
10571         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
10572         * gst/gstcaps.h: use GST_IS_CAPS().
10573
10574 2004-04-26  David Schleef  <ds@schleef.org>
10575
10576         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
10577         assembly.  gcc doesn't handle it correctly. (bug #141083)
10578         * gst/gsttrashstack.h: same
10579
10580 2004-04-25  Benjamin Otte  <otte@gnome.org>
10581
10582         * gst/gstelement.c: (gst_element_change_state):
10583           fix assertion to do an int comparison
10584
10585 2004-04-25  Benjamin Otte  <otte@gnome.org>
10586
10587         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
10588           better debugging output on error
10589
10590 2004-04-25  Benjamin Otte  <otte@gnome.org>
10591
10592         * gst/gstcaps.c: (gst_caps_subtract):
10593           fix memleak
10594
10595 2004-04-23  Benjamin Otte  <otte@gnome.org>
10596
10597         * gst/gstvalue.c: (gst_value_compare_buffer),
10598         (_gst_value_initialize):
10599           add comparison function for buffers
10600
10601 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10602
10603         * docs/pwg/pwg.xml:
10604           Just found out that this so-called "ima-wav" format is really
10605           just "dvi adpcm" (according to the MS WAV documentation). So
10606           renaming it. We didn't use it yet anyway.
10607
10608 2004-04-23  Benjamin Otte  <otte@gnome.org>
10609
10610         * gst/gstcaps.c: (gst_caps_is_always_compatible):
10611           call gst_caps_is_subset
10612
10613 2004-04-23  Benjamin Otte  <otte@gnome.org>
10614
10615         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
10616         (gst_caps_is_subset):
10617           add documentation
10618
10619 2004-04-23  Benjamin Otte  <otte@gnome.org>
10620           
10621         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
10622         (gst_caps_structure_subtract), (gst_caps_subtract),
10623         (gst_caps_structure_figure_out_union),
10624         (gst_caps_structure_simplify), (gst_caps_do_simplify):
10625           fix simplifying and subtracting not working correctly with optional
10626           properties
10627           solve assorted problems that make it now simplify ebven more
10628         * docs/gst/tmpl/gstcaps.sgml:
10629         * gst/gstcaps.h:
10630           make gst_caps_do_simplify return a bool to indicate if it simplified
10631         * testsuite/caps/simplify.c: (main):
10632           add more checks. The tests is quite a bit useless right now because
10633           the core is heavily simplifying itself.
10634         * testsuite/caps/caps.h:
10635           fix caps to contain all optional properties
10636
10637 2004-04-22  Benjamin Otte  <otte@gnome.org>
10638
10639         * docs/gst/tmpl/gstcaps.sgml:
10640         * docs/gst/tmpl/gstfilesrc.sgml:
10641         * docs/gst/tmpl/gststructure.sgml:
10642         * docs/gst/tmpl/gstvalue.sgml:
10643           update for recent API changes
10644         * gst/gstcaps.c: (gst_caps_do_simplify):
10645           fix to stop trying with a freed structure
10646         * gst/gstpad.c: (gst_pad_link_fixate):
10647           simplify caps
10648         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
10649           remove C++ comment
10650         * gst/gstpad.h:
10651           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
10652         * gst/gststructure.c: (gst_structure_value_get_generic_type),
10653         (gst_structure_to_string):
10654           keep the correct type when using lists of ranges
10655         * gst/gstvalue.c: (gst_value_list_prepend_value),
10656         (gst_value_list_append_value):
10657           copy the value before adding to the list (d'oh)
10658         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
10659         (gst_value_subtract_int_range_int_range):
10660           handle overflows correctly
10661         * gst/gstvalue.c: (gst_value_subtract_from_list):
10662           fix memleak
10663         * testsuite/caps/caps.h:
10664           add a caps that caused segfaults
10665
10666 2004-04-22  Benjamin Otte  <otte@gnome.org>
10667
10668         * testsuite/refcounting/pad.c: (main):
10669           fix test
10670
10671 2004-04-22  Benjamin Otte  <otte@gnome.org>
10672
10673         * gst/gstcaps.c: (gst_caps_subtract):
10674           allow subtracting ANY and EMPTY from ANY caps
10675
10676 2004-04-22  Benjamin Otte  <otte@gnome.org>
10677
10678         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
10679         (gst_caps_union):
10680           only simplify in functions that create new caps. Simplifying in
10681           gst_caps_append breaks tests.
10682
10683 2004-04-22  Benjamin Otte  <otte@gnome.org>
10684
10685         * gst/gstcaps.c: (gst_caps_structure_simplify):
10686           unset GValue after use
10687         * gst/gstcaps.c: (gst_caps_append), 
10688         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
10689           use gst_caps_simplify (reduces registry size by 30%)
10690         * gst/gstpad.c: (gst_pad_template_new):
10691           don't allow NULL caps
10692
10693 2004-04-22  Benjamin Otte  <otte@gnome.org>
10694
10695         * docs/gst/gstreamer-sections.txt:
10696           add gst_caps_do_simplify
10697         * gst/gstcaps.c:
10698           add documentation for gst_caps_do_simplify
10699         * gst/gstvalue.h:
10700           fix typo in gst_value_register_subtract_func declaration for gst-doc
10701
10702 2004-04-22  Benjamin Otte  <otte@gnome.org>
10703
10704         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10705           fix bug when converting from empty string.
10706         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
10707         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
10708           use gst_caps_new_empty to allocate a new caps. Only that function
10709           allocates memory for caps now.
10710         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
10711         (gst_caps_remove_structure):
10712           add ability to remove one structure (but not to header yet)
10713         * gst/gstcaps.c: (gst_caps_compare_structures),
10714         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
10715         (gst_caps_structure_simplify), (gst_caps_do_simplify),
10716         * gst/gstcaps.h:
10717           add gst_caps_do_simplify that tries to simplify a caps in place.
10718           Deprecate old gst_caps_simplify function.
10719         * testsuite/caps/caps.h:
10720           add caps.h containing a common set of caps to test against.
10721         * testsuite/caps/sets.c: (check_caps), (main):
10722           use it.
10723         * testsuite/caps/.cvsignore:
10724         * testsuite/caps/Makefile.am:
10725         * testsuite/caps/simplify.c: (check_caps), (main):
10726           add test to check correctness and efficency of caps simplification.
10727
10728 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
10729
10730         reviewed by Benjamin Otte  <otte@gnome.org>
10731
10732         * gst/gstparse.c: (_gst_parse_escape):
10733           Free the GString used in _gst_parse_escape()
10734
10735 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10736
10737         * gst/gstpad.c: (gst_pad_link_negotiate):
10738           refuse to link if the link is not possible
10739         * configure.ac:
10740         * testsuite/Makefile.am:
10741         * testsuite/negotiation/.cvsignore:
10742         * testsuite/negotiation/Makefile.am:
10743         * testsuite/negotiation/pad_link.c: (main):
10744           add test that checks the above behaviour
10745
10746 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10747
10748         * docs/gst/gstreamer-sections.txt:
10749           add newly added API
10750
10751 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10752
10753         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10754         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
10755         (gst_filesrc_open_file), (gst_filesrc_close_file),
10756         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
10757         * gst/elements/gstfilesrc.h:
10758           add support for non-regular files (#140734)
10759
10760 2004-04-21  Benjamin Otte  <otte@gnome.org>
10761
10762         * gst/gstpad.c: (gst_pad_link_fixate):
10763           add sophisticated error checking code to see if fixation functions
10764           did their fixation right
10765
10766 2004-04-21  Benjamin Otte  <otte@gnome.org>
10767
10768         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
10769           check for ANY caps before appending/unioning
10770         * gst/gstcaps.c: (gst_caps_is_subset),
10771         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
10772         (gst_caps_structure_subtract), (gst_caps_subtract):
10773         * gst/gstcaps.h:
10774           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
10775           the API. deprecate gst_caps_is_equal_fixed
10776         * gst/gstpad.c: (gst_pad_try_set_caps):
10777         * gst/gstqueue.c: (gst_queue_link):
10778           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
10779         * gst/gststructure.c: (gst_structure_get_name_id):
10780         * gst/gststructure.h:
10781           add function gst_structure_get_name_id
10782         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
10783         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
10784         (gst_value_subtract_int_range_int_range),
10785         (gst_value_subtract_double_double_range),
10786         (gst_value_subtract_double_range_double),
10787         (gst_value_subtract_double_range_double_range),
10788         (gst_value_subtract_from_list), (gst_value_subtract_list),
10789         (gst_value_can_intersect), (gst_value_subtract),
10790         (gst_value_can_subtract), (gst_value_register_subtract_func),
10791         (_gst_value_initialize):
10792         * gst/gstvalue.h:
10793           add support for subtracting values from each other. Note that
10794           subtracting means subtracting as in set theory. Required for caps
10795           stuff above.
10796         * testsuite/caps/.cvsignore:
10797         * testsuite/caps/Makefile.am:
10798         * testsuite/caps/erathostenes.c: (erathostenes), (main):
10799         * testsuite/caps/sets.c: (check_caps), (main):
10800         * testsuite/caps/subtract.c: (check_caps), (main):
10801           add tests for subtraction and equality code.
10802
10803 2004-04-20  David Schleef  <ds@schleef.org>
10804
10805         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
10806         * gst/indexers/Makefile.am:
10807         * gst/schedulers/Makefile.am:
10808         * libs/gst/bytestream/Makefile.am:
10809         * libs/gst/control/Makefile.am:
10810         * libs/gst/getbits/Makefile.am:
10811
10812 2004-04-20  David Schleef  <ds@schleef.org>
10813
10814         * common/as-libtool.mak: Fine-tune DLL building.
10815         * configure.ac: Link plugins against libgstreamer.  Define plugindir
10816         (like gst-plugins)
10817         * examples/plugins/Makefile.am: remove plugindir
10818         * gst/autoplug/Makefile.am: DLL building fixes
10819         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
10820         Windows.
10821         * gst/elements/gstelements.c: Conditionally disable pipefilter.
10822         * gst/indexers/Makefile.am: DLL building fixes
10823         * gst/schedulers/Makefile.am: DLL building fixes.
10824         * libs/gst/bytestream/Makefile.am: DLL building fixes.
10825         * libs/gst/control/Makefile.am: same
10826         * libs/gst/getbits/Makefile.am: same
10827         * testsuite/Makefile.am: New dlopen directory
10828         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
10829         when dlopened.
10830         * testsuite/dlopen/dlopen_gst.c: (main): same
10831         * testsuite/dlopen/loadgst.c: (do_test): same
10832
10833 2004-04-20  David Schleef  <ds@schleef.org>
10834
10835         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
10836         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
10837
10838 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10839
10840         * gst/gstelement.c: (gst_element_wait),
10841         (gst_element_set_time_delay), (gst_element_change_state):
10842           Use GST_TIME_*
10843
10844 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10845
10846         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
10847         (gst_spider_identity_plug):
10848           improve debugging messages
10849         * gst/gstbin.c: (gst_bin_remove_func):
10850           make sure the state_change function is only called with simple state
10851           transitions
10852
10853 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10854
10855         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
10856         (gst_fakesink_set_property), (gst_fakesink_chain):
10857         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
10858         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
10859         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
10860         * gst/elements/gstidentity.c: (gst_identity_chain),
10861         (gst_identity_set_property):
10862         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
10863         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
10864           add warnings to _set_property for unknown arguments
10865           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
10866
10867 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10868
10869         * Makefile.am:
10870         * docs/manuals.mak:
10871           add .po file download snippet
10872           fix a bug in the doc makefile
10873
10874 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10875
10876         * Makefile.am:
10877         * po/LINGUAS:
10878         * po/en_GB.po:
10879           Added en_GB translation (Gareth Owen)
10880
10881 2004-04-20  Johan Dahlin  <johan@gnome.org>
10882
10883         * gst/gstpad.c (_invent_event): Clean up
10884
10885 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10886
10887         * testsuite/caps/filtercaps.c: (main):
10888           fix test to test things correctly (caps are complicated)
10889
10890 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10891
10892         * testsuite/caps/Makefile.am:
10893         * testsuite/caps/filtercaps.c: (main):
10894           add test (that doesn't work right now, but should)
10895
10896 2004-04-19  David Schleef  <ds@schleef.org>
10897
10898         * configure.ac: Add test for allowing unaligned access.  Add define
10899         to put in gstconfig.h.
10900         * docs/gst/gstreamer-sections.txt: New symbols
10901         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
10902         * docs/gst/tmpl/gstfilesrc.sgml:
10903         * docs/gst/tmpl/gstparse.sgml:
10904         * docs/gst/tmpl/gsttypes.sgml:
10905         * docs/gst/tmpl/gstutils.sgml:
10906         * docs/gst/tmpl/gstvalue.sgml:
10907         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
10908         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
10909         on most !i386/!powerpc architectures.  From Daniel Gazard
10910         <daniel.gazard@free.fr>.  (bug #140156)
10911         * po/af.po: Check in changes made by gettext.
10912         * po/az.po:
10913         * po/fr.po:
10914         * po/nl.po:
10915         * po/sr.po:
10916         * po/sv.po:
10917
10918 2004-04-20  Benjamin Otte  <otte@gnome.org>
10919
10920         * gst/schedulers/entryscheduler.c: 
10921         (gst_entry_scheduler_yield):
10922           refuse to yield when decoupled elements insist on doing that.
10923           At least it's better than crashing
10924
10925 2004-04-19  David Schleef  <ds@schleef.org>
10926
10927         * docs/libs/Makefile.am: Change sinclude to include
10928         * docs/gst/Makefile.am: same
10929         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
10930
10931 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10932
10933         * po/LINGUAS:
10934         * po/uk.po:
10935           Added Ukrainian translation (Maxim V. Dziumanenko)
10936
10937 2004-04-19  Johan Dahlin  <johan@gnome.org>
10938
10939         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
10940         checking here, do it before calling the function.
10941         Clean up, use for loops instead of while loops while iterating
10942         over lists.
10943
10944         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
10945         in debug message.
10946         (gst_spider_create_and_plug): Improve debug message.
10947         General: Replace while loops which iterates over GLists with for
10948         loops. Which are much cleaner, improves readability, especially
10949         for gst_spider_identity_plug
10950
10951         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
10952         fixes bug 140477
10953
10954 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10955
10956         * po/LINGUAS:
10957         * po/tr.po:
10958           Added Turkish translation (Baris Cicek)
10959
10960 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10961
10962         * docs/faq/troubleshooting.xml:
10963           Mention gst-register in the FAQ (fixes 139045).
10964
10965 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10966
10967         * docs/gst/gstreamer-sections.txt:
10968
10969 2004-04-17  Benjamin Otte  <otte@gnome.org>
10970
10971         * gst/gstelement.c: (gst_element_dispose):
10972           simplify
10973         * gst/gstpad.c: (gst_pad_call_chain_function):
10974           don't create loads of events due to bad macro usage
10975
10976 2004-04-16  David Schleef  <ds@schleef.org>
10977
10978         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
10979         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
10980         * gst/gstvalue.c: (gst_value_serialize_buffer),
10981         (gst_value_deserialize_buffer), (gst_type_is_fixed),
10982         (_gst_value_initialize): Create a new function gst_type_is_fixed()
10983         to indicate types that are fixed wrt caps or not.  Switching to
10984         this function fixes (bug #140298).
10985         * gst/gstvalue.h:
10986
10987 2004-04-16  David Schleef  <ds@schleef.org>
10988
10989         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
10990         for GST_UNALIGNED_ACESS, since we essentially know which archs
10991         are ok.
10992
10993 2004-04-17  Benjamin Otte  <otte@gnome.org>
10994
10995         * docs/gst/Makefile.am:
10996           ignore gst/parse directory when building docs (fixes #140205)
10997
10998 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10999
11000         * testsuite/refcounting/mem.c: (vmsize):
11001           do error checking
11002
11003 2004-04-16  Johan Dahlin  <johan@gnome.org>
11004
11005         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
11006         and gst_pad_call_get_function.
11007
11008 2004-04-15  David Schleef  <ds@schleef.org>
11009
11010         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
11011         checks if we can access unaligned memory.
11012         * configure.ac: Use it.
11013
11014 2004-04-16  Benjamin Otte  <otte@gnome.org>
11015
11016         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
11017         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
11018         * gst/elements/gstfilesrc.h:
11019           s/seek_happened/need_discont/ and require discont before sending any
11020           data
11021
11022 2004-04-15  David Schleef  <ds@schleef.org>
11023
11024         * gst/gstvalue.c: (gst_value_serialize_buffer),
11025         (gst_value_deserialize_buffer), (_gst_value_initialize):
11026         Register these types as fundamental types. (bug #140015)
11027
11028 2004-04-16  Benjamin Otte  <otte@gnome.org>
11029
11030         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
11031         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
11032         (gst_pad_pull):
11033           implement enforcing discont events before buffers are passed. This
11034           allows state changes of only some elements and later correctly going
11035           on where they left off (or in short: you can now set audio sinks to
11036           NULL to release the device when the pipeline is paused)
11037         * gst/gstpad.c: (gst_pad_call_chain_function),
11038         (gst_pad_call_get_function):
11039         * gst/gstpad.h:
11040           add gst_pad_call_chain_function and gst_pad_call_get_function for
11041           scheduler interaction. They are required because of the changes
11042           above.
11043         * gst/schedulers/entryscheduler.c: (get_buffer),
11044         (gst_entry_scheduler_chain_wrapper),
11045         (gst_entry_scheduler_get_wrapper),
11046         (gst_entry_scheduler_state_transition),
11047         (gst_entry_scheduler_pad_link):
11048         * gst/schedulers/gstbasicscheduler.c:
11049         (gst_basic_scheduler_chain_wrapper),
11050         (gst_basic_scheduler_src_wrapper),
11051         (gst_basic_scheduler_chainhandler_proxy),
11052         (gst_basic_scheduler_gethandler_proxy),
11053         (gst_basic_scheduler_cothreaded_chain),
11054         (gst_basic_scheduler_chain_elements):
11055         * gst/schedulers/gstoptimalscheduler.c:
11056         (get_group_schedule_function), (pad_clear_queued),
11057         (gst_opt_scheduler_pad_link):
11058           use the new functions instead of calling get/chain-functions
11059           directly.
11060
11061 2004-04-15  David Schleef  <ds@schleef.org>
11062
11063         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
11064         * docs/gst/tmpl/gstinfo.sgml: same
11065         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
11066         gtk-doc put here.
11067         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
11068         * examples/queue/queue.c: (main):  We iterate pipelines, not
11069         bins.  (bug #139996)
11070
11071 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11072
11073         * docs/pwg/advanced-types.xml:
11074           Add MS RLE support. Also document Qt RLE although I have no sample
11075           files for that yet. And document an extra property for ADPCM.
11076
11077 2004-04-15  David Schleef  <ds@schleef.org>
11078
11079         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
11080         (_gst_plugin_fault_handler_setup):  Disable more stuff on
11081         Windows.
11082
11083 2004-04-15  David Schleef  <ds@schleef.org>
11084
11085         * gst/gstinfo.c: (_gst_debug_init): Change some internal
11086         symbol names to not conflict with new gstinfo.h symbols.
11087         * gst/gstinfo.h: Add inline functions for all those crazy
11088         compilers that don't know how to handle variadic macros (MSVC).
11089
11090 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11091
11092         * configure.ac: bump nano to 1
11093
11094 === release 0.8.1 ===
11095
11096 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11097
11098         * NEWS:
11099         * RELEASE:
11100         * configure.ac:
11101           releasing 0.8.1, "Snow Brigade"
11102
11103 2004-04-14  David Schleef  <ds@schleef.org>
11104
11105         * testsuite/Makefile.am: define tests_ignore
11106         * testsuite/Rules: Added new tests_ignore, which get compiled,
11107         but not run (generally because they're inconsistent or have
11108         heisenbugs).  Now we can ensure all the .c files compile in
11109         testsuite/.
11110         * testsuite/bins/Makefile.am: define tests_ignore
11111         * testsuite/bytestream/Makefile.am:
11112         * testsuite/caps/Makefile.am:
11113         * testsuite/clock/Makefile.am:
11114         * testsuite/debug/Makefile.am:
11115         * testsuite/debug/global.c: (gst_debug_log_one),
11116         (gst_debug_log_two): Fix compilation problem.
11117         * testsuite/dynparams/Makefile.am:
11118         * testsuite/elements/Makefile.am:
11119         * testsuite/ghostpads/Makefile.am:
11120         * testsuite/indexers/Makefile.am:
11121         * testsuite/parse/Makefile.am:
11122         * testsuite/plugin/Makefile.am:
11123         * testsuite/refcounting/Makefile.am:
11124         * testsuite/refcounting/element_pad.c: (main): Don't return leak
11125         results, because it's not calculated correctly.
11126         * testsuite/refcounting/pad.c: (main): same
11127         * testsuite/states/Makefile.am:
11128         * testsuite/tags/Makefile.am:
11129         * testsuite/threads/Makefile.am:
11130
11131 2004-04-14  David Schleef  <ds@schleef.org>
11132
11133         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
11134         generating bad code around the cpu detection asm code.
11135
11136 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11137
11138         * tools/gst-inspect.c: (print_element_info):
11139           print numeric version of rank as well, since we added some - 1
11140           rank values to elements
11141
11142 2004-04-13  David Schleef  <ds@schleef.org>
11143
11144         * configure.ac:  Disable various code when compiling for MinGW.
11145         * gst/elements/Makefile.am:
11146         * gst/elements/gstelements.c:
11147         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
11148         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
11149         * gst/registries/gstxmlregistry.c: (make_dir):
11150
11151 2004-04-13  David Schleef  <ds@schleef.org>
11152
11153         * gst/Makefile.am:
11154         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
11155         assembly.
11156         * gst/gstcpuid_i386.s: remove
11157
11158 2004-04-13  David Schleef  <ds@schleef.org>
11159
11160         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
11161         seems to think it needs to be done.
11162         * docs/gst/tmpl/gstfakesink.sgml:
11163         * docs/gst/tmpl/gstfakesrc.sgml:
11164         * docs/gst/tmpl/gstfdsink.sgml:
11165         * docs/gst/tmpl/gstfdsrc.sgml:
11166         * docs/gst/tmpl/gstfilesink.sgml:
11167         * docs/gst/tmpl/gstfilesrc.sgml:
11168         * docs/gst/tmpl/gstidentity.sgml:
11169         * docs/gst/tmpl/gstmd5sink.sgml:
11170         * docs/gst/tmpl/gstmultifilesrc.sgml:
11171         * docs/gst/tmpl/gstpipefilter.sgml:
11172         * docs/gst/tmpl/gstshaper.sgml:
11173         * docs/gst/tmpl/gstspider.sgml:
11174         * docs/gst/tmpl/gstspideridentity.sgml:
11175         * docs/gst/tmpl/gststatistics.sgml:
11176         * docs/gst/tmpl/gsttee.sgml:
11177         * docs/gst/tmpl/gsttypefind.sgml:
11178         * docs/gst/tmpl/gstutils.sgml:
11179
11180 2004-04-13  David Schleef  <ds@schleef.org>
11181
11182         * configure.ac: Changes to remove POSIXisms (mmap in this case)
11183         and to build DLLs on Windows.
11184         * gst/Makefile.am:
11185         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
11186         (gst_filesrc_open_file):
11187         * gst/schedulers/Makefile.am:
11188
11189 2004-04-13  David Schleef  <ds@schleef.org>
11190
11191         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
11192         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
11193         fixating lists.
11194
11195 2004-04-12  David Schleef  <ds@schleef.org>
11196
11197         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11198         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
11199         to using it.
11200         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
11201         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
11202         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
11203         * gst/gststructure.c: (gst_structure_set_valist),
11204         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
11205         support for buffers.
11206         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
11207         intended to be const.
11208         * gst/gsttag.h: same
11209         * gst/gstvalue.c: (gst_value_serialize_buffer),
11210         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
11211         to (de)serialize buffers.
11212         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
11213         * testsuite/caps/string-conversions.c: (main):
11214         * testsuite/caps/value_serialize.c: add new test
11215
11216 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11217
11218         * docs/pwg/advanced-types.xml:
11219           Document MS video 1 (video/x-msvideocodec) mimetype/format.
11220
11221 2004-04-11  Benjamin Otte  <otte@gnome.org>
11222
11223         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
11224           rename categories to basic_*
11225         * gst/schedulers/gstbasicscheduler.c: 
11226         (gst_basic_scheduler_chain_wrapper),
11227         (gst_basic_scheduler_chainhandler_proxy),
11228         (gst_basic_scheduler_gethandler_proxy),
11229         (gst_basic_scheduler_eventhandler_proxy):
11230           debugging category fixes - put common stuff in log category
11231         * gst/schedulers/gstbasicscheduler.c: 
11232         (gst_basic_scheduler_chain_elements):
11233           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
11234           active and linking two active chains
11235
11236 2004-04-10  Benjamin Otte  <otte@gnome.org>
11237
11238         * docs/pwg/intro-preface.xml:
11239           fix dead links and remove reference to Wiki
11240
11241 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11242
11243         * gst/schedulers/gstbasicscheduler.c:
11244           make sure we can switch back to the main function if we're still in
11245           the main function (supposed to fix #139617)
11246         * gst/schedulers/gthread-cothreads.h:
11247           don't throw an error when switching to the same cothread
11248
11249 2004-04-09  Benjamin Otte  <otte@gnome.org>
11250
11251         * gst/gstbin.c: (gst_bin_get_type):
11252         * gst/gstclock.c: (gst_clock_get_type):
11253         * gst/gstindex.c: (gst_index_get_type):
11254         * gst/gstobject.c: (gst_object_get_type),
11255         (gst_signal_object_get_type):
11256         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
11257         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
11258         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
11259         * gst/gstqueue.c: (gst_queue_get_type):
11260         * gst/gstregistry.c: (gst_registry_get_type):
11261         * gst/gstsystemclock.c: (gst_system_clock_get_type):
11262         * gst/gstthread.c: (gst_thread_get_type):
11263           don't use memchunks for these objects, use malloc instead
11264
11265 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11266
11267         * docs/gst/.cvsignore:
11268         * docs/gst/Makefile.am:
11269         * docs/gst/gstreamer-sections.txt:
11270         * docs/gst/tmpl/gstaggregator.sgml:
11271         * docs/gst/tmpl/gstbuffer.sgml:
11272         * docs/gst/tmpl/gstclock.sgml:
11273         * docs/gst/tmpl/gstelement.sgml:
11274         * docs/gst/tmpl/gstfakesink.sgml:
11275         * docs/gst/tmpl/gstfakesrc.sgml:
11276         * docs/gst/tmpl/gstfdsink.sgml:
11277         * docs/gst/tmpl/gstfdsrc.sgml:
11278         * docs/gst/tmpl/gstfilesink.sgml:
11279         * docs/gst/tmpl/gstfilesrc.sgml:
11280         * docs/gst/tmpl/gstidentity.sgml:
11281         * docs/gst/tmpl/gstindex.sgml:
11282         * docs/gst/tmpl/gstinfo.sgml:
11283         * docs/gst/tmpl/gstmd5sink.sgml:
11284         * docs/gst/tmpl/gstmultifilesrc.sgml:
11285         * docs/gst/tmpl/gstpad.sgml:
11286         * docs/gst/tmpl/gstpipefilter.sgml:
11287         * docs/gst/tmpl/gstpipeline.sgml:
11288         * docs/gst/tmpl/gstpluginfeature.sgml:
11289         * docs/gst/tmpl/gstqueue.sgml:
11290         * docs/gst/tmpl/gstregistry.sgml:
11291         * docs/gst/tmpl/gstscheduler.sgml:
11292         * docs/gst/tmpl/gstshaper.sgml:
11293         * docs/gst/tmpl/gstspider.sgml:
11294         * docs/gst/tmpl/gstspideridentity.sgml:
11295         * docs/gst/tmpl/gststatistics.sgml:
11296         * docs/gst/tmpl/gstsystemclock.sgml:
11297         * docs/gst/tmpl/gsttee.sgml:
11298         * docs/gst/tmpl/gstthread.sgml:
11299         * docs/gst/tmpl/gsttypefind.sgml:
11300         * docs/gst/tmpl/gstutils.sgml:
11301           further doc build fixes
11302
11303 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11304
11305         * docs/gst/Makefile.am:
11306           make docs exit on scanning problems
11307           fix nonsrcdir build issues
11308         * docs/gst/gstreamer-sections.txt:
11309           adding stuff from -unused
11310         * gst/gstqueue.h:
11311           create GstQueueSize
11312         * gst/schedulers/cothreads_compat.h:
11313           fix cothread warnings
11314
11315 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11316
11317         * docs/gst/gstreamer-sections.txt:
11318           remove defines deprecated by Benjamin
11319
11320 2004-04-07  Benjamin Otte  <otte@gnome.org>
11321
11322         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
11323           when the buffer is complete, don't check if other buffers are needed
11324         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
11325           check that the offset is >0 so we don't try to read before the
11326           beginning of the file
11327         * gst/gstpad.c: (gst_pad_set_pad_template):
11328           sink the template, so we don't end up with 130k pad templates
11329
11330 2004-04-06  Benjamin Otte  <otte@gnome.org>
11331
11332         * gst/autoplug/gstspider.c: (gst_spider_link_add):
11333           don't ref the element, adding already reffed it. And we didn't unref
11334           it later anyway... (huge memleak when you used many spider elements)
11335         * gst/gstelement.c: (gst_element_base_class_finalize):
11336         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
11337         (gst_element_register):
11338         * gst/gsturi.c: (gst_element_make_from_uri):
11339           use gst_object_(un)ref instead of g_object(un)ref
11340
11341 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11342
11343         * gst/gstbuffer.h:
11344           remove macro that wouldn't work anymore because struct member has
11345           been removed.
11346         * gst/schedulers/entryscheduler.c: (schedule_forward):
11347           fix segfault for unconnected pads
11348         
11349 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11350
11351         reviewed by David Schleef <ds@schleef.org>
11352
11353         * gst/gstinfo.h:
11354           *_FORMAT modifiers should require putting a % in front of them for
11355           consistency reasons.
11356
11357 2004-04-05  Colin Walters  <walters@redhat.com>
11358
11359         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
11360         space.
11361
11362 2004-04-05  Benjamin Otte  <otte@gnome.org>
11363
11364         * configure.ac:
11365         * gst/Makefile.am:
11366         * gst/gst_private.h:
11367         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
11368           add support for detecting if GStreamer runs inside valgrind.
11369           requires valgrind (d'oh) and --enable-debug for correct cdetection.
11370           print a big message in valgrind that GStreamer has detected it's
11371           running inside and might now use different code.
11372         * gst/gstmemchunk.c: (populate), (free_area),
11373         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
11374         (gst_mem_chunk_free):
11375           flag memchunks for valgrind, so it can detect leaking of chunks.
11376           This allows detecting leaks of GstBuffer and GstEvent correctly
11377           inside valgrind.
11378
11379 2004-04-05  David Schleef  <ds@schleef.org>
11380
11381         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
11382           jensgr@gmx.net (Jens Granseuer)
11383
11384 2004-04-05  David Schleef  <ds@schleef.org>
11385
11386         * gst/gstbuffer.c: (_gst_buffer_sub_free),
11387         (gst_buffer_default_free), (gst_buffer_default_copy),
11388         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
11389         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
11390         structures in one place.
11391
11392 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11393
11394         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
11395           (GST_TIME_FORMAT, GST_TIME_ARGS)
11396
11397 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11398
11399         * testsuite/elements/Makefile.am:
11400           disable test until it stops breaking make distcheck
11401
11402 2004-04-05  Johan Dahlin  <johan@gnome.org>
11403
11404         * po/sv.po: Updated translation
11405
11406 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11407
11408         * gst/gstplugin.c: (gst_plugin_load_file):
11409           fix segfault for when original plugin was loaded statically
11410
11411 2004-04-05  Benjamin Otte  <otte@gnome.org>
11412
11413         * testsuite/debug/category.c: (main):
11414         * testsuite/debug/commandline.c: (main):
11415         * testsuite/debug/output.c: (main):
11416           fix tests to work again with debugging enabled
11417
11418 2004-04-05  Benjamin Otte  <otte@gnome.org>
11419
11420         * gst/schedulers/gstbasicscheduler.c:
11421         (gst_basic_scheduler_pad_link):
11422           fix to work with recent scheduling changes
11423
11424 2004-04-05  Benjamin Otte  <otte@gnome.org>
11425
11426         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
11427         prepareChangeLog doesn't work when cvs indents):
11428           don't throw an error when no element can be scheduled, there's too
11429           many weird reasons why it doesn't work. Return STOPPED instead.
11430           decoupled elemts' schedulability doesn't depend on bufpens.
11431
11432 2004-04-04  Benjamin Otte  <otte@gnome.org>
11433
11434         * gst/schedulers/gstbasicscheduler.c:
11435         (gst_basic_scheduler_pad_select):
11436           fix uninitialized variable warnings
11437
11438 2004-04-04  Benjamin Otte  <otte@gnome.org>
11439
11440         * gst/gstpad.c: (gst_pad_collect_valist):
11441           fix uninitialized variable warning
11442         * gst/schedulers/entryscheduler.c: (schedule_forward):
11443           fix shadowed variable
11444
11445 2004-04-04  Benjamin Otte  <otte@gnome.org>
11446
11447         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
11448         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
11449         (gst_pad_select):
11450         * gst/gstpad.h:
11451         * gst/gstscheduler.c: (gst_scheduler_pad_select),
11452         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
11453         * gst/gstscheduler.h:
11454           implement gst_pad_collect as replacement for gst_pad_select.
11455           deprecate gst_pad_select and gst_scheduler_(un)lock_element
11456           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
11457           new pad_select, lock and unlock calls.
11458         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
11459         * gst/cothreads.h:
11460         * gst/schedulers/cothreads_compat.h:
11461         * gst/schedulers/gthread-cothreads.h:
11462           remove unused cothread_lock and cothread_unlock calls
11463         * gst/schedulers/entryscheduler.c:
11464         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
11465         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
11466         (gst_entry_scheduler_pad_select):
11467           update to new API
11468         * gst/schedulers/gstbasicscheduler.c:
11469         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
11470         (gst_basic_scheduler_pad_select):
11471           remove useless lock and unlock calls, update pad_select to new API
11472           (untested)
11473         * gst/schedulers/gstoptimalscheduler.c:
11474         (gst_opt_scheduler_class_init):
11475           remove useless select, lock and unlock function calls
11476         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
11477           use gst_pad_collect instead of gst_pad_select
11478
11479 2004-04-04  Benjamin Otte  <otte@gnome.org>
11480
11481         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
11482         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
11483         (schedule_next_element), (print_entry):
11484           add can_schedule_pad to handle element states.
11485           add schedule_forward to select the correct entry to schedule next
11486
11487 2004-04-03  Benjamin Otte  <otte@gnome.org>
11488
11489         * gst/schedulers/entryscheduler.c: 
11490           remove unused variable, fix error inside Rb, fix compile warning in
11491           unreachable code
11492
11493 2004-04-03  Benjamin Otte  <otte@gnome.org>
11494
11495         * gst/schedulers/entryscheduler.c:
11496           completely revamp the inner workings, so it's a lot easier to
11497           understand and extend
11498
11499 2004-04-03  Andy Wingo  <wingo@pobox.com>
11500
11501         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
11502         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
11503         This allows better introspection of pipeline topology.
11504         (add_to_chain): Don't do trickery to put loop elements first;
11505         rather, queue a chain sort by marking the chain as dirty.
11506         (remove_from_chain): Mark the chain dirty.
11507         (sort_chain): New function. Sorts the group list so that terminal
11508         sinks are first. This means elements on the sink side will be
11509         preferentially sscheduled before elements on the src side of the
11510         pipeline.
11511         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
11512         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
11513         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
11514         (group_inc_link): Change argument and variable names to match the
11515         new link structure member names (src and sink).
11516         (group_dec_link): Add some description
11517
11518 2004-04-03  Benjamin Otte  <otte@gnome.org>
11519
11520         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11521         * gst/gstinfo.h:
11522         * testsuite/debug/category.c: (main):
11523         * testsuite/debug/commandline.c: (main):
11524         * testsuite/debug/output.c: (main):
11525         * testsuite/debug/printf_extension.c: (main):
11526           fix to successfully build and test with --disable-gst-debug
11527           configure switch (fixes #138705)
11528
11529 2004-04-03  Benjamin Otte  <otte@gnome.org>
11530
11531         * docs/pwg/building-boiler.xml:
11532           add cvs login line and s/anonymous/anoncvs/
11533
11534 2004-04-03  Tim-Phillip M??ller  <t.i.m@zen.co.uk>
11535
11536         reviewed by Benjamin Otte  <otte@gnome.org>
11537
11538         * gst/gststructure.c: (gst_structure_free):
11539           memleak fix: free fields array (partial fix for #134839)
11540
11541 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11542
11543         * docs/random/ds/0.9-suggested-changes:
11544           Add a note to change handoff use in fakesrc to be usable in
11545           a more generic way (fakesrc should be renamed to appsrc or so).
11546         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11547           Change signal type to scope, so we can fill the buffer in the
11548           handoff handler (that's the whole use of this signal...).
11549
11550 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11551
11552         * docs/pwg/other-ntoone.xml:
11553           Document muxers and n-to-1 elements.
11554
11555 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
11556
11557         * gst/registries/gstxmlregistry.c
11558         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
11559         determine if a file is a G_MODULE. The old one discards paths
11560         containing "so" somewhere in the middle. My home directory is
11561         called "soto". Go figure...
11562
11563 2004-03-31  David Schleef  <ds@schleef.org>
11564
11565         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
11566         to eventually deprecate gst_buffer_merge().  (bug: #136408)
11567         * gst/gstbuffer.h:
11568
11569 2004-03-31  David Schleef  <ds@schleef.org>
11570
11571         * gst/gstvalue.c: (gst_value_union_int_int_range),
11572         (gst_value_union_int_range_int_range), (gst_value_can_union),
11573         (gst_value_union), (_gst_value_initialize):  Add some union
11574         implementations.  We didn't have any previously.
11575         * testsuite/caps/Makefile.am:
11576         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
11577         (gst_audioscale_getcaps), (test_caps), (main): A little test
11578         that is the same as the caps manipulation in audioscale.
11579
11580 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11581
11582         * docs/faq/general.xml:
11583           add entry about "does gst support format X?"
11584
11585 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11586
11587         * gst/gstthread.c:
11588           fix docs
11589         * gst/gstutils.h:
11590           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
11591
11592 2004-03-30  Benjamin Otte  <otte@gnome.org>
11593
11594         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
11595           set the offset of the buffer to the requested offset
11596         * gst/elements/gsttypefind.c: (stop_typefinding):
11597           revert patch 1.18 (which I unfortunately don't know the reason for).
11598           This is needed to allow downstream elements to seek. Otherwise
11599           typefind might overwrite a previous seek by downstream elements.
11600           This lead to errors with id3tag and typefind on some mp3s.
11601         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11602         (gst_entry_scheduler_iterate):
11603           be more verbose when debugging
11604
11605 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11606
11607         * gst/gstcaps.c: (gst_caps_from_string_inplace):
11608           make sure we don't get NULL strings
11609
11610 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
11611
11612         * gst/gstcaps.c:
11613         * gst/gstelement.c:
11614         * gst/gstelementfactory.c: (gst_element_factory_get_type):
11615         * gst/gstindex.c: (gst_index_resolver_get_type),
11616         (gst_index_get_type), (gst_index_factory_get_type):
11617         * gst/gstinfo.c:
11618         * gst/gstpad.c:
11619         * gst/gstplugin.c:
11620         * gst/gsturi.c: (gst_uri_handler_get_type):
11621         * gst/gstvalue.c:
11622           first batch of documentation fixes
11623
11624 2004-03-29  David Schleef  <ds@schleef.org>
11625
11626         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
11627         * docs/gst/gstreamer-docs.sgml:  More hacking
11628         * docs/gst/gstreamer-sections.txt:
11629         * docs/gst/tmpl/cothreads_compat.sgml:
11630         * docs/gst/tmpl/gstcaps.sgml:
11631         * docs/gst/tmpl/gstclock.sgml:
11632         * docs/gst/tmpl/gstelement.sgml:
11633         * docs/gst/tmpl/gstevent.sgml:
11634         * docs/gst/tmpl/gstpad.sgml:
11635         * docs/gst/tmpl/gstutils.sgml:
11636         * docs/gst/tmpl/gstxml.sgml:
11637         * docs/gst/tmpl/gthread-cothreads.sgml:
11638         * docs/random/ds/0.9-suggested-changes:
11639         * gst/elements/gstfakesink.h: doc fixes
11640         * gst/elements/gstfakesrc.h: doc fixes
11641         * gst/gstcaps.c: doc fixes
11642         * gst/gstcaps.h: doc fixes
11643         * gst/gstelement.c: doc fixes
11644         * gst/gstelement.h: doc fixes
11645         * gst/gstindex.c: doc fixes
11646         * gst/gstinfo.c: doc fixes
11647         * gst/gstpad.c: doc fixes
11648         * gst/gstpad.h: doc fixes
11649         * gst/gstplugin.c: doc fixes
11650         * gst/gsttypefind.h: doc fixes
11651         * gst/gsturi.c: doc fixes
11652         * gst/gstvalue.c: doc fixes
11653
11654 2004-03-29  Colin Walters  <walters@redhat.com>
11655
11656         * gst/registries/gstxmlregistry.c (get_time)
11657         (plugin_times_older_than_recurse):
11658         Use the result of stat to determine whether a path is a file,
11659         so we don't attempt to opendir() files.
11660
11661 2004-03-29  Benjamin Otte  <otte@gnome.org>
11662
11663         * gst/gstpad.c: (gst_pad_set_explicit_caps):
11664           print caps in debugging output when setting caps failed
11665         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
11666         (schedule_next_element), (get_buffer), (run_chainhandler),
11667         (element_may_start), (gst_entry_scheduler_chain_handler),
11668         (gst_entry_scheduler_get_handler),
11669         (gst_entry_scheduler_state_transition),
11670         (gst_entry_scheduler_pad_link):
11671           make this scheduler a testcase for mandatory
11672           discont-before-first-buffer which is needed if we want to allow apps
11673           to release the sound device.
11674           add SCHED_ASSERT macro to print scheduler state before an assertion
11675           triggers.
11676
11677 2004-03-29  Benjamin Otte  <otte@gnome.org>
11678
11679         * COPYING:
11680           replace by LGPL (former COPYING.LIB). The core is completely
11681           licensed LGPL.
11682         * COPYING.LIB:
11683           remove
11684
11685 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11686
11687         * po/af.po:
11688         * po/sv.po:
11689           updated Afrikaans and Swedish
11690
11691 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11692
11693         * po/LINGUAS:
11694         * po/az.po:
11695           adding Azerbaijani (M??tin ??mirov)
11696
11697 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
11698
11699         * gst/gstelement.h: 
11700         * gst/gstelement.c (gst_element_set_time_delay): New function for
11701         setting element time taking into account a hardware buffering
11702         delay.
11703         (gst_element_set_time): Now just an invocation of
11704         gst_element_set_time_delay.
11705         * gst/gstclock.h: 
11706         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
11707         allowing to set event times in the future.
11708         (gst_clock_get_event_time): Now just an invocation of
11709         gst_clock_get_event_time_delay.
11710
11711 2004-03-28  Benjamin Otte  <otte@gnome.org>
11712
11713         * gst/gstbin.c: (gst_bin_set_element_sched),
11714         (gst_bin_unset_element_sched):
11715           don't add decoupled elements to schedulers - otherwise it's
11716           impossible to control if a link to a decoupled element was already
11717           removed from a scheduler or not.
11718         * gst/schedulers/cothreads_compat.h:
11719         * gst/schedulers/gthread-cothreads.h:
11720           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
11721           is no "unused" warning.
11722         * gst/schedulers/Makefile.am:
11723         * gst/schedulers/entryscheduler.c:
11724           add new scheduler, based on ideas from talking to David and Martin.
11725           It's supposed to be small and correct. Currently it's also slow (but
11726           it's not noticable)
11727         * examples/retag/retag.c: (main):
11728         * testsuite/bytestream/test1.c: (main):
11729           fix missing NULLs at end of variadic functions
11730         * testsuite/elements/.cvsignore:
11731           update
11732
11733 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
11734
11735         * gst/gstevent.h:
11736         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
11737
11738 2004-03-25  David Schleef  <ds@schleef.org>
11739
11740         * docs/gst/gstreamer-sections.txt:  More doc hacking.
11741         * docs/gst/tmpl/gstaggregator.sgml:
11742         * docs/gst/tmpl/gstautoplugfactory.sgml:
11743         * docs/gst/tmpl/gstbin.sgml:
11744         * docs/gst/tmpl/gstbuffer.sgml:
11745         * docs/gst/tmpl/gstbufferstore.sgml:
11746         * docs/gst/tmpl/gstfakesink.sgml:
11747         * docs/gst/tmpl/gstfakesrc.sgml:
11748         * docs/gst/tmpl/gstmd5sink.sgml:
11749         * docs/gst/tmpl/gstreamer-unused.sgml:
11750         * docs/gst/tmpl/gstsearchfuncs.sgml:
11751         * docs/gst/tmpl/gstshaper.sgml:
11752         * docs/gst/tmpl/gstspider.sgml:
11753         * docs/gst/tmpl/gsttee.sgml:
11754         * docs/gst/tmpl/gstutils.sgml:
11755         * docs/gst/tmpl/gstvalue.sgml:
11756         * docs/gst/tmpl/gstxml.sgml:
11757         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
11758         and we don't support it.
11759         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
11760         (gst_use_threads), (gst_has_threads): same
11761         * gst/gstthreaddummy.c: same
11762         * gst/autoplug/gstspider.c: Make gst_spider_details static.
11763         * gst/autoplug/gstspider.h: same
11764         * gst/elements/gstaggregator.h: Remove bogus function from header
11765         * gst/elements/gstfakesink.h: same
11766         * gst/elements/gstfakesrc.h: same
11767         * gst/elements/gstmd5sink.h: same
11768         * gst/elements/gstshaper.h: same
11769         * gst/elements/gsttee.h: same
11770         * gst/gstbin.c: doc fixes
11771         * gst/gstbin.h: Remove unused definition.
11772         * gst/gstbuffer.c: doc fixes
11773         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
11774         * gst/gstfilter.c: doc fixes
11775         * gst/gsttag.c: doc fixes
11776         * gst/gstvalue.c: doc fixes
11777
11778 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11779
11780         * docs/pwg/advanced-types.xml:
11781           Document typefinding.
11782         * docs/pwg/other-oneton.xml:
11783           Document one-to-n elements, demuxers and parsers.
11784
11785 2004-03-25  Tim-Philipp M??ller <t.i.m@zen.co.uk>
11786
11787         reviewed by: David Schleef  <ds@schleef.org>
11788
11789         * configure.ac: Check bison version (bug #127838)
11790
11791 2004-03-25  David Schleef  <ds@schleef.org>
11792
11793         * docs/gst/gstreamer-docs.sgml: More fine tuning.
11794         * docs/gst/gstreamer-sections.txt:
11795         * docs/gst/tmpl/gstautoplug.sgml:
11796         * docs/gst/tmpl/gststaticautoplug.sgml:
11797         * docs/gst/tmpl/gststaticautoplugrender.sgml:
11798         * docs/gst/tmpl/gstutils.sgml:
11799         * docs/gst/tmpl/gstxml.sgml:
11800
11801 2004-03-24  David Schleef  <ds@schleef.org>
11802
11803         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
11804         manual being such complete crap, that I decided to do major
11805         hacking of it.  This checkin replaces any fine tuning that
11806         may have been done previously, with the benefit of actually
11807         being complete for much of the API that was changed since
11808         0.6.  Further fine tuning will occur shortly.  (bug #134721)
11809         * docs/gst/gstreamer-sections.txt:
11810         * docs/gst/tmpl/GstBin.sgml:
11811         * docs/gst/tmpl/GstBuffer.sgml:
11812         * docs/gst/tmpl/GstCaps.sgml:
11813         * docs/gst/tmpl/GstClock.sgml:
11814         * docs/gst/tmpl/GstCompat.sgml:
11815         * docs/gst/tmpl/GstData.sgml:
11816         * docs/gst/tmpl/GstElement.sgml:
11817         * docs/gst/tmpl/GstEvent.sgml:
11818         * docs/gst/tmpl/GstIndex.sgml:
11819         * docs/gst/tmpl/GstStructure.sgml:
11820         * docs/gst/tmpl/GstTag.sgml:
11821         * docs/gst/tmpl/cothreads.sgml:
11822         * docs/gst/tmpl/cothreads_compat.sgml:
11823         * docs/gst/tmpl/gettext.sgml:
11824         * docs/gst/tmpl/grammar.tab.sgml:
11825         * docs/gst/tmpl/gst-i18n-app.sgml:
11826         * docs/gst/tmpl/gst-i18n-lib.sgml:
11827         * docs/gst/tmpl/gst.sgml:
11828         * docs/gst/tmpl/gst_private.sgml:
11829         * docs/gst/tmpl/gstaggregator.sgml:
11830         * docs/gst/tmpl/gstarch.sgml:
11831         * docs/gst/tmpl/gstatomic.sgml:
11832         * docs/gst/tmpl/gstatomic_impl.sgml:
11833         * docs/gst/tmpl/gstbin.sgml:
11834         * docs/gst/tmpl/gstbuffer.sgml:
11835         * docs/gst/tmpl/gstbufferstore.sgml:
11836         * docs/gst/tmpl/gstcaps.sgml:
11837         * docs/gst/tmpl/gstclock.sgml:
11838         * docs/gst/tmpl/gstcompat.sgml:
11839         * docs/gst/tmpl/gstconfig.sgml:
11840         * docs/gst/tmpl/gstcpu.sgml:
11841         * docs/gst/tmpl/gstdata.sgml:
11842         * docs/gst/tmpl/gstdata_private.sgml:
11843         * docs/gst/tmpl/gstelement.sgml:
11844         * docs/gst/tmpl/gstenumtypes.sgml:
11845         * docs/gst/tmpl/gsterror.sgml:
11846         * docs/gst/tmpl/gstevent.sgml:
11847         * docs/gst/tmpl/gstfakesink.sgml:
11848         * docs/gst/tmpl/gstfakesrc.sgml:
11849         * docs/gst/tmpl/gstfilesink.sgml:
11850         * docs/gst/tmpl/gstfilter.sgml:
11851         * docs/gst/tmpl/gstindex.sgml:
11852         * docs/gst/tmpl/gstinfo.sgml:
11853         * docs/gst/tmpl/gstinterface.sgml:
11854         * docs/gst/tmpl/gstlog.sgml:
11855         * docs/gst/tmpl/gstmacros.sgml:
11856         * docs/gst/tmpl/gstmarshal.sgml:
11857         * docs/gst/tmpl/gstmd5sink.sgml:
11858         * docs/gst/tmpl/gstmultifilesrc.sgml:
11859         * docs/gst/tmpl/gstobject.sgml:
11860         * docs/gst/tmpl/gstpad.sgml:
11861         * docs/gst/tmpl/gstparse.sgml:
11862         * docs/gst/tmpl/gstpipeline.sgml:
11863         * docs/gst/tmpl/gstplugin.sgml:
11864         * docs/gst/tmpl/gstpluginfeature.sgml:
11865         * docs/gst/tmpl/gstqueue.sgml:
11866         * docs/gst/tmpl/gstreamer-unused.sgml:
11867         * docs/gst/tmpl/gstregistry.sgml:
11868         * docs/gst/tmpl/gstregistrypool.sgml:
11869         * docs/gst/tmpl/gstscheduler.sgml:
11870         * docs/gst/tmpl/gstsearchfuncs.sgml:
11871         * docs/gst/tmpl/gstshaper.sgml:
11872         * docs/gst/tmpl/gstspider.sgml:
11873         * docs/gst/tmpl/gstspideridentity.sgml:
11874         * docs/gst/tmpl/gststructure.sgml:
11875         * docs/gst/tmpl/gstsystemclock.sgml:
11876         * docs/gst/tmpl/gsttag.sgml:
11877         * docs/gst/tmpl/gsttaginterface.sgml:
11878         * docs/gst/tmpl/gsttee.sgml:
11879         * docs/gst/tmpl/gstthread.sgml:
11880         * docs/gst/tmpl/gsttrace.sgml:
11881         * docs/gst/tmpl/gsttrashstack.sgml:
11882         * docs/gst/tmpl/gsttypefind.sgml:
11883         * docs/gst/tmpl/gsttypes.sgml:
11884         * docs/gst/tmpl/gsturi.sgml:
11885         * docs/gst/tmpl/gsturitype.sgml:
11886         * docs/gst/tmpl/gstutils.sgml:
11887         * docs/gst/tmpl/gstvalue.sgml:
11888         * docs/gst/tmpl/gstversion.sgml:
11889         * docs/gst/tmpl/gstxml.sgml:
11890         * docs/gst/tmpl/gstxmlregistry.sgml:
11891         * docs/gst/tmpl/gthread-cothreads.sgml:
11892         * docs/gst/tmpl/types.sgml:
11893
11894 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11895
11896         * docs/pwg/other-sink.xml:
11897         * docs/pwg/other-source.xml:
11898           Documentation on how to write source and sink elements. Other
11899           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
11900           manager, autoplugger) are all still pending.
11901
11902 2004-03-25  Benjamin Otte  <otte@gnome.org>
11903
11904         * testsuite/elements/Makefile.am:
11905         * testsuite/elements/gst-compprep-check:
11906           add check to make sure gst-compprep works
11907         * testsuite/elements/gst-inspect-check.in:
11908           improve initialization output
11909         * testsuite/Makefile.am:
11910         * testsuite/gst-inspect-check:
11911           remove old file
11912
11913 2004-03-24  David Schleef  <ds@schleef.org>
11914
11915         * testsuite/elements/Makefile.am:
11916         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
11917         to the testsuite.
11918
11919 2004-03-24  Benjamin Otte  <otte@gnome.org>
11920
11921         * libs/gst/control/dparam.c: (gst_dparam_attach),
11922         (gst_dparam_detach):
11923         * libs/gst/control/dparammanager.c: (gst_dpman_init):
11924           fix lvalue casts for real
11925
11926 2004-03-24  Benjamin Otte  <otte@gnome.org>
11927
11928         * gst/schedulers/gstbasicscheduler.c:
11929         (gst_basic_scheduler_src_wrapper):
11930         * gst/schedulers/gstoptimalscheduler.c:
11931         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
11932         (pad_clear_queued), (gst_opt_scheduler_add_element),
11933         (gst_opt_scheduler_remove_element):
11934           fix GStreamer to not have issues with lvalue casts anymore (fixes
11935           #136841)
11936
11937 2004-03-24  Benjamin Otte  <otte@gnome.org>
11938
11939         * gst/gstelement.c:
11940           add documentation about a gobject quirk where the object hasn't the
11941           correct class pointer set on initialization
11942         * gst/schedulers/gstbasicscheduler.c:
11943         (gst_basic_scheduler_src_wrapper):
11944           make sure to not run into an infinite loop
11945
11946 2004-03-22  Benjamin Otte  <otte@gnome.org>
11947
11948         * gst/gstutils.c: (gst_util_dump_mem):
11949         * gst/gstutils.h:
11950           first argument of gst_util_dump_mem should be const
11951
11952 2004-03-22  Johan Dahlin  <johan@gnome.org>
11953
11954         * gst/gstvalue.h: Clean up a little bit.
11955
11956 2004-03-21  Tim-Philipp M??ller <t.i.m@zen.co.uk>
11957
11958         reviewed by Benjamin Otte  <otte@gnome.org>
11959
11960         * gst/autoplug/gstspider.c: (gst_spider_dispose):
11961         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
11962         (gst_aggregator_class_init), (gst_aggregator_init):
11963         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11964         (gst_filesrc_dispose), (gst_filesrc_set_location):
11965         * gst/elements/gstidentity.c: (gst_identity_finalize),
11966         (gst_identity_class_init), (gst_identity_chain):
11967         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11968         * gst/elements/gststatistics.c: (gst_statistics_finalize),
11969         (gst_statistics_class_init):
11970         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
11971         (gst_tee_get_property):
11972           clean up used memory in this elements correctly on teardown (closes
11973           #137279)
11974
11975 2004-03-20  Colin Walters  <walters@redhat.com>
11976
11977         * gst/registries/gstxmlregistry.c:
11978         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
11979         registry saving atomic.
11980
11981 2004-03-20  Colin Walters  <walters@redhat.com>
11982
11983         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
11984         Just use
11985         access() instead of actually creating and deleting files.
11986
11987 2004-03-18  David Schleef  <ds@schleef.org>
11988
11989         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
11990         (bug #137625)
11991
11992 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11993
11994         * po/sv.po: updated translation (Christian Rose)
11995
11996 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11997
11998         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11999         (gst_filesink_get_query_types), (_do_init),
12000         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
12001           return FALSE silently
12002         * po/af.po: updated translation (Petri Jooste)
12003
12004 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12005
12006         * Makefile.am:
12007         * configure.ac:
12008           dist common properly
12009         * po/af.po:
12010         * po/fr.po:
12011         * po/nl.po:
12012         * po/sr.po:
12013         * po/sv.po:
12014           refreshing translations
12015
12016 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12017
12018         * po/LINGUAS:
12019         * po/sv.po:
12020         * po/af.po:
12021           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
12022
12023 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12024
12025         * Makefile.am: use common/release.mak
12026
12027 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12028
12029         * docs/faq/gst-uninstalled:
12030           adding gst-monkeysaudio to the list of possible plugin dirs
12031
12032 2004-03-16  David Schleef  <ds@schleef.org>
12033
12034         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
12035         (gst_init_check_with_popt_table):  Fix some gettext strings to
12036         make them easier to translate.  Required making the strings
12037         non-const.
12038
12039 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12040
12041         * configure.ac: bump nano to 1
12042
12043 === release 0.8.0 ===
12044
12045 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12046
12047         * configure.ac: release 0.8.0, "Executive Slacks"
12048
12049 2004-03-16  Johan Dahlin  <johan@gnome.org>
12050
12051         * gst/schedulers/gstoptimalscheduler.c
12052         (gst_opt_scheduler_pad_unlink): Remove double ;,
12053         spotted by Scott Wheeler
12054
12055 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12056
12057         * configure.ac: bump libtool version
12058
12059 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12060
12061         * gst/gstcaps.h:
12062         * gst/gststructure.h:
12063           add reserved padding
12064
12065 2004-03-15  Benjamin Otte  <otte@gnome.org>
12066
12067         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
12068           set the first parameter for select call correctly.
12069           (fixes #137230)
12070
12071 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12072
12073         * *.c,*.h: don't mix tabs and spaces
12074
12075 2004-03-15  Johan Dahlin  <johan@gnome.org>
12076
12077         * gst/schedulers/gstoptimalscheduler.c
12078         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
12079         crash on MPEG playback. My boolean arithmetic is a bit rusty.
12080
12081         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
12082         
12083 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12084
12085         * testsuite/Rules:
12086           fix gst-register rules
12087
12088 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12089
12090         * testsuite/Rules:
12091           use versioned gst-register
12092
12093 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12094
12095         * docs/libs/gstreamer-libs-sections.txt:
12096           remove </SUBSECTION>
12097         * gst/gstplugin.c:
12098         * gst/gstregistry.c: (gst_registry_add_plugin):
12099         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
12100         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
12101           add debugging and fix some comment blocks
12102
12103 2004-03-15  Johan Dahlin  <johan@gnome.org>
12104
12105         * *.h: Revert indent changes.
12106         
12107 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12108
12109         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
12110           g_error_free the g_error
12111         * tools/gst-feedback-m.m:
12112           check for other versions of gstreamer
12113         * tools/gst-indent:
12114           use sh, not bash
12115
12116 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12117
12118         * tools/gst-register.c: do not spill paths when registries are not
12119           writable, until we fix the "user running gst-register" case.
12120
12121 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12122
12123         * *.c, *.h: commit of gst-indent run on core
12124
12125 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12126
12127         * tools/gst-indent:
12128         * tools/Makefile.am:
12129           add our indentation style as a script
12130
12131 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12132
12133         * po/sr.po:
12134         * po/LINGUAS:
12135           added Serbian translation
12136
12137 2004-03-13  Benjamin Otte  <otte@gnome.org>
12138
12139         * gst/gstelement.c:
12140           add documentation note about gst_element_found_tags_for_pad not
12141           being usable in getfunctions. (see #137042)
12142
12143 2004-03-12  David Schleef  <ds@schleef.org>
12144
12145         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
12146         change API right now!  Readd gst_caps_is_simple() macro.
12147         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
12148         uninitialized variable.  I'd bet this caused crashes.
12149         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
12150
12151 2004-03-12  Johan Dahlin  <johan@gnome.org>
12152
12153         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
12154         * gst/gstcaps.h: Clean up
12155
12156         * gst/gst.c (init_post): call gst_caps_get_type() instead of
12157         _gst_caps_initalize()
12158
12159         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
12160         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
12161
12162         * gst/gststructure.c (gst_structure_get_type): Ditto
12163
12164         * gst/gststructure.h: Ditto
12165         
12166 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12167
12168         * gst/gstqueue.c: (gst_queue_init):
12169           Reset default max. values in queues. Reason is simply to avoid
12170           braindead use. If you want wider values, use the properties. The
12171           default is supposed to always work. Wider values would make this
12172           beast a memory hog by default (250 full-PAL RGB32 video frames?
12173           That's 440 MB! No thank you).
12174
12175 2004-03-10  David Schleef  <ds@schleef.org>
12176
12177         * tools/gst-run.c: (main):  Fix crash when no relevant tools
12178         were found.  (bug #136793)
12179
12180 2004-03-10  Johan Dahlin  <johan@gnome.org>
12181
12182         * gst/schedulers/gstoptimalscheduler.c
12183         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
12184         links to elements within the same group, so we can finally remove
12185         that annoying warning. Refactor the code a little bit
12186         (group_dec_links_for_element): Split out
12187
12188 2004-03-09  David Schleef  <ds@schleef.org>
12189
12190         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
12191         (bug #134863)
12192
12193 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12194
12195         * configure.ac: first bug fix due to major/minor bump
12196
12197 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12198
12199         * configure.ac: bump nano to 1
12200
12201 === release 0.7.6 ===
12202
12203 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12204
12205         * NEWS:
12206         * RELEASE:
12207         * configure.ac:
12208           releasing 0.7.6, "Almost"
12209         * po/fr.po:
12210         * po/nl.po:
12211         * tools/Makefile.am:
12212         * tools/gst-feedback-m.m:
12213           unversioned source
12214
12215 2004-03-09  Johan Dahlin  <johan@gnome.org>
12216
12217         Reviewed by: Thomas Vander Stichele
12218
12219         * gst/gstelement.c (gst_element_class_init): register second
12220         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
12221         language bindings can (de)marshall correctly.
12222
12223         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
12224
12225         * gst/gsterror.c (gst_g_error_get_type): New function
12226
12227         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
12228         with VOID:OBJECT,OBJECT,STRING 
12229
12230 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
12231
12232         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
12233         Free a leaked g_timer on early returns.
12234
12235 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12236
12237         * docs/pwg/advanced-types.xml:
12238           Add cinepak description.
12239
12240 2004-03-07  David Schleef  <ds@schleef.org>
12241
12242         * docs/random/mimetypes:  Added cinepak description
12243
12244 2004-03-07  Andy Wingo  <wingo@pobox.com>
12245
12246         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
12247
12248         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
12249         there are no links to other groups when a group is destroyed.
12250         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
12251         removed from a group, make sure the link count to elements linked
12252         to other pads is appropriately decremented. This really fixes
12253         #135672.
12254
12255         The 1.60->1.61 patch has been reapplied in light of this fix.
12256
12257         * gst/gstelement.c (gst_element_dispose): Really protect against
12258         multiple invocations this time.
12259
12260 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12261
12262         * docs/gst/gstreamer-sections.txt:
12263         * docs/gst/tmpl/gsttag.sgml:
12264           remove some deprecated functions, document some existing ones
12265         * gst/gsttag.c: (gst_tag_get_flag):
12266         * gst/gsttag.h:
12267           add accessor function
12268
12269 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12270
12271         * docs/gst/gstreamer-sections.txt:
12272         * docs/gst/tmpl/gsttag.sgml:
12273         * docs/gst/tmpl/gstxml.sgml:
12274         * gst/gsttag.c: (gst_tag_get_flag):
12275         * gst/gsttag.h:
12276
12277 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
12278
12279         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
12280         leak
12281
12282 2004-03-05  David Schleef  <ds@schleef.org>
12283
12284         * REQUIREMENTS: Add bison and flex.
12285         * configure.ac: Fix comment about bison.
12286         * docs/random/ds/0.9-suggested-changes: yer ma
12287         * tools/gst-inspect.c: (print_element_info):  Fix warning.
12288
12289 2004-03-05  Benjamin Otte  <otte@gnome.org>
12290
12291         * gst/gstelement.c: (gst_element_error_full):
12292           revert recent recursive state changing commit - messing with other
12293           elements' states is evil and should be done by apps only.
12294
12295 2004-03-05  Benjamin Otte  <otte@gnome.org>
12296
12297         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
12298           check for empty intersection instead of NULL caps
12299         (gst_element_get_compatible_pad_filtered):
12300           remove old workaround that is only a bug nowadays
12301
12302 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12303
12304         * gst/gstelement.c: (gst_element_error_full):
12305           make elements try to recursively change state to PAUSED on all
12306           parents after an error to suppress ensuing warnings
12307         * gst/parse/grammar.y:
12308           make it check if it was able to sync the state, and throw an error
12309           if not, so stuff like
12310           oggdemux ! vorbisdec ! osssink gets caught
12311
12312 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12313
12314         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
12315           it contains lib64; use AS_AC_EXPAND to handle it properly
12316
12317 2004-03-05  David Schleef  <ds@schleef.org>
12318
12319         * gst/gstcpuid_i386.s:  Remove unused code
12320         * libs/gst/getbits/getbits.c: (gst_getbits_init),
12321         (gst_getbits_newbuf): Remove MMX code
12322         * libs/gst/getbits/getbits.h: Remove MMX code
12323
12324 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
12325
12326         * debian/.cvsignore:
12327         * debian/README.Debian:
12328         * debian/changelog:
12329         * debian/control:
12330         * debian/control.in:
12331         * debian/copyright:
12332         * debian/gstreamer-core-libs-dev.files:
12333         * debian/gstreamer-core-libs.files:
12334         * debian/gstreamer-core.files:
12335         * debian/gstreamer-core.postinst:
12336         * debian/gstreamer-core.postrm:
12337         * debian/gstreamer-doc.files:
12338         * debian/gstreamer-doc.links:
12339         * debian/gstreamer-doc.lintian:
12340         * debian/gstreamer-runtime.files:
12341         * debian/gstreamer-runtime.manpages:
12342         * debian/gstreamer-runtime.postinst:
12343         * debian/gstreamer-runtime.postrm:
12344         * debian/gstreamer-tools.files:
12345         * debian/gstreamer-tools.manpages:
12346         * debian/libgstreamer-dev.files:
12347         * debian/libgstreamer0.4.1.files:
12348         * debian/libgstreamerVERSION.files:
12349         * debian/rules:
12350         Debian package info not maintained here.
12351
12352 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
12353
12354         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12355         * gst/gstbin.c: (gst_bin_class_init):
12356         * gst/gstelement.c: (gst_element_class_init):
12357         * gst/gstindex.c: (gst_index_class_init):
12358         * gst/gstobject.c: (gst_object_class_init),
12359         (gst_signal_object_class_init):
12360         * gst/gstpad.c: (gst_pad_template_class_init):
12361         * gst/gstregistry.c: (gst_registry_class_init):
12362         * gst/gsturi.c: (gst_uri_handler_base_init):
12363         * gst/gstxml.c: (gst_xml_class_init):
12364         * libs/gst/control/dparam.c: (gst_dparam_class_init):
12365         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
12366           make all signal names use dashes instead of underscore
12367
12368 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12369
12370         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
12371
12372 2004-03-03  Benjamin Otte  <otte@gnome.org>
12373
12374         * gst/schedulers/gstoptimalscheduler.c:
12375           revert last commit by Andy Wingo. It causes segfaults on unreffing
12376           in Rhythmbox. (see bug #135672)
12377
12378 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
12379
12380         * po/fr.po: fix typo
12381
12382 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
12383
12384         * tools/gst-inspect.c: (main): 
12385         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
12386
12387 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12388
12389         * configure.ac:
12390           get GLIB_ONLY and POPT flags for the nonversioned binaries
12391         * tools/Makefile.am:
12392           use them
12393
12394 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12395
12396         * gst/gst.c: (init_post):
12397           change so that GST_REGISTRY now is where the global registry gets
12398           saved, since that is where plugins now get attached to first, and
12399           spilled over to the user registry.  Note that in the case of using
12400           GST_REGISTRY env var, we don't want to affect any real registries
12401           beyond the one given by this var, and thus we don't set a user
12402           registry to spill to.  So make sure GST_REGISTRY is writable.
12403
12404 2004-03-01  David Schleef  <ds@schleef.org>
12405
12406         * AUTHORS:  Added some names.  Add yourself if you're missing.
12407
12408 2004-03-01  David Schleef  <ds@schleef.org>
12409
12410         * MAINTAINERS: Add
12411
12412 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12413
12414         * configure.ac:
12415           remove whitespace
12416         * docs/gst/tmpl/gstbuffer.sgml:
12417         * docs/gst/tmpl/gstdata.sgml:
12418         * docs/gst/tmpl/gstreamer-unused.sgml:
12419         * docs/gst/tmpl/gstxml.sgml:
12420           doc update
12421         * docs/manuals.mak:
12422           add a FIXME
12423         * docs/pwg/intro-preface.xml:
12424         * docs/pwg/pwg.xml:
12425           remove GNOME
12426         * gst/gst.c: (init_post):
12427           try GST_PLUGIN_PATH paths for the _global_registry first
12428         * gst/gstelement.h:
12429           add the error message as well, otherwise (null) debug info doesn't
12430           make much sense
12431         * tools/gst-register.c: (main):
12432           spill paths to next registry if this registry is not writable
12433         * po/fr.po:
12434         * po/nl.po:
12435           translation updates
12436
12437 2004-03-01  Johan Dahlin  <johan@gnome.org>
12438
12439         * gst/gstbuffer.c (_gst_buffer_initialize): 
12440         * gst/gstdata.c (gst_data_get_type): 
12441         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
12442         instead of ref, since some applications that uses GBoxed
12443         routines depends on a function that actually returns a copy.
12444
12445 2004-02-27  Benjamin Otte  <otte@gnome.org>
12446
12447         * gst/gstbuffer.h:
12448           remove gst_buffer_free, use gst_data_unref
12449         * gst/gstdata.c: (gst_data_get_type):
12450           use refcounting in GstData GBoxed registration
12451         * gst/gstdata.h:
12452           remove gst_data_free, use gst_data_unref
12453
12454 2004-02-27  Johan Dahlin  <johan@gnome.org>
12455
12456         * gst/gstdata.c (gst_data_get_type): New function, register
12457         GstData as a GBoxed type.
12458
12459         * gst/gstdata.h (GST_TYPE_DATA): New macro
12460
12461 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12462
12463         * Makefile.am:
12464         * gstreamer.spec.in:
12465           put back RELEASE
12466         * gst/Makefile.am:
12467           clean up non-disting of built files
12468         * testsuite/debug/commandline.c:
12469           test fix for option rename
12470
12471 2004-02-26  David Schleef  <ds@schleef.org>
12472
12473         * configure.ac:  We don't really need glib-2.3.  Also remove
12474         some unneeded checks for library functions.
12475         * gst/Makefile.am:  Instead, we need to not dist files created
12476         by glib-genmarshal.
12477
12478 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12479
12480         * configure.ac:
12481           bump glib required version to 2.3.0 for g_value_takes_boxed
12482
12483  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
12484
12485         * common/m4/gst-docs.m4
12486         change flavour text from enable to disable as enable is our default
12487         closes bug Bug 135304
12488
12489 === release 0.7.5 ===
12490  
12491  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12492  
12493         * NEWS:
12494           instate NEWS file
12495         * Makefile.am:
12496         * gstreamer.spec.in:
12497         * RELEASE:
12498           put back release
12499         * configure.ac:
12500         * docs/random/release:
12501           more updates
12502
12503 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12504
12505         * gst/gsttag.c: (_gst_tag_initialize):
12506         * po/fr.po:
12507         * po/nl.po:
12508           remove hyphen from codec tags
12509
12510 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12511
12512         * gst/parse/Makefile.am:
12513           fix dependency so that a make from a clean build works the first
12514           time
12515
12516 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12517
12518         * docs/random/release:
12519           update release strategy
12520         * po/fr.po:
12521           auto-update po file
12522         * po/nl.po:
12523           update dutch translation
12524
12525 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12526
12527         * docs/manual/debugging.xml:
12528         fix manual for new debugging system
12529
12530 2004-02-25  Andy Wingo  <wingo@pobox.com>
12531
12532         * gst/gstpad.c (gst_pad_link_prepare): Re-add
12533         gst_pad_link_prepare. Please email the list with specific reasons
12534         for reverting.
12535
12536 2004-02-24  Andy Wingo  <wingo@pobox.com>
12537
12538         * gst/gstelement.c (gst_element_dispose): Protect against multiple
12539         invocations.
12540
12541         * gst/schedulers/gstoptimalscheduler.c:
12542         I added a mess of prototypes at the top of the file by way of
12543         documentation. Some of the operations on chains and groups were
12544         re-organized.
12545
12546         (create_group): Added a type argument so if the group is enabled,
12547         the setup_group_scheduler knows what to do.
12548         (group_elements): Added a type argument here, too, to be passed on
12549         to create_group.
12550         (group_element_set_enabled): If an unlinked PLAYING element is
12551         added to a bin, we have to create a new group to hold the element,
12552         and this function will be called before the group is added to the
12553         chain. Thus we have a valid case for group->chain==NULL. Instead
12554         of calling chain_group_set_enabled, just set the flag on the group
12555         (the chain's status will be set when the group is added to it).
12556         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
12557         Setup the group scheduler when the group is enabled, not
12558         specifically when an element goes PAUSED->PLAYING. This means
12559         PLAYING elements can be added, linked, and scheduled into a
12560         PLAYING pipeline, as was intended.
12561         (add_to_group): Don't ref the group twice. I don't know when this
12562         double-ref got in here. Removing it has the potential to cause
12563         segfaults if other parts of the scheduler are buggy. If you find
12564         that the scheduler is segfaulting for you, put in an extra ref
12565         here and see if that hacks over the underlying issue. Of course,
12566         then find out what code is unreffing a group it doesn't own...
12567         (create_group): Make the extra refcount floating, and remove it
12568         after adding the element. This means that...
12569         (unref_group): Destroy when the refcount reaches 0, not 1, like
12570         every other refcounted object in the known universe.
12571         (remove_from_group): When a group becomes empty, set it to be not
12572         active, and remove it from its chain. Don't unref it again,
12573         there's no floating reference any more.
12574         (destroy_group): We have to remove the group from the chain in
12575         remove_from_group (rather than here) to break refcounting cycles
12576         (the chain always has a ref on the group). So assert that
12577         group->chain==NULL.
12578         (ref_group_by_count): Removed, it was commented out anyway.
12579         (merge_chains): Use the remove_from_chain and add_to_chain
12580         primitives to do the reparenting, instead of rolling our own
12581         implementation.
12582         (add_to_chain): The first non-disabled group in the chain's group
12583         list will be the entry point for the chain. Because buffers can
12584         accumulate in loop elements' peer bufpens, we preferentially
12585         schedule loop groups before get groups to avoid unnecessary
12586         execution of get-based groups when the bufpens are already full.
12587         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
12588         (get_group_schedule_function): Ditto.
12589         (loop_group_schedule_function): Ditto.
12590         (gst_opt_scheduler_loop_wrapper): Ditto.
12591         (gst_opt_scheduler_iterate): Ditto.
12592
12593         I understand the opt scheduler now, yippee!
12594
12595         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
12596         (gst_pad_get_name, gst_pad_set_chain_function) 
12597         (gst_pad_set_get_function, gst_pad_set_event_function) 
12598         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
12599         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
12600         (gst_pad_set_query_function, gst_pad_get_query_types) 
12601         (gst_pad_get_query_types_default) 
12602         (gst_pad_set_internal_link_function) 
12603         (gst_pad_set_formats_function, gst_pad_set_link_function) 
12604         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
12605         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
12606         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
12607         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
12608         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
12609         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
12610         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
12611         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
12612         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
12613         (gst_pad_event_default_dispatch, gst_pad_event_default) 
12614         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
12615         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
12616         (gst_pad_get_formats_default, gst_pad_get_formats): Better
12617         argument checks, and some doc fixes.
12618
12619         (gst_pad_custom_new_from_template): Um, does anyone
12620         use these functions? Actually make a custom pad instead of a
12621         normal one.
12622         (gst_pad_try_set_caps): Transpose some checks.
12623         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
12624         the pad is in negotiation.
12625         (gst_pad_try_relink_filtered): Use pad_link_prepare.
12626         
12627         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
12628
12629         * gst/gstelement.h: 
12630         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
12631         on the list.
12632
12633 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12634
12635         * gst/gstbin.c: (gst_bin_add):
12636           add error for not being able to add elements
12637
12638 2004-02-22  Julien MOUTTE <julien@moutte.net>
12639
12640         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
12641         audio-codec and video-codec.
12642
12643 2004-02-22  Benjamin Otte  <otte@gnome.org>
12644
12645         reported by: Padraig O'Briain <padraig.obriain@sun.com>
12646
12647         * autogen.sh:
12648           replace test -e with test -x for mkinstalldirs to be more portable.
12649           (fixes #134816)
12650
12651 2004-02-22  Benjamin Otte  <otte@gnome.org>
12652
12653         * gst/gstpad.c:
12654           revert last patch from Andy, it makes gst_pad_can_link_filtered much
12655           too noisy
12656         * gst/gsttag.c: (_gst_tag_initialize):
12657         * gst/gsttag.h:
12658           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
12659         * libs/gst/control/dparam.c: (gst_dparam_attach):
12660         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
12661           check that types for attached dparams match
12662
12663 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12664
12665         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12666         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12667         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
12668           fix errors
12669
12670 2004-02-20  Andy Wingo  <wingo@pobox.com>
12671
12672         * gst/gstbin.c:
12673         * gst/gstbuffer.c:
12674         * gst/gstplugin.c:
12675         * gst/registries/gstxmlregistry.c: 
12676         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
12677
12678         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
12679         (gst_element_add_pad): DEBUG->INFO, some fixes.
12680         (gst_element_get_compatible_pad_template): Just see if the
12681         templates' caps intersect, not if one is a strict subset of the
12682         other. This conforms more to what gst_pad_link_intersect() does.
12683         (gst_element_class_add_pad_template): Don't memcpy the pad
12684         template, just ref it.
12685         (gst_element_get_compatible_pad_filtered): Clean up debug messages
12686
12687         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
12688         (gst_pad_link_filtered): Debug changes.
12689         (gst_pad_link_prepare): New function, consolidated from
12690         can_link_filtered and link_filtered.
12691
12692         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
12693         look more like that of the functions in gstelement.c
12694
12695         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
12696         object, and return the empty string if object is NULL.
12697
12698         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
12699         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
12700         LOG, not DEBUG. We still get flex info on debug.
12701
12702         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
12703         debug string more verbose.
12704         (plugin_times_older_than): DEBUG->LOG.
12705
12706 2004-02-20  Julien MOUTTE <julien@moutte.net>
12707
12708         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
12709         will emit found_tag for each stream they demux with the codec.
12710
12711 2004-02-20  Benjamin Otte  <otte@gnome.org>
12712
12713         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
12714           copy navigation event correctly. Check freeing tag lists. 
12715         * gst/gstthread.c: (gst_thread_change_state):
12716           don't abort() on state changing mess - it might happen because of
12717           bugs.
12718         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
12719           use boxed functions
12720         * gst/gstvalue.h:
12721           fix GST_VALUE_HOLDS_CAPS
12722
12723 2004-02-19  David Schleef  <ds@schleef.org>
12724
12725         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
12726         and use it for GST_FUNCTION.  (bug #134750)
12727
12728 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12729
12730         * po/fr.po:
12731         * po/nl.po:
12732           updating translations
12733
12734 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12735
12736         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
12737
12738 2004-02-18  kost@imn.htwk-leipzig.de
12739
12740         reviewed by: David Schleef  <ds@schleef.org>
12741
12742         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
12743         for libgstcontrol.
12744
12745 2004-02-18  David Schleef  <ds@schleef.org>
12746
12747         * libs/gst/control/dparam.c: (gst_dparam_class_init):
12748         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12749         (gst_dpsmooth_new): Additional fixes to get double dparams working.
12750         * tools/gst-inspect.c: (print_element_info): Support dumping of
12751         double dparam information.
12752
12753 2004-02-17  David Schleef  <ds@schleef.org>
12754
12755         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
12756         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
12757         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
12758         Use GST_TYPE_CAPS in signal prototype.
12759         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
12760         Convert GST_TYPE_CAPS to boxed.
12761         * gst/gstelement.c: (gst_element_class_init):
12762         Use GST_TYPE_TAG_LIST in signal prototype.
12763         * gst/gstindex.c: (gst_index_class_init):
12764         * gst/gstindex.h:
12765         Add GST_TYPE_INDEX_ENTRY type.
12766         * gst/gstmarshal.list:
12767         Add necessary marshal types.
12768         * gst/gstpad.c: (gst_real_pad_class_init),
12769         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
12770         (gst_pad_recover_caps_error):
12771         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
12772         * gst/gststructure.c: (_gst_structure_initialize),
12773         (gst_structure_copy), (_gst_structure_copy_conditional):
12774         * gst/gststructure.h:
12775         Convert GST_TYPE_STRUCTURE to boxed.
12776         * gst/gsttag.c: (gst_tag_list_get_type):
12777         * gst/gsttag.h:
12778         Add GST_TYPE_TAG_LIST type.
12779
12780 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12781
12782         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
12783         to what we agreed with david.
12784         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
12785
12786 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12787
12788         * po/nl.po: update translation
12789
12790 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12791
12792         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
12793           throw an error if spider is trying to play a mime type there is
12794           no decoder for
12795         * po/POTFILES.in:
12796           add gst/autoplug/gstspider.c for translation
12797
12798 2004-02-17  Julien MOUTTE  <julien@moutte.net>
12799
12800         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
12801         silently when the pad is negotiating.
12802
12803 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12804
12805         * docs/faq/Makefile.am:
12806           add script to run gstreamer uninstalled 
12807         * docs/faq/faq.xml:
12808         * docs/faq/developing.xml:
12809         * docs/faq/gst-uninstalled:
12810           extract script to run gstreamer uninstalled
12811         * docs/manuals.mak:
12812           add EXTRA_SOURCES variable for Makefile.am's to set to
12813           use additional SOURCE files for the doc build
12814
12815 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12816
12817         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
12818
12819 2004-02-15  Julien MOUTTE  <julien@moutte.net>
12820
12821         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
12822         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
12823         an error was thrown by osssink. Basically a state change failure for
12824         an element in a different scheduling group was considered as
12825         successful, which means that caps nego was going on and weird stuff
12826         happened. Like I wrote in the comment there, if someone wants to
12827         revert that please drop me a mail explaining why because I really see
12828         no point in keeping that broken behaviour there.
12829         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
12830         be empty, we then return NULL which will trigger a nice error when 
12831         pulling from the pad.
12832
12833 2004-02-13  David Schleef  <ds@schleef.org>
12834
12835         * libs/gst/control/dparam.c: (gst_dparam_class_init),
12836         (gst_dparam_get_property), (gst_dparam_set_property),
12837         (gst_dparam_do_update_default):
12838         * libs/gst/control/dparam.h:
12839         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
12840         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
12841         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
12842         (gst_dpsmooth_do_update_double):
12843         * libs/gst/control/dparam_smooth.h:
12844         * libs/gst/control/dparammanager.c:
12845         (gst_dpman_inline_direct_update):
12846         Add support for double dparams.
12847
12848 2004-02-13  David Schleef  <ds@schleef.org>
12849
12850         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
12851         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
12852
12853 2004-02-13  Mattias Wadman  <mattias@sudac.org>
12854
12855         reviewed by: David Schleef  <ds@schleef.org>
12856
12857         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12858         (gst_fdsrc_init), (gst_fdsrc_set_property),
12859         (gst_fdsrc_get_property), (gst_fdsrc_get):
12860         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
12861         and sends an EOS event if file descriptor reading times out.
12862
12863 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12864
12865         * configure.ac:
12866           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
12867
12868 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12869
12870         * configure.ac: pass required libxml version as argument
12871         (bug reported by Christophe Fergeau)
12872
12873 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12874   
12875         * docs/gst/gstreamer-docs.sgml:
12876         * docs/gst/tmpl/gstxml.sgml:
12877         * docs/libs/gstreamer-libs-docs.sgml:
12878           version API docs
12879
12880 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12881
12882         * gst/gstinfo.c:
12883         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
12884         (gst_registry_pool_feature_filter):
12885         * gst/gstthread.c: (gst_thread_class_init):
12886         * gst/gstvalue.c:
12887           add includes exposed by building without libxml
12888         * gst/indexers/Makefile.am:
12889           do not build fileindex when LOADSAVE disabled; we should have
12890           a better libxml check later since fileindex depends on xml, not
12891           LOADSAVE or REGISTRY
12892         * libs/gst/control/Makefile.am:
12893           link with m
12894         * tools/Makefile.am:
12895           fix wrong source code for gst-xmlinspect
12896
12897 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12898
12899         * configure.ac:
12900           fix gcov help output
12901           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
12902         * docs/random/release:
12903           some updated releasing notes
12904         * gstreamer.spec.in:
12905           more updates
12906
12907 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12908
12909         * docs/faq/faq.xml:
12910         * docs/manual/manual.xml:
12911         * docs/pwg/pwg.xml:
12912         * docs/pwg/titlepage.xml:
12913           put version in documentation
12914
12915 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12916
12917         * tools/Makefile.am: fix man page installation
12918
12919 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12920
12921         * configure.ac:
12922           don't check for libxml when load/save and registry disabled (#105844)
12923         * gstreamer.spec.in:
12924           sync with fedora candidate spec
12925
12926 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12927
12928         * po/fr.po:
12929         * po/nl.po:
12930           replace multidisksrc with multifilesrc
12931
12932 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12933
12934         * po/POTFILES.in:
12935           update to multidisksrc => multifilesrc file renaming (#134145)
12936
12937 2004-02-11  David Schleef  <ds@schleef.org>
12938
12939         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
12940         * docs/gst/tmpl/gstpadtemplate.sgml: same
12941         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
12942         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
12943         fixing dance.
12944         * gst/gstutils.c: Remove disabled code that uses GstProps.
12945         * gst/registries/gstxmlregistry.h: same
12946         * docs/random/ds/0.9-suggested-changes: random notes
12947
12948 2004-02-11  kost@imn.htwk-leipzig.de
12949
12950         reviewed by: David Schleef  <ds@schleef.org>
12951
12952         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
12953         initialisation of clock (bug #134128)
12954
12955 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12956
12957         * configure.ac:
12958         * gst/elements/Makefile.am:
12959         * gst/elements/gstelements.c:
12960         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
12961         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
12962         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
12963         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
12964         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
12965         * gst/elements/gstmultifilesrc.h:
12966           rename multidisksrc to multifilesrc (part of #122200)
12967
12968 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12969
12970         * docs/manuals.mak:
12971           fix automake complaints
12972         * gst-element-check.m4:
12973           fix unquotedness
12974
12975 2004-02-11  David Schleef  <ds@schleef.org>
12976
12977         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
12978         * gst/gstatomic_impl.h: Disable sparc implementation.
12979
12980 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12981
12982         * gst-element-check.m4:
12983           fix underquoted macros as reported by automake 1.8.x (#133800)
12984         * configure.ac:
12985           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
12986           by autopoint (fixes #132996)
12987
12988 2004-02-10  Andy Wingo  <wingo@pobox.com>
12989
12990         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
12991         way to do inheritance.
12992         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
12993         (gst_pad_get_query_types, gst_pad_get_query_types_default):
12994         Routine docs.
12995         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
12996         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
12997         doc.
12998         (gst_pad_unlink, gst_pad_is_linked): Docs.
12999         (gst_pad_renegotiate): A brief description of capsnego.
13000         (gst_pad_try_set_caps): Document.
13001         (gst_pad_try_set_caps_nonfixed): Document.
13002         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
13003         (gst_pad_set_parent): Deprecated (although not out of the API).
13004         (gst_pad_get_parent): Deprecated, although many plugins use this.
13005         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
13006         are private and will go away in 0.9.
13007         (gst_pad_perform_negotiate): Doc.
13008         (gst_pad_link_unnegotiate): I think this is meant to be static.
13009         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
13010         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
13011         (gst_pad_get_peer): Doc updates.
13012         (gst_pad_caps_change_notify): Doc.
13013         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
13014         (gst_ghost_pad_new): Doc fixes.
13015
13016         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
13017         (gst_object_check_uniqueness): 
13018
13019         * gst/gstelement.c (gst_element_add_pad) 
13020         (gst_element_add_ghost_pad, gst_element_remove_pad) 
13021         (gst_element_remove_ghost_pad, gst_element_get_pad) 
13022         (gst_element_get_static_pad, gst_element_get_pad_list) 
13023         (gst_element_class_get_pad_template_list) 
13024         (gst_element_class_get_pad_template): Work on the docs.
13025         (gst_element_get_pad_template_list): Uses the class method.
13026         (gst_element_get_compatible_pad_template): Docs, and consolidate
13027         some test conditions. 
13028         (gst_element_get_pad_from_template): New static function.
13029         (gst_element_request_compatible_pad): Docs, and work with
13030         non-request compatible templates. 
13031         (gst_element_get_compatible_pad_filtered): Docs and remove
13032         redundant checks.
13033         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
13034         (gst_element_link_filtered, gst_element_link_many) 
13035         (gst_element_link, gst_element_link_pads) 
13036         (gst_element_unlink_many): Docs.
13037
13038 2004-02-05  Andy Wingo  <wingo@pobox.com>
13039
13040         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
13041         s/pointer/boxed/.
13042
13043         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
13044
13045         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
13046         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
13047         with the type=GST_TYPE_CAPS. This allows language bindings to know
13048         what kind of data they're dealing with.
13049
13050         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
13051         to NULL when g_value_init is called. GstCaps, which rolls its own
13052         type implementation, now does the same instead of allocating empty
13053         caps.
13054         (_gst_caps_initialize, _gst_caps_collect_value,
13055         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
13056         table methods. This allows G_VALUE_COLLECT to work.
13057
13058 2004-02-05  Andy Wingo  <wingo@pobox.com>
13059
13060         * configure.ac:
13061         * testsuite/Makefile.am (SUBDIRS): 
13062         * testsuite/ghostpads/Makefile.am: 
13063         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
13064
13065         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
13066         These two routines are the only ones that set
13067         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
13068         pad template. They should be made static, depending on ABI needs.
13069         (gst_real_pad_dispose): Handle the case of ghost pads without a
13070         parent. Assert after dealing with ghost pads that the ghost pad
13071         list is empty.
13072         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
13073         set after creation.
13074         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
13075         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
13076         functions. set_property will call add_ghost_pad/remove_ghost_pad
13077         as appropriate.
13078         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
13079
13080         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
13081         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
13082         (gst_element_remove_pad): Handle ghost pads as well.
13083         (gst_element_remove_ghost_pad): Deprecated (could be removed,
13084         depending on API-stability needs).
13085
13086 2004-02-05  Andy Wingo  <wingo@pobox.com>
13087
13088         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
13089         of course they're const
13090
13091 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13092
13093         * tools/Makefile.am:
13094         * tools/gst-feedback:
13095         * tools/gst-feedback-0.7:
13096           make gst-feedback versioned too for consistency
13097
13098 2004-02-11  David Schleef  <ds@schleef.org>
13099
13100         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
13101         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
13102
13103 2004-02-10  Julien MOUTTE <julien@moutte.net>
13104
13105         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
13106         the structure does not contain a valid tag list. Adding a safety check
13107         to remove a noisy warning in that case.
13108
13109 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13110
13111         * gst/gst.c: fix name to be in line with others
13112
13113 2004-02-09  Julien MOUTTE <julien@moutte.net>
13114
13115         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
13116         not shout that loud when len is 0. Just return 0 silently.
13117
13118 2004-02-09  Julien MOUTTE  <julien@moutte.net>
13119
13120         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
13121         because data_unref has one and I prefer the debug to be symetric.
13122         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
13123         were refed when added to the queue and unrefed only once when the queue
13124         was flushed. Now the flush handler unref the buffers two times : first
13125         unref for the ref added when pushing in the queue's tail and second
13126         unref to destroy the flushed buffer.
13127
13128 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13129
13130         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
13131
13132 2004-02-06  David Schleef  <ds@schleef.org>
13133
13134         * docs/random/ds/0.9-suggested-changes: Random ramblings
13135         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
13136         to int before printing.
13137         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
13138         * gst/parse/parse.l: same.  See bug #129600
13139
13140 2004-02-06  David Schleef  <ds@schleef.org>
13141
13142         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
13143         (gst_index_add_entry), (gst_index_add_associationv),
13144         (gst_index_add_association): Add gst_index_add_associationv()
13145         and clean up gst_index_add_association(). #127133
13146
13147 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13148
13149         * autogen.sh: check out common with right tag if CVS/Tag exists
13150
13151 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13152
13153         * testsuite/ghostpads/ghostpads.c: (main):
13154           fix testsuite from segfaulting
13155
13156 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13157
13158         * Makefile.am: add release target
13159         * configure.ac: bump nano to 1
13160         * docs/random/release:
13161
13162 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13163
13164         * gst/gstcaps.h:
13165         * gst/gstelement.c: (gst_element_base_class_init),
13166         (gst_element_class_set_details), (gst_element_clear_pad_caps):
13167         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
13168         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
13169         (gst_real_pad_dispose):
13170         * gst/gststructure.c: (gst_structure_free),
13171         (gst_structure_from_string):
13172           put reverted patch back in
13173         * gst/gstelement.c: (gst_element_remove_pad):
13174           free explicit caps if they're set
13175         * gst/gstpad.c: (_gst_pad_default_fixate_func):
13176           copy the structure when fixating
13177
13178 2004-02-05  David Schleef  <ds@schleef.org>
13179
13180         * gst/gstmarshal.list:
13181         * gst/gstpad.c: (gst_real_pad_class_init),
13182         (_gst_real_pad_fixate_accumulator):
13183         Revert POINTER->BOXED change in signal marshaller.
13184
13185 === release 0.7.4 ===
13186                                                                                 
13187 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13188                                                                                 
13189         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
13190         * configure.ac: changed for release
13191
13192 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13193
13194         * gstreamer.spec.in:
13195           bump required version of gtk-doc
13196
13197 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13198
13199         * gst/gstcaps.h:
13200         * gst/gstelement.c: (gst_element_base_class_init),
13201         (gst_element_class_set_details), (gst_element_clear_pad_caps):
13202         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
13203         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
13204         (gst_real_pad_dispose):
13205         * gst/gststructure.c: (gst_structure_free),
13206         (gst_structure_from_string):
13207           revert patch that breaks applications, reapply after release
13208           to get this fixed properly
13209
13210 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13211
13212         * gst/gsttag.c: (_gst_tag_initialize):
13213         * gst/gsttag.h:
13214           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
13215
13216 2004-02-04  David Schleef  <ds@schleef.org>
13217
13218         Fix some memleaks:
13219         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
13220         (gst_spider_plug_from_srcpad):
13221         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
13222
13223 2004-02-04  David Schleef  <ds@schleef.org>
13224
13225         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
13226         a GstRealPad before accessing its structure members.
13227
13228 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13229
13230         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
13231         (gst_clock_get_speed):
13232         * gst/gstclock.h:
13233           reset padding, remove unused fields
13234
13235 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13236
13237         * gst/autoplug/gstspideridentity.c:
13238         (gst_spider_identity_sink_loop_type_finding):
13239           use get_allowed_caps, not get_caps (fixes #132519)
13240         * gst/elements/gsttypefind.c: (stop_typefinding):
13241           use correct order when sending buffers and seeking
13242
13243 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13244
13245         * configure.ac:
13246         * gst/gstelement.h:
13247         * gst/gstpad.h:
13248         * gst/gstqueue.h:
13249           upgrade libtool CURRENT, reset padding
13250
13251 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13252
13253         * configure.ac:
13254           bump to prerelease
13255           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
13256
13257 2004-02-04  David Schleef  <ds@schleef.org>
13258
13259         * docs/random/ds/0.9-suggested-changes: random notes
13260         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
13261         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
13262         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
13263         expansion.
13264         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
13265         (gst_filesink_get_query_types): same
13266         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
13267         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
13268         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
13269         to use new GST_PTR_FORMAT.
13270         * gst/gstelement.h: deprecate function factory macros
13271         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
13272         These are our last variadic macros that can't be replaced with
13273         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
13274         attempting to deprecate gst_element_clock_wait().
13275         * gst/gstevent.h: same
13276         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
13277         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
13278         * gst/gstpad.h: deprecate function factory macros similar to above.
13279
13280 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
13281
13282         * configure.ac:
13283         * tools/Makefile.am:
13284         * tools/gst-run.c: (popt_callback), (hash_print_key),
13285         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
13286         (get_candidates), (main):
13287           add new source file to generate non-versioned wrapper binaries
13288           for our tools.
13289
13290 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13291
13292         * gst/gstevent.c: (_gst_event_free):
13293           actually break; inside the switch statement
13294         * gst/parse/grammar.y:
13295           fix memleak where GValues weren't unset
13296
13297 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13298
13299         * gst/gststructure.c: (gst_structure_from_string):
13300           fix huge memleak
13301         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
13302         (new_entry), (gst_type_find_element_chain):
13303         * gst/gstelement.c: (gst_element_base_class_init),
13304         (gst_element_class_set_details):
13305         * gst/gstpad.c: (gst_pad_can_link_filtered):
13306           fix smaller memleaks
13307         * gst/gstpad.c: (gst_real_pad_dispose):
13308           check that explicit caps are gone
13309         * gst/gststructure.c: (gst_structure_free):
13310           actually free the structure
13311         * gst/gstelement.c: (gst_element_clear_pad_caps):
13312           unset explicit caps
13313
13314 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13315
13316         * tools/Makefile.am:
13317           use AM_CFLAGS since all the CFLAGS are the same
13318           use AM_LDFAGS
13319
13320 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13321
13322         * docs/manual/gnome.xml:
13323           expand example a little
13324         * gst/gst.c: (gst_init_with_popt_table),
13325         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
13326           make sure popt option displays are done with right textdomain
13327           use GstPoptOption type
13328         * gst/gst.h:
13329           create GstPoptOption type
13330
13331 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13332
13333         * gst/gsterror.c: (_gst_stream_errors_init):
13334         * gst/gsterror.h:
13335           adding error type for no codec
13336         * po/POTFILES.in:
13337           add gst-inspect
13338         * po/nl.po:
13339           update dutch translation
13340         * tools/gst-inspect.c: (print_element_list), (main):
13341           do proper internationalization
13342         * tools/gst-launch.c: (idle_func):
13343           remove commented out function call
13344
13345 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13346
13347         * docs/README:
13348           add some error fixing notes
13349         * docs/gst/gstreamer-sections.txt:
13350           remove double entries
13351         * docs/gst/tmpl/gstbin.sgml:
13352         * docs/gst/tmpl/gstclock.sgml:
13353           remove override
13354         * docs/gst/tmpl/gstelement.sgml:
13355         * docs/gst/tmpl/gstindex.sgml:
13356         * docs/gst/tmpl/gstobject.sgml:
13357         * docs/gst/tmpl/gstpadtemplate.sgml:
13358         * docs/gst/tmpl/gstreamer-unused.sgml:
13359         * docs/gst/tmpl/gsttag.sgml:
13360         * docs/gst/tmpl/gstthread.sgml:
13361         * docs/gst/tmpl/gstxml.sgml:
13362         * gst/gsttag.h:
13363           sync header prototypes with c decls
13364         * gst/gsttaginterface.c:
13365           fix doc headers
13366
13367 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13368
13369         * gst/parse/Makefile.am:
13370         * gst/gstobject.h:
13371           get rid of gstmarshal.h dependency. It's not needed.
13372         * gst/gst.h:
13373         * gst/elements/gstfakesink.c:
13374         * gst/elements/gstfakesrc.c:
13375         * gst/elements/gstidentity.c:
13376         * gst/gstbin.c:
13377         * gst/gstelement.c:
13378         * gst/gstindex.c:
13379         * gst/gstobject.c:
13380         * gst/gstpad.c:
13381         * gst/gstthread.c:
13382         * gst/gstxml.c:
13383         * libs/gst/control/dparam.c:
13384         * libs/gst/control/dparammanager.c:
13385           include gstmarshal.h.
13386         Fixes #132045
13387
13388 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13389
13390         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13391         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
13392         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
13393         * gst/elements/gstfilesrc.h:
13394           don't ref the filesrc when creating mmaped buffers. Don't keep a
13395           list of not-yet-destroyed buffers.
13396         * gst/gstbuffer.h:
13397           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
13398
13399 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13400
13401         * gst/gst.c: (init_pre):
13402           remove textdomain
13403
13404 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13405
13406         * docs/pwg/advanced-events.xml:
13407         * docs/pwg/advanced-scheduling.xml:
13408         * docs/pwg/intro-basics.xml:
13409         * docs/pwg/other-manager.xml:
13410         * docs/pwg/other-nton.xml:
13411         * docs/pwg/other-ntoone.xml:
13412         * docs/pwg/other-oneton.xml:
13413         * docs/pwg/pwg.xml:
13414           All sort of documentation... Forgot what. Point is that I want this
13415           in before I leave. The 'other-*' will be the last section and will
13416           explain issues specific to these type of elements.
13417
13418 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13419
13420         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13421         (gst_filesrc_get_read):
13422           set all the values on buffers that we can
13423
13424 2004-02-02  David Schleef  <ds@schleef.org>
13425
13426         Change usage of isblah() to g_ascii_isblah() to be more locale
13427         independent.  (#133076)
13428         * gst/gsturi.c: (gst_uri_protocol_check_internal):
13429         * gst/gstutils.c:
13430         * gst/parse/parse.l:
13431
13432 2004-02-02  Jon Trowbridge  <trow@gnu.org>
13433
13434         reviewed by: David Schleef  <ds@schleef.org>
13435
13436         Fix memory leaks:
13437         * gst/gstcaps.c: (gst_caps_to_string):
13438         * gst/registries/gstxmlregistry.c:
13439         (gst_xml_registry_add_path_list_func),
13440         (gst_xml_registry_parse_padtemplate):
13441
13442 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13443
13444         * gst/gstelement.c: (gst_element_default_error):
13445           suffix error messages with period
13446
13447 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13448
13449         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
13450         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13451         * gst/gsterror.c: (gst_error_get_message):
13452           Suffix with dots
13453         * po/fr.po:
13454         * po/nl.po:
13455           Update translation files
13456
13457 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13458
13459         * gst/autoplug/gstspideridentity.c:
13460         (gst_spider_identity_sink_loop_type_finding):
13461         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13462         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13463         (gst_filesink_close_file), (gst_filesink_handle_event),
13464         (gst_filesink_chain):
13465         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13466         (gst_filesrc_get_read), (gst_filesrc_open_file):
13467         * gst/elements/gstidentity.c: (gst_identity_chain):
13468         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13469         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13470         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13471         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13472         * gst/gsterror.c: (_gst_core_errors_init),
13473         (_gst_library_errors_init), (_gst_resource_errors_init),
13474         (_gst_stream_errors_init), (gst_error_get_message):
13475         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13476         (gst_pad_recover_caps_error), (gst_pad_pull):
13477         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13478         * gst/schedulers/gstbasicscheduler.c:
13479         (gst_basic_scheduler_chainhandler_proxy),
13480         (gst_basic_scheduler_gethandler_proxy),
13481         (gst_basic_scheduler_cothreaded_chain):
13482           Suffix error messages with period.
13483           Use (NULL) instead of NULL
13484
13485 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13486
13487         * docs/gst/tmpl/gstelement.sgml:
13488         * docs/gst/tmpl/gstxml.sgml:
13489         * gst/gstelement.c: (gst_element_error_full):
13490           add element path to error
13491
13492 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13493
13494         * docs/random/mimetypes:
13495           update raw int/float info
13496         * gst/gsttag.c: (_gst_tag_initialize):
13497         * gst/gsttag.h:
13498           add GST_TAG_ENCODER
13499
13500 2004-01-30  David Schleef  <ds@schleef.org>
13501
13502         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
13503           missing (#132991)
13504
13505 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
13506
13507         reviewed by Benjamin Otte 
13508           parts of the patch submitted in bug #113913
13509
13510         * configure.ac:
13511           use AC_C_INLINE. Use = instead of == with test
13512         * examples/plugins/example.c:
13513         * gst/autoplug/gstspideridentity.c:
13514         * gst/elements/gstfdsrc.c:
13515         * gst/elements/gstfilesrc.c:
13516         * gst/elements/gstidentity.c:
13517         * gst/elements/gstmultidisksrc.c:
13518         * gst/elements/gststatistics.c:
13519         * gst/gstelement.c:
13520         * gst/gstobject.c:
13521         * gst/gstpad.c:
13522         * gst/gstpipeline.c:
13523         * gst/gstthread.c:
13524           don't end enums with a comma
13525         * gst/gstindex.c: (gst_index_compare_func):
13526           do explicit casting to gint
13527         * gst/gsttrace.c: (gst_trace_text_flush):
13528           #define strsize as a macro
13529
13530 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
13531
13532         * docs/README:
13533         * docs/gst/gstreamer-docs.sgml:
13534         * docs/gst/gstreamer-sections.txt:
13535         * docs/gst/tmpl/gstelement.sgml:
13536         * docs/gst/tmpl/gsterror.sgml:
13537         * docs/gst/tmpl/gstinterface.sgml:
13538         * docs/gst/tmpl/gstreamer-unused.sgml:
13539         * docs/gst/tmpl/gststructure.sgml:
13540         * docs/gst/tmpl/gsttag.sgml:
13541         * docs/gst/tmpl/gsttaginterface.sgml:
13542         * docs/gst/tmpl/gstvalue.sgml:
13543         make sure all API ends up in the built docs
13544         * gst/gstinterface.c:
13545         * gst/gststructure.c: (gst_structure_id_set_value),
13546         (gst_structure_set_value), (gst_structure_id_get_value):
13547         * gst/gststructure.h:
13548         * gst/gstvalue.h:
13549         sync .h with .c declarations
13550
13551 2004-01-30  Julien Moutte  <julien@moutte.net>
13552
13553         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
13554         Ronald will fix riffread.
13555
13556 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13557
13558         * docs/pwg/advanced-interfaces.xml:
13559           Added tuner interface docs.
13560
13561 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13562
13563         * docs/random/mimetypes:
13564           correct Theora information
13565         * gst/gstelement.h:
13566           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
13567
13568 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13569
13570         * gst/gstelement.c: (gst_element_error_full):
13571         * gst/gstelement.h:
13572           GST_ELEMENT_ERROR in enum -> _IN_ERROR
13573
13574 2004-01-29  Julien MOUTTE  <julien@moutte.net>
13575
13576         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
13577         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
13578         again and even before DISCONT.
13579         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
13580         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
13581         bytestream so that it's not stopping to fill the bytestream if events
13582         different than EOS or DISCONT are received. Instead it process them so
13583         that they go downstream.
13584
13585 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13586
13587         * docs/gst/tmpl/gstelement.sgml:
13588         * docs/gst/tmpl/gstreamer-unused.sgml:
13589         * docs/gst/tmpl/gstxml.sgml:
13590         * gst/autoplug/gstspideridentity.c:
13591         (gst_spider_identity_sink_loop_type_finding):
13592         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
13593         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
13594         (gst_filesink_close_file), (gst_filesink_handle_event),
13595         (gst_filesink_chain):
13596         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
13597         (gst_filesrc_get_read), (gst_filesrc_open_file):
13598         * gst/elements/gstidentity.c: (gst_identity_chain):
13599         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
13600         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
13601         (gst_pipefilter_chain), (gst_pipefilter_open_file):
13602         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13603         * gst/gstelement.h:
13604         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13605         (gst_pad_recover_caps_error), (gst_pad_pull):
13606         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
13607         * gst/schedulers/gstbasicscheduler.c:
13608         (gst_basic_scheduler_chainhandler_proxy),
13609         (gst_basic_scheduler_gethandler_proxy),
13610         (gst_basic_scheduler_cothreaded_chain):
13611           gst_element_error -> GST_ELEMENT_ERROR
13612
13613 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13614
13615         * docs/Makefile.am:
13616         * docs/gst/tmpl/gstelement.sgml:
13617         * docs/gst/tmpl/gstxml.sgml:
13618         * docs/manuals.mak:
13619         * docs/pwg/advanced-request.xml:
13620         * docs/pwg/advanced-scheduling.xml:
13621         * docs/pwg/advanced-tagging.xml:
13622           fix non-validating docbook using CDATA
13623           make sure make check-local gets run first to check if it validates
13624
13625 2004-01-29  Julien MOUTTE <julien@moutte.net>
13626
13627         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
13628         handling (up and downstream).
13629         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
13630         my_filter thing.
13631
13632 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13633
13634         * docs/pwg/advanced-tagging.xml:
13635           Add docs about tag writing.
13636
13637 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13638
13639         * docs/pwg/advanced-tagging.xml:
13640           Add a part about tag reading and application signalling... Tag
13641           writing still needs to be documented.
13642         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13643           We can set file locations in READY, too.
13644
13645 2004-01-29  Julien MOUTTE <julien@moutte.net>
13646
13647         * docs/random/ds/element-checklist: Adding some notes about src
13648         events.
13649
13650 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13651
13652         * docs/random/mimetypes:
13653           Update docs to point to correct elements for various mimetypes, and
13654           some more errors pointed out by St??phane LOEUILLET (aka LeRoutier)
13655           <stephane.loeuillet@tiscali.fr>.
13656
13657 2004-01-28  David Schleef  <ds@schleef.org>
13658
13659         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
13660
13661 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13662
13663         * docs/random/mimetypes:
13664           update docs for audio/x-raw-float. Add "buffer-frames=0 means
13665           undefined"
13666         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
13667           make it only work in NULL.
13668         * gst/gstcaps.c:
13669           don't posion NULL caps
13670         * gst/gstelement.c: (gst_element_set_time):
13671           add debugging statement
13672         * gst/gstelement.c: (gst_element_emit_found_tag),
13673         (gst_element_found_tag_func), (gst_element_found_tags):
13674         * gst/gstelement.h:
13675           These functions take const taglists
13676         * gst/gstpad.c: (gst_pad_proxy_getcaps):
13677           fix memleak
13678         * gst/gstpad.c: (gst_pad_event_default):
13679           make more effort on handling discont and clocks, g_warn if everything
13680           fails
13681         * gst/gststructure.c: (gst_structure_remove_fields),
13682         (gst_structure_remove_fields_valist):
13683         * gst/gststructure.h:
13684           add gst_structure_remove_fields(_valist)
13685         * gst/gsttag.c:
13686           fix doc glitch
13687
13688 2004-01-28  David Schleef  <ds@schleef.org>
13689
13690         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
13691         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
13692         Fix memory leakage of gst_caps_to_string().
13693
13694         Use GST_PTR_FORMAT instead of gst_caps_to_string():
13695         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
13696         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
13697         (gst_spider_identity_sink_loop_type_finding):
13698         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
13699         (find_suggest):
13700         * gst/gstpad.c: (gst_pad_try_relink_filtered),
13701         (gst_pad_set_explicit_caps):
13702         * gst/parse/grammar.y:
13703
13704 2004-01-28  David Schleef  <ds@schleef.org>
13705
13706         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
13707         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
13708         * docs/random/ds/0.9-suggested-changes: Notes from Company.
13709         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
13710         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
13711         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
13712         (gst_debug_log_default), (_gst_info_printf_extension),
13713         (_gst_info_printf_extension_arginfo):  Add printf extension.
13714         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
13715         * gst/gststructure.c: (gst_structure_to_string),
13716         (_gst_structure_parse_value): Use gst_value_deserialize() and
13717         remove old code.
13718         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
13719         (gst_value_deserialize_boolean), (gst_strtoi),
13720         (gst_value_deserialize_int), (gst_value_deserialize_double),
13721         (gst_value_deserialize_string), (gst_value_deserialize): Implement
13722         a bunch of deserialize functions and gst_value_deserialize.
13723         * gst/gstvalue.h: er, _de_serialize, not unserialize
13724         * testsuite/caps/string-conversions.c: (main): We don't currently
13725         handle (float) in caps, so convert these to (double).
13726         * testsuite/debug/Makefile.am: Add new test for the printf extension
13727         * testsuite/debug/printf_extension.c: (main): same
13728
13729 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13730
13731         * docs/random/company/time:
13732           Add some docs about clocking and time
13733
13734 2004-01-28  Julien MOUTTE <julien@moutte.net>
13735
13736         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
13737
13738 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13739
13740         * docs/pwg/advanced-clock.xml:
13741         * docs/pwg/advanced-dparams.xml:
13742         * docs/pwg/advanced-events.xml:
13743         * docs/pwg/advanced-interfaces.xml:
13744         * docs/pwg/advanced-midi.xml:
13745         * docs/pwg/advanced-request.xml:
13746         * docs/pwg/advanced-scheduling.xml:
13747         * docs/pwg/advanced-tagging.xml:
13748         * docs/pwg/advanced-types.xml:
13749         * docs/pwg/appendix-checklist.xml:
13750         * docs/pwg/building-boiler.xml:
13751         * docs/pwg/building-chainfn.xml:
13752         * docs/pwg/building-filterfactory.xml:
13753         * docs/pwg/building-pads.xml:
13754         * docs/pwg/building-props.xml:
13755         * docs/pwg/building-signals.xml:
13756         * docs/pwg/building-state.xml:
13757         * docs/pwg/building-testapp.xml:
13758         * docs/pwg/intro-basics.xml:
13759         * docs/pwg/intro-preface.xml:
13760         * docs/pwg/other-autoplugger.xml:
13761         * docs/pwg/other-sink.xml:
13762         * docs/pwg/other-source.xml:
13763         * docs/pwg/titlepage.xml:
13764           fix up id's
13765
13766 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13767
13768         * docs/95NonPath:
13769         * docs/HACKING:
13770         * docs/README:
13771         * docs/building-the-docs-on-debian:
13772           collect relevant bits of doc info
13773
13774 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13775
13776         * docs/pwg/advanced_tagging.xml:
13777           Half-assed commit so Thomas can re-arrange document IDs here to be
13778           consistent, too.
13779
13780 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13781
13782         * docs/manual/autoplugging.xml:
13783         * docs/manual/bins-api.xml:
13784         * docs/manual/bins.xml:
13785         * docs/manual/buffers-api.xml:
13786         * docs/manual/buffers.xml:
13787         * docs/manual/clocks.xml:
13788         * docs/manual/components.xml:
13789         * docs/manual/cothreads.xml:
13790         * docs/manual/debugging.xml:
13791         * docs/manual/dparams-app.xml:
13792         * docs/manual/dynamic.xml:
13793         * docs/manual/elements-api.xml:
13794         * docs/manual/elements.xml:
13795         * docs/manual/factories.xml:
13796         * docs/manual/gnome.xml:
13797         * docs/manual/goals.xml:
13798         * docs/manual/helloworld.xml:
13799         * docs/manual/helloworld2.xml:
13800         * docs/manual/init-api.xml:
13801         * docs/manual/intro.xml:
13802         * docs/manual/links-api.xml:
13803         * docs/manual/links.xml:
13804         * docs/manual/manual.xml:
13805         * docs/manual/motivation.xml:
13806         * docs/manual/pads-api.xml:
13807         * docs/manual/pads.xml:
13808         * docs/manual/plugins-api.xml:
13809         * docs/manual/plugins.xml:
13810         * docs/manual/programs.xml:
13811         * docs/manual/queues.xml:
13812         * docs/manual/quotes.xml:
13813         * docs/manual/schedulers.xml:
13814         * docs/manual/states-api.xml:
13815         * docs/manual/states.xml:
13816         * docs/manual/threads.xml:
13817         * docs/manual/typedetection.xml:
13818         * docs/manual/xml.xml:
13819           use chapter, part, section or misc as id starts for all bits
13820
13821 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13822
13823         * docs/gst/gstreamer-sections.txt:
13824           Fix up TITLE of the sections
13825
13826 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13827
13828         * docs/pwg/advanced_interfaces.xml:
13829           Add documentation on propertyprobing.
13830         * docs/pwg/advanced_events.xml:
13831         * docs/pwg/advanced_tagging.xml:
13832         * docs/pwg/building_boiler.xml:
13833         * docs/pwg/building_filterfactory.xml:
13834         * docs/pwg/pwg.xml:
13835           Move filterfactory and tagging into their own chapter, add a chapter
13836           on events. all these are empty placeholders that will be filled in
13837           some day.
13838
13839 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13840
13841         * docs/pwg/advanced_interfaces.xml:
13842           Docs for mixer interface. Also a check for website uploading.
13843
13844 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13845
13846         * docs/HACKING:
13847         * docs/Makefile.am:
13848         * docs/faq/Makefile.am:
13849         * docs/gst/Makefile.am:
13850         * docs/gst/tmpl/gstelement.sgml:
13851         * docs/gst/tmpl/gstplugin.sgml:
13852         * docs/gst/tmpl/gstreamer-unused.sgml:
13853         * docs/libs/Makefile.am:
13854         * docs/manual/Makefile.am:
13855         * docs/manuals.mak:
13856         * docs/pwg/Makefile.am:
13857         * docs/upload.mak:
13858           Separate out upload target and make it similar for
13859           both docbook and gtk-doc docs
13860
13861 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13862
13863         * docs/manuals.mak:
13864           Fix upload target to work with freedesktop
13865
13866 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13867
13868         * docs/pwg/advanced_types.xml:
13869           Add notes on creating your own types.
13870         * docs/pwg/building_boiler.xml:
13871         * docs/pwg/building_pads.xml:
13872         * docs/pwg/building_state.xml:
13873           Add some stuff about how to retrieve values from structures, how
13874           that relates to types and change layout slightly again to be almost
13875           perfect.
13876
13877 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13878
13879         * docs/pwg/advanced_dparams.xml:
13880         * docs/pwg/advanced_scheduling.xml:
13881           Change index layout slightly.
13882
13883 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13884
13885         * docs/pwg/advanced_clock.xml:
13886         * docs/pwg/advanced_interfaces.xml:
13887         * docs/pwg/advanced_midi.xml:
13888           General placeholders for now.
13889         * docs/pwg/advanced_request.xml:
13890           Explanation about sometimes and request pads.
13891         * docs/pwg/advanced_scheduling.xml:
13892           Concept of bytestream, loopfunctions and schedulers.
13893         * docs/pwg/building_boiler.xml:
13894           Add something about plugin-init.
13895
13896 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13897
13898         * docs/pwg/building_pads.xml:
13899           Fix broken docbook
13900
13901 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13902
13903         * docs/pwg/advanced_interfaces.xml:
13904         * docs/pwg/pwg.xml:
13905           Add as a placeholder for future filling-in.
13906         * docs/pwg/basics_autoplugging.xml:
13907         * docs/pwg/basics_buffers.xml:
13908         * docs/pwg/basics_elements.xml:
13909         * docs/pwg/basics_events.xml:
13910         * docs/pwg/basics_plugins.xml:
13911         * docs/pwg/basics_types.xml:
13912           Remove, because unused (this is all in intro_basics.xml).
13913         * docs/pwg/building_signals.xml:
13914           Short intro to signals + reference to GObject docs - we really
13915           shouldn't go into these sort of things to deply because we don't
13916           use them that extensively anyway.
13917         * docs/pwg/building_state.xml:
13918           Explanation of states. Benjamin, please check.
13919         * docs/pwg/building_testapp.xml:
13920           Put everything in one page - putting only a few lines of content
13921           per page doesn't really make sense.
13922
13923           Time to get into the advanced topics. ;).
13924
13925 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13926
13927         * docs/pwg/advanced_types.xml:
13928           Finish documenting the current state of mimetypes.
13929         * docs/pwg/building_boiler.xml:
13930         * docs/pwg/building_chainfn.xml:
13931         * docs/pwg/building_pads.xml:
13932         * docs/pwg/building_props.xml:
13933         * docs/pwg/building_testapp.xml:
13934           Start documenting the "how to build a simple audio filter" part
13935           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
13936           states and (maybe?) a short introduction to capsnego in the chapter
13937           on pads (building_pads.xml). Capsnego should probably be explained
13938           fully in advanced_capsnego.xml or so.
13939
13940 2004-01-26  David Schleef  <ds@schleef.org>
13941
13942         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
13943         * gst/gstpad.h: Add new function to allow element to (somewhat)
13944         specify non-fixed caps on a pad.
13945         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
13946         that I added a few weeks ago.
13947
13948 2004-01-26  David Schleef  <ds@schleef.org>
13949
13950         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
13951           making try_set_caps() work with non-fixed caps.
13952
13953 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13954
13955         * docs/pwg/advanced_types.xml:
13956         * docs/pwg/intro_basics.xml:
13957         * docs/pwg/intro_preface.xml:
13958         * docs/pwg/pwg.xml:
13959         * docs/pwg/titlepage.xml:
13960           First try to resurrect the PWG. I'm halfway integrating the mimetypes
13961           in here (docs/random/mimetypes), and will from there on work on both
13962           updating outdated parts and adding missing parts.
13963           That doesn't mean I'll fix it completely, but I'll try at least. ;).
13964
13965 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13966
13967         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
13968           policy is set
13969
13970 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13971
13972         * gst/gstelement.h:
13973           remove gst_element_factory_get_version. It doesn't exist anymore.
13974         * gst/gstplugin.c:
13975         * gst/gstplugin.h:
13976           remove gst_plugin_set_name and change gst_plugin_get_longname to
13977           gst_plugin_get_description to match code.
13978         * gst/gsterror.h:
13979           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
13980         * gst/gstpad.c: (gst_pad_try_set_caps):
13981           make it work with nonfixed caps.
13982           Note that even in the nonfixed case the link function of the pad
13983           that tries to set caps isn't called.
13984
13985 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13986
13987         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
13988           fix bug where buffer was not assembled correctly
13989         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
13990           silence by default
13991         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
13992           only seek if there's no more buffers that could work without seeking
13993
13994 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13995
13996         * gst/gsttag.c: (_gst_tag_initialize):
13997         * gst/gsttag.h:
13998           Add application tag (for encoding/muxing app).
13999
14000 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14001
14002         * autogen.sh:
14003           make autopoint force, and libtoolize not copy
14004         * common/m4/as-docbook.m4:
14005           added docbook xml catalog setup check
14006         * common/m4/gst-doc.m4:
14007           use docbook check
14008
14009 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14010
14011         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
14012         * gst/gsttag.h:
14013           add GstTagFlag
14014
14015 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14016
14017         * docs/gst/gstreamer-sections.txt:
14018         * docs/gst/tmpl/gst.sgml:
14019         * docs/gst/tmpl/gstbuffer.sgml:
14020         * docs/gst/tmpl/gstclock.sgml:
14021         * docs/gst/tmpl/gstelement.sgml:
14022         * docs/gst/tmpl/gstreamer-unused.sgml:
14023         * docs/gst/tmpl/gstxml.sgml:
14024           sync latest API changes to docs
14025
14026 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14027
14028         * gst/gstpluginfeature.c:
14029           fix doc snippet
14030         * tools/gst-inspect.c: (print_element_list):
14031           fix output of typefind
14032           add GPL header
14033         * tools/gst-launch.c:
14034           add GPL header
14035
14036 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14037
14038         * gst/elements/Makefile.am:
14039         * gst/elements/gstelements.c:
14040         * gst/elements/gsttypefindelement.c:
14041         * gst/elements/gsttypefindelement.h:
14042         * po/POTFILES.in:
14043         * po/fr.po:
14044         * po/nl.po:
14045           renamed gsttypefindelement to gsttypefind, conserving CVS history
14046
14047 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14048
14049         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
14050         * gst/gsttag.h:
14051           add some tags used in ogg as well
14052           fix _ in replaygain tags
14053
14054 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14055
14056         * gst/gsterror.h:
14057           fix wrong GST_LIBRARY_ERROR_ENCODE addition
14058
14059 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14060
14061         * gst/gstelement.c: (gst_element_error_full):
14062         * gst/gstelement.h:
14063           change _extended to _full
14064
14065 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14066
14067         reviewed by: <delete if not using a buddy>
14068
14069         * docs/gst/tmpl/gst.sgml:
14070         * docs/gst/tmpl/gstbuffer.sgml:
14071         * docs/gst/tmpl/gstclock.sgml:
14072         * docs/gst/tmpl/gstelement.sgml:
14073         * docs/gst/tmpl/gstreamer-unused.sgml:
14074         * docs/gst/tmpl/gstxml.sgml:
14075         * gst/gstelement.c: (gst_element_error_full):
14076         * gst/gstelement.h:
14077
14078 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14079
14080         * gst/gstelement.h: fix _gst_element_error_printf prototype
14081
14082 2004-01-20  David Schleef  <ds@schleef.org>
14083
14084         * gst/gststructure.c: (gst_structure_to_string):
14085         Convert function to use gst_value_serialize().
14086         * gst/gstvalue.c: (gst_value_serialize_list),
14087         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
14088         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
14089         (gst_value_serialize_int), (gst_value_serialize_double),
14090         (gst_string_wrap), (gst_value_serialize_string),
14091         (gst_value_serialize), (gst_value_deserialize):
14092         * gst/gstvalue.h:
14093         Add implementations for serialize.
14094
14095 2004-01-20  Julien MOUTTE  <julien@moutte.net>
14096
14097         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
14098         we want to keep that one in the future or change xvidenc.c to use 
14099         another error.
14100
14101 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14102
14103         * gst/gstelement.c: (_gst_element_error_printf):
14104         * gst/gstelement.h:
14105           privatise function
14106
14107 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14108
14109         * docs/random/error:
14110           doc explaining error system
14111         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
14112           cleanup
14113
14114 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14115
14116         * gst/gst-i18n-app.h:
14117         * gst/gst-i18n-lib.h:
14118           remove inclusion of config.h
14119         * po/POTFILES.in:
14120         * po/nl.po:
14121           add gst/gstelement.c
14122
14123 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14124
14125         * po/nl.po: updated Dutch translation
14126
14127 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14128
14129         * gst/gsterror.c: (_gst_core_errors_init),
14130         (_gst_library_errors_init), (_gst_resource_errors_init),
14131         (_gst_stream_errors_init):
14132         remove ending punctuation dots
14133
14134 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14135
14136         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
14137         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
14138         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
14139         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
14140         (gst_pipefilter_chain), (gst_pipefilter_open_file):
14141         use GST_ERROR_SYSTEM
14142
14143 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14144
14145         * gst/gstelement.c: (gst_element_error_printf),
14146         (gst_element_error_extended):
14147         * gst/gstelement.h:
14148           add a helper printf function so we can have NULL values passed.
14149
14150 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14151
14152         * gst/gstelement.h:
14153           add G_STMT macros to gst_element_error, which isn't strictly
14154           necessary but people tell me to anyway.
14155
14156 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
14157
14158         * gst/Makefile.am:
14159         * gst/autoplug/gstspideridentity.c:
14160         (gst_spider_identity_sink_loop_type_finding):
14161         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
14162         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
14163         (gst_filesink_close_file), (gst_filesink_handle_event),
14164         (gst_filesink_chain):
14165         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
14166         (gst_filesrc_map_region), (gst_filesrc_get_read),
14167         (gst_filesrc_open_file):
14168         * gst/elements/gstidentity.c: (gst_identity_chain):
14169         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
14170         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
14171         (gst_pipefilter_chain), (gst_pipefilter_open_file):
14172         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
14173         * gst/gst.h:
14174         * gst/gst_private.h:
14175         * gst/gstelement.c: (gst_element_class_init),
14176         (gst_element_default_error), (gst_element_error_func),
14177         (gst_element_error_extended):
14178         * gst/gstelement.h:
14179         * gst/gsterror.c: (_gst_core_errors_init),
14180         (_gst_library_errors_init), (_gst_resource_errors_init),
14181         (_gst_stream_errors_init), (gst_error_get_message):
14182         * gst/gsterror.h:
14183         * gst/gstinfo.c: (_gst_debug_init):
14184         * gst/gstmarshal.list:
14185         * gst/gstpad.c: (gst_pad_set_explicit_caps),
14186         (gst_pad_recover_caps_error), (gst_pad_pull):
14187         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
14188         * gst/schedulers/gstbasicscheduler.c:
14189         (gst_basic_scheduler_chainhandler_proxy),
14190         (gst_basic_scheduler_gethandler_proxy),
14191         (gst_basic_scheduler_cothreaded_chain):
14192         * po/POTFILES.in:
14193         * po/fr.po:
14194         * po/nl.po:
14195           change error signal
14196           add error categories
14197
14198 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
14199
14200         * gst/gsttag.c: (_gst_tag_initialize):
14201         * gst/gsttag.h:
14202         Add replaygain tag
14203
14204 2004-01-18  Colin Walters  <walters@verbum.org>
14205
14206         * examples/retag/retag.c: Call gst_init before processing
14207         program args.  Add g_assert to _link_many call.
14208
14209 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14210
14211         * gst/gstpad.c: (gst_pad_alloc_buffer):
14212           Return a newly allocated buffer when the pad has no peer.
14213
14214 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14215
14216         * gst/gstclock.c: (gst_clock_get_time):
14217           make it compile with gcc 2.95 again.
14218           Patch by Scott Wheeler
14219
14220 2004-01-15  David Schleef  <ds@schleef.org>
14221
14222         * gst/gstcaps.h:
14223         Added gst_caps_is_simple() macro.
14224         * testsuite/caps/caps.c: (test1):
14225         * testsuite/caps/intersect2.c: (main):
14226         * testsuite/caps/intersection.c: (main):
14227         Fixes to make 'make check' work again after removing
14228         gst_caps_is_chained().
14229
14230 2004-01-15  Leif Johnson <leif@ambient.2y.net>
14231
14232         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
14233         and additions to the MIDI document.
14234
14235 2004-01-15  David Schleef  <ds@schleef.org>
14236
14237         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
14238         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
14239         of GST_RPAD_, since we don't know if it's a real or ghost pad.
14240
14241 2004-01-15  David Schleef  <ds@schleef.org>
14242
14243         * gst/gstqueue.c:
14244         * gst/gstqueue.h:
14245         Fix the spelling of "treshold" and make min_threshold actually
14246         affect the queue.
14247
14248 2004-01-15  David Schleef  <ds@schleef.org>
14249
14250         * gst/gstcaps.c:
14251         Add lots of documentation.
14252         * gst/gstcaps.h:
14253         Deprecate a few functions.
14254         * gst/gstpad.c:
14255         Removed use of deprecated functions.
14256
14257 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14258
14259         * gst/gstpad.c: (gst_pad_is_linked):
14260         * gst/gstpad.h:
14261           implement gst_pad_is_linked
14262         * gst/gstelement.h:
14263           reserve space for initiate_state_change
14264
14265 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14266
14267         * gst/autoplug/gstspideridentity.c:
14268         (gst_spider_identity_sink_loop_type_finding):
14269           break infinite loop by just returning instead of looping
14270         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
14271           set event time difference correctly. Set it to 1 second instead
14272           of 100ms to be more tolerant
14273         * gst/gstelement.c: (gst_element_set_time):
14274           add debugging output
14275
14276 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14277
14278         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
14279           query if buffers are inside the pool, ignore events
14280
14281 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14282
14283         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
14284         (gst_clock_set_speed), (gst_clock_set_active),
14285         (gst_clock_is_active), (gst_clock_reset),
14286         (gst_clock_handle_discont):
14287         * gst/gstclock.h:
14288           deprecate old interface and disable functions that aren't in use
14289           anymore.
14290         * gst/gstelement.h:
14291         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
14292         (gst_element_set_time), (gst_element_adjust_time):
14293           add concept of "element time" and functions to get/set this time.
14294         * gst/gstelement.c: (gst_element_change_state):
14295           update element time correctly.
14296         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
14297           This is a debug message, not a g_critical.
14298         * gst/gstpad.c: (gst_pad_event_default):
14299           handle discontinuous events right with element time.
14300         * gst/gstscheduler.c: (gst_scheduler_state_transition):
14301           update to clocking fixes.
14302           set clocks on elements in READY=>PAUSED. The old behaviour caused
14303           a wrong element time on the first element that started playing.
14304         * gst/schedulers/gstbasicscheduler.c:
14305         (gst_basic_scheduler_class_init):
14306         * gst/schedulers/gstoptimalscheduler.c:
14307         (gst_opt_scheduler_class_init):
14308           remove code that just implements the default behaviour.
14309         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
14310           update to use new clocking functions
14311         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
14312         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
14313           update to test new element time.
14314         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
14315           use _get_allowed_caps instead of _get_caps. This catches filtered
14316           caps correctly.
14317         * testsuite/debug/commandline.c:
14318           update for new GST_DEBUG syntax.
14319         * testsuite/threads/Makefile.am:
14320           disable a test that only works sometimes.
14321
14322 2004-01-13  Julien MOUTTE <julien@moutte.net>
14323
14324         * po/LINGUAS: Adding fr.
14325         * po/fr.po: Adding french translation.
14326
14327 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14328
14329         * gst/parse/grammar.y:
14330         * po/POTFILES.in:
14331         * po/nl.po:
14332         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
14333           translate parsing error messages
14334
14335 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14336
14337         * po/POTFILES.in: adding gst-launch
14338         * po/nl.po: updated translation, all 99 strings translated
14339         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
14340         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
14341           fix strings for translation
14342
14343 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14344
14345         * gst/gst.c:
14346           - capitalize beginnings of popt options
14347           - fix strings for translation
14348           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
14349
14350 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14351
14352         * po/README: add some notes on how to update translations
14353
14354 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14355
14356         * ABOUT-NLS: removed, is autogenerated from autopoint
14357         * autogen.sh: add autopoint stuff
14358         * configure.ac: fix up gettext stuff
14359         * gst/Makefile.am: add i18n headers to noinst_HEADERS
14360         * gst/elements/gsttypefindelement.c: add header include
14361         * gst/gettext.h: add header, copy from system-installed header
14362         * gst/gst-i18n-app.h: to be included by each app having translations
14363         * gst/gst-i18n-lib.h: to be included by each lib having translations
14364         * gst/gst.c: (init_pre): fix up gettext calls
14365         * gst/gst_private.h: remove i18n stuff, moving to separate headers
14366         * po/LINGUAS: the new way to specify translations present
14367         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
14368         * po/Makevars: the variables filled in for GStreamer
14369         * po/POTFILES.in: added new files with translations
14370         * po/de.po: has new strings
14371         * po/nl.po: readded, has new strings
14372
14373 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14374
14375         * gst/gsttag.c: fix some strings marked for translation
14376
14377 2004-01-13  Iain <iain@prettypeople.org>
14378
14379         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
14380         group when we add an element to it, cos we unref it when we remove one
14381
14382 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14383
14384         * testsuite/debug/commandline.c: (debug_not_reached):
14385         * testsuite/debug/output.c: (check_message):
14386           fix testsuite
14387
14388 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14389
14390         * examples/cutter/.cvsignore:
14391         * examples/helloworld/.cvsignore:
14392         * examples/launch/.cvsignore:
14393         * examples/manual/.cvsignore:
14394         * examples/mixer/.cvsignore:
14395         * examples/pingpong/.cvsignore:
14396         * examples/plugins/.cvsignore:
14397         * examples/queue/.cvsignore:
14398         * examples/queue2/.cvsignore:
14399         * examples/queue3/.cvsignore:
14400         * examples/queue4/.cvsignore:
14401         * examples/retag/.cvsignore:
14402         * examples/thread/.cvsignore:
14403         * examples/typefind/.cvsignore:
14404         * examples/xml/.cvsignore:
14405         * gst/.cvsignore:
14406         * gst/autoplug/.cvsignore:
14407         * gst/elements/.cvsignore:
14408         * gst/indexers/.cvsignore:
14409         * gst/parse/.cvsignore:
14410         * gst/registries/.cvsignore:
14411         * gst/schedulers/.cvsignore:
14412         * libs/gst/bytestream/.cvsignore:
14413         * libs/gst/control/.cvsignore:
14414         * libs/gst/getbits/.cvsignore:
14415         * tests/.cvsignore:
14416         * tests/bufspeed/.cvsignore:
14417         * tests/instantiate/.cvsignore:
14418         * tests/memchunk/.cvsignore:
14419         * tests/muxing/.cvsignore:
14420         * tests/sched/.cvsignore:
14421         * tests/seeking/.cvsignore:
14422         * tests/threadstate/.cvsignore:
14423         * testsuite/.cvsignore:
14424         * testsuite/caps/.cvsignore:
14425         * testsuite/cleanup/.cvsignore:
14426         * testsuite/dynparams/.cvsignore:
14427         * testsuite/plugin/.cvsignore:
14428         * tools/.cvsignore:
14429           update - this is huge, because it includes *.bb, *.bbg and *.da files
14430           which are generated for gcov.
14431
14432 2004-01-11  David Schleef  <ds@schleef.org>
14433
14434         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
14435         a function to parse integers in ways that strto[u]l() does not.
14436
14437 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14438
14439         * tools/gst-inspect.c: (print_caps):
14440           improve output of caps a bit
14441
14442 2004-01-11  David Schleef  <ds@schleef.org>
14443
14444         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
14445         inherit correct flags (READONLY and DONTKEEP).
14446
14447 2004-01-11  David Schleef  <ds@schleef.org>
14448
14449         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
14450         (gst_filesrc_map_region):
14451         * gst/gstbuffer.c: (_gst_buffer_initialize),
14452         (_gst_buffer_sub_free), (gst_buffer_default_copy),
14453         (gst_buffer_new), (gst_buffer_create_sub),
14454         (gst_buffer_is_span_fast), (gst_buffer_span):
14455         * gst/gstbuffer.h:
14456         Change GstBuffer private structure element names. (all files)
14457         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
14458         (gst_queue_link):
14459         * gst/gstqueue.h:
14460         Implement getcaps/pad_link functions that handle the case where
14461         there are data in the queue.
14462
14463 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14464
14465         * gst/elements/gstbufferstore.c:
14466           initialize debugging structure correctly
14467         * gst/elements/gsttee.c: (gst_tee_set_property):
14468           g_object_notify when property was changed
14469         * gst/elements/gsttypefindelement.c:
14470         (gst_type_find_element_change_state):
14471           clear caps correctly
14472
14473 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14474
14475         * gst/gstqueue.c: (gst_queue_init):
14476           Use better defaults for when a queue should block. This
14477           gets rid of jerky playback for quite a few files.
14478           It takes more memory.
14479
14480 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14481
14482         (gst_xml_registry_parse_padtemplate):
14483           make critical message slightly more useful
14484
14485 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14486
14487         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
14488         (gst_debug_message_get), (gst_debug_log_default):
14489         * gst/gstinfo.h:
14490           Change gst_debug_log(_valist) to take a const format string.
14491           Change prototype of log function and functions using those to 
14492           take a GstDebugMessage instead of a string that requires using
14493           gst_debug_message_get.
14494
14495 2004-01-08  David Schleef  <ds@schleef.org>
14496
14497         * Makefile.am:
14498         * configure.ac:
14499         Add option --enable-gcov to build GStreamer with -fprofile-arcs
14500         and -ftest-coverage, which allows gcov to show information about
14501         testsuite coverage.
14502
14503 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14504
14505         * gst/gstutils.h:
14506           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
14507           GST_PARENT_CALL_WITH_DEFAULT
14508         * gst/elements/gstaggregator.c: 
14509         * gst/elements/gstbufferstore.c: 
14510         * gst/elements/gstfakesink.c: 
14511         * gst/elements/gstfakesrc.c: 
14512         * gst/elements/gstfdsink.c: 
14513         * gst/elements/gstfdsrc.c: 
14514         * gst/elements/gstfilesink.c: 
14515         * gst/elements/gstfilesrc.c: 
14516         * gst/elements/gstidentity.c: 
14517         * gst/elements/gstmd5sink.c: 
14518         * gst/elements/gstmultidisksrc.c:
14519         * gst/elements/gstpipefilter.c: 
14520         * gst/elements/gstshaper.c:
14521         * gst/elements/gststatistics.c:
14522         * gst/elements/gsttee.c:
14523         * gst/elements/gsttypefindelement.c:
14524           use them.
14525
14526 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14527
14528         * docs/gst/gstreamer-docs.sgml: remove props
14529         * docs/gst/gstreamer-sections.txt: remove props
14530         * docs/gst/tmpl/gst.sgml:
14531         * docs/gst/tmpl/gstbin.sgml:
14532         * docs/gst/tmpl/gstbuffer.sgml:
14533         * docs/gst/tmpl/gstcaps.sgml:
14534         * docs/gst/tmpl/gstclock.sgml:
14535         * docs/gst/tmpl/gstelement.sgml:
14536         * docs/gst/tmpl/gstindex.sgml:
14537         * docs/gst/tmpl/gstobject.sgml:
14538         * docs/gst/tmpl/gstpad.sgml:
14539         * docs/gst/tmpl/gstpadtemplate.sgml:
14540         * docs/gst/tmpl/gstreamer-unused.sgml:
14541         * docs/gst/tmpl/gstthread.sgml:
14542         * docs/gst/tmpl/gstxml.sgml:
14543           sync with code reorganization
14544
14545 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
14546
14547         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
14548         Make the 'Could not find compatible pad' message more informative.
14549
14550 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14551                                                                                 
14552         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
14553           Fix for if we pass NULL as property to location.
14554         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
14555         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
14556           Fix for instantiate-test (see below).
14557         * gst/gststructure.c: (_gst_structure_parse_value):
14558           Fix compile error on gcc-2.96.
14559         * configure.ac:
14560         * tests/Makefile.am:
14561         * tests/instantiate/Makefile.am:
14562         * tests/instantiate/create.c: (create_all_elements), (main):
14563           Add a test that instantiates all elements. This makes it easy to
14564           track dead code for old API/design (like setting event functions
14565           on sink pads and so on).
14566
14567 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
14568
14569         * gst/gstcaps.c: (gst_caps_append_structure):
14570           Move the poisoning to allow a NULL structure
14571         * gst/gstevent.c: (_gst_event_free):
14572           When freeing a navigation event, free the structure
14573           also
14574
14575 2004-01-04  David Schleef  <ds@schleef.org>
14576
14577         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14578         Remove usage of gst_pad_proxy_fixate.
14579         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
14580         (gst_caps_split_one), (gst_caps_replace):
14581         Add poisoning code.
14582         * gst/gstmarshal.list:
14583         Add pointer__pointer for fixate signal
14584         * gst/gstpad.c: (gst_real_pad_class_init),
14585         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
14586         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
14587         (gst_pad_set_explicit_caps), (gst_pad_template_new):
14588         Add poisoning code. Add fixate signal on RealPad. Change
14589         set_explicit_caps() to take const GstCaps, like try_set_caps().
14590         * gst/gstpad.h:
14591         * testsuite/caps/Makefile.am:
14592         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
14593
14594 2004-01-03  David Schleef  <ds@schleef.org>
14595
14596         * gst/elements/gsttypefindelement.c:
14597         (gst_type_find_element_have_type), (gst_type_find_element_init):
14598         Use gst_pad_use_explicit_caps for src pad.
14599         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
14600         before using it.
14601
14602 2004-01-03  David Schleef  <ds@schleef.org>
14603
14604         * gst/gstelement.c: (gst_element_link_pads_filtered),
14605         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
14606         that linking was successful.
14607         * gst/gstpad.c: (gst_pad_link_free),
14608         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
14609         (gst_pad_link_try), (gst_pad_link_unnegotiate),
14610         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
14611         GstPadLinkReturn correctly between functions, and don't fail
14612         when DELAYED is used (DELAYED is very important).  Better
14613         cleanup on unlinking and unnegotiation.  Should fix some spider
14614         bugs.
14615
14616 2004-01-02  David Schleef  <ds@schleef.org>
14617
14618         * gst/gstelement.c: (gst_element_class_init),
14619         (gst_element_base_class_init): ->padtemplates should be cleared
14620         in base_init, since we need to have a fresh list for every
14621         class.  (Alternately, we chould copy the list and share the
14622         actual pad templates (not the list), but that would require
14623         changing every plugin to move pad template registration from
14624         base_init to class_init.)
14625
14626 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14627
14628         * gst/gstelement.c: (gst_element_class_add_pad_template):
14629           Refuse registering a pad template if another pad template
14630           with the same name already exists (#114715).
14631
14632 2004-01-02  David Schleef  <ds@schleef.org>
14633
14634         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
14635         (gst_caps_is_equal_fixed): Add new function.
14636         * gst/gstcaps.h: ditto.
14637         * gst/gstpad.c: (gst_real_pad_class_init),
14638         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
14639         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
14640         check new caps against existing caps -- if they're the same, return
14641         OK without renegotiating.  caps-nego-failed signal fixed so that
14642         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
14643         to save an extra caps copy.  Don't complete negotiation if a pad
14644         link function returns DELAYED.
14645
14646 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14647
14648         * gst/gstpad.c: (gst_pad_try_relink_filtered):
14649           Fix wrong g_return_if_fail
14650
14651 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
14652
14653         * gst/gstbin.c: (gst_bin_class_init):
14654         Change the marshalling of element_added/element_removed
14655         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
14656         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
14657
14658 2004-01-01  David Schleef  <ds@schleef.org>
14659
14660         * gst/gstpad.c: (gst_pad_set_explicit_caps),
14661         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
14662         (gst_pad_use_explicit_caps):
14663         * gst/gstpad.h:
14664         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
14665         to use an internal getcaps and link fuction so that negotiation
14666         always results in the explicitly set caps.
14667         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
14668         are particularly useful for decoders.
14669
14670 2003-12-31  David Schleef  <ds@schleef.org>
14671
14672         * gst/elements/gstidentity.c: (gst_identity_class_init),
14673         (gst_identity_init), (gst_identity_chain),
14674         (gst_identity_set_property), (gst_identity_get_property):
14675         * gst/elements/gstidentity.h:
14676         * gst/gstqueue.c: (gst_queue_init):
14677           Negotiation fixes.
14678
14679 2003-12-31  David Schleef  <ds@schleef.org>
14680
14681         * gst/gstcaps.c: (gst_caps_intersect),
14682         (_gst_caps_normalize_foreach), (gst_caps_normalize):
14683           Implement gst_caps_normalize().
14684         * testsuite/caps/normalisation.c: (main):
14685           Add an additional test
14686
14687 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14688
14689         * gst/gstqueue.c: (gst_queue_init):
14690           use gst_pad_proxy_getcaps()
14691
14692 2003-12-31  David Schleef  <ds@schleef.org>
14693
14694         * gst/elements/gstshaper.c: (gst_shaper_link):
14695         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
14696         * gst/gstqueue.c: (gst_queue_link):
14697           Negotiation fixes.
14698
14699 2003-12-31  David Schleef  <ds@schleef.org>
14700
14701         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
14702         * gst/gstpad.h: Add functions that are useful as default pad
14703         link and fixate functions for elements.
14704
14705 2003-12-30  David Schleef  <ds@schleef.org>
14706
14707         * gst/gstpad.c: (gst_pad_link_try):
14708           Fix segfault when attempting to return to old caps
14709
14710 2003-12-29  David Schleef  <ds@schleef.org>
14711
14712         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
14713         (gst_caps_structure_simplify), (gst_caps_simplify):
14714         * gst/gstcaps.h:
14715           Add simplify function
14716         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
14717         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
14718         * gst/gstpad.h:
14719           Copy over srcnotify, sinknotify when calling old pad_link
14720           functions.  Add new is_negotiated() function.
14721         * gst/gststructure.c: (gst_structure_copy):
14722           Fix an incredibly stupid bug that should have been noticed
14723           weeks ago.  _copy() returned the argument, not the new copy.
14724
14725 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14726
14727         * gst/gstcaps.c: (gst_caps_append):
14728           add sanity checks
14729         * gst/gstcaps.h: (gst_caps_debug):
14730           remove, it doesn't exist anymore.
14731         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
14732         (gst_element_threadsafe_properties_post_run):
14733           make debugging messages not clutter up THREAD debug category
14734         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
14735         (gst_element_change_state):
14736           update to new caps API
14737         * gst/gstinterface.c: (gst_implements_interface_cast):
14738           don't put vital code in g_return_if_fail
14739         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
14740         (gst_pad_link_filtered):
14741           add pst_pad_try_link and use it.
14742         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
14743           implement correctly, deprecate first one.
14744         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
14745           add and implement.
14746         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
14747           implement.
14748         (gst_pad_get_negotiated_caps):
14749           add and implement. Make GST_PAD_CAPS call this function.
14750         (gst_pad_get_caps):
14751           remove unneeded check..
14752         (gst_pad_recover_caps_error):
14753           disable, always return FALSE.
14754         (gst_real_pad_dispose):
14755           don't free caps and appfilter anymore, they're unused.
14756         * gst/gstpad.h:
14757           Reflect changes mentioned above.
14758         * gst/gstsystemclock.c: (gst_system_clock_wait):
14759           Make 'clock is way behind' a debugging message.
14760         * gst/gstthread.c: (gst_thread_change_state):
14761           Fix debugging message
14762
14763 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14764
14765         * gst/gstinfo.h:
14766           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
14767         * docs/gst/tmpl/gstreamer-unused.sgml:
14768           removed all traces of cvs conflicts
14769
14770 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14771
14772         * configure.ac:
14773         * gst/schedulers/cothreads_compat.h:
14774         * libs/Makefile.am:
14775           remove last instances of wingo cothread usage
14776
14777 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14778
14779         * gst/gstplugin.c:
14780         * gst/gstversion.h.in:
14781         * gst/parse/grammar.y:
14782           change comment block from /** to /* when not gtk-doc comments
14783
14784 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14785
14786         * gst/gst.c: whitespace and doc style fixes
14787
14788 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14789
14790         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
14791
14792 2003-12-24  Colin Walters  <walters@verbum.org>
14793
14794         * gst/elements/gsttypefindelement.c:
14795           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
14796           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
14797           Don't double-free caps.
14798
14799 2003-12-23  David Schleef  <ds@schleef.org>
14800
14801         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
14802           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
14803           Many little fixes and additions of debug statements to
14804           get rhythmbox working.
14805
14806 2003-12-23  Colin Walters  <walters@verbum.org>
14807
14808         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
14809         Use GST_PAD_LINK_SUCCESSFUL.
14810
14811 2003-12-23  David Schleef  <ds@schleef.org>
14812
14813         * gst/elements/gstaggregator.c:
14814         * gst/elements/gsttee.c:
14815           Use gst_pad_proxy_getcaps().
14816         * gst/gstpad.c:
14817         * gst/gstpad.h:
14818           Add gst_pad_proxy_getcaps(), which filter elements can use
14819           as a generic getcaps implementation.
14820           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
14821           was advertised.
14822
14823 2003-12-23  David Schleef  <ds@schleef.org>
14824
14825         * gst/gstpad.c:
14826           Rearrange/rewrite much of the pad negotiation code, since it
14827           resembled pasta.  This actually changes the way some
14828           negotiation works, since the previous code was inconsistent
14829           depending on how it was invoked.  Add (internal) structure
14830           GstPadLink, which is used to hold some information (more in
14831           the future) about the link between two pads.  Fixes a number
14832           of bugs, including random lossage of filter caps when the
14833           initial negotiation is delayed.  A few functions are still
14834           unimplemented.
14835         * gst/gstpad.h:
14836           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
14837           these when testing GstPadLinkReturn values instead of comparing
14838           directly.
14839
14840 2003-12-23  David Schleef  <ds@schleef.org>
14841
14842         * gst/gstvalue.c: 
14843         * gst/gstvalue.h:
14844           Rearrange lots of code.  Change registration of compare function
14845           into registration of compare/serialize/deserialize functions.
14846           Doesn't include implementation of gst_value_[de]serialize(),
14847           but that should be easy.
14848
14849 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14850
14851         * docs/gst/gstreamer-sections.txt:
14852         * docs/gst/tmpl/gstprops.sgml: removed
14853         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
14854           David removed props and caps code, so let's remove their docs as well.
14855           Removed all no longer existing symbols from gstreamer-sections.txt
14856           
14857 2003-12-22  Colin Walters  <walters@verbum.org>
14858
14859         * gst/gsttaginterface.c, gst/gsttaginterface.h,
14860           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
14861           of tags directly.
14862
14863 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14864
14865         * gst/elements/gstelements.c:
14866           Set ranks of elements to NONE, so the autoplugger doesn't use them.
14867         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
14868           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
14869           gst_caps (peer).
14870
14871 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
14872
14873         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14874         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
14875         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
14876         (gst_spider_identity_sink_loop_type_finding):
14877         * gst/autoplug/gstspideridentity.h:
14878           Fix autoplugging in spider element, so it works with new caps.
14879           This was mainly caused by identifying empty caps incorrectly.
14880
14881 2003-12-22  David Schleef  <ds@schleef.org>
14882
14883         * gststructure.c, gstvalue.c, gstvalue.h: Add
14884           gst_value_init_and_copy() and use it, to avoid silly mistakes in
14885           using g_value_copy()
14886
14887 2003-12-21  David Schleef  <ds@schleef.org>
14888
14889         * many, many files: Merge CAPS branch.  This includes:
14890           - implemention of GstValue and several GstValue types
14891           - implemention of GstStructure
14892           - entire rewrite of GstCaps
14893           - removal of GstProps
14894           - many changes to GstPad to compensate for new caps paradigm
14895           - removal of GstBufferpool
14896         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
14897         gstvalue.h, gst/gstcaps[2]*.[ch]:
14898           - rename gstcaps2.[ch] to gstcaps.[ch]
14899
14900 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
14901
14902         * gst/gstqueue.c: (gst_queue_handle_pending_events),
14903         (gst_queue_chain), (gst_queue_handle_src_event):
14904           implement timeout for sending events. Workaround for if the
14905           pipeline on this queue is not passing any data.
14906
14907 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
14908                                                                                 
14909         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
14910         * moved CVS to freedesktop.org