check/gst/gstbin.c: Added checks for hierarchy consistency whan adding linked element...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-07-28  Wim Taymans  <wim@fluendo.com>
2
3         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
4         Added checks for hierarchy consistency whan adding linked
5         elements to bins.
6
7         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8         Added check to test element scheduling without bin/pipeline.
9
10         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11         First add elements to bin, then link.
12         
13         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
14         (gst_bin_remove_func):
15         Unlink pads from elements added/removed from bin to maintain
16         hierarchy consistency.
17
18 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19
20         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
21         (gst_base_transform_handle_buffer):
22         * gst/base/gstbasetransform.h:
23           Remove broken delay_configure (fixes renegotiation of software
24           scaling pipelines); remove some leftover printf()s.
25
26 2005-07-28  Wim Taymans  <wim@fluendo.com>
27
28         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
29         Added some more tests for wrong hierarchy
30
31         * docs/design/part-overview.txt:
32         Some updates.
33
34         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
35         Cleanups.
36
37         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
38         (gst_element_dispose):
39         Some more cleanups.
40
41         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
42         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
43         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
44         (gst_pad_set_caps), (gst_pad_send_event):
45         Check for correct hierarchy when linking pads. Moving to
46         strict requirement for ghostpads when linking elements in
47         different bins.
48
49         * gst/gstpad.h:
50         Clean ups. Added WRONG_HIERARCHY return value.
51
52 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
53
54         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
55           Better debug if no transform is possible.
56
57 2005-07-27  Wim Taymans  <wim@fluendo.com>
58
59         * docs/random/wtay/network-transp:
60         Some old doc I had.
61
62 2005-07-27  Wim Taymans  <wim@fluendo.com>
63
64         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
65         (gst_dp_event_from_packet):
66         Fix serialization of seek events.
67
68 2005-07-27  Wim Taymans  <wim@fluendo.com>
69
70         * check/gst-libs/gdp.c: (GST_START_TEST):
71         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
72         Fix compilation and fix event serialization.
73
74 2005-07-27  Wim Taymans  <wim@fluendo.com>
75
76         * CHANGES-0.9:
77         * docs/design/part-TODO.txt:
78         * docs/design/part-events.txt:
79         Some docs updates
80
81         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
82         (gst_base_sink_event), (gst_base_sink_do_sync),
83         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
84         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
85         (gst_base_src_do_seek), (gst_base_src_event_handler),
86         (gst_base_src_loop):
87         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
88         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
89         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
90         (gst_base_transform_event), (gst_base_transform_handle_buffer),
91         (gst_base_transform_set_passthrough),
92         (gst_base_transform_is_passthrough):
93         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
94         * gst/elements/gstfilesink.c: (gst_file_sink_event):
95         Event updates.
96
97         * gst/gstbuffer.h:
98         Use faster casts.
99
100         * gst/gstelement.c: (gst_element_seek):
101         * gst/gstelement.h:
102         Update gst_element_seek.
103
104         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
105         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
106         (gst_event_new_flush_start), (gst_event_new_flush_stop),
107         (gst_event_new_eos), (gst_event_new_newsegment),
108         (gst_event_parse_newsegment), (gst_event_new_tag),
109         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
110         (gst_event_parse_qos), (gst_event_new_seek),
111         (gst_event_parse_seek), (gst_event_new_navigation):
112         * gst/gstevent.h:
113         Make GstEvent use GstStructure. Add parsing code, make sure the
114         API is sufficiently generic.
115         Mark possible directions of events and serialization.
116
117         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
118         (_gst_message_copy), (gst_message_new_segment_start),
119         (gst_message_new_segment_done), (gst_message_new_custom),
120         (gst_message_parse_segment_start),
121         (gst_message_parse_segment_done):
122         Small cleanups.
123
124         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
125         (gst_pad_set_caps), (gst_pad_send_event):
126         Update for new events. 
127         Catch events sent in wrong directions.
128
129         * gst/gstqueue.c: (gst_queue_link_src),
130         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
131         (gst_queue_handle_src_query):
132         Event updates.
133
134         * gst/gsttag.c:
135         * gst/gsttag.h:
136         Remove event code from this file.
137
138         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
139         (gst_dp_event_from_packet):
140         Event updates.
141
142 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
143
144         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
145         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
146         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
147           Make debugging actually useful.
148
149 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
150
151         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
152         (gst_pad_fixate_caps):
153           Implement default fixation once again, so that gst_pad_fixate()
154           actually does anything at all. This probably needs to be some
155           sort of a last resort, and use profile-based fixation first, but
156           since that doesn't exist yet, this is the best we have. Fixes
157           visualization in Totem.
158
159 2005-07-22  Wim Taymans  <wim@fluendo.com>
160
161         * docs/design/part-events.txt:
162         Small update.
163
164         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
165         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
166         (gst_base_sink_activate_pull):
167         Some more comments.
168
169         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
170         (gst_fake_src_create):
171         Fix handoff marshall.
172
173         * gst/elements/gstidentity.c: (gst_identity_class_init),
174         (gst_identity_transform_ip):
175         We're a real inplace element.
176
177         * gst/gstbus.c: (gst_bus_post):
178         Added some comments.
179
180         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
181         * tests/muxing/case1.c: (main):
182         * tests/sched/dynamic-pipeline.c: (main):
183         * tests/sched/interrupt1.c: (main):
184         * tests/sched/interrupt2.c: (main):
185         * tests/sched/interrupt3.c: (main):
186         * tests/sched/runxml.c: (main):
187         * tests/sched/sched-stress.c: (main):
188         * tests/seeking/seeking1.c: (event_received), (main):
189         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
190         (main):
191         * tests/threadstate/threadstate3.c: (main):
192         * tests/threadstate/threadstate4.c: (main):
193         * tests/threadstate/threadstate5.c: (main):
194         Fix the tests.
195
196 2005-07-21  Wim Taymans  <wim@fluendo.com>
197
198         * docs/design/part-seeking.txt:
199         Some small additions.
200
201         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
202         (gst_base_sink_get_times), (gst_base_sink_do_sync),
203         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
204         * gst/base/gstbasesink.h:
205         discont values are gint64, handle the math correctly.
206
207         * gst/base/gstbasesrc.c: (gst_base_src_loop):
208         Make the basesrc report error if the source pad is not linked.
209
210         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
211         (gst_queue_loop), (gst_queue_handle_src_query),
212         (gst_queue_src_activate_push):
213         Make queue collect data even if the srcpad is not linked.
214         Start pushing out data as soon as it is linked.
215
216         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
217         * gst/gstutils.h:
218         Added gst_flow_get_name() to ease error reporting.
219
220 2005-07-20  Wim Taymans  <wim@fluendo.com>
221
222         * gst/gstmessage.c: (gst_message_new_segment_start),
223         (gst_message_new_segment_done), (gst_message_parse_segment_start),
224         (gst_message_parse_segment_done):
225         * gst/gstmessage.h:
226         Added a bunch of messages for advanced seeking.
227
228         * gst/parse/grammar.y:
229         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
230         (gst_dpman_state_changed):
231         Fix some new-pad -> pad-added signals
232
233 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
234
235         * docs/manual/appendix-porting.xml:
236         * docs/pwg/appendix-porting.xml:
237           Document new-pad/state-change signal renames and the FixedList
238           type rename.
239
240 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
241
242         * docs/manual/advanced-autoplugging.xml:
243         * docs/manual/basics-helloworld.xml:
244         * docs/manual/basics-pads.xml:
245         * docs/random/ds/0.9-suggested-changes:
246         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
247         * gst/gstelement.h:
248         * gst/gstevent.h:
249         * gst/gstformat.h:
250         * gst/gstquery.h:
251         * gst/gststructure.c: (gst_structure_value_get_generic_type),
252         (gst_structure_parse_array), (gst_structure_parse_value):
253         * gst/gstvalue.c: (gst_type_is_fixed),
254         (gst_value_list_prepend_value), (gst_value_list_append_value),
255         (gst_value_list_get_size), (gst_value_list_get_value),
256         (gst_value_transform_array_string), (gst_value_serialize_array),
257         (gst_value_deserialize_array), (gst_value_intersect_array),
258         (gst_value_is_fixed), (_gst_value_initialize):
259         * gst/gstvalue.h:
260           GstElement::new-pad -> pad-added, GstElement::state-change ->
261           state-changed, GstValueFixedList -> GstValueArray, add format and
262           flags as their own arguments in gst_element_seek() (should improve
263           "bindeability"), remove function generators since they don't work
264           under a whole bunch of compilers (they were deprecated already
265           anyway).
266
267 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
268
269         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
270         (_gst_debug_register_funcptr):
271         * gst/gstinfo.h:
272           Fix illegal cast on some platforms (#309253).
273
274 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
275
276         * gst/gstmessage.c: (gst_message_new_custom):
277         * gst/gstmessage.h:
278           Add _new_custom, make _new_application a macro to _new_custom.
279
280 2005-07-20  Wim Taymans  <wim@fluendo.com>
281
282         * gst/base/gstbasesrc.c: (gst_base_src_init),
283         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
284         * gst/base/gstbasesrc.h:
285         Add a gboolean to decide when to push out a discont.
286
287         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
288         (gst_queue_loop), (gst_queue_handle_src_query),
289         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
290         (gst_queue_set_property), (gst_queue_get_property):
291         Some cleanups.
292
293         * tests/threadstate/threadstate1.c: (main):
294         Make a thread test compile and run... very silly..
295
296
297 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
298
299         * docs/manual/appendix-porting.xml:
300           Mention removal of libgstgconf-0.9.la and existence of gconf
301           elements.
302
303 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
304
305         * docs/pwg/advanced-clock.xml:
306         * docs/pwg/appendix-porting.xml:
307         * docs/pwg/intro-preface.xml:
308         * docs/pwg/other-base.xml:
309         * docs/pwg/other-manager.xml:
310         * docs/pwg/other-nton.xml:
311         * docs/pwg/other-ntoone.xml:
312         * docs/pwg/other-oneton.xml:
313         * docs/pwg/pwg.xml:
314           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
315           demuxer), remove n-to-n (was never written), fix some code examples
316           and links and update the porting section to include all this.
317
318 2005-07-19  Wim Taymans  <wim@fluendo.com>
319
320         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
321         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
322         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
323         (gst_queue_src_activate_push), (gst_queue_change_state),
324         (gst_queue_get_property):
325         * gst/gstqueue.h:
326         Propagate GstFlowReturn more intelligently upstream and output
327         an ERROR/EOS when streaming stopped due to fatal error.
328
329 2005-07-19  Wim Taymans  <wim@fluendo.com>
330
331         * tools/gst-launch.c: (check_intr), (event_loop), (main):
332         Don't block forever for the state change to complete, the
333         pipeline already did with a sensible timeout.
334
335 2005-07-19  Wim Taymans  <wim@fluendo.com>
336
337         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
338         Make sure we never call the create function is we
339         got deactivated.
340
341 2005-07-19  Andy Wingo  <wingo@pobox.com>
342
343         * gst/parse/parse.l: Attempt to solve bug #172815.
344
345 2005-07-19  Wim Taymans  <wim@fluendo.com>
346
347         * docs/design/part-clocks.txt:
348         * docs/design/part-events.txt:
349         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
350         Small docs updates.
351         Only update the seeking values when we are not
352         busy streaming.
353
354 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
355
356         * gst/base/gstbasesrc.c: (gst_base_src_loop):
357           Oops, ignore the result of gst_pad_push_event here.
358
359 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
360
361         * gst/base/gstbasesrc.c: (gst_base_src_loop),
362         (gst_base_src_activate_push):
363           Send discont event from the loop function, as pads
364           aren't activated yet in the activate_push handler.
365
366         * gst/gstbin.c: (bin_bus_handler):
367           Don't leak element name.
368
369 2005-07-18  Andy Wingo  <wingo@pobox.com>
370
371         * configure.ac: Use AS_LIBTOOL_TAGS.
372
373 2005-07-18  Wim Taymans  <wim@fluendo.com>
374
375         * docs/gst/gstreamer.types:
376         Remove deleted types.
377
378 2005-07-18  Wim Taymans  <wim@fluendo.com>
379
380         * check/elements/gstfakesrc.c: (GST_START_TEST):
381         * configure.ac:
382         * gst/Makefile.am:
383         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
384         (init_popt_callback):
385         * gst/gst.h:
386         * gst/gst_private.h:
387         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
388         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
389         * gst/gstbin.h:
390         * gst/gstbus.h:
391         * gst/gstconfig.h.in:
392         * gst/gstelement.c: (gst_element_class_init),
393         (gst_element_set_base_time), (gst_element_get_base_time),
394         (iterator_fold_with_resync), (gst_element_change_state),
395         (gst_element_dispose), (gst_element_get_bus):
396         * gst/gstelement.h:
397         * gst/gstelementfactory.h:
398         * gst/gsterror.c: (_gst_core_errors_init):
399         * gst/gsterror.h:
400         * gst/gstevent.h:
401         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
402         * gst/gstindex.c:
403         * gst/gstinfo.c: (_gst_debug_init):
404         * gst/gstmessage.c: (_gst_message_copy):
405         * gst/gstmessage.h:
406         * gst/gstminiobject.h:
407         * gst/gstobject.c:
408         * gst/gstobject.h:
409         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
410         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
411         * gst/gstpad.h:
412         * gst/gstparse.h:
413         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
414         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
415         (gst_pipeline_get_last_stream_time):
416         * gst/gstpipeline.h:
417         * gst/gstpluginfeature.h:
418         * gst/gstquery.h:
419         * gst/gstscheduler.c:
420         * gst/gstscheduler.h:
421         * gst/gststructure.h:
422         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
423         (gst_task_finalize), (gst_task_func), (gst_task_create),
424         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
425         (gst_task_stop), (gst_task_pause):
426         * gst/gsttask.h:
427         * gst/gsttypefind.h:
428         * gst/gsttypes.h:
429         * gst/registries/gstlibxmlregistry.c: (load_feature),
430         (gst_xml_registry_load), (gst_xml_registry_save_feature):
431         * gst/registries/gstxmlregistry.c:
432         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
433         * gst/schedulers/threadscheduler.c:
434         * libs/gst/control/dparammanager.h:
435         * tools/gst-inspect.c: (print_element_list),
436         (print_plugin_features), (print_element_features):
437         * tools/gst-xmlinspect.c: (print_element_list),
438         (print_plugin_info), (main):
439         Removed plugable schedulers.
440         Removed Scheduler/Manager from elements.
441         Removed gsttypes.h, rearranged includes.
442         Removed dependency pad<->element, element<>pipeline, and
443         various others,  fix includes.
444         implement gst_pad_get_parent() with gst_object_get_parent()
445         Make GstTask sefcontained.
446         Fix _get_state() on GstBin, it did not return ASYNC with a 0
447         timeout.
448         Fix endless loop in iterator_fold_with_resync.
449
450
451 2005-07-18  Wim Taymans  <wim@fluendo.com>
452
453         * gst/Makefile.am:
454         * gst/gstarch.h:
455         Remove old file.
456
457 2005-07-18  Wim Taymans  <wim@fluendo.com>
458
459         * gst/Makefile.am:
460         No more cothreads.h
461
462 2005-07-18  Wim Taymans  <wim@fluendo.com>
463
464         * gst/cothreads.c:
465         * gst/cothreads.h:
466         Let's remove these.
467
468 2005-07-18  Wim Taymans  <wim@fluendo.com>
469
470         * docs/design/part-dynamic.txt:
471         * docs/design/part-events.txt:
472         * docs/design/part-seeking.txt:
473         Some more docs in the works.
474
475         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
476         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
477         (gst_base_transform_setcaps), (gst_base_transform_get_size),
478         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
479         (gst_base_transform_handle_buffer),
480         (gst_base_transform_sink_activate_push),
481         (gst_base_transform_src_activate_pull),
482         (gst_base_transform_set_passthrough),
483         (gst_base_transform_is_passthrough):
484         Refcounting fixes.
485
486         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
487         Cleanups.
488
489         * gst/gstevent.c: (gst_event_finalize):
490         Set SRC to NULL.
491
492         * gst/gstutils.c: (gst_element_unlink),
493         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
494         (gst_pad_proxy_setcaps):
495         * gst/gstutils.h:
496         Add _get_parent_element() to get a pads parent as an element.
497
498 2005-07-18  Wim Taymans  <wim@fluendo.com>
499
500         * check/gst/gstbin.c: (GST_START_TEST):
501         Remove bogus test.
502
503 2005-07-18  Wim Taymans  <wim@fluendo.com>
504
505         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
506         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
507         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
508         (gst_base_sink_event), (gst_base_sink_do_sync),
509         (gst_base_sink_chain), (gst_base_sink_loop),
510         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
511         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
512         Refcounting fixes.
513         Fix logic for returning ASYNC when not prerolled.
514
515 2005-07-18  Wim Taymans  <wim@fluendo.com>
516
517         * gst/gstqueue.c: (gst_queue_handle_sink_event):
518         Fix nasty refcount bug.
519
520 2005-07-16 Philippe Khalaf <burger@speedy.org>
521         * gst/elements/gstfdsrc.c:
522         * gst/elements/gstfdsrc.h:
523         * gst/elements/gstelements.c:
524         * gst/elements/Makefile.am:
525         Ported fdsrc to 0.9.
526
527 2005-07-16  Wim Taymans  <wim@fluendo.com>
528
529         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
530         (gst_base_sink_do_sync):
531         Fix compile error.
532
533 2005-07-16  Wim Taymans  <wim@fluendo.com>
534
535         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
536         (gst_base_sink_event), (gst_base_sink_get_times),
537         (gst_base_sink_do_sync), (gst_base_sink_change_state):
538         * gst/base/gstbasesink.h:
539         Store and use discont values when syncing buffers as described
540         in design docs.
541         
542         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
543         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
544         (gst_base_src_activate_push):
545         Push discont event when starting.
546
547         * gst/elements/gstidentity.c: (gst_identity_transform):
548         Small cleanups.
549
550         * gst/gstbin.c: (gst_bin_change_state):
551         Small cleanups in base_time  distribution.
552
553         * gst/gstelement.c: (gst_element_set_base_time),
554         (gst_element_get_base_time), (gst_element_change_state):
555         * gst/gstelement.h:
556         Added methods for the base_time of the element.
557         Some MT fixes.
558
559         * gst/gstpipeline.c: (gst_pipeline_send_event),
560         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
561         (gst_pipeline_get_last_stream_time):
562         * gst/gstpipeline.h:
563         MT fixes.
564         Handle seeking as described in design doc, remove stream_time
565         hack.
566         Cleanups clock and stream_time selection code. Added accessors
567         for the stream_time.
568         
569
570 2005-07-16  Andy Wingo  <wingo@pobox.com>
571
572         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
573         (#305291).
574
575 2005-07-16  Wim Taymans  <wim@fluendo.com>
576
577         * check/gst/gstbin.c: (GST_START_TEST):
578         Make elements silent as the deep_notify refs the
579         parent, which might make the test fail.
580
581         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
582         Don't hold the lock for too long.
583
584 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
585
586         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
587           Don't unref the caps we passed to gst_caps_make_writable() after
588           passing them. gst_caps_make_writable() will do that for us.
589
590 2005-07-15  Andy Wingo  <wingo@pobox.com>
591
592         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
593         (#157311).
594
595         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
596         own marshalling function for the handoff signal. Properly type the
597         buffer as a buffer. Fixes some warnings. Should do a more general
598         solution.
599         (gst_identity_class_init): Plug into the right marshaller.
600
601 2005-07-15  Wim Taymans  <wim@fluendo.com>
602
603         * docs/design/part-TODO.txt:
604         * docs/design/part-clocks.txt:
605         * docs/design/part-element-sink.txt:
606         * docs/design/part-events.txt:
607         * docs/design/part-gstpipeline.txt:
608         Updated docs, mostly DISCONT related.
609
610 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
611
612         * docs/pwg/building-pads.xml:
613           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
614
615 2005-07-15  Andy Wingo  <wingo@pobox.com>
616
617         * tools/gst-typefind.c: Update, add copyright block.
618
619         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
620         Normalize and truncate caps before fixation.
621
622         * gst/gstcaps.h:
623         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
624         discards all but the first structure from its argument.
625
626 2005-07-15  Wim Taymans  <wim@fluendo.com>
627
628         * gst/base/gstbasetransform.c: (gst_base_transform_init),
629         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
630         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
631         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
632         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
633         (gst_base_transform_chain), (gst_base_transform_change_state),
634         (gst_base_transform_set_passthrough),
635         (gst_base_transform_is_passthrough):
636         * gst/base/gstbasetransform.h:
637         Make passthrough work using the bufferpools.
638         Changed API a bit, subclasses have to write into a buffer
639         provided by the base class.
640         More debug info in nego functions.
641         
642         * gst/elements/gstidentity.c: (gst_identity_init),
643         (gst_identity_transform):
644         Port to new base class.
645
646 2005-07-15  Wim Taymans  <wim@fluendo.com>
647
648         * gst/gstmessage.c: (gst_message_new_state_changed):
649         * tools/gst-launch.c: (event_loop), (main):
650         Totally dump messages in -launch with the -m option.
651         Fix message name for State messages,
652
653 2005-07-14  Wim Taymans  <wim@fluendo.com>
654
655         * gst/base/gstbasesrc.c: (gst_base_src_loop):
656         Post error messages on errors.
657
658 2005-07-14  Wim Taymans  <wim@fluendo.com>
659
660         * gst/gstcaps.c: (gst_caps_do_simplify):
661         Remove debug info.
662
663         * gst/gsterror.h:
664         Define error for stream stopped.
665
666         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
667         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
668         Do proper return values.
669
670         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
671         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
672         (gst_pad_get_range):
673         Better return values.
674
675         * gst/gstpad.h:
676         Reorganise return values, add macro to check for fatal errors.
677
678         * gst/gstqueue.c: (gst_queue_chain):
679         Return proper GstFlowReturn values,
680
681 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
682
683         * docs/gst/gstreamer-sections.txt:
684         * docs/gst/gstreamer.types:
685         * docs/gst/tmpl/gst.sgml:
686         * docs/gst/tmpl/gstbasesink.sgml:
687         * docs/gst/tmpl/gstbasesrc.sgml:
688         * docs/gst/tmpl/gstbasetransform.sgml:
689         * docs/gst/tmpl/gstbin.sgml:
690         * docs/gst/tmpl/gstbuffer.sgml:
691         * docs/gst/tmpl/gstcaps.sgml:
692         * docs/gst/tmpl/gstclock.sgml:
693         * docs/gst/tmpl/gstcompat.sgml:
694         * docs/gst/tmpl/gstconfig.sgml:
695         * docs/gst/tmpl/gstelement.sgml:
696         * docs/gst/tmpl/gstelementdetails.sgml:
697         * docs/gst/tmpl/gstelementfactory.sgml:
698         * docs/gst/tmpl/gstenumtypes.sgml:
699         * docs/gst/tmpl/gsterror.sgml:
700         * docs/gst/tmpl/gstevent.sgml:
701         * docs/gst/tmpl/gstfakesink.sgml:
702         * docs/gst/tmpl/gstfakesrc.sgml:
703         * docs/gst/tmpl/gstfilesink.sgml:
704         * docs/gst/tmpl/gstfilesrc.sgml:
705         * docs/gst/tmpl/gstfilter.sgml:
706         * docs/gst/tmpl/gstformat.sgml:
707         * docs/gst/tmpl/gstghostpad.sgml:
708         * docs/gst/tmpl/gstimplementsinterface.sgml:
709         * docs/gst/tmpl/gstindex.sgml:
710         * docs/gst/tmpl/gstindexfactory.sgml:
711         * docs/gst/tmpl/gstinfo.sgml:
712         * docs/gst/tmpl/gstiterator.sgml:
713         * docs/gst/tmpl/gstmacros.sgml:
714         * docs/gst/tmpl/gstmemchunk.sgml:
715         * docs/gst/tmpl/gstminiobject.sgml:
716         * docs/gst/tmpl/gstobject.sgml:
717         * docs/gst/tmpl/gstpad.sgml:
718         * docs/gst/tmpl/gstpadtemplate.sgml:
719         * docs/gst/tmpl/gstparse.sgml:
720         * docs/gst/tmpl/gstpipeline.sgml:
721         * docs/gst/tmpl/gstplugin.sgml:
722         * docs/gst/tmpl/gstpluginfeature.sgml:
723         * docs/gst/tmpl/gstquery.sgml:
724         * docs/gst/tmpl/gstqueue.sgml:
725         * docs/gst/tmpl/gstregistry.sgml:
726         * docs/gst/tmpl/gstregistrypool.sgml:
727         * docs/gst/tmpl/gstscheduler.sgml:
728         * docs/gst/tmpl/gstschedulerfactory.sgml:
729         * docs/gst/tmpl/gststructure.sgml:
730         * docs/gst/tmpl/gstsystemclock.sgml:
731         * docs/gst/tmpl/gsttaglist.sgml:
732         * docs/gst/tmpl/gsttagsetter.sgml:
733         * docs/gst/tmpl/gsttrace.sgml:
734         * docs/gst/tmpl/gsttrashstack.sgml:
735         * docs/gst/tmpl/gsttypefind.sgml:
736         * docs/gst/tmpl/gsttypefindfactory.sgml:
737         * docs/gst/tmpl/gsttypes.sgml:
738         * docs/gst/tmpl/gsturihandler.sgml:
739         * docs/gst/tmpl/gsturitype.sgml:
740         * docs/gst/tmpl/gstutils.sgml:
741         * docs/gst/tmpl/gstvalue.sgml:
742         * docs/gst/tmpl/gstversion.sgml:
743         * docs/gst/tmpl/gstxml.sgml:
744         * docs/libs/tmpl/gstcontrol.sgml:
745         * docs/libs/tmpl/gstdataprotocol.sgml:
746         * docs/libs/tmpl/gstdparam.sgml:
747         * docs/libs/tmpl/gstdplinint.sgml:
748         * docs/libs/tmpl/gstdpman.sgml:
749         * docs/libs/tmpl/gstdpsmooth.sgml:
750         * docs/libs/tmpl/gstgetbits.sgml:
751         * docs/libs/tmpl/gstunitconvert.sgml:
752         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
753         (gst_push_src_base_init), (gst_push_src_class_init),
754         (gst_push_src_init), (gst_push_src_create):
755         * gst/base/gstpushsrc.h:
756         * gst/elements/gstelements.c:
757         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
758         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
759         (gst_fake_sink_init), (gst_fake_sink_set_property),
760         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
761         (gst_fake_sink_event), (gst_fake_sink_preroll),
762         (gst_fake_sink_render), (gst_fake_sink_change_state):
763         * gst/elements/gstfakesink.h:
764         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
765         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
766         (gst_fake_src_base_init), (gst_fake_src_class_init),
767         (gst_fake_src_init), (gst_fake_src_event_handler),
768         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
769         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
770         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
771         (gst_fake_src_create_buffer), (gst_fake_src_create),
772         (gst_fake_src_start), (gst_fake_src_stop):
773         * gst/elements/gstfakesrc.h:
774         * gst/elements/gstfilesink.c: (_do_init),
775         (gst_file_sink_base_init), (gst_file_sink_class_init),
776         (gst_file_sink_init), (gst_file_sink_dispose),
777         (gst_file_sink_set_location), (gst_file_sink_set_property),
778         (gst_file_sink_get_property), (gst_file_sink_open_file),
779         (gst_file_sink_close_file), (gst_file_sink_query),
780         (gst_file_sink_event), (gst_file_sink_render),
781         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
782         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
783         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
784         * gst/elements/gstfilesink.h:
785         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
786         (gst_file_src_class_init), (gst_file_src_init),
787         (gst_file_src_finalize), (gst_file_src_set_location),
788         (gst_file_src_set_property), (gst_file_src_get_property),
789         (gst_file_src_map_region), (gst_file_src_map_small_region),
790         (gst_file_src_create_mmap), (gst_file_src_create_read),
791         (gst_file_src_create), (gst_file_src_is_seekable),
792         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
793         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
794         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
795         (gst_file_src_uri_handler_init):
796         * gst/elements/gstfilesrc.h:
797           more autistic cleanliness in functions/names/defines
798
799 2005-07-13  Andy Wingo  <wingo@pobox.com>
800
801         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
802         source couldn't negotiate.
803
804         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
805         connections again.
806
807         * gst/gstutils.h:
808         * gst/gstutils.c (gst_element_link_pads_filtered): New old
809         function. I am channeling Hades. Put your boots on suckers!!!
810
811 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
812
813         * testsuite/caps/Makefile.am:
814         * testsuite/caps/value_compare.c:
815         * testsuite/caps/value_intersect.c:
816         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
817           move two testsuite apps over to the check dir
818
819 2005-07-12  Wim Taymans  <wim@fluendo.com>
820
821         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
822         Added more debug info in the negotiate process.
823
824         * gst/gstmessage.h:
825         Prepare for segment playback.
826
827         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
828         Better debugging.
829
830         * gst/gstutils.c:
831         Some more docs.
832
833         * tools/gst-launch.c: (main):
834         NULL pipeline on errors.
835
836 2005-07-12  Andy Wingo  <wingo@pobox.com>
837
838         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
839         not it comes from a malloc region. Make sure our copy gets freed.
840
841 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
842
843         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
844         * check/gst/gstmessage.c: (GST_START_TEST):
845         * check/gst/gststructure.c: (GST_START_TEST),
846         (gst_structure_suite), (main):
847           more testing
848         * gst/gstelement.c: (gst_element_message_full):
849           clean up GError and debug string now that they get copied
850         * gst/gstmessage.c: (gst_message_new_error),
851         (gst_message_new_warning), (gst_message_parse_error),
852         (gst_message_parse_warning):
853           use GST_TYPE_G_ERROR for structure_new, and take copies of
854           arguments, so that we don't mess up refcounting
855
856 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
857
858         * check/Makefile.am:
859           add per-test valgrind targets
860         * check/gst-libs/gdp.c: (GST_START_TEST),
861         (gst_data_protocol_suite), (main):
862           clean up
863
864 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
865
866         * check/Makefile.am:
867           instate more valgrindable tests
868         * check/elements/gstfakesrc.c: (chain_func), (event_func),
869         (GST_START_TEST), (fakesrc_suite):
870         * check/gst/gstpad.c: (GST_START_TEST):
871         * check/gst/gststructure.c: (GST_START_TEST):
872           fix test leaks
873         * docs/gst/tmpl/gstminiobject.sgml:
874         * gst/gstpad.c: (gst_pad_finalize):
875           fix the static mutex leak
876
877 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
878
879         * check/Makefile.am:
880           add two more tests for valgrinding
881         * check/gst/gstvalue.c: (GST_START_TEST):
882           test refcount of deserialized buffer, found a leak
883         * docs/gst/gstreamer-docs.sgml:
884         * docs/gst/gstreamer-sections.txt:
885         * docs/gst/gstreamer.types:
886         * docs/gst/tmpl/gstminiobject.sgml:
887           add miniobject to docs
888         * gst/gstminiobject.c:
889           add some docs
890         * gst/gstvalue.c: (gst_value_deserialize_buffer),
891         (gst_string_unwrap):
892           fix a hard-to-find invalid write for one of the tests
893           fix a leak for deserialized buffers
894
895 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
896
897         * docs/pwg/advanced-events.xml:
898         * docs/pwg/advanced-request.xml:
899         * docs/pwg/advanced-scheduling.xml:
900         * docs/pwg/appendix-porting.xml:
901         * docs/pwg/building-boiler.xml:
902         * docs/pwg/intro-preface.xml:
903         * docs/pwg/other-ntoone.xml:
904           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
905           of example code and explanation for pad activation, loop() and
906           getrange() functions and a bit more. Remove old comments pointing
907           to loop-functions.
908         * examples/pwg/Makefile.am:
909           Add loop/getrange examples.
910
911 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
912
913         * configure.ac:
914           check for valgrind binary + some fixes
915         * check/gst.supp:
916           valgrind suppressions for the tests
917         * check/Makefile.am:
918           add a valgrind: target that valgrinds the unit tests
919         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
920         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
921         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
922         * check/gst/gstghostpad.c:
923           added some cleanup
924         * check/gst/gstdata.c:
925           removed
926         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
927         (thread_unref), (gst_mini_object_suite), (main):
928           added
929         * gst/gst.c: (gst_deinit):
930         * gst/gst.h:
931           add a method to clean up.
932         * gst/gstsystemclock.c: (gst_system_clock_dispose),
933         (gst_system_clock_obtain):
934           allow for disposing the system clock.
935         * tools/gst-launch.c: (main):
936           deinit
937
938 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
939
940         * docs/gst/tmpl/gstbasesrc.sgml:
941         * docs/gst/tmpl/gstfakesrc.sgml:
942         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
943         (gst_base_src_init), (gst_base_src_set_property),
944         (gst_base_src_get_property), (gst_base_src_get_range),
945         (gst_base_src_start):
946         * gst/base/gstbasesrc.h:
947           add num-buffers property
948         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
949         (gst_fakesrc_init), (gst_fakesrc_set_property),
950         (gst_fakesrc_get_property), (gst_fakesrc_create),
951         (gst_fakesrc_start):
952           remove num-buffers property
953
954 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
955
956         * docs/gst/gstreamer-sections.txt:
957         * docs/gst/tmpl/gstbasesink.sgml:
958         * docs/gst/tmpl/gstbasesrc.sgml:
959         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
960         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
961         (gst_base_sink_finalize), (gst_base_sink_set_clock),
962         (gst_base_sink_set_property), (gst_base_sink_get_property),
963         (gst_base_sink_handle_object), (gst_base_sink_event),
964         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
965         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
966         (gst_base_sink_loop), (gst_base_sink_deactivate),
967         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
968         (gst_base_sink_change_state):
969         * gst/base/gstbasesink.h:
970         * gst/base/gstbasesrc.h:
971         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
972         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
973         (gst_filesink_init):
974           more macro splitting
975
976 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
977
978         * gst/gstelement.c: (gst_element_get_bus):
979           add debug
980         * tools/gst-launch.c: (check_intr), (event_loop):
981           fix bus leaks
982
983 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
984
985         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
986           fix a caps leak
987
988 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
989
990         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
991         (gst_base_src_finalize):
992           add finalize method and clean up properly
993         * gst/gstpipeline.c: (gst_pipeline_dispose):
994           add debug
995
996 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
997
998         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
999         (gst_bin_suite):
1000           add more things to check
1001         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
1002         * gst/gstelement.c:
1003           more debug
1004
1005 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1006
1007         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1008         (GST_START_TEST), (fakesrc_suite):
1009         * check/gst-libs/gdp.c: (GST_START_TEST):
1010         * check/gst/gst.c: (GST_START_TEST):
1011         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1012         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1013         * check/gst/gstbus.c: (GST_START_TEST):
1014         * check/gst/gstcaps.c: (GST_START_TEST):
1015         * check/gst/gstdata.c: (GST_START_TEST):
1016         * check/gst/gstelement.c: (GST_START_TEST):
1017         * check/gst/gstghostpad.c: (GST_START_TEST):
1018         * check/gst/gstiterator.c: (GST_START_TEST):
1019         * check/gst/gstmessage.c: (GST_START_TEST):
1020         * check/gst/gstobject.c: (GST_START_TEST):
1021         * check/gst/gstpad.c: (GST_START_TEST):
1022         * check/gst/gststructure.c: (GST_START_TEST):
1023         * check/gst/gstsystemclock.c: (GST_START_TEST),
1024         (gst_systemclock_suite):
1025         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
1026         * check/gst/gstvalue.c: (GST_START_TEST):
1027         * check/pipelines/cleanup.c: (GST_START_TEST):
1028         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1029         * check/states/sinks.c: (GST_START_TEST):
1030         * check/gstcheck.c: (gst_check_init):
1031         * check/gstcheck.h:
1032           add debugging category
1033           use GST_START_TEST now, so we add a debug line
1034
1035 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1036
1037         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
1038           add test for state change message on a bin
1039         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
1040           add another test
1041         * gst/gstbin.c: (gst_bin_init):
1042         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
1043         * gst/gstelement.c: (gst_element_post_message),
1044         (gst_element_set_state):
1045         * gst/gstelementfactory.c: (gst_element_factory_create):
1046         * gst/gstmessage.c: (gst_message_new):
1047         * gst/gstscheduler.c:
1048           various debugging additions and cleanups
1049
1050 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1051
1052         * check/Makefile.am:
1053         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
1054         (main):
1055           adding tests for elements
1056         * gst/gstelement.c: (gst_element_dispose):
1057
1058 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1059
1060         * gst/registries/gstlibxmlregistry.c: (load_feature):
1061           plug more leaks.  A simple gst_init() now is leakfree, yay.
1062
1063 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1064
1065         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
1066         (gst_xml_registry_load):
1067           plug another memleak
1068
1069 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1070
1071         * configure.ac:
1072           use GST_SET_ERROR_CFLAGS
1073         * docs/faq/cvs.xml:
1074           change to ERROR_CFLAGS
1075
1076 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1077
1078         * configure.ac:
1079           make GST_ERROR_CFLAGS overridable and re-enable Werror
1080         * docs/faq/cvs.xml:
1081           add a note about error CFLAGS
1082         * docs/gst/tmpl/gstfakesrc.sgml:
1083         * gst/elements/gstfakesrc.c:
1084           comment out some unused code
1085         * gst/gst.c: (split_and_iterate):
1086         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
1087         (load_feature):
1088           plug some memleaks
1089
1090 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1091
1092         * common/Makefile.am:
1093         * common/gtk-doc.mak:
1094         * docs/gst/Makefile.am:
1095           factor out gtk-doc.mak
1096
1097 2005-07-07  Wim Taymans  <wim@fluendo.com>
1098
1099         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
1100         (gst_thread_scheduler_dispose):
1101         Unlock the STREAM_LOCK completely.
1102
1103 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1104
1105         * check/Makefile.am:
1106         * check/elements/.cvsignore:
1107         * check/elements/gstfakesrc.c: (chain_func), (event_func),
1108         (START_TEST), (fakesrc_suite), (main):
1109         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
1110         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
1111         (gst_fakesrc_create), (gst_fakesrc_start):
1112         * gst/elements/gstfakesrc.h:
1113           adding a first element test
1114
1115 2005-07-07  Andy Wingo  <wingo@pobox.com>
1116
1117         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
1118         debug message.
1119
1120 2005-07-07  Wim Taymans  <wim@fluendo.com>
1121
1122         * gst/gstquery.c:
1123         * gst/gstquery.h:
1124         Remove old types
1125
1126 2005-07-07  Wim Taymans  <wim@fluendo.com>
1127
1128         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
1129         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
1130         Allow subclasses to implement their own negotiation.
1131
1132 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1133
1134         * docs/design/part-gstbin.txt:
1135         * docs/design/part-gstpipeline.txt:
1136           Update design notes to reflect the movement of
1137           responsibility for bus handling from GstPipeline to
1138           GstBin
1139
1140 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1141
1142         * configure.ac:
1143           Remove unnecessary queue2/3/4 examples.
1144
1145 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
1146
1147         * examples/Makefile.am:
1148         * examples/helloworld/helloworld.c: (event_loop), (main):
1149         * examples/queue/queue.c: (event_loop), (main):
1150         * examples/queue2/queue2.c: (main):
1151           Update a couple of the examples to work again.
1152
1153         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1154         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
1155          Spelling corrections and extra debug.
1156         
1157         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
1158         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
1159         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
1160         * gst/gstbin.h:
1161         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
1162         (gst_pipeline_change_state):
1163         * gst/gstpipeline.h:
1164           Move the bus handler for children to the GstBin, and create a
1165           separate bus for receiving messages from children to the one the
1166           bus sends 'upwards' on.
1167
1168 2005-07-06  Wim Taymans  <wim@fluendo.com>
1169
1170         * gst/base/README:
1171         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1172         (gst_base_sink_handle_object), (gst_base_sink_loop),
1173         (gst_base_sink_change_state):
1174         * gst/base/gstbasesink.h:
1175         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1176         (gst_base_src_init), (gst_base_src_setcaps),
1177         (gst_base_src_getcaps), (gst_base_src_loop),
1178         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
1179         (gst_base_src_start), (gst_base_src_change_state):
1180         * gst/base/gstbasesrc.h:
1181         Make basesrc negotiate.
1182         Handle the case where preroll fails in basesink.
1183         Update README.
1184
1185 2005-07-06  Wim Taymans  <wim@fluendo.com>
1186
1187         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
1188         Implement the fixate function.
1189         Clean up acceptcaps.
1190
1191 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1192
1193         * docs/pwg/building-filterfactory.xml:
1194         * docs/pwg/pwg.xml:
1195           Remove never-written filter-factory chapter; I'll add the various
1196           base classes to part 4 ("other element types") later on.
1197
1198 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1199
1200         * docs/pwg/advanced-negotiation.xml:
1201         * docs/pwg/building-boiler.xml:
1202         * docs/pwg/building-pads.xml:
1203         * docs/pwg/pwg.xml:
1204         * examples/pwg/Makefile.am:
1205           Add a chapter on caps negotiation, simplify the original code
1206           samples a bit w.r.t. caps negotiation, add link to the advanced
1207           section. Add a bunch of examples showing different use cases of
1208           different types of caps negotiation. Upstream renegotiation isn't
1209           fully documented yet since nobody knows how that works.
1210
1211 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1212
1213         * check/gst/gstpad.c:
1214         * check/gstcheck.c:
1215         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1216           if pad has no parent, return NULL as list of internal links
1217
1218 2005-07-05  Andy Wingo  <wingo@pobox.com>
1219
1220         * gst/elements/gstfilesrc.c:
1221         * gst/elements/gstfakesrc.c: 
1222         * gst/base/gstpushsrc.c:
1223         * gst/base/gstbasesrc.h: 
1224         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
1225         
1226 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
1227
1228         * Makefile.am:
1229           better report generation target (lcov needs a patch)
1230
1231 2005-07-05  Andy Wingo  <wingo@pobox.com>
1232
1233         * gst/elements, testsuite: Null if we got it...
1234
1235 2005-07-05  Wim Taymans  <wim@fluendo.com>
1236
1237         * configure.ac:
1238         * libs/gst/dataprotocol/Makefile.am:
1239         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
1240         * libs/gst/dataprotocol/dataprotocol.h:
1241         * pkgconfig/Makefile.am:
1242         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
1243         * pkgconfig/gstreamer-dataprotocol.pc.in:
1244         Ported dataprotol to 0.9. 
1245         Added pkgconfig files.
1246
1247 2005-07-05  Andy Wingo  <wingo@pobox.com>
1248
1249         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
1250         Default to returning TRUE for the case when tranform_caps returns
1251         a fixed caps, like for identity or volume.
1252
1253         * check/gst/gstbus.c (pound_bus_with_messages): 
1254         * check/gst/gstmessage.c (START_TEST): 
1255         * check/pipelines/simple_launch_lines.c (got_handoff): Application
1256         message API change.
1257
1258         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
1259         logic weaks here: always run transform_caps, trying passthrough
1260         operation only if the original caps intersects with the transform.
1261
1262         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
1263         source and sink caps.
1264
1265         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
1266         Intersect the peer caps with the pad template before going into
1267         transform_caps.
1268         (gst_base_transform_transform_caps): More debugging.
1269
1270         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
1271         src argument.
1272
1273 2005-07-04  Edward Hervey  <edward@fluendo.com>
1274
1275         * gst/gstutils.c:
1276         * gst/gstutils.h:
1277         (gst_pad_add_*_probe): now returns the signal id for better wrapping
1278         in bindings.
1279
1280 2005-07-04  Andy Wingo  <wingo@pobox.com>
1281
1282         * check/gst/gstpad.c: Only set explicit caps on pads.
1283
1284 2005-07-01  Andy Wingo  <wingo@pobox.com>
1285
1286         * tests/network-clock.scm: Commentary update.
1287
1288         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
1289         Didn't really make sense, not implementable with basetransform,
1290         etc.
1291         (gst_identity_transform): Unref inbuf via make_writable. Feeble
1292         attempt at implementing the sync property, needs an unlock method.
1293
1294         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
1295         New func, by default returns the same caps (the identity
1296         transformation).
1297         (gst_base_transform_getcaps): Uses transform_caps to return
1298         something sensible.
1299         (gst_base_transform_setcaps): Complicated logic to get caps on
1300         both pads, even if they are different, and to call set_caps once
1301         for every time both pads get their caps set.
1302         (gst_base_transform_handle_buffer): Give the ref to the transform
1303         function. Allows in-place modification of the buffer.
1304
1305         * gst/base/gstbasetransform.h (transform_caps): New class method.
1306         Given caps on one side, what can I do on the other.
1307         (set_caps): Take two caps, one for each side of the element.
1308
1309         * gst/gstpad.h:
1310         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
1311         caps in place. This is safe because we can check the mutability of
1312         the caps, and a good idea because fixate functions are just called
1313         as a matter of last resort. (Not actually implemented.)
1314         (gst_pad_set_caps): If the caps we're setting is actually the same
1315         as the existing pad caps, just update the pointer without calling
1316         setcaps. Assert that caps is either NULL or fixed, as per the
1317         docs.
1318
1319         * gst/gstghostpad.c: Update for fixate changes.
1320
1321 2005-07-02  Andy Wingo  <wingo@pobox.com>
1322
1323         * gst/gstcaps.c:
1324         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
1325         two refcounts makes it immutable, which is enough. Doc more.
1326
1327 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
1328
1329         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
1330           Put the mini_object into GValue as a mini_object,
1331           not a gpointer, since that's how we declared
1332           the signal.
1333
1334 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1335
1336         * examples/pwg/Makefile.am:
1337           Fix buildbot again.
1338
1339 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1340
1341         * docs/pwg/building-testapp.xml:
1342           Add extra check.
1343         * examples/pwg/Makefile.am:
1344           Fix buildbot.
1345
1346 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1347
1348         * configure.ac:
1349         * examples/Makefile.am:
1350         * examples/pwg/Makefile.am:
1351         * examples/pwg/extract.pl:
1352           Enable building the PWG examples.
1353         * docs/pwg/advanced-interfaces.xml:
1354           Add URI interface stub.
1355         * docs/pwg/advanced-types.xml:
1356         * docs/pwg/other-autoplugger.xml:
1357         * docs/pwg/appendix-porting.xml:
1358         * docs/pwg/pwg.xml:
1359           Add porting guide (mostly stubs), remove autoplugging (see ADM).
1360         * docs/pwg/building-boiler.xml:
1361         * docs/pwg/building-chainfn.xml:
1362         * docs/pwg/building-pads.xml:
1363         * docs/pwg/building-props.xml:
1364         * docs/pwg/building-state.xml:
1365         * docs/pwg/building-testapp.xml:
1366           Update the building-*.xml parts for 0.9 changes. All examples
1367           code blocks compile in examples/pwg/*.
1368
1369 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1370
1371         * docs/manual/advanced-autoplugging.xml:
1372         * docs/manual/appendix-checklist.xml:
1373         * docs/manual/appendix-integration.xml:
1374         * docs/manual/highlevel-components.xml:
1375           Fix playbin/decodebin examples, update docs a bit, mention bus
1376           instead of signals in various places, mention kmplayer and
1377           kaffeine since they have a working GStreamer backend in the KDE
1378           section.
1379
1380 2005-06-30  Wim Taymans  <wim@fluendo.com>
1381
1382         * CHANGES-0.9:
1383         * docs/design/draft-ghostpads.txt:
1384         * docs/design/draft-push-pull.txt:
1385         * docs/design/draft-query.txt:
1386         * docs/design/part-TODO.txt:
1387         * docs/design/part-query.txt:
1388         Added CHANGES-0.9 doc, updated status of other docs.
1389         
1390         * gst/gstquery.h:
1391         Remove "hmm" macro
1392
1393 2005-06-30  Wim Taymans  <wim@fluendo.com>
1394
1395         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
1396         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
1397         (gst_base_sink_change_state):
1398         * gst/base/gstbasesink.h:
1399         Some tweaks, only EOS and a buffer complete a preroll.
1400
1401 2005-06-30  Andy Wingo  <wingo@pobox.com>
1402
1403         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
1404         activate_push down to the internal pad as well.
1405
1406 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
1407
1408         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1409
1410         * gst/gsttaginterface.c:
1411           Some documentation fixes (#307394 and #307397).
1412
1413 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
1414
1415         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1416
1417         * gst/gstvalue.c: (gst_value_intersect_list):
1418           Fix memleak (#309125).
1419
1420 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1421
1422         * docs/manual/advanced-dataaccess.xml:
1423           Fix fakesrc example to compile; doesn't work, bug somewhere...?
1424         * docs/manual/basics-pads.xml:
1425           Add reference for filtered caps to above chapter.
1426
1427 2005-06-30  Wim Taymans  <wim@fluendo.com>
1428
1429         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
1430         (gst_bin_change_state):
1431         Probes are gone.
1432         Lame attempt at making the state change function a bit
1433         more readable.
1434
1435 2005-06-30  Wim Taymans  <wim@fluendo.com>
1436
1437         * docs/design/part-clocks.txt:
1438         * docs/design/part-element-sink.txt:
1439         * docs/design/part-events.txt:
1440         * docs/design/part-preroll.txt:
1441         * docs/design/part-states.txt:
1442         Some more tweeks and additions to the docs.
1443
1444 2005-06-30  Wim Taymans  <wim@fluendo.com>
1445
1446         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1447         (default_have_data), (gst_pad_class_init), (gst_pad_init),
1448         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1449         (gst_pad_check_pull_range), (gst_pad_get_range),
1450         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
1451         * gst/gstpad.h:
1452         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
1453         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1454         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1455         (gst_pad_remove_buffer_probe):
1456         Removed atomic operations, use existing LOCK.
1457         Move exception handling out of main code path.
1458
1459 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1460
1461         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1462         (silly_return_true_function), (gst_pad_class_init),
1463         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
1464         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
1465         (gst_pad_send_event):
1466           Fix accumulator, add default value by using _emitv() instead
1467           of _emit() for signal emission.
1468
1469 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1470
1471         * docs/manual/advanced-dataaccess.xml:
1472         * examples/manual/Makefile.am:
1473           Add probe example.
1474         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
1475           Make work (??).
1476
1477 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
1478
1479         * gst/elements/gstfilesink.c: (gst_filesink_render):
1480           Simplify code so that we don't have to handle short
1481           writes and return GST_FLOW_ERROR if an error occured.
1482
1483 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1484
1485         * docs/gst/gstreamer-docs.sgml:
1486           Remove probes more.
1487
1488 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1489
1490         * docs/gst/gstreamer-sections.txt:
1491         * docs/gst/tmpl/gstpad.sgml:
1492         * docs/gst/tmpl/gstprobe.sgml:
1493         * gst/Makefile.am:
1494         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
1495         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
1496         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
1497         (gst_pad_push_event), (gst_pad_send_event):
1498         * gst/gstpad.h:
1499         * gst/gstutils.c: (gst_pad_add_data_probe),
1500         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1501         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1502         (gst_pad_remove_buffer_probe):
1503         * gst/gstutils.h:
1504           Remove old probes, add new g-signal-based probes and some utility
1505           functions.
1506
1507 2005-06-29  Edward Hervey  <edward@fluendo.com>
1508
1509         * gst/gstelementfactory.c:
1510         * gst/gstutils.h:
1511         * gst/gstutils.c:
1512         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
1513         the definition to the header file.
1514
1515 2005-06-29  Andy Wingo  <wingo@pobox.com>
1516
1517         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
1518         plugins from the source directory.
1519
1520 2005-06-29  Wim Taymans  <wim@fluendo.com>
1521
1522         * docs/gst/tmpl/gstbuffer.sgml:
1523         * docs/gst/tmpl/gstclock.sgml:
1524         Some fixings for blantently wrong text.
1525
1526 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1527
1528         * check/Makefile.am:
1529         * gst/gst.c: (add_path_func), (init_pre):
1530         * gst/gstregistry.c: (gst_registry_add_path):
1531           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
1532           only scan the GST_PLUGIN_PATH locations, and not add
1533           system locations
1534
1535 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1536
1537         * docs/gst/gstreamer-sections.txt:
1538         * docs/gst/tmpl/gstbasesrc.sgml:
1539         * gst/gstelement.c:
1540         * gst/gstelement.h:
1541         * gst/gstevent.c:
1542         * gst/gstutils.c:
1543           doc fixes
1544
1545 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1546
1547         * docs/manual/advanced-autoplugging.xml:
1548           Fix autoplugging example.
1549
1550 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1551
1552         * docs/manual/advanced-autoplugging.xml:
1553         * docs/manual/mime-world.fig:
1554           Try to get autoplugging working, fix type detection. Fix text
1555           in hello-world image.
1556
1557 2005-06-29  Wim Taymans  <wim@fluendo.com>
1558
1559         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1560         (gst_base_sink_change_state):
1561         Small debug line.
1562
1563         * gst/gstclock.h:
1564         map SIGNAL and BROADCAST to the right function.
1565
1566         * gst/gstobject.h:
1567         Remove redundant braces.
1568
1569         * gst/gstpad.c: (gst_pad_set_caps):
1570         Don't call setcaps function when reseting caps to NULL.
1571
1572         * gst/gstsystemclock.c: (gst_system_clock_dispose),
1573         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
1574         (gst_system_clock_id_unschedule):
1575         Use BROADCAST as this is what we do.
1576
1577 2005-06-29  Wim Taymans  <wim@fluendo.com>
1578
1579         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1580         We are actually prerolling before commiting the state
1581         change. 
1582
1583 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
1584
1585         * docs/manual/advanced-clocks.xml:
1586         * docs/manual/advanced-interfaces.xml:
1587         * docs/manual/advanced-metadata.xml:
1588         * docs/manual/advanced-position.xml:
1589         * docs/manual/advanced-schedulers.xml:
1590         * docs/manual/advanced-threads.xml:
1591         * docs/manual/appendix-porting.xml:
1592         * docs/manual/basics-bins.xml:
1593         * docs/manual/basics-bus.xml:
1594         * docs/manual/basics-elements.xml:
1595         * docs/manual/basics-helloworld.xml:
1596         * docs/manual/basics-pads.xml:
1597         * docs/manual/highlevel-components.xml:
1598         * docs/manual/manual.xml:
1599         * docs/manual/thread.fig:
1600           Update (until threads/scheduling) Application Development Manual;
1601           remove GstThread, add GstBus, add simple porting checklist, add
1602           documentation for tag writing, clocks, make all examples until this
1603           part compile and run.
1604         * examples/manual/Makefile.am:
1605           Update from changes to Application Development Manual; add bus
1606           example, remove thread example.
1607
1608 2005-06-28  Wim Taymans  <wim@fluendo.com>
1609
1610         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
1611         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
1612         (gst_bus_source_dispatch):
1613         Add debugging messages.
1614         Make internal methods static.
1615         Handle the case where the bus is flushed in the handler.
1616         
1617         * gst/gstelement.c: (gst_element_get_bus):
1618         Fix refcount in _get_bus();
1619
1620         * gst/gstpipeline.c: (gst_pipeline_change_state),
1621         (gst_pipeline_get_clock_func):
1622         Clock refcounting fixes.
1623         Handle the case where preroll timed out more gracefully.
1624         
1625         * gst/gstsystemclock.c: (gst_system_clock_dispose):
1626         Clean up the internal thread in dispose. This is needed
1627         for subclasses that actually get disposed.
1628         
1629         * gst/schedulers/threadscheduler.c:
1630         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
1631         (gst_thread_scheduler_dispose):
1632         Free thread pool in dispose.
1633
1634 2005-06-28  Andy Wingo  <wingo@pobox.com>
1635
1636         * tests/network-clock-utils.scm (debug, print-event): New utils.
1637
1638         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
1639         (*packet-loss*): Unified loss probability.
1640         (network-time): Report out-of-band events.
1641
1642         * tests/plot-data: Add support for out-of-band events. Hack it
1643         into this script instead of passing it down the pipe; should fix
1644         this later.
1645
1646 2005-06-28  Wim Taymans  <wim@fluendo.com>
1647
1648         * docs/gst/gstreamer.types:
1649         * docs/gst/tmpl/gstbasesrc.sgml:
1650         * docs/gst/tmpl/gstpad.sgml:
1651         Docs fixes.
1652
1653 2005-06-28  Wim Taymans  <wim@fluendo.com>
1654
1655         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1656         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
1657         (gst_proxy_pad_do_fixatecaps):
1658         Correctly proxy the check_pull_range function.
1659
1660 2005-06-28  Andy Wingo  <wingo@pobox.com>
1661
1662         * tests/network-clock.scm: Removed need for slib.
1663         
1664 2005-06-28  Wim Taymans  <wim@fluendo.com>
1665
1666         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
1667         (gst_basesink_preroll_queue_flush):
1668         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
1669         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
1670         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1671         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1672         (gst_proxy_pad_set_property):
1673         * gst/gstpad.c:
1674         * gst/gstpad.h:
1675         * gst/gstqueue.c: (gst_queue_init):
1676         The deprecated pad loop function is removed now.
1677
1678 2005-06-28  Andy Wingo  <wingo@pobox.com>
1679
1680         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
1681         New parameters, simulate network packet loss.
1682
1683         * tests/network-clock-utils.scm: Initialize the RNG.
1684
1685 2005-06-28  Wim Taymans  <wim@fluendo.com>
1686
1687         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
1688         (gst_basesink_event), (gst_basesink_deactivate):
1689         Flushing the preroll queue always needs to unlock the waiters.
1690
1691 2005-06-28  Edward Hervey  <edward@fluendo.com>
1692
1693         * gst/gstpipeline.c: (gst_pipeline_send_event): 
1694         Wheen a seek was successful on a pipeline, set the stream_time to the
1695         seek offset in order to have a synchronized stream_time.
1696
1697 2005-06-28  Wim Taymans  <wim@fluendo.com>
1698
1699         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
1700         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
1701         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
1702         (gst_proxy_pad_do_fixatecaps):
1703         Call wrapper function instead of just calling the function
1704         pointers. This takes care of any locking and whatmore.
1705
1706 2005-06-28  Wim Taymans  <wim@fluendo.com>
1707
1708         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
1709         (gst_pad_pull_range):
1710         * gst/gstpad.h:
1711         CONNECTED -> LINKED.
1712
1713 2005-06-28  Andy Wingo  <wingo@pobox.com>
1714
1715         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
1716         source-munging commit!!!
1717
1718         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
1719         (gst_object_sink): Take gpointer arguments, not GstObject --
1720         avoids casts. Like GLib.
1721
1722         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
1723         activate.
1724
1725 2005-06-27  Andy Wingo  <wingo@pobox.com>
1726
1727         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
1728         remaining buffer.
1729
1730         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
1731         returns a sorted copy of the trace list.
1732         (gst_alloc_trace_print_live): New API, only prints traces with
1733         live objects. Sort the list.
1734         (gst_alloc_trace_print_all): Sort the list.
1735         (gst_alloc_trace_print): Align columns.
1736
1737         * gst/elements/gstttypefindelement.c:
1738         * gst/elements/gsttee.c:
1739         * gst/base/gstbasesrc.c:
1740         * gst/base/gstbasesink.c:
1741         * gst/base/gstbasetransform.c:
1742         * gst/gstqueue.c: Adapt for pad activation changes.
1743
1744         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
1745         sched.
1746         (gst_pipeline_dispose): Drop ref on sched.
1747
1748         * gst/gstpad.c (gst_pad_init): Set the default activate func.
1749         (gst_pad_activate_default): Push mode by default.
1750         (pre_activate_switch, post_activate_switch): New stubs, things to
1751         do before and after switching activation modes on pads.
1752         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
1753         the pad's activate function to choose which mode to activate.
1754         Shortcut on deactivation and call the right function directly.
1755         (gst_pad_activate_pull): New API, (de)activates a pad in pull
1756         mode.
1757         (gst_pad_activate_push): New API, same for push mode.
1758         (gst_pad_set_activate_function) 
1759         (gst_pad_set_activatepull_function) 
1760         (gst_pad_set_activatepush_function): Setters for new API.
1761
1762         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
1763         Trace all miniobjects.
1764         (gst_mini_object_make_writable): Unref the arg if we copy, like
1765         gst_caps_make_writable.
1766
1767         * gst/gstmessage.c (_gst_message_initialize): No trace init.
1768
1769         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
1770         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
1771         Adapt for new pad API.
1772
1773         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
1774
1775         * gst/gstelement.h:
1776         * gst/gstelement.c (gst_element_iterate_src_pads) 
1777         (gst_element_iterate_sink_pads): New API functions.
1778         
1779         * gst/gstelement.c (iterator_fold_with_resync): New utility,
1780         should fold into gstiterator.c in some form.
1781         (gst_element_pads_activate): Simplified via use of fold and
1782         delegation of decisions to gstpad->activate.
1783
1784         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
1785         help in debugging.
1786
1787         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
1788         class once in init, like gstmessage. Didn't run into this issue
1789         but it seems correct. Don't initialize a trace, gstminiobject does
1790         that.
1791
1792         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
1793         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
1794         to the bus.
1795         (assert_live_count): New util function, uses alloc traces to check
1796         cleanup.
1797
1798         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
1799         To be modified when unlink drops the internal pad.
1800
1801 2005-06-27  Wim Taymans  <wim@fluendo.com>
1802
1803         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
1804         (gst_bin_change_state):
1805         Cleanup the get_state() function a little, make sure it
1806         iterates the same set of elements.
1807         Added stub iterate_state_order().
1808
1809 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1810
1811         * docs/gst/gstreamer-docs.sgml:
1812         * docs/gst/gstreamer-sections.txt:
1813         * docs/gst/gstreamer.types:
1814         * docs/gst/tmpl/gstbasesink.sgml:
1815         * docs/gst/tmpl/gstbasesrc.sgml:
1816         * docs/gst/tmpl/gstbasetransform.sgml:
1817         * docs/gst/tmpl/gstelement.sgml:
1818         * docs/gst/tmpl/gstiterator.sgml:
1819         * gst/base/gstbasesrc.c:
1820         * gst/base/gstbasesrc.h:
1821         * gst/base/gstbasetransform.h:
1822         * gst/gstelement.c:
1823         * gst/gstiterator.h:
1824           adding basetransform and iterator docs
1825
1826 2005-06-27  Andy Wingo  <wingo@pobox.com>
1827
1828         * docs/design/part-activation.txt: Notes on how activation should
1829         work -- not quite implemented yet.
1830
1831 2005-06-25  Wim Taymans  <wim@fluendo.com>
1832
1833         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
1834         At least get the chain function correct, needs more
1835         fixing.
1836
1837 2005-06-25  Wim Taymans  <wim@fluendo.com>
1838
1839         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1840         (gst_basesink_handle_object), (gst_basesink_event),
1841         (gst_basesink_do_sync), (gst_basesink_handle_event),
1842         (gst_basesink_change_state):
1843         * gst/gsttask.h:
1844         Right, two problems here: ghostpads don't take locks and
1845         glib _rec_mutex_lock_full() with depth==0 still locks.
1846         Catch illegal locking and g_warn them.
1847
1848 2005-06-25  Wim Taymans  <wim@fluendo.com>
1849
1850         * check/states/sinks.c: (START_TEST), (gst_object_suite):
1851         Have to check for completion now...
1852
1853 2005-06-25  Wim Taymans  <wim@fluendo.com>
1854
1855         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
1856         (gst_basesink_handle_object), (gst_basesink_event),
1857         (gst_basesink_do_sync), (gst_basesink_handle_event),
1858         (gst_basesink_change_state):
1859         * gst/gstpad.h:
1860         Unlock STREAM_LOCK whatever the recursion was.
1861
1862 2005-06-25  Wim Taymans  <wim@fluendo.com>
1863
1864         * gst/base/gstbasesink.c: (gst_basesink_set_property),
1865         (gst_basesink_preroll_queue_empty),
1866         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
1867         (gst_basesink_event), (gst_basesink_do_sync),
1868         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
1869         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
1870         (gst_basesink_change_state):
1871         Reworked the base sink, handle event and buffer serialisation
1872         correctly and removed possible deadlock.
1873         Handle EOS correctly.
1874
1875 2005-06-25  Wim Taymans  <wim@fluendo.com>
1876
1877         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
1878         (gst_pipeline_change_state):
1879         * tools/gst-launch.c: (check_intr), (event_loop), (main):
1880         Allow elements to post EOS in the state change function.
1881         Fix up -launch, make it exit the poll loop when the
1882         pipeline actually changed state.
1883         Fix up warning parsing in -launch.
1884
1885 2005-06-25  Wim Taymans  <wim@fluendo.com>
1886
1887         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
1888         (gst_tee_sink_activate):
1889         Core takes STREAM_LOCK for us now.
1890
1891 2005-06-25  Wim Taymans  <wim@fluendo.com>
1892
1893         * gst/gstelement.c: (gst_element_get_state_func),
1894         (gst_element_set_state):
1895         * gst/gstelement.h:
1896         * gst/gstmessage.c: (gst_message_parse_error),
1897         (gst_message_parse_warning):
1898         Keep track of current target state while performing a state
1899         change so that subclasses can do something interesting.
1900         Fix parsing of warning/error messages when GError is NULL.
1901
1902 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1903
1904         * docs/gst/Makefile.am:
1905         * docs/gst/gstreamer-docs.sgml:
1906         * docs/gst/gstreamer-sections.txt:
1907         * docs/gst/gstreamer.types:
1908         * docs/gst/tmpl/gstbasesink.sgml:
1909         * docs/gst/tmpl/gstbasesrc.sgml:
1910         * docs/gst/tmpl/gstbin.sgml:
1911         * docs/gst/tmpl/gstcompat.sgml:
1912         * docs/gst/tmpl/gstfakesink.sgml:
1913         * docs/gst/tmpl/gstfakesrc.sgml:
1914         * docs/gst/tmpl/gstfilesink.sgml:
1915         * docs/gst/tmpl/gstfilesrc.sgml:
1916         * docs/gst/tmpl/gstindex.sgml:
1917         * docs/manual/appendix-quotes.xml:
1918         * gst/base/gstbasesrc.h:
1919         * gst/elements/gstfakesrc.h:
1920         * gst/gstmessage.h:
1921           start pulling in base classes and elements in our docs
1922
1923 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
1924
1925         * docs/gst/Makefile.am:
1926         * docs/libs/Makefile.am:
1927           fixed make distcheck with gtk-doc 1.3
1928
1929 2005-06-23  Wim Taymans  <wim@fluendo.com>
1930
1931         * gst/gstelement.c: (gst_element_get_state_func),
1932         (gst_element_set_state), (gst_element_change_state):
1933         When the state did not change, also report NO_PREROLL
1934         when it matters.
1935
1936 2005-06-23  Wim Taymans  <wim@fluendo.com>
1937
1938         * gst/gstpad.c: (gst_pad_event_default):
1939         * gst/gstqueue.c: (gst_queue_loop):
1940         No unsafe task pausing please.
1941
1942 2005-06-23  Wim Taymans  <wim@fluendo.com>
1943
1944         * gst/schedulers/threadscheduler.c:
1945         (gst_thread_scheduler_task_start),
1946         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
1947         Ref the task before pushing it on the threadpool. This
1948         makes sure that we have a ref when the threadfunction is
1949         actually called.
1950
1951 2005-06-23  Andy Wingo  <wingo@pobox.com>
1952
1953         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
1954         offset is greater than the file's size.
1955
1956         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
1957         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
1958         * gst/gstobject.c (gst_object_class_init): Make the class lock
1959         recursive. Wim won't let me drop deep_notify. Decodebin works
1960         again, whoopdy doo.
1961
1962         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
1963         internal pad, and hacks accordingly. Doesn't do it on the target
1964         pad because we change its caps. Probably catches all cases of
1965         interest tho.
1966         (gst_ghost_pad_set_property): Connect to notify::caps as
1967         appropritate.
1968
1969         * tests/network-clock.scm (plot-simulation): Pipe data to the
1970         elite python skript.
1971
1972         * tests/network-clock-utils.scm (define-parameter): New macro,
1973         defines a parameter that can be set via the command line.
1974         (set-parameter!, parse-parameter-arguments): Command line args
1975         parser.
1976
1977         * tests/plot-data: Simple matplotlib-based plotter, takes input on
1978         stdin.
1979
1980 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
1981
1982         * gst/elements/gsttypefindelement.c:
1983         (gst_type_find_element_handle_event):
1984           Don't restart typefinding on a discont.
1985         * gst/gstelement.c: (gst_element_set_state):
1986           Debug spelling fix.
1987         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
1988           Allow changing mode of an active pad.
1989           Debug output fixes.
1990         * gst/registries/gstlibxmlregistry.c: (load_feature):
1991           Don't cast a static pad template to a normal pad template.
1992
1993 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1994
1995         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
1996         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
1997           remove gst_strtoll completely, since it didn't actually do
1998           anything more than what g_ascii_strtoull already does.
1999           check for range errors when deserializing
2000           do a cast for the unsigned cases; but further fixing needs
2001           a decision on what the interpretation of "(int)" and
2002           deserialization should be for values that fall outside the
2003           type's boundaries (ie, refuse, or interpret as casting)
2004
2005 2005-06-23  Wim Taymans  <wim@fluendo.com>
2006
2007         * check/Makefile.am:
2008         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
2009         * docs/design/part-live-source.txt:
2010         * docs/design/part-states.txt:
2011         * gst/base/gstbasesrc.c: (gst_basesrc_init),
2012         (gst_basesrc_set_live), (gst_basesrc_is_live),
2013         (gst_basesrc_get_range), (gst_basesrc_activate),
2014         (gst_basesrc_change_state):
2015         * gst/base/gstbasesrc.h:
2016         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
2017         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
2018         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
2019         * gst/gstelement.c: (gst_element_get_state_func),
2020         (gst_element_set_state):
2021         * gst/gstelement.h:
2022         * gst/gsttypes.h:
2023         * tools/gst-launch.c: (event_loop), (main):
2024         Added support for live sources and other elements that
2025         cannot do preroll.
2026         Updated design docs, added live-source design doc.
2027         Implemented live source functionality in basesrc
2028         Fix error condition in _bin_get_state()
2029         Implement live source handling in -launch.
2030         Added check for live sources.
2031         Fixed case in GstBin where elements were changed state
2032         multiple times.
2033
2034
2035 2005-06-23  Andy Wingo  <wingo@pobox.com>
2036
2037         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
2038         borken refcounting.
2039
2040         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
2041         gst_caps_replace takes care of this for us.
2042
2043         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
2044         gst_pad_set_caps on the target, not just its setcaps() function.
2045
2046         * tests/network-clock.scm: 
2047         * tests/network-clock-utils.scm: A network clock simulator.
2048         Something of an algorithmic testbed before doing something in C.
2049
2050 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2051
2052         * check/Makefile.am:
2053         * check/gst/capslist.h:
2054           copy over from 0.8, and add two with bitmasks specified with
2055           (int) 0xFF...
2056         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2057           add test to parse everything from capslist.h
2058         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
2059         (main):
2060           add test for structure deserialization
2061         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2062           add tests for deserialization of strings to int types
2063         * gst/gststructure.c: (gst_structure_nth_field_name):
2064         * gst/gststructure.h:
2065           add a way to get the name of a field referenced by index
2066         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
2067           instead of checking if the resulting long long lies between
2068           min and max, we check if the long long would fit into
2069           a number of bytes for the final type.
2070           This fixes cases where a string represents 2^32 - 1, which
2071           when cast to int would be the (valid) -1, but is bigger than
2072           G_MAXINT
2073
2074 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2075
2076         * gst/parse/grammar.y:
2077           add a log line for type deserialization
2078
2079 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2080
2081         * check/gst/gstvalue.c: (START_TEST):
2082         * gst/gstvalue.c: (gst_value_deserialize):
2083           return long long, not int, so gint64 deserialization actually
2084           works.  Is there any flag that makes the compiler check this ?
2085           Fixes #308559
2086
2087 2005-06-22  Wim Taymans  <wim@fluendo.com>
2088
2089         * gst/gstbuffer.h:
2090         Added convenience macros for setting buffers in GValue.
2091
2092 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2093
2094         * check/gst/.cvsignore:
2095         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
2096           add a test deserializing int64, and comment part out because
2097           it fails, yay !
2098
2099 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2100
2101         * check/Makefile.am:
2102         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
2103         * testsuite/Makefile.am:
2104         * testsuite/caps/Makefile.am:
2105         * testsuite/caps/value_serialize.c:
2106         * testsuite/test_gst_init.c:
2107           move a value_serialize test over
2108
2109 2005-06-20  Wim Taymans  <wim@fluendo.com>
2110
2111         * gst/gstpad.c:
2112         Small doc updates.
2113         
2114         * gst/gstvalue.c: (gst_value_compare_buffer),
2115         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
2116         (gst_value_compare_flags), (gst_value_serialize_flags),
2117         (gst_value_deserialize_flags), (_gst_value_initialize):
2118         Fix serialisation of buffers, they are not boxed types anymore
2119
2120 2005-06-20  Wim Taymans  <wim@fluendo.com>
2121
2122         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
2123         Testcase to show error in buffer-on-caps serialisation.
2124
2125 2005-06-20  Andy Wingo  <wingo@pobox.com>
2126
2127         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
2128         will be adding to later.
2129
2130         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
2131         if its socks fill with rocks.
2132         (gst_system_clock_obtain): Set the name on object construction.
2133         Avoid double-checked locking.
2134
2135 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
2136
2137         * gst/gsturi.c: (gst_element_make_from_uri):
2138           Fix potential endless loop.
2139
2140 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2141
2142         * check/Makefile.am:
2143           add gsttag
2144         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
2145         (main):
2146           move over from testsuite dir and clean up
2147         * configure.ac:
2148         * gst/gsttag.c:
2149         * testsuite/Makefile.am:
2150         * testsuite/tags/.cvsignore:
2151         * testsuite/tags/Makefile.am:
2152         * testsuite/tags/merge.c:
2153           remove testsuite/tags
2154
2155 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2156
2157         * docs/gst/gstreamer-sections.txt:
2158         * docs/gst/tmpl/gstenumtypes.sgml:
2159         * win32/gstenumtypes.c:
2160           clean up documentation build a little
2161
2162 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2163
2164         * check/gstcheck.h:
2165           add macros for checking refcounts on objects and caps
2166         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
2167           add some more unit tests
2168         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
2169         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
2170           fix leaked refcounts (I hope :)) so unittest works
2171         * gst/gstpad.h:
2172           whitespace removal
2173
2174 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
2175
2176         * configure.ac: back to HEAD
2177
2178 === release 0.9.1 ===
2179
2180 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2181
2182         * NEWS:
2183         * RELEASE:
2184           updated
2185
2186 2005-06-17  Andy Wingo  <wingo@pobox.com>
2187
2188         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
2189         assert; it's always possible that the pad gets deactivated in
2190         between the checks in gstpad.c and the implementation. Rely on
2191         finish_preroll() to return a FLUSHING or similar instead of on the
2192         assert.
2193         
2194         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
2195         clock and post an EOS message if we come out of finish_preroll in
2196         the playing state.
2197
2198 2005-06-16  David Schleef  <ds@schleef.org>
2199
2200         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
2201         (gst_capsfilter_set_property): Allow NULL as possible value
2202         for filter_caps property, indicating GST_CAPS_ANY.
2203
2204 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2205
2206         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
2207           fix debug output
2208         * gst/schedulers/Makefile.am:
2209           use libgst prefix
2210         * gstreamer.spec.in:
2211           fix spec for it
2212
2213 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2214
2215         * gstreamer.spec.in:
2216           clean up
2217
2218 2005-06-08  Andy Wingo  <wingo@pobox.com>
2219
2220         * gst/gstutils.c: RPAD fixes all around.
2221         (gst_element_link_pads): Refcounting fixes.
2222
2223         * tools/gst-inspect.c:
2224         * tools/gst-xmlinspect.c:
2225         * parse/grammar.y:
2226         * gst/base/gsttypefindhelper.c:
2227         * gst/base/gstbasesink.c:
2228         * gst/gstqueue.c: RPAD fixes.
2229
2230         * gst/gstghostpad.h:
2231         * gst/gstghostpad.c: New ghost pad implementation as full proxy
2232         pads. The tricky thing is they provide both source and sink
2233         interfaces, since they proxy the internal pad for the external
2234         pad, and vice versa. Implement with lower-level ProxyPad objects,
2235         with the interior proxy pad as a child of the exterior ghost pad.
2236         Should write a doc on this.
2237         
2238         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
2239         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
2240         gst_object API.
2241         
2242         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
2243         pads are real pads. No ghost pads in this file. Not documenting
2244         the myriad s/RPAD/PAD/ and REALIZE fixes.
2245         (gst_pad_class_init): Add properties for "direction" and
2246         "template". Both are construct-only, so they can't change during
2247         the life of the pad. Fixes properly deriving from GstPad.
2248         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
2249         derived objects, just set properties when creating the objects via
2250         g_object_new.
2251         (gst_pad_get_parent): Implement as a function, return NULL if the
2252         parent is not an element.
2253         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
2254         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
2255         
2256         * gst/gstobject.c (gst_object_class_init): Make name a construct
2257         property. Don't set it in the object init.
2258
2259         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
2260         with UNKNOWN direction.
2261         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
2262         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
2263         (gst_element_remove_pad): Remove ghost-pad special cases.
2264         (gst_element_pads_activate): Remove rpad cruft.
2265
2266         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
2267         catch the pad's-parent-not-an-element case.
2268
2269         * gst/gst.h: Include gstghostpad.h.
2270
2271         * gst/gst.c (init_post): No more real, ghost pads.
2272
2273         * gst/Makefile.am: Add gstghostpad.[ch].
2274
2275         * check/Makefile.am:
2276         * check/gst/gstbin.c:
2277         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
2278         into a bin creates ghost pads, and that the refcounts are right.
2279         Partly moved from gstbin.c.
2280
2281 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2282
2283         * check/gst-libs/.cvsignore:
2284         * check/gst/.cvsignore:
2285         * check/pipelines/.cvsignore:
2286           ignore more
2287         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
2288         (START_TEST), (cleanup_suite), (main):
2289           add some tests related to cleanup after running pipelines
2290
2291 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2292
2293         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
2294           add a testsuite for GstBuffer
2295
2296 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
2297
2298         * gst/gstminiobject.h:
2299           add defines for accessing the refcount
2300
2301 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
2302
2303         * Makefile.am: added support for html unit test coverage reports
2304
2305 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
2306
2307         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
2308           Free existing caps if the capsfilter changes. Add a FIXME about
2309           setting those caps on the pads.
2310
2311         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
2312           Before adding a ghost pad to a parent bin, check that there isn't
2313           already one for the element on the bin. Prevents infinite recursion
2314           when using decodebin in parse pipelines. Andy says he'll rewrite the
2315           way this works anyway, so ignore the hack.
2316
2317 2005-06-02  Andy Wingo  <wingo@pobox.com>
2318
2319         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
2320         file size, pass it on to the type find helper.
2321
2322         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
2323         segment_start and segment_end properly according to the seek
2324         method. Segment_end is still a bit flaky because offset can be
2325         negative for CUR and END cases, but it takes -1 as an "unset"
2326         value.
2327
2328 2005-06-02  Wim Taymans  <wim@fluendo.com>
2329
2330         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
2331         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
2332         (gst_basesink_activate):
2333         * gst/base/gstbasesink.h:
2334         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2335         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2336         (gst_pad_query), (gst_pad_start_task):
2337         * gst/gstpad.h:
2338         * gst/gstqueue.c: (gst_queue_bufferalloc),
2339         (gst_queue_handle_sink_event), (gst_queue_chain):
2340         Bufferalloc: return GstFlowReturn to more accuratly report
2341         why allocation failed.
2342
2343 2005-06-02  Wim Taymans  <wim@fluendo.com>
2344
2345         * gst/gstpipeline.c: (gst_pipeline_send_event):
2346         Take snapshot of state without blocking.
2347
2348 2005-06-02  Wim Taymans  <wim@fluendo.com>
2349
2350         * docs/design/part-TODO.txt:
2351         * docs/design/part-caps.txt:
2352         * docs/design/part-clocks.txt:
2353         * docs/design/part-negotiation.txt:
2354         * docs/design/part-preroll.txt:
2355         Small doc updates 
2356
2357 2005-05-30  Wim Taymans  <wim@fluendo.com>
2358
2359         * gst/elements/gstidentity.c: (gst_identity_event),
2360         (gst_identity_transform), (gst_identity_get_property):
2361         Protect last_message property as it is accessed from
2362         multiple threads.
2363
2364 2005-05-30  Wim Taymans  <wim@fluendo.com>
2365
2366         * gst/gstelement.c: (gst_element_init),
2367         (gst_element_pads_activate), (gst_element_change_state):
2368         Slicker pad activation code.
2369
2370 2005-05-30  Wim Taymans  <wim@fluendo.com>
2371
2372         * gst/Makefile.am:
2373         * gst/gstelement.h:
2374         * gst/gstelementfactory.h:
2375         * gst/gsttypes.h:
2376         Move elementfactory methods to separate .h file.
2377
2378 2005-05-30  Wim Taymans  <wim@fluendo.com>
2379
2380         * docs/design/part-overview.txt:
2381         * gst/gstsystemclock.h:
2382         Small typo fixes, doc updates.
2383
2384 2005-05-30  Wim Taymans  <wim@fluendo.com>
2385
2386         * gst/gst.c: (gst_init_get_popt_table), (init_post),
2387         (init_popt_callback):
2388         Remove cpu-opt flag.
2389
2390 2005-05-30  Wim Taymans  <wim@fluendo.com>
2391
2392         * gst/gstbuffer.c: (gst_subbuffer_finalize),
2393         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
2394         * gst/gstbuffer.h:
2395         Avoid typechecking in places where not needed.
2396         Added accessor for malloc_data.
2397
2398 2005-05-30  Wim Taymans  <wim@fluendo.com>
2399
2400         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
2401         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
2402         (gst_pad_configure_sink), (gst_pad_configure_src),
2403         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
2404         (gst_pad_start_task):
2405         Propagate errors from _set_caps() in configure_src/sink
2406         functions instead of returning TRUE.
2407         FLUSH events can travel up and downstream
2408
2409
2410 2005-05-30  Wim Taymans  <wim@fluendo.com>
2411
2412         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2413         (gst_basesink_activate):
2414         Handle EOS in preroll.
2415
2416 2005-05-30  Wim Taymans  <wim@fluendo.com>
2417
2418         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2419         (gst_queue_loop), (gst_queue_handle_src_event):
2420         Remove old pieces of code
2421         Flushing the queue in an upstream event is a very bad idea.
2422
2423 2005-05-26  Andy Wingo  <wingo@pobox.com>
2424
2425         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
2426         gst_value_set_mini_object so as to add a ref on the object (which
2427         will be removed when the value is unset).
2428
2429         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
2430         arg type in ::handoff.
2431
2432         * gst/gstelement.c (gst_element_change_state): Also deactivate
2433         pads in READY->NULL, just in case the element didn't make it to
2434         PAUSED. Wingo tested, Wim approved.
2435
2436 2005-05-26  Wim Taymans  <wim@fluendo.com>
2437
2438         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2439         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
2440         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
2441         A flushing pad cannot be used to alloc_buffer from.
2442
2443 2005-05-26  Wim Taymans  <wim@fluendo.com>
2444
2445         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
2446         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
2447         (gst_bus_source_dispatch), (gst_bus_source_finalize),
2448         (gst_bus_create_watch), (gst_bus_add_watch_full):
2449         * gst/gstbus.h:
2450         Implement a real GSource and use g_main_context_wakeup() to
2451         signal new messages instead of the socketpair.
2452
2453 2005-05-25  Wim Taymans  <wim@fluendo.com>
2454
2455         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
2456         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
2457         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2458         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2459         (gst_pad_send_event), (gst_pad_start_task):
2460         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
2461         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
2462         (gst_queue_sink_activate), (gst_queue_src_activate),
2463         (gst_queue_change_state):
2464         * gst/gstqueue.h:
2465         Fix state changes for non sinks. We now change sinks, then elements
2466         with unconnected srcpads, then the rest.
2467         More efficient queue unlocking in flush and state changes.
2468         Set the pad activate mode even if it does not have an activate
2469         function.
2470
2471 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2472
2473         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
2474           Don't go in pull mode for non-seekable sources.
2475         * gst/elements/gsttypefindelement.h:
2476         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
2477         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
2478         (free_entry), (stop_typefinding),
2479         (gst_type_find_element_handle_event), (find_peek),
2480         (gst_type_find_element_chain), (do_pull_typefind),
2481         (gst_type_find_element_change_state):
2482           Allow typefinding (w/o seeking) in push-mode, simplified version
2483           of what was in 0.8.
2484         * gst/gstutils.c: (gst_buffer_join):
2485         * gst/gstutils.h:
2486           gst_buffer_join() from 0.8.
2487
2488 2005-05-25  Wim Taymans  <wim@fluendo.com>
2489
2490         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
2491         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
2492         (gst_pad_send_event), (gst_pad_start_task):
2493         Disable attempt at mode switching until it is figured out.
2494
2495 2005-05-25  Wim Taymans  <wim@fluendo.com>
2496
2497         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
2498         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
2499         (gst_basesink_finish_preroll), (gst_basesink_chain),
2500         (gst_basesink_loop), (gst_basesink_activate),
2501         (gst_basesink_change_state):
2502         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
2503         (gst_basesrc_get_range), (gst_basesrc_loop),
2504         (gst_basesrc_activate):
2505         * gst/elements/gsttee.c: (gst_tee_sink_activate):
2506         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
2507         (gst_real_pad_init), (gst_real_pad_set_property),
2508         (gst_real_pad_get_property), (gst_pad_set_active),
2509         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
2510         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
2511         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
2512         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
2513         (gst_pad_event_default_dispatch), (gst_pad_event_default),
2514         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
2515         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
2516         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
2517         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
2518         (gst_pad_stop_task):
2519         * gst/gstpad.h:
2520         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
2521         (gst_queue_loop), (gst_queue_src_activate):
2522         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
2523         (gst_task_get_state):
2524         * gst/gsttask.h:
2525         * gst/schedulers/threadscheduler.c:
2526         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
2527         Implement gst_pad_pause/start/stop_task(), take STREAM lock
2528         in task function.
2529         Remove ACTIVE pad flag, use FLUSHING everywhere
2530         Added _pad_chain(), _pad_get_range() to call chain/getrange 
2531         functions.
2532         Add locks around IS_FLUSHING when reading.
2533         Take STREAM lock in chain(), get_range() functions so plugins
2534         don't need to take it anymore.
2535         
2536
2537
2538 2005-05-25  Wim Taymans  <wim@fluendo.com>
2539
2540         * tools/gst-launch.c: (event_loop):
2541         Unref message after using its contents instead of
2542         before.
2543
2544 2005-05-24  Wim Taymans  <wim@fluendo.com>
2545
2546         * docs/design/draft-ghostpads.txt:
2547         * docs/design/draft-push-pull.txt:
2548         * docs/design/draft-query.txt:
2549         * docs/design/part-overview.txt:
2550         Docs updates, added general overview doc.
2551
2552 2005-05-21  David Schleef  <ds@schleef.org>
2553
2554         * docs/gst/tmpl/old/GstBin.sgml:
2555         * docs/gst/tmpl/old/GstBuffer.sgml:
2556         * docs/gst/tmpl/old/GstCaps.sgml:
2557         * docs/gst/tmpl/old/GstClock.sgml:
2558         * docs/gst/tmpl/old/GstCompat.sgml:
2559         * docs/gst/tmpl/old/GstData.sgml:
2560         * docs/gst/tmpl/old/GstElement.sgml:
2561         * docs/gst/tmpl/old/GstEvent.sgml:
2562         * docs/gst/tmpl/old/GstIndex.sgml:
2563         * docs/gst/tmpl/old/GstStructure.sgml:
2564         * docs/gst/tmpl/old/GstTag.sgml:
2565         * docs/gst/tmpl/old/cothreads.sgml:
2566         * docs/gst/tmpl/old/cothreads_compat.sgml:
2567         * docs/gst/tmpl/old/gettext.sgml:
2568         * docs/gst/tmpl/old/gobject2gtk.sgml:
2569         * docs/gst/tmpl/old/grammar.tab.sgml:
2570         * docs/gst/tmpl/old/gst-i18n-app.sgml:
2571         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
2572         * docs/gst/tmpl/old/gst_private.sgml:
2573         * docs/gst/tmpl/old/gstaggregator.sgml:
2574         * docs/gst/tmpl/old/gstarch.sgml:
2575         * docs/gst/tmpl/old/gstatomic_impl.sgml:
2576         * docs/gst/tmpl/old/gstbufferstore.sgml:
2577         * docs/gst/tmpl/old/gstdata_private.sgml:
2578         * docs/gst/tmpl/old/gstdisksink.sgml:
2579         * docs/gst/tmpl/old/gstdisksrc.sgml:
2580         * docs/gst/tmpl/old/gstelementfactory.sgml:
2581         * docs/gst/tmpl/old/gstextratypes.sgml:
2582         * docs/gst/tmpl/old/gstfakesink.sgml:
2583         * docs/gst/tmpl/old/gstfakesrc.sgml:
2584         * docs/gst/tmpl/old/gstfdsink.sgml:
2585         * docs/gst/tmpl/old/gstfdsrc.sgml:
2586         * docs/gst/tmpl/old/gstfilesink.sgml:
2587         * docs/gst/tmpl/old/gstfilesrc.sgml:
2588         * docs/gst/tmpl/old/gsthttpsrc.sgml:
2589         * docs/gst/tmpl/old/gstidentity.sgml:
2590         * docs/gst/tmpl/old/gstindexfactory.sgml:
2591         * docs/gst/tmpl/old/gstmarshal.sgml:
2592         * docs/gst/tmpl/old/gstmd5sink.sgml:
2593         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
2594         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
2595         * docs/gst/tmpl/old/gstpadtemplate.sgml:
2596         * docs/gst/tmpl/old/gstpipefilter.sgml:
2597         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
2598         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
2599         * docs/gst/tmpl/old/gstshaper.sgml:
2600         * docs/gst/tmpl/old/gstspider.sgml:
2601         * docs/gst/tmpl/old/gstspideridentity.sgml:
2602         * docs/gst/tmpl/old/gststatistics.sgml:
2603         * docs/gst/tmpl/old/gsttee.sgml:
2604         * docs/gst/tmpl/old/gsttimecache.sgml:
2605         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
2606         * docs/gst/tmpl/old/gstxmlregistry.sgml:
2607         * docs/gst/tmpl/old/gthread-cothreads.sgml:
2608         * docs/gst/tmpl/old/types.sgml:
2609           I didn't intend to add these or check them in.
2610
2611 2005-05-19  David Schleef  <ds@schleef.org>
2612
2613         * configure.ac: Use -no-common everywhere.  In a sane world, it
2614           would be the default in libtool, because without it, you can't
2615           build DLLs on Windows.
2616         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
2617         * docs/gst/gstreamer-sections.txt:
2618         * docs/gst/tmpl/gstcpu.sgml:
2619         * docs/gst/tmpl/gstdata.sgml:
2620         * docs/gst/tmpl/gstthread.sgml:
2621
2622 2005-05-19  David Schleef  <ds@schleef.org>
2623
2624         * gst/gstminiobject.c: (gst_value_set_mini_object),
2625         (gst_value_take_mini_object), (gst_value_get_mini_object):
2626         * gst/gstminiobject.h: Add GValue set/get functions.
2627
2628 2005-05-19  Wim Taymans  <wim@fluendo.com>
2629
2630         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
2631         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
2632         (gst_subbuffer_init), (gst_buffer_is_span_fast):
2633         * gst/gstbuffer.h:
2634         * gst/gstbus.c: (gst_bus_post):
2635         * gst/gstelement.c: (gst_element_get_random_pad):
2636         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
2637         Make subbufer unref the parent in finalize.
2638         some more debugging info.
2639
2640
2641 2005-05-19  Wim Taymans  <wim@fluendo.com>
2642
2643         * gst/base/gstbasesink.c: (gst_basesink_class_init),
2644         (gst_basesink_init), (gst_basesink_finalize),
2645         (gst_basesink_activate), (gst_basesink_change_state):
2646         Don't free preroll queue too early.
2647
2648 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2649
2650         * gst/Makefile.am:
2651         * gst/ROADMAP:
2652           Hi, I'm outdated. Please shoot me.
2653
2654 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2655
2656         * gst/gstpipeline.c: (gst_pipeline_send_event):
2657           Do not access variables after they have been deleted.
2658
2659 2005-05-19  Wim Taymans  <wim@fluendo.com>
2660
2661         * tools/gst-inspect.c: (print_plugin_features):
2662         A plugin feature does unfortunatly not use the
2663         object name yet...
2664
2665 2005-05-18  Wim Taymans  <wim@fluendo.com>
2666
2667         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
2668         Port _span() functions to new subbuffers.
2669
2670 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2671
2672         * gst/gstbin.c: (gst_bin_add_func):
2673           Fix clock settery in bins when adding kids after the clock has
2674           been selected.
2675
2676 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2677
2678         * gst/elements/gstidentity.c: (gst_identity_class_init):
2679           Workaround until signals support GstMiniObject.
2680
2681 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
2682
2683         * gst/gstbuffer.c:
2684         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
2685
2686 2005-05-18  Wim Taymans  <wim@fluendo.com>
2687
2688         * gst/base/Makefile.am:
2689         * gst/base/gstadapter.c: (gst_adapter_base_init),
2690         (gst_adapter_class_init), (gst_adapter_init),
2691         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
2692         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
2693         (gst_adapter_flush), (gst_adapter_available),
2694         (gst_adapter_available_fast):
2695         * gst/base/gstadapter.h:
2696         Ported and added adapter to the base classes.
2697
2698 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2699
2700         * gst/gst.c:
2701         * gst/gstmessage.c:
2702           Make sure the class is reffed/unreffed once before threads can be
2703           used.  Fixes #304551.
2704
2705 2005-05-17  Wim Taymans  <wim@fluendo.com>
2706
2707         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
2708         (gst_basesink_chain_unlocked), (gst_basesink_activate):
2709         * gst/gstminiobject.c: (gst_mini_object_get_type),
2710         (gst_mini_object_free):
2711         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
2712         (gst_pad_push), (gst_pad_push_event):
2713         * gst/gstqueue.c: (gst_queue_change_state):
2714         Don't queue buffers in basesink when we are flushing.
2715         Unref buffer when flushing in basesink.
2716         Flush queue when going to READY
2717         Unref buffer when _push() returns an error.
2718         Don't free MiniObject instance when refcount is incremented
2719         in _finalize() so that we can recover objects.
2720
2721 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
2722
2723         * docs/manual/advanced-schedulers.xml:
2724         * docs/manual/appendix-checklist.xml:
2725         * docs/pwg/advanced-clock.xml:
2726         * docs/pwg/advanced-interfaces.xml:
2727         * docs/pwg/advanced-request.xml:
2728         * docs/pwg/advanced-types.xml:
2729         * docs/pwg/intro-preface.xml:
2730         * examples/plugins/example.c: (gst_example_get_type),
2731         (gst_example_class_init), (gst_example_chain),
2732         (gst_example_set_property), (gst_example_get_property),
2733         (gst_example_change_state), (plugin_init):
2734         * examples/plugins/example.h:
2735           small doc fixes
2736
2737 2005-05-17  Wim Taymans  <wim@fluendo.com>
2738
2739         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
2740         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
2741         * gst/gstqueue.c: (gst_queue_change_state):
2742         Clear queue when going to READY.
2743         Remove IN_SETCAPS flag too.
2744
2745 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
2746
2747         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
2748           Remove implicit cast from gboolean to GstElementStateReturn;
2749           make sure we still return failure in paused => ready case if
2750           the parent class fails to change state and our own stop 
2751           vfunc succeeds.
2752
2753 2005-05-17  Wim Taymans  <wim@fluendo.com>
2754
2755         * tools/gst-launch.c: (event_loop):
2756         Message was unreffed too soon.
2757
2758 2005-05-16  Andy Wingo  <wingo@pobox.com>
2759
2760         * gst/gstbin.c (sink_iterator_filter): Err... um...
2761
2762         * check/gst/gstbin.c (test_ghost_pads): New test for the
2763         ghosting-if-elements-not-in-same-bin behavior.
2764
2765 2005-05-16  David Schleef  <ds@schleef.org>
2766
2767         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
2768         accessing refcount directly.
2769
2770 2005-05-15  David Schleef  <ds@schleef.org>
2771
2772         * check/Makefile.am: remove GstData checks
2773         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
2774         * gst/Makefile.am: add miniobject, remove data
2775         * gst/gst.h: add miniobject, remove data
2776         * gst/gstdata.c: remove
2777         * gst/gstdata.h: remove
2778         * gst/gstdata_private.h: remove
2779         * gst/gsttypes.h: remove GstEvent and GstMessage
2780         * gst/gstelement.c: (gst_element_post_message): fix for API changes
2781         * gst/gstmarshal.list: change BOXED -> OBJECT
2782
2783         Implement GstMiniObject.
2784         * gst/gstminiobject.c:
2785         * gst/gstminiobject.h:
2786
2787         Modify to be subclasses of GstMiniObject.
2788         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
2789         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
2790         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
2791         (gst_subbuffer_get_type), (gst_subbuffer_init),
2792         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
2793         (gst_buffer_span):
2794         * gst/gstbuffer.h:
2795         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
2796         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
2797         (_gst_event_copy), (gst_event_new):
2798         * gst/gstevent.h:
2799         * gst/gstmessage.c: (_gst_message_initialize),
2800         (gst_message_get_type), (gst_message_class_init),
2801         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
2802         (gst_message_new), (gst_message_new_error),
2803         (gst_message_new_warning), (gst_message_new_tag),
2804         (gst_message_new_state_changed), (gst_message_new_application):
2805         * gst/gstmessage.h:
2806         * gst/gstprobe.c: (gst_probe_perform),
2807         (gst_probe_dispatcher_dispatch):
2808         * gst/gstprobe.h:
2809         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
2810         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
2811         (_gst_query_copy), (gst_query_new):
2812
2813         Update elements for GstData -> GstMiniObject changes
2814         * gst/gstquery.h:
2815         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
2816         (gst_queue_chain), (gst_queue_loop):
2817         * gst/elements/gstbufferstore.c:
2818         (gst_buffer_store_add_buffer_func),
2819         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
2820         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
2821         (gst_fakesink_render):
2822         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
2823         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
2824         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
2825         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
2826         (gst_filesrc_create_read):
2827         * gst/elements/gstidentity.c: (gst_identity_class_init):
2828         * gst/elements/gsttypefindelement.c:
2829         (gst_type_find_element_src_event), (free_entry_buffers),
2830         (gst_type_find_element_handle_event):
2831         * libs/gst/dataprotocol/dataprotocol.c:
2832         (gst_dp_header_from_buffer):
2833         * libs/gst/dataprotocol/dataprotocol.h:
2834         * libs/gst/dataprotocol/dp-private.h:
2835
2836 2005-05-15  David Schleef  <ds@schleef.org>
2837
2838         * gst/elements/gstelements.c: Don't include headers that were
2839         just removed.
2840
2841 2005-05-15  David Schleef  <ds@schleef.org>
2842
2843         * gst/elements/Makefile.am: Remove some elements that don't
2844         need to be in the core (or even exist at all).
2845         * gst/elements/gstaggregator.c:
2846         * gst/elements/gstaggregator.h:
2847         * gst/elements/gstmd5sink.c:
2848         * gst/elements/gstmd5sink.h:
2849         * gst/elements/gstmultifilesrc.c:
2850         * gst/elements/gstmultifilesrc.h:
2851         * gst/elements/gstpipefilter.c:
2852         * gst/elements/gstpipefilter.h:
2853         * gst/elements/gstshaper.c:
2854         * gst/elements/gstshaper.h:
2855         * gst/elements/gststatistics.c:
2856         * gst/elements/gststatistics.h:
2857         * po/POTFILES.in: Remove above files.
2858
2859 2005-05-14  Andy Wingo  <wingo@pobox.com>
2860
2861         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
2862         so as to get the refs right.
2863         (sink_iterator_filter): New function, wraps bin_element_is_sink,
2864         unreffing objects that don't pass the filter.
2865
2866         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
2867         gst_element_set_bus.
2868         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
2869         normal cases, this will destroy the bus.
2870
2871         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
2872         object.
2873
2874         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
2875         has no sinks.
2876
2877 2005-05-13  Andy Wingo  <wingo@pobox.com>
2878
2879         * gst/gstutils.c (gst_element_link_pads): Instead of calling
2880         gst_pad_link, call pad_link_maybe_ghosting,
2881         (pad_link_maybe_ghosting): Links pads, making sure that the
2882         elements being linked are in the same bin.
2883         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
2884         Helpers for pad_link_maybe_ghosting.
2885
2886 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2887
2888         * configure.ac:
2889           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
2890
2891 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2892
2893         * docs/design/part-element-source.txt:
2894           Mention GstPushSrc
2895
2896 2005-05-12  Wim Taymans  <wim@fluendo.com>
2897
2898         * gst/base/gstbasesink.c: (gst_basesink_init),
2899         (gst_basesink_activate):
2900         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
2901         (gst_basesrc_is_seekable):
2902         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
2903         (bin_element_is_sink), (gst_bin_change_state):
2904         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
2905         * gst/gstelement.h:
2906         Identify sinks by their flag to avoid overly complicated
2907         checks (fow now).
2908         Do state changes even for elements not reachable from the
2909         sinks.
2910         BaseSink is a sink now :)
2911         Some more debugging info in the basesrc.
2912
2913
2914 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2915
2916         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
2917           Implement _query on a bin, similar to _send_event.
2918
2919 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
2920
2921         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
2922           Discont event offset format should be GST_FORMAT_BYTES,
2923           not GST_FORMAT_TIME.
2924
2925 2005-05-12  Wim Taymans  <wim@fluendo.com>
2926
2927         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
2928         Same fix as Ronald's but without the signal. 
2929
2930 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2931
2932         * gst/gstutils.c: (gst_element_query_position):
2933           No, an element is not a pad.
2934
2935 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
2936
2937         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
2938         (gst_bin_get_state):
2939           If a child is removed from a bin while we remove the child from
2940           the bin and while we're retrieving its state, signal this to the
2941           get_state function so we abort the wait (instead of waiting for
2942           a timeout) and can immediately re-iterate over all other elements.
2943
2944 2005-05-12  Wim Taymans  <wim@fluendo.com>
2945
2946         * gst/base/Makefile.am:
2947         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
2948         (gst_basesrc_start):
2949         * gst/base/gstbasesrc.h:
2950         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
2951         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
2952         (gst_pushsrc_init), (gst_pushsrc_create):
2953         * gst/base/gstpushsrc.h:
2954         Added is_seekable to BaseSrc
2955         Added simple PushSrc.
2956
2957 2005-05-11  Wim Taymans  <wim@fluendo.com>
2958
2959         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
2960         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
2961         (gst_element_link_pads), (gst_element_query_position),
2962         (gst_element_query_convert), (intersect_caps_func),
2963         (gst_pad_query_position), (gst_pad_query_convert):
2964         Fix refcounting in utils function.
2965         No point in trying to activate a pad when it's added, it could
2966         be added from the state change function and then we deadlock, the
2967         element has to decide what to do.
2968
2969 2005-05-10  Andy Wingo  <wingo@pobox.com>
2970
2971         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
2972         *all* the arguments.
2973
2974         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
2975         stream lock if it's a FLUSH_DONE; normal flushes don't get the
2976         lock (according to the docs -- if this is wrong change the docs).
2977
2978         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
2979         flush messages in the NULL state.
2980
2981         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
2982         message immediately and return.
2983         (gst_bus_set_flushing): New function. If a bus is flushing, it
2984         flushes out any queued messages and immediately unrefs new
2985         messages. This is so when an element goes to NULL, all of the
2986         unhandled messages coming from it can be freed, and their
2987         references to the element dropped. In other words: message source
2988         ref considered harmful :P
2989
2990         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
2991         we're finished with it.
2992
2993         * gst/gstmessage.c (gst_message_new_state_changed): 
2994
2995 2005-05-10  Wim Taymans  <wim@fluendo.com>
2996
2997         * gst/gstvalue.c: (gst_value_compare_flags),
2998         (gst_value_serialize_flags), (gst_value_deserialize_flags),
2999         (_gst_value_initialize):
3000         Added flags serialize/deserialize/compare code.
3001
3002 2005-05-09  Andy Wingo  <wingo@pobox.com>
3003
3004         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
3005         Intersect the peer's caps with our caps.
3006
3007 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3008
3009         * gst/base/gsttypefindhelper.c: (helper_find_peek):
3010         * gst/elements/gsttypefindelement.c: (find_peek):
3011           Handle negative offsets better. Fixes decodebin.
3012
3013 2005-05-09  Wim Taymans  <wim@fluendo.com>
3014
3015         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
3016         (gst_base_transform_event):
3017         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
3018         Implement accept_caps.
3019         Fix silly lock/unlock mismatch in base class.
3020
3021 2005-05-09  Wim Taymans  <wim@fluendo.com>
3022
3023         * docs/design/draft-push-pull.txt:
3024         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
3025         * gst/elements/gstfilesink.c: (gst_filesink_init),
3026         (gst_filesink_query):
3027         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
3028         (gst_type_find_handle_src_query), (find_element_get_length):
3029         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
3030         * gst/gstelement.h:
3031         * gst/gstmessage.c:
3032         * gst/gstmessage.h:
3033         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
3034         (gst_real_pad_get_caps_unlocked),
3035         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
3036         (gst_pad_event_default_dispatch), (gst_pad_event_default),
3037         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
3038         (gst_real_pad_dispose), (gst_real_pad_finalize),
3039         (gst_pad_load_and_link), (gst_pad_save_thyself),
3040         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
3041         (gst_pad_check_pull_range), (gst_pad_pull_range),
3042         (gst_pad_template_get_type), (gst_pad_template_class_init),
3043         (gst_pad_template_init), (gst_pad_template_dispose),
3044         (name_is_valid), (gst_static_pad_template_get),
3045         (gst_pad_template_new), (gst_static_pad_template_get_caps),
3046         (gst_pad_template_get_caps), (gst_pad_set_element_private),
3047         (gst_pad_get_element_private), (gst_pad_start_task),
3048         (gst_pad_pause_task), (gst_pad_stop_task),
3049         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
3050         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3051         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
3052         (gst_ghost_pad_new):
3053         * gst/gstpad.h:
3054         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
3055         (gst_query_new_position), (gst_query_set_position),
3056         (gst_query_parse_position), (gst_query_new_convert),
3057         (gst_query_set_convert), (gst_query_parse_convert):
3058         * gst/gstquery.h:
3059         * gst/gstqueryutils.c:
3060         * gst/gstqueryutils.h:
3061         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3062         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3063         (gst_queue_handle_src_query):
3064         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3065         (gst_element_query_position), (gst_element_query_convert),
3066         (intersect_caps_func), (gst_pad_query_position),
3067         (gst_pad_query_convert):
3068         * gst/gstutils.h:
3069         * tools/gst-inspect.c: (print_pad_info):
3070         * tools/gst-xmlinspect.c: (print_element_info):
3071         Remove old query functions. Ported old code.
3072         Added position/convert helper functions to gstutils.
3073         Reordered gstpad.c code, grouping relevant things.
3074         Remove gst_message_new(), always need to speficy a specific
3075         message.
3076
3077
3078 2005-05-09  Andy Wingo  <wingo@pobox.com>
3079
3080         * gst/gstiterator.h: Add some includes.
3081
3082         * gst/gstqueryutils.h: Include more headers.
3083
3084         * gst/gstpad.h:
3085         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
3086         some uses of gst_pad_query.
3087
3088         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
3089         NULL out parameters.
3090         (gst_query_new_position): New proc, allocates a new position
3091         query.
3092
3093         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
3094         gstqueryutils.c to the build.
3095
3096         * gst/gststructure.c (gst_structure_set_valist): Implement with
3097         the generic G_VALUE_COLLECT.
3098         
3099 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
3100
3101         * gst/Makefile.am: (gst_headers):
3102         Added gstqueryutils.h to the list of headers to install, that was
3103         a 'nachty' move wingo :)
3104
3105 2005-05-06  Andy Wingo  <wingo@pobox.com>
3106
3107         * gst/gstquery.h
3108         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
3109         GstData, init a memchunk.
3110         (standard_definitions): Add a few query types, deprecate a few.
3111         (gst_query_get_type): New proc.
3112         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
3113         implementation.
3114         (gst_query_new_application, gst_query_get_structure): New public
3115         procs.
3116
3117         * docs/design/draft-query.txt: Removed LINKS from the query types,
3118         because all the rest can be dispatched to other pads -- seemed
3119         ugly to have a query that couldn't be dispatched. internal_links
3120         is fine as a pad method.
3121
3122         * gst/gstpad.h: Add query2 as a pad method, add the new functions
3123         in gstpad.c, but maintain binary compatibility for the moment.
3124         Will fix before 0.9 is out.
3125
3126         * gst/gstqueryutils.c: 
3127         * gst/gstqueryutils.h: New files, implement 3 methods for each
3128         query type: parse_query, parse_response, and set. Probably need an
3129         allocator as well.
3130
3131         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
3132
3133         * gst/elements/gstfilesink.c (gst_filesink_query2):
3134         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
3135         query_types, and formats methods.
3136
3137         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
3138         (gst_pad_set_query2_function): New functions.
3139         (gst_real_pad_init): Set query2_default as the default query2
3140         function. Basically just dispatches to internally linked pads.
3141
3142         Needs review!
3143         
3144         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
3145         without using the atomic operations. Only one thread can possibly
3146         be accessing the data at this point. Changed so as to avoid
3147         gst_atomic operations.
3148
3149 2005-05-06  Wim Taymans  <wim@fluendo.com>
3150
3151         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
3152         Also set caps if we use the fallback buffer alloc.
3153
3154 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
3155
3156         * docs/gst/Makefile.am:
3157         * docs/gst/gstreamer-docs.sgml:
3158         * docs/gst/gstreamer-sections.txt:
3159         * docs/gst/tmpl/gstatomic.sgml:
3160         * docs/gst/tmpl/gstmemchunk.sgml:
3161         * testsuite/elements/struct_i386.h:
3162         * win32/GStreamer.vcproj:
3163         * win32/Makefile:
3164           Purge GstAtomic stuff from docs and win32 makefiles as well
3165
3166 2005-05-06  Wim Taymans  <wim@fluendo.com>
3167
3168         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
3169         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
3170         * gst/gstpad.c: (gst_pad_peer_get_caps):
3171         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
3172         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
3173         (gst_queue_src_activate), (gst_queue_change_state):
3174         * gst/gstqueue.h:
3175         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3176         (intersect_caps_func):
3177         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
3178         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
3179         Some fixes for the peer_get_caps() change.
3180
3181 2005-05-06  Wim Taymans  <wim@fluendo.com>
3182
3183         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
3184         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
3185         (gst_basesink_activate):
3186         Actually do something with error codes returned from the push
3187         functions.
3188
3189 2005-05-06  Wim Taymans  <wim@fluendo.com>
3190
3191         * docs/design/part-element-sink.txt:
3192         * docs/design/part-element-source.txt:
3193         * gst/base/gstbasesink.c: (gst_basesink_class_init),
3194         (gst_basesink_event), (gst_basesink_activate):
3195         * gst/base/gstbasesink.h:
3196         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
3197         (gst_basesrc_activate):
3198         * gst/base/gstbasesrc.h:
3199         * gst/gstelement.c: (gst_element_pads_activate):
3200         Some more documentation.
3201         Fixed scheduling decision in _pads_activate().
3202
3203 2005-05-05  Andy Wingo  <wingo@pobox.com>
3204
3205         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
3206         the test suite.
3207
3208 2005-05-05  Wim Taymans  <wim@fluendo.com>
3209
3210         * gst/base/Makefile.am:
3211         * gst/base/gstbasesink.h:
3212         * gst/base/gstbasesrc.c: (gst_basesrc_init),
3213         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
3214         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
3215         (gst_collectpads_class_init), (gst_collectpads_init),
3216         (gst_collectpads_finalize), (gst_collectpads_new),
3217         (gst_collectpads_set_function), (gst_collectpads_add_pad),
3218         (find_pad), (gst_collectpads_remove_pad),
3219         (gst_collectpads_is_active), (gst_collectpads_collect),
3220         (gst_collectpads_collect_range), (gst_collectpads_start),
3221         (gst_collectpads_stop), (gst_collectpads_peek),
3222         (gst_collectpads_pop), (gst_collectpads_available),
3223         (gst_collectpads_read), (gst_collectpads_flush),
3224         (gst_collectpads_chain):
3225         * gst/base/gstcollectpads.h:
3226         * gst/elements/Makefile.am:
3227         * gst/elements/gstelements.c:
3228         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3229         (gst_fakesink_get_times), (gst_fakesink_event),
3230         (gst_fakesink_preroll), (gst_fakesink_render):
3231         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
3232         (gst_filesink_init), (gst_filesink_set_location),
3233         (gst_filesink_open_file), (gst_filesink_close_file),
3234         (gst_filesink_pad_query), (gst_filesink_event),
3235         (gst_filesink_render), (gst_filesink_change_state):
3236         * gst/elements/gstfilesink.h:
3237         Added object to help in making collect pad based elements.
3238         Ported filesink.
3239         Make event function in sink baseclass return gboolean.
3240
3241 2005-05-05  Wim Taymans  <wim@fluendo.com>
3242
3243         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
3244         (gst_bin_get_by_name):
3245         * gst/gstbuffer.h:
3246         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
3247         (gst_clock_finalize):
3248         * gst/gstdata.c: (gst_data_replace):
3249         * gst/gstdata.h:
3250         * gst/gstelement.c: (gst_element_request_pad),
3251         (gst_element_pads_activate):
3252         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3253         (gst_object_unref):
3254         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3255         (gst_pad_set_checkgetrange_function),
3256         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
3257         (gst_pad_check_pull_range), (gst_pad_pull_range),
3258         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3259         (gst_pad_pause_task), (gst_pad_stop_task):
3260         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
3261         (gst_element_request_pad), (gst_pad_proxy_getcaps):
3262         Fix name lookup in GstBin.
3263         Added _data_replace() function and _buffer_replace()
3264         Use finalize method to clean up clock.
3265         Fix refcounting on request pads.
3266         Fix pad schedule mode error.
3267         Some more object refcounting debug info,
3268
3269
3270 2005-05-04  Andy Wingo <wingo@pobox.com>
3271
3272         * check/Makefile.am:
3273         * docs/gst/tmpl/gstatomic.sgml:
3274         * docs/gst/tmpl/gstplugin.sgml:
3275         * gst/base/gstbasesink.c: (gst_basesink_activate):
3276         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
3277         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
3278         (gst_basesrc_query), (gst_basesrc_set_property),
3279         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
3280         (gst_basesrc_activate):
3281         * gst/base/gstbasesrc.h:
3282         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
3283         (gst_base_transform_src_activate):
3284         * gst/elements/gstelements.c:
3285         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3286         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
3287         * gst/elements/gsttee.c: (gst_tee_sink_activate):
3288         * gst/elements/gsttypefindelement.c: (find_element_get_length),
3289         (gst_type_find_element_checkgetrange),
3290         (gst_type_find_element_activate):
3291         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
3292         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
3293         (gst_caps_load_thyself):
3294         * gst/gstelement.c: (gst_element_pads_activate),
3295         (gst_element_save_thyself), (gst_element_restore_thyself):
3296         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
3297         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
3298         * gst/gstpad.h:
3299         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
3300         (gst_xml_parse_file), (gst_xml_parse_memory),
3301         (gst_xml_get_element), (gst_xml_make_element):
3302         * gst/indexers/gstfileindex.c: (gst_file_index_load),
3303         (_file_index_id_save_xml), (gst_file_index_commit):
3304         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
3305         (read_enum), (load_pad_template), (load_feature), (load_plugin),
3306         (load_paths):
3307         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
3308         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
3309         * tools/gst-complete.c: (main):
3310         * tools/gst-compprep.c: (main):
3311         * tools/gst-inspect.c: (print_element_properties_info):
3312         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3313         * tools/gst-xmlinspect.c: (print_element_properties):
3314         GCC 4 fixen.
3315         
3316 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3317
3318         * gst/gstplugin.c: (gst_plugin_check_module),
3319         (gst_plugin_check_file), (gst_plugin_load_file):
3320             apply patch from #172526 to make register work on MacOSX
3321
3322 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3323
3324         * docs/gst/tmpl/gstconfig.sgml:
3325         * gst/gstconfig.h.in:
3326           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
3327         * testsuite/debug/printf_extension.c: (main):
3328           Do not use GST_PTR_FORMAT on pointers to types with
3329           sizeof < sizeof(gpointer).  Fixes test on 64-bit
3330         * testsuite/elements/property.h:
3331           use correct printf format
3332
3333 2005-05-02  Wim Taymans  <wim@fluendo.com>
3334
3335         * docs/design/draft-push-pull.txt:
3336         * docs/design/draft-query.txt:
3337         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
3338         (gst_basesrc_start):
3339         Added draft for new query API.
3340         Added draft for better selecting scheduling methods.
3341         Make basesrc ignore length if the subclass does not support
3342         it.
3343
3344 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3345
3346         * gst/Makefile.am:
3347           possible fixes for automake-1.5 - _LIBADD is reserved
3348
3349 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3350
3351         * docs/faq/Makefile.am:
3352         * docs/manual/Makefile.am:
3353         * docs/manuals.mak:
3354         * docs/pwg/Makefile.am:
3355         * gst/Makefile.am:
3356           possible fixes for automake-1.5
3357
3358 2005-04-28  Wim Taymans  <wim@fluendo.com>
3359
3360         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3361         (gst_basesink_pad_getcaps), (gst_basesink_init),
3362         (gst_basesink_do_sync):
3363         * gst/gstclock.c: (gst_clock_entry_new):
3364         * gst/gstevent.c: (gst_event_discont_get_value):
3365         * gst/gstpipeline.c: (pipeline_bus_handler),
3366         (gst_pipeline_change_state):
3367         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3368         Better debugging of clocking info.
3369         Allow NULL values when getting discont values.
3370
3371 2005-04-27  Wim Taymans  <wim@fluendo.com>
3372
3373         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
3374         * check/gst/gstpad.c: (gst_pad_suite):
3375         Increase timeout for checks.
3376
3377 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3378
3379         * check/Makefile.am:
3380           fix the broken rule for cleanup.  Apparently this rule is
3381           only needed on FC2, so maybe this warrants further autotool
3382           inspection.
3383
3384 2005-04-26  Wim Taymans  <wim@fluendo.com>
3385
3386         * gst/gsttrashstack.h:
3387         Ooohh. a nasty one! After having a failed pop() from the stack,
3388         it's possible that the stack is empty. In that case, don't
3389         follow the NULL pointer.
3390
3391 2005-04-25  Wim Taymans  <wim@fluendo.com>
3392
3393         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3394         (gst_pad_set_checkgetrange_function),
3395         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
3396         (gst_pad_check_pull_range), (gst_pad_pull_range),
3397         (gst_static_pad_template_get_caps), (gst_pad_start_task),
3398         (gst_pad_pause_task), (gst_pad_stop_task):
3399         * gst/gstplugin.c: (gst_plugin_load):
3400         * gst/gstplugin.h:
3401         Remove gst_library_load as it does more harm than good with
3402         the new g_module flags.
3403         Revert bogus caps template check in pad linking, pad caps
3404         are important when linking not the template, which is more
3405         general than the current caps.
3406
3407 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3408
3409         * gst/autoplug/.cvsignore:
3410         * gst/autoplug/Makefile.am:
3411         * gst/autoplug/gstsearchfuncs.c:
3412         * gst/autoplug/gstsearchfuncs.h:
3413         * gst/autoplug/gstspider.c:
3414         * gst/autoplug/gstspider.h:
3415         * gst/autoplug/gstspideridentity.c:
3416         * gst/autoplug/gstspideridentity.h:
3417         * gst/autoplug/spidertest.c:
3418           Die, spider, die.
3419
3420 2005-04-25  Wim Taymans  <wim@fluendo.com>
3421
3422         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3423         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3424         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
3425         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
3426         * gst/gstpad.h:
3427         Added stubs for unimplemented functions. 
3428
3429 2005-04-24  David Schleef  <ds@schleef.org>
3430
3431         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
3432         please fix.
3433
3434 2005-04-24  David Schleef  <ds@schleef.org>
3435
3436         Convert everything from GstAtomicInt to g_atomic_int_*, and
3437         remove gstatomic.
3438         * gst/Makefile.am:
3439         * gst/gstatomic.c:
3440         * gst/gstatomic.h:
3441         * gst/gstatomic_impl.h:
3442         * gst/gstbuffer.c:
3443         * gst/gstcaps.c:
3444         * gst/gstcaps.h:
3445         * gst/gstclock.c:
3446         * gst/gstclock.h:
3447         * gst/gstdata.c:
3448         * gst/gstdata.h:
3449         * gst/gstdata_private.h:
3450         * gst/gstevent.c:
3451         * gst/gstinfo.c:
3452         * gst/gstinfo.h:
3453         * gst/gstmessage.c:
3454         * gst/gstobject.c:
3455         * gst/gstobject.h:
3456         * gst/gststructure.c:
3457         * gst/gststructure.h:
3458         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
3459         * gst/gstutils.h:
3460
3461 2005-04-24  David Schleef  <ds@schleef.org>
3462
3463         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
3464         make the regressions tests work.  Remove some code that is no
3465         longer true.
3466         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
3467         Disable warning for pads without templates.
3468
3469 2005-04-24  David Schleef  <ds@schleef.org>
3470
3471         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
3472         functions that handle filtered links.
3473         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
3474         removed functions.
3475         * gst/gstutils.c: Fix/remove utility functions that handle
3476         filtered caps.
3477         * gst/gstutils.h:
3478         * gst/gstvalue.c: Add serialization/deserialization of caps
3479         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
3480         requires fixing so that the filter caps notation creates
3481         a capsfilter element and sets the filter_caps property.  I
3482         think everyone probably wants to keep the shorthand notation.
3483         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
3484         * docs/gst/tmpl/gstpad.sgml:
3485
3486         * gst/elements/gstelements.c: Register capsfilter element.
3487         * gst/Makefile.am: fix spacing
3488         * docs/random/ds/0.9-suggested-changes: random
3489
3490 2005-04-23  David Schleef  <ds@schleef.org>
3491
3492         * gst/elements/Makefile.am:
3493         * gst/elements/gstcapsfilter.c: New element that acts like an
3494         identity, but filters caps.  Will eventually replace filtered
3495         caps in pad linking.
3496         * gst/gstutils.c: (gst_element_create_all_pads): New function
3497         to create all the ALWAYS pads that are registered with an
3498         element class.  This functionality should eventually be
3499         merged in with GstElement initialization.
3500         * gst/gstutils.h:
3501         * testsuite/trigger/README: part of trigger test code that should
3502         have been checked in a long time ago.
3503
3504 2005-04-23  David Schleef  <ds@schleef.org>
3505
3506         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
3507         needed with new versions of libtool (nobody will confirm this),
3508         and hard to carry around.
3509         * gst/autoplug/Makefile.am:
3510         * gst/base/Makefile.am:
3511         * gst/elements/Makefile.am:
3512         * gst/indexers/Makefile.am:
3513         * gst/schedulers/Makefile.am:
3514         * libs/gst/bytestream/Makefile.am:
3515         * libs/gst/control/Makefile.am:
3516         * libs/gst/dataprotocol/Makefile.am:
3517         * libs/gst/getbits/Makefile.am:
3518
3519 2005-04-21  Wim Taymans  <wim@fluendo.com>
3520
3521         * docs/design/draft-push-pull.txt:
3522         * docs/design/part-MT-refcounting.txt:
3523         * docs/design/part-TODO.txt:
3524         * docs/design/part-caps.txt:
3525         * docs/design/part-events.txt:
3526         * docs/design/part-gstbus.txt:
3527         * docs/design/part-gstpipeline.txt:
3528         * docs/design/part-messages.txt:
3529         * docs/design/part-push-pull.txt:
3530         * docs/design/part-query.txt:
3531         Some more docs.
3532
3533 2005-04-21  Wim Taymans  <wim@fluendo.com>
3534
3535         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
3536         (gst_message_new), (gst_message_new_error),
3537         (gst_message_new_warning), (gst_message_new_tag),
3538         (gst_message_new_state_changed), (gst_message_new_application),
3539         (gst_message_get_structure):
3540         * gst/gstmessage.h:
3541         * gst/gststructure.c: (gst_structure_set_parent_refcount),
3542         (gst_structure_copy_conditional):
3543         Use parent refcount in GstMessage to ensure GstStructure
3544         consistency.
3545         Cleaned up headers a bit.
3546         
3547
3548 2005-04-20  Wim Taymans  <wim@fluendo.com>
3549
3550         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3551         (gst_basesink_pad_getcaps), (gst_basesink_init),
3552         (gst_basesink_chain_unlocked):
3553         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
3554         (gst_type_find_helper):
3555         * gst/elements/gsttypefindelement.c:
3556         (gst_type_find_element_have_type), (gst_type_find_element_init),
3557         (stop_typefinding), (gst_type_find_element_handle_event),
3558         (find_suggest), (gst_type_find_element_chain),
3559         (gst_type_find_element_checkgetrange),
3560         (gst_type_find_element_getrange), (do_typefind),
3561         (gst_type_find_element_activate):
3562         * gst/gstbuffer.c: (_gst_buffer_sub_free),
3563         (gst_buffer_default_free), (gst_buffer_default_copy),
3564         (gst_buffer_set_caps):
3565         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
3566         (gst_caps_replace):
3567         * gst/gstmessage.c: (gst_message_new),
3568         (gst_message_new_state_changed):
3569         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3570         (gst_pad_set_checkgetrange_function),
3571         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
3572         (gst_pad_set_caps), (gst_pad_check_pull_range),
3573         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
3574         * gst/gstpad.h:
3575         * gst/gsttypefind.c: (gst_type_find_register):
3576         Make gst_caps_replace() work like other _replace() functions.
3577         Use _caps_replace() where possible.
3578         Make sure _message_new() initialises its field.
3579         Add gst_static_pad_template_get_caps()
3580
3581
3582 2005-04-18  Andy Wingo  <wingo@pobox.com>
3583
3584         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
3585         on the peer, not the pad. I think that was a typo. Pass an extra
3586         arg to see if random access is possible. Activate the pads as
3587         PULL_RANGE if possible.
3588
3589         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
3590
3591         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
3592         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
3593         to PROP_....
3594
3595 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3596
3597         * docs/faq/using.xml:
3598           Add note on gstreamer-properties (#154996).
3599
3600 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3601
3602         * docs/random/bbb/optional-properties:
3603           Some analysis on optional properties.
3604
3605 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3606
3607         * docs/gst/tmpl/gstelementfactory.sgml:
3608         * gst/gstelement.h:
3609         * gst/gstelementfactory.c: (gst_element_factory_init),
3610         (gst_element_factory_cleanup), (gst_element_register),
3611         (__gst_element_factory_add_static_pad_template),
3612         (gst_element_factory_get_static_pad_templates),
3613         (gst_element_factory_can_src_caps),
3614         (gst_element_factory_can_sink_caps):
3615         * gst/registries/Makefile.am:
3616         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
3617         (gst_xml_registry_class_init), (gst_xml_registry_init),
3618         (gst_xml_registry_new), (gst_xml_registry_set_property),
3619         (gst_xml_registry_get_property), (get_time), (make_dir),
3620         (gst_xml_registry_get_perms_func),
3621         (plugin_times_older_than_recurse), (plugin_times_older_than),
3622         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
3623         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
3624         (add_to_char_array), (read_string), (read_uint), (read_enum),
3625         (load_pad_template), (load_feature), (load_plugin), (load_paths),
3626         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
3627         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
3628         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
3629         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
3630         (gst_xml_registry_rebuild):
3631         * gst/registries/gstlibxmlregistry.h:
3632         * tools/gst-compprep.c: (main):
3633         * tools/gst-inspect.c: (print_pad_templates_info):
3634         * tools/gst-xmlinspect.c: (print_element_info):
3635           Use libxml2 for registry parsing, use staticpadtemplates in
3636           elementfactories. Makes gst_init() +/- 10x faster.
3637
3638 2005-04-12  Wim Taymans  <wim@fluendo.com>
3639
3640         * gst/base/Makefile.am:
3641         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3642         (gst_basesink_pad_getcaps), (gst_basesink_init),
3643         (gst_basesink_event), (gst_basesink_change_state):
3644         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3645         (gst_basesrc_init), (gst_basesrc_query),
3646         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3647         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3648         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3649         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3650         (gst_basesrc_stop), (gst_basesrc_activate),
3651         (gst_basesrc_change_state):
3652         * gst/base/gsttypefindhelper.c: (helper_find_peek),
3653         (helper_find_suggest), (gst_type_find_helper):
3654         * gst/base/gsttypefindhelper.h:
3655         * gst/elements/Makefile.am:
3656         * gst/elements/gstelements.c:
3657         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
3658         (gst_fakesink_get_times), (gst_fakesink_event),
3659         (gst_fakesink_preroll), (gst_fakesink_render):
3660         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
3661         (gst_fakesrc_init), (gst_fakesrc_event_handler),
3662         (gst_fakesrc_get_property), (gst_fakesrc_create),
3663         (gst_fakesrc_start), (gst_fakesrc_stop):
3664         * gst/elements/gstfakesrc.h:
3665         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
3666         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3667         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3668         (gst_filesrc_create_read), (gst_filesrc_create),
3669         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
3670         (gst_filesrc_start):
3671         * gst/elements/gsttypefindelement.c:
3672         (gst_type_find_element_have_type), (gst_type_find_element_init),
3673         (start_typefinding), (stop_typefinding), (push_buffer_store),
3674         (gst_type_find_element_handle_event),
3675         (gst_type_find_element_chain),
3676         (gst_type_find_element_checkgetrange),
3677         (gst_type_find_element_getrange), (do_typefind),
3678         (gst_type_find_element_activate),
3679         (gst_type_find_element_change_state):
3680         * gst/elements/gsttypefindelement.h:
3681         * gst/gstpipeline.c: (pipeline_bus_handler):
3682         Added typefind helper.
3683         Small preroll fix in the base sink.
3684         Disable typefind code in basesrc.
3685         Crude port of typefindelement.
3686         Fakesrc cleanups.
3687
3688
3689 2005-04-11  Wim Taymans  <wim@fluendo.com>
3690
3691         * check/gst/gstbus.c: (gstbus_suite):
3692         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
3693         * check/gstcheck.h:
3694           Fix up the timeout so that the test does not fail.
3695
3696 2005-04-06  Wim Taymans  <wim@fluendo.com>
3697
3698         * gst/base/README:
3699         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3700         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
3701         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
3702         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
3703         (gst_basesrc_check_get_range), (gst_basesrc_loop),
3704         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
3705         (gst_basesrc_stop), (gst_basesrc_activate),
3706         (gst_basesrc_change_state), (basesrc_find_peek),
3707         (basesrc_find_suggest), (gst_basesrc_type_find):
3708         * gst/base/gstbasesrc.h:
3709         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
3710         (gst_filesrc_class_init), (gst_filesrc_init),
3711         (gst_filesrc_finalize), (gst_filesrc_set_location),
3712         (gst_filesrc_set_property), (gst_filesrc_get_property),
3713         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
3714         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
3715         (gst_filesrc_create_read), (gst_filesrc_create),
3716         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
3717         * gst/elements/gstfilesrc.h:
3718         * gst/gstelement.c: (gst_element_get_state_func),
3719         (gst_element_lost_state), (gst_element_pads_activate):
3720         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3721         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
3722         (gst_pad_pull_range):
3723         * gst/gstpad.h:
3724         More work on the generic source base class, implement seeking,
3725         query.
3726         Make filesrc extend the base source class.
3727         Added gst_pad_set_checkgetrange_function to GstPad.
3728
3729 2005-04-06  Andy Wingo  <wingo@pobox.com>
3730
3731         * pkgconfig/gstreamer-base.pc.in:
3732         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
3733
3734         * pkgconfig/Makefile.am:
3735         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
3736
3737 2005-04-04  Wim Taymans  <wim@fluendo.com>
3738
3739         * gst/base/Makefile.am:
3740         * gst/base/README:
3741         * gst/base/gstbasesink.c: (gst_basesink_base_init),
3742         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
3743         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
3744         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
3745         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
3746         (gst_basesrc_base_init), (gst_basesrc_class_init),
3747         (gst_basesrc_init), (gst_basesrc_get_formats),
3748         (gst_basesrc_get_query_types), (gst_basesrc_query),
3749         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
3750         (gst_basesrc_set_property), (gst_basesrc_get_property),
3751         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
3752         (gst_basesrc_loop), (gst_basesrc_activate),
3753         (gst_basesrc_change_state):
3754         * gst/base/gstbasesrc.h:
3755         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
3756         (gst_fakesrc_class_init), (gst_fakesrc_init),
3757         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
3758         (gst_fakesrc_get_property), (gst_fakesrc_create):
3759         * gst/elements/gstfakesrc.h:
3760         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
3761         (gst_filesrc_open_file), (gst_filesrc_loop),
3762         (gst_filesrc_activate), (filesrc_find_peek),
3763         (gst_filesrc_type_find):
3764         Made base source class, make fakesrc extend it.
3765         Add comments to basesink class.
3766         Some filesrc cleanup.
3767
3768 2005-03-31  David Schleef  <ds@schleef.org>
3769
3770         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
3771         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
3772         expected to link against libgstreamer.
3773         * gst/base/Makefile.am: link against libgstreamer
3774         * gst/elements/Makefile.am: same
3775
3776 2005-03-31  Andy Wingo  <wingo@pobox.com>
3777
3778         * tests/instantiate/Makefile.am:
3779         * tests/instantiate/caps.c: Add test to test speed of caps copy
3780         and free.
3781
3782         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
3783         GMemChunk to be fair.
3784
3785         * gst/gsttrashstack.h: Remove warning about using the fallback
3786         trash stack implementation, it's still faster than malloc.
3787
3788 2005-03-30  Andy Wingo  <wingo@pobox.com>
3789
3790         * tests/complexity.c: Add a copyright.
3791
3792 2005-03-31  Wim Taymans  <wim@fluendo.com>
3793
3794         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
3795         (gst_base_transform_class_init), (gst_base_transform_init),
3796         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
3797         (gst_base_transform_get_property),
3798         (gst_base_transform_sink_activate),
3799         (gst_base_transform_src_activate),
3800         (gst_base_transform_change_state):
3801         * gst/base/gstbasetransform.h:
3802         * gst/elements/gstidentity.c: (gst_identity_class_init),
3803         (gst_identity_event), (gst_identity_check_perfect),
3804         (gst_identity_transform), (gst_identity_start),
3805         (gst_identity_stop):
3806         Added start/stop methods to transform base class so subclasses 
3807         don't need to deal with state changes even.
3808
3809 2005-03-31  Wim Taymans  <wim@fluendo.com>
3810
3811         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
3812         (gst_event_new_discontinuous), (gst_event_discont_get_value):
3813         * gst/gstevent.h:
3814         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3815         (gst_pad_pull_range):
3816         Added rate to the discont event to prepare for variable speed
3817         and reverse playback.
3818
3819 2005-03-29  David Schleef  <ds@schleef.org>
3820
3821         * configure.ac:
3822         * testsuite/trigger/Makefile.am:
3823         * testsuite/trigger/trigger.c: A little example program to show
3824         how trigger-based elements can work.
3825
3826 2005-03-29  Wim Taymans  <wim@fluendo.com>
3827
3828         * gst/base/Makefile.am:
3829         * gst/base/README:
3830         * gst/base/gstbasesink.c: (gst_basesink_get_type),
3831         (gst_basesink_base_init), (gst_basesink_class_init),
3832         (gst_basesink_pad_getcaps), (gst_basesink_init),
3833         (gst_basesink_activate), (gst_basesink_change_state):
3834         * gst/base/gstbasesink.h:
3835         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
3836         (gst_base_transform_base_init), (gst_base_transform_finalize),
3837         (gst_base_transform_class_init), (gst_base_transform_init),
3838         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
3839         (gst_base_transform_event), (gst_base_transform_getrange),
3840         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
3841         (gst_base_transform_set_property),
3842         (gst_base_transform_get_property),
3843         (gst_base_transform_sink_activate),
3844         (gst_base_transform_src_activate),
3845         (gst_base_transform_change_state):
3846         * gst/base/gstbasetransform.h:
3847         * gst/elements/gstidentity.c: (gst_identity_finalize),
3848         (gst_identity_class_init), (gst_identity_init),
3849         (gst_identity_event), (gst_identity_check_perfect),
3850         (gst_identity_transform), (gst_identity_set_property),
3851         (gst_identity_get_property), (gst_identity_change_state):
3852         * gst/elements/gstidentity.h:
3853         * gst/gstelement.c: (gst_element_get_state_func),
3854         (gst_element_lost_state), (gst_element_pads_activate):
3855         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
3856         (gst_pad_check_pull_range), (gst_pad_pull_range):
3857         * gst/gstpad.h:
3858         Simplify pad activation.
3859         Added function to check if pull_range can be performed.
3860         Error out when pulling inactive or flushing pads.
3861         Removed const from refcounted types as it does not make sense.
3862         Simplify pad templates in basesink
3863         Added base class for simple 1-to-1 transforms.
3864         Make identity subclass the base transform.
3865
3866 2005-03-29  Andy Wingo  <wingo@pobox.com>
3867
3868         * docs/libs/gstreamer-libs-overrides.txt: 
3869         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
3870         really don't understand what's going on, but like whatever. I want
3871         green buildbot!
3872
3873         * docs/gst/Makefile.am:
3874         * docs/libs/Makefile.am: Dist the overrides files.
3875
3876         * check/Makefile.am (clean-local): Remove .libs directories.
3877
3878         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
3879         elements to EXTRA_DIST, so po/ files are happy.
3880
3881         * po/POTFILES.in: Er, remove it here.
3882
3883         * po/POTFILES: Remove gstspider.c.
3884
3885         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
3886
3887         * docs/libs/gstreamer-libs-docs.sgml: 
3888         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
3889         bytestream.
3890
3891         * tests/complexity.c (main): Set the length of the preroll queue
3892         on the sinks to prevent a lockup.
3893
3894         * libs/gst/dataprotocol/Makefile.am: 
3895         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
3896         the same as the one in check/gst-libs/gdp.c.
3897
3898         * po/, docs/gst/: Commit automatic changes to docs and po files.
3899
3900         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
3901         the versioned libgstbase.
3902
3903         * check/Makefile.am: Depend on an unversioned gst-register, seems
3904         to make autoconf happier.
3905
3906         * gst/base/Makefile.am: Make libgstbase a versioned lib.
3907
3908 2005-03-28  Wim Taymans  <wim@fluendo.com>
3909
3910         * configure.ac:
3911         * docs/design/part-gstelement.txt:
3912         * docs/design/part-negotiation.txt:
3913         * docs/design/part-preroll.txt:
3914         * docs/design/part-scheduling.txt:
3915         * docs/design/part-states.txt:
3916         * gst/Makefile.am:
3917         * gst/base/Makefile.am:
3918         * gst/base/README:
3919         * gst/base/gstbasesink.c: (gst_basesink_get_template),
3920         (gst_basesink_base_init), (gst_basesink_class_init),
3921         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
3922         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
3923         (gst_basesink_set_pad_functions),
3924         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
3925         (gst_basesink_set_property), (gst_basesink_get_property),
3926         (gst_base_sink_get_template), (gst_base_sink_get_caps),
3927         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
3928         (gst_basesink_preroll_queue_push),
3929         (gst_basesink_preroll_queue_empty),
3930         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
3931         (gst_basesink_event), (gst_basesink_get_times),
3932         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
3933         (gst_basesink_chain_unlocked), (gst_basesink_chain),
3934         (gst_basesink_loop), (gst_basesink_activate),
3935         (gst_basesink_change_state):
3936         * gst/base/gstbasesink.h:
3937         * gst/elements/Makefile.am:
3938         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
3939         (gst_fakesink_class_init), (gst_fakesink_init),
3940         (gst_fakesink_set_property), (gst_fakesink_get_property),
3941         (gst_fakesink_get_times), (gst_fakesink_event),
3942         (gst_fakesink_preroll), (gst_fakesink_render),
3943         (gst_fakesink_change_state):
3944         * gst/elements/gstfakesink.h:
3945         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
3946         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
3947         * gst/gstelement.c: (gst_element_add_pad),
3948         (gst_element_get_state_func), (gst_element_abort_state),
3949         (gst_element_commit_state), (gst_element_lost_state),
3950         (gst_element_set_state), (gst_element_pads_activate):
3951         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
3952         * gst/gstpipeline.c: (gst_pipeline_send_event),
3953         (gst_pipeline_change_state):
3954         Added state change code.
3955         Added/updated docs.
3956         Added sink base class, make fakesink extend the base class.
3957         Small cleanups in GstPipeline.
3958
3959 2005-03-26  David Schleef  <ds@schleef.org>
3960
3961         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
3962         is broken and should be implemented in a different library.
3963         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
3964         * gst/gst.h: remove gstcpu.h
3965         * gst/gstcpu.c: remove
3966         * gst/gstcpu.h: remove
3967         * gst/Makefile.am.future: Remove this file.  It's ancient.
3968
3969 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3970
3971         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
3972         (gst_bin_send_event):
3973           Add default event/set_manager handlers. The set_manager handler
3974           takes care that the manager is distributed over kids that were
3975           already in the bin before the manager was set. The event handler
3976           is a utility virtual function that sends the event over all sinks,
3977           so that gst_element_send_event (bin, event); has the expected
3978           behaviour.
3979         * gst/gstpad.c: (gst_pad_event_default):
3980           Re-install default event handling for discontinuities, so that
3981           seeking works without requiring hacks in applications or extra
3982           code in sinks.
3983         * gst/gstpipeline.c: (gst_pipeline_class_init),
3984         (gst_pipeline_send_event):
3985           Half hack, half utility: set a pipeline to PAUSED for seek events,
3986           since that is the only way we can guarantee a/v sync. Means that
3987           you can do gst_element_seek (pipeline, method, pos); on a pipeline
3988           and it "just works".
3989
3990 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
3991
3992         * gst/gstpipeline.c: (gst_pipeline_use_clock):
3993           Lock/unlock mismatch.
3994
3995 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
3996
3997         * docs/faq/gst-uninstalled:
3998           add gst-plugins-base
3999         * docs/gst/Makefile.am:
4000           don't error out until docs are fixed
4001         * docs/gst/gstreamer.types:
4002           remove thread
4003
4004 2005-03-22  Wim Taymans  <wim@fluendo.com>
4005
4006         * check/Makefile.am:
4007         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
4008         * gst/gststructure.c: (gst_structure_set_valist),
4009         (gst_structure_copy_conditional):
4010         Activated more tests.
4011         Added message test.
4012         Added G_TYPE_POINTER to GstStructure.
4013         
4014
4015 2005-03-22  Wim Taymans  <wim@fluendo.com>
4016
4017         * docs/design/part-TODO.txt:
4018         * docs/design/part-events.txt:
4019         * docs/design/part-gstbin.txt:
4020         * docs/design/part-gstbus.txt:
4021         * docs/design/part-gstpipeline.txt:
4022         * docs/design/part-messages.txt:
4023         * gst/gstbus.c:
4024         * gst/gstmessage.c:
4025         Docs updates
4026
4027 2005-03-21  Wim Taymans  <wim@fluendo.com>
4028
4029         * gst/gstbus.c: (gst_bus_post):
4030         Fix copy-and-paste error.
4031
4032 2005-03-21  Wim Taymans  <wim@fluendo.com>
4033
4034         * check/Makefile.am:
4035         * gst/Makefile.am:
4036         * gst/elements/Makefile.am:
4037         * gst/elements/gstelements.c:
4038         * gst/elements/gstfakesink.c: (gst_fakesink_init),
4039         (gst_fakesink_event), (gst_fakesink_chain):
4040         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
4041         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
4042         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
4043         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
4044         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
4045         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
4046         (gst_fakesrc_loop), (gst_fakesrc_activate),
4047         (gst_fakesrc_change_state):
4048         * gst/elements/gstfakesrc.h:
4049         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
4050         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
4051         (gst_filesrc_open_file), (gst_filesrc_loop),
4052         (gst_filesrc_activate), (gst_filesrc_change_state),
4053         (filesrc_find_peek), (filesrc_find_suggest),
4054         (gst_filesrc_type_find):
4055         * gst/elements/gstidentity.c: (gst_identity_finalize),
4056         (gst_identity_class_init), (gst_identity_init),
4057         (gst_identity_proxy_getcaps), (identity_queue_push),
4058         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
4059         (gst_identity_getrange), (gst_identity_chain),
4060         (gst_identity_sink_loop), (gst_identity_src_loop),
4061         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
4062         (gst_identity_set_property), (gst_identity_get_property),
4063         (gst_identity_change_state):
4064         * gst/elements/gstidentity.h:
4065         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
4066         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
4067         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
4068         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
4069         (gst_tee_sink_activate):
4070         * gst/elements/gsttee.h:
4071         * gst/gst.c: (gst_register_core_elements), (init_post):
4072         * gst/gst.h:
4073         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
4074         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
4075         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
4076         (gst_bin_change_state):
4077         * gst/gstbin.h:
4078         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
4079         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
4080         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
4081         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
4082         (gst_bus_set_sync_handler), (gst_bus_create_watch),
4083         (bus_watch_callback), (bus_watch_destroy),
4084         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
4085         (poll_timeout), (gst_bus_poll):
4086         * gst/gstbus.h:
4087         * gst/gstcaps.h:
4088         * gst/gstdata.h:
4089         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4090         (gst_element_post_message), (gst_element_message_full),
4091         (gst_element_get_state_func), (gst_element_get_state),
4092         (gst_element_abort_state), (gst_element_commit_state),
4093         (gst_element_lost_state), (gst_element_set_state),
4094         (gst_element_pads_activate), (gst_element_change_state),
4095         (gst_element_dispose), (gst_element_set_manager_func),
4096         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
4097         (gst_element_set_manager), (gst_element_get_manager),
4098         (gst_element_set_bus), (gst_element_get_bus),
4099         (gst_element_set_scheduler), (gst_element_get_scheduler):
4100         * gst/gstelement.h:
4101         * gst/gstevent.c: (gst_event_new_segment_seek),
4102         (gst_event_new_flush):
4103         * gst/gstevent.h:
4104         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
4105         (_gst_message_free), (gst_message_get_type), (gst_message_new),
4106         (gst_message_new_eos), (gst_message_new_error),
4107         (gst_message_new_warning), (gst_message_new_tag),
4108         (gst_message_new_state_changed), (gst_message_new_application),
4109         (gst_message_get_structure), (gst_message_parse_tag),
4110         (gst_message_parse_state_changed), (gst_message_parse_error),
4111         (gst_message_parse_warning):
4112         * gst/gstmessage.h:
4113         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
4114         (gst_real_pad_set_property), (gst_pad_set_active),
4115         (gst_pad_is_active), (gst_pad_set_blocked_async),
4116         (gst_pad_set_blocked), (gst_pad_is_blocked),
4117         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
4118         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
4119         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4120         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
4121         (gst_pad_link_filtered), (gst_pad_relink_filtered),
4122         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
4123         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
4124         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
4125         (gst_pad_set_caps), (gst_pad_configure_sink),
4126         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
4127         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
4128         (gst_real_pad_dispose), (gst_real_pad_finalize),
4129         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
4130         (gst_pad_event_default_dispatch), (gst_pad_event_default),
4131         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
4132         * gst/gstpad.h:
4133         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
4134         (pipeline_bus_handler), (gst_pipeline_change_state),
4135         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
4136         * gst/gstpipeline.h:
4137         * gst/gstprobe.h:
4138         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
4139         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
4140         (gst_queue_link_src), (gst_queue_bufferalloc),
4141         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
4142         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
4143         (gst_queue_loop), (gst_queue_handle_src_event),
4144         (gst_queue_handle_src_query), (gst_queue_src_activate),
4145         (gst_queue_change_state):
4146         * gst/gstqueue.h:
4147         * gst/gstscheduler.c: (gst_scheduler_init),
4148         (gst_scheduler_dispose), (gst_scheduler_create_task),
4149         (gst_scheduler_factory_create):
4150         * gst/gstscheduler.h:
4151         * gst/gststructure.c: (gst_structure_get_type),
4152         (gst_structure_copy_conditional):
4153         * gst/gststructure.h:
4154         * gst/gsttaginterface.h:
4155         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
4156         (gst_task_init), (gst_task_dispose), (gst_task_create),
4157         (gst_task_get_state), (gst_task_start), (gst_task_stop),
4158         (gst_task_pause):
4159         * gst/gsttask.h:
4160         * gst/gstthread.c:
4161         * gst/gstthread.h:
4162         * gst/gsttypes.h:
4163         * gst/schedulers/Makefile.am:
4164         * gst/schedulers/cothreads_compat.h:
4165         * gst/schedulers/entryscheduler.c:
4166         * gst/schedulers/faircothreads.c:
4167         * gst/schedulers/faircothreads.h:
4168         * gst/schedulers/fairscheduler.c:
4169         * gst/schedulers/gstbasicscheduler.c:
4170         * gst/schedulers/gstoptimalscheduler.c:
4171         * gst/schedulers/gthread-cothreads.h:
4172         * gst/schedulers/threadscheduler.c:
4173         (gst_thread_scheduler_task_get_type),
4174         (gst_thread_scheduler_task_class_init),
4175         (gst_thread_scheduler_task_init),
4176         (gst_thread_scheduler_task_start),
4177         (gst_thread_scheduler_task_stop),
4178         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
4179         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
4180         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
4181         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
4182         (plugin_init):
4183         * libs/gst/Makefile.am:
4184         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
4185         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
4186         (gst_file_pad_parent_set):
4187         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4188         (gst_dp_event_from_packet):
4189         * tests/complexity.c: (main):
4190         * tests/mass_elements.c: (main):
4191         * testsuite/states/locked.c: (message_received), (main):
4192         * testsuite/states/parent.c: (main):
4193         * tools/gst-inspect.c: (print_element_flag_info),
4194         (print_implementation_info), (print_pad_info):
4195         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
4196         (main):
4197         * tools/gst-md5sum.c: (event_loop), (main):
4198         * tools/gst-typefind.c: (main):
4199         * tools/gst-xmlinspect.c: (print_element_info):
4200         Next big merge.
4201         Added GstBus for mainloop integration.
4202         Added GstMessage for sending notifications on the bus.
4203         Added GstTask as an abstraction for pipeline entry points.
4204         Removed GstThread.
4205         Removed Schedulers.
4206         Simplified GstQueue for multithreaded core.
4207         Made _link threadsafe, removed old capsnego.
4208         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
4209         Added pad blocking functions.
4210         Reworked scheduling functions in GstPad to prepare for
4211         scheduling updates soon.
4212         Moved events out of data stream.
4213         Simplified GstEvent types.
4214         Added return values to push/pull.
4215         Removed clocking from GstElement.
4216         Added prototypes for state change function for next merge.
4217         Removed iterate from bins and state change management.
4218         Fixed some elements, disabled others for now.
4219         Fixed -inspect and -launch.
4220         Added check for GstBus.
4221
4222 2005-03-10  Wim Taymans  <wim@fluendo.com>
4223
4224         * docs/design/part-MT-refcounting.txt:
4225         * docs/design/part-clocks.txt:
4226         * docs/design/part-gstelement.txt:
4227         * docs/design/part-gstobject.txt:
4228         * docs/design/part-standards.txt:
4229         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4230         (gst_bin_remove_func), (gst_bin_remove):
4231         * gst/gstbin.h:
4232         * gst/gstbuffer.c:
4233         * gst/gstcaps.h:
4234         * testsuite/clock/clock1.c: (main):
4235         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
4236         (main):
4237         * testsuite/dlopen/loadgst.c: (do_test):
4238         * testsuite/refcounting/bin.c: (add_remove_test1),
4239         (add_remove_test2), (main):
4240         * testsuite/refcounting/element.c: (main):
4241         * testsuite/refcounting/element_pad.c: (main):
4242         * testsuite/refcounting/pad.c: (main):
4243         * tools/gst-launch.c: (sigint_handler_sighandler):
4244         * tools/gst-typefind.c: (main):
4245         Doc updates.
4246         Added doc about clock.
4247         removed gst_bin_iterate_recurse_up(), marked methods
4248         for removal.
4249         Fix more testsuites.
4250
4251 2005-03-09  Wim Taymans  <wim@fluendo.com>
4252
4253         * gst/gstpad.c: (gst_pad_get_direction),
4254         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
4255         (gst_pad_collect_valist):
4256         * testsuite/bins/interface.c: (main):
4257         * testsuite/caps/audioscale.c: (test_caps):
4258         * testsuite/caps/caps.c: (test1), (test2), (test3):
4259         * testsuite/caps/deserialize.c: (main):
4260         * testsuite/caps/enumcaps.c: (main):
4261         * testsuite/caps/filtercaps.c: (main):
4262         * testsuite/caps/intersect2.c: (main):
4263         * testsuite/caps/random.c: (main):
4264         * testsuite/caps/renegotiate.c: (my_fixate), (main):
4265         * testsuite/caps/sets.c: (check_caps):
4266         * testsuite/caps/simplify.c: (check_caps), (main):
4267         * testsuite/caps/subtract.c: (check_caps):
4268         Fix _pad_get_direction wrt ghostpads.
4269         Fix caps testsuite.
4270
4271 2005-03-09  Wim Taymans  <wim@fluendo.com>
4272
4273         * check/Makefile.am:
4274         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
4275         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
4276         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
4277         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
4278         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
4279         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
4280         (gst_bin_remove), (gst_bin_iterate_recurse_up),
4281         (bin_element_is_sink), (gst_bin_iterate_sinks),
4282         (gst_bin_iterate_all_by_interface):
4283         * gst/gstbin.h:
4284         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
4285         (gst_element_change_state), (gst_element_dispose),
4286         (gst_element_finalize), (gst_element_set_loop_function):
4287         * gst/gstelement.h:
4288         * gst/gstiterator.c: (find_custom_fold_func):
4289         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4290         (gst_pad_collectv), (gst_pad_collect_valist),
4291         (gst_pad_template_new):
4292         * gst/gstpipeline.c: (gst_pipeline_class_init),
4293         (gst_pipeline_dispose), (gst_pipeline_set_property),
4294         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
4295         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
4296         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
4297         * gst/gstutils.h:
4298         * gst/schedulers/entryscheduler.c:
4299         * gst/schedulers/gstbasicscheduler.c:
4300         (gst_basic_scheduler_cothreaded_chain),
4301         (gst_basic_scheduler_chain_add_element):
4302         * testsuite/bins/interface.c: (main):
4303         Added GstBin test.
4304         Added GstSystemClock test.
4305         Implemented clock distribution code in GstBin.
4306         Implemented iterate sinks method for future use.
4307         Rearranged gstelement.h
4308         Fix GstIterator comparison bug.
4309         Moved some code to GstPipeline, mostly clocking related.
4310
4311 2005-03-09  Wim Taymans  <wim@fluendo.com>
4312
4313         * configure.ac:
4314         * gst/gst_private.h:
4315         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4316         (gst_bin_remove_func), (gst_bin_remove),
4317         (gst_bin_get_by_name_recurse_up):
4318         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
4319         (gst_clock_id_compare_func), (gst_clock_id_wait),
4320         (gst_clock_id_wait_async), (gst_clock_init),
4321         (gst_clock_adjust_unlocked), (gst_clock_get_time):
4322         * gst/gstelement.h:
4323         * gst/gstinfo.c: (_gst_debug_init):
4324         * gst/gstobject.h:
4325         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
4326         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
4327         * gst/gstpad.h:
4328         Bump version number, we're now 0.9.0
4329         Add future debugging category.
4330         Fix NULL _unref() in _get_by_name_recurse_up
4331         Rearrange gstpad.h.
4332         Update some docs.
4333
4334 2005-03-08  Wim Taymans  <wim@fluendo.com>
4335
4336         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
4337         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
4338         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
4339         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
4340         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
4341         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
4342         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
4343         * gst/elements/gstidentity.c: (gst_identity_class_init):
4344         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
4345         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
4346         * gst/elements/gstshaper.c: (gst_shaper_class_init):
4347         * gst/elements/gststatistics.c: (gst_statistics_class_init):
4348         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
4349         (gst_tee_link):
4350         * gst/gstelement.c: (gst_element_class_init),
4351         (gst_element_base_class_init), (gst_element_init),
4352         (gst_element_get_random_pad), (gst_element_wait_state_change),
4353         (gst_element_change_state), (gst_element_dispose),
4354         (gst_element_finalize), (gst_element_set_loop_function):
4355         * gst/gstelement.h:
4356         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
4357         * gst/gstthread.c: (gst_thread_class_init),
4358         (gst_thread_release_children_locks), (gst_thread_change_state):
4359         * gst/schedulers/gstbasicscheduler.c:
4360         (gst_basic_scheduler_loopfunc_wrapper),
4361         (gst_basic_scheduler_chain_wrapper),
4362         (gst_basic_scheduler_src_wrapper),
4363         (gst_basic_scheduler_remove_element):
4364         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
4365         Remove threadsafe properties. Fix elements because GObject
4366         complains when installing a property before declaring a
4367         set/get_property handler.
4368         Rearrange gstelement.h file, use STATE macros for state locks.
4369         Free mutexes in the finalize method instead of dispose.
4370
4371 2005-03-08  Wim Taymans  <wim@fluendo.com>
4372
4373         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
4374         * gst/gstthread.c: (gst_thread_release_children_locks):
4375         Added parentage check.
4376         Fix build og GstThread again.
4377
4378 2005-03-08  Wim Taymans  <wim@fluendo.com>
4379
4380         * docs/design/part-MT-refcounting.txt:
4381         * docs/design/part-conventions.txt:
4382         * docs/design/part-gstobject.txt:
4383         * docs/design/part-relations.txt:
4384         * docs/design/part-standards.txt:
4385         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
4386         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
4387         (gst_bin_get_by_name), (gst_bin_get_by_interface),
4388         (gst_bin_iterate_all_by_interface):
4389         * gst/gstbuffer.h:
4390         * gst/gstclock.h:
4391         * gst/gstelement.c: (gst_element_class_init),
4392         (gst_element_change_state), (gst_element_set_loop_function):
4393         * gst/gstelement.h:
4394         * gst/gstiterator.c:
4395         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
4396         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
4397         (gst_object_dispatch_properties_changed), (gst_object_set_name),
4398         (gst_object_set_parent), (gst_object_unparent),
4399         (gst_object_check_uniqueness):
4400         * gst/gstobject.h:
4401         Docs updates, clean up some headers.
4402
4403 2005-03-07  Wim Taymans  <wim@fluendo.com>
4404
4405         * check/.cvsignore:
4406         * check/Makefile.am:
4407         * check/gst-libs/.cvsignore:
4408         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
4409         * check/gst/.cvsignore:
4410         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
4411         (START_TEST), (gstbus_suite), (main):
4412         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
4413         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
4414         (gst_data_suite), (main):
4415         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
4416         (add_fold_func), (gstiterator_suite), (main):
4417         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
4418         (thread_name_object), (thread_name_object_default),
4419         (gst_object_name_compare), (gst_object_suite), (main):
4420         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
4421         (gst_pad_suite), (main):
4422         * check/gstcheck.c: (gst_check_log_message_func),
4423         (gst_check_log_critical_func), (gst_check_init):
4424         * check/gstcheck.h:
4425         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
4426         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
4427         Added checks.
4428
4429 2005-03-07  Wim Taymans  <wim@fluendo.com>
4430
4431         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
4432         (gst_list_iterator_next), (gst_list_iterator_resync),
4433         (gst_list_iterator_free), (gst_iterator_new_list),
4434         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
4435         (gst_iterator_free), (gst_iterator_push), (filter_next),
4436         (filter_resync), (filter_uninit), (filter_free),
4437         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
4438         (gst_iterator_foreach), (find_custom_fold_func),
4439         (gst_iterator_find_custom):
4440         * gst/gstiterator.h:
4441         Added missing files.
4442
4443 2005-03-07  Wim Taymans  <wim@fluendo.com>
4444
4445         * Makefile.am:
4446         * configure.ac:
4447         * docs/design/part-MT-refcounting.txt:
4448         * docs/design/part-conventions.txt:
4449         * docs/design/part-gstobject.txt:
4450         * docs/design/part-relations.txt:
4451         * examples/mixer/mixer.c: (main):
4452         * examples/thread/thread.c: (eos), (main):
4453         * gst/Makefile.am:
4454         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
4455         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
4456         (gst_spider_plug_from_srcpad):
4457         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
4458         (gst_spider_identity_change_state),
4459         (gst_spider_identity_sink_loop_type_finding):
4460         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
4461         * gst/elements/gstidentity.c: (gst_identity_init):
4462         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
4463         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
4464         * gst/elements/gsttypefindelement.c: (free_entry):
4465         * gst/gst.c:
4466         * gst/gst.h:
4467         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
4468         (gst_bin_set_clock_func), (gst_bin_auto_clock),
4469         (gst_bin_set_index), (gst_bin_set_element_sched),
4470         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
4471         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
4472         (gst_bin_iterate_elements), (iterate_child_recurse),
4473         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
4474         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
4475         (compare_interface), (gst_bin_get_by_interface),
4476         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
4477         * gst/gstbin.h:
4478         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
4479         (gst_buffer_default_free), (gst_buffer_default_copy),
4480         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
4481         (gst_buffer_create_sub):
4482         * gst/gstbuffer.h:
4483         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
4484         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
4485         (gst_caps_unref), (gst_static_caps_get),
4486         (gst_caps_remove_and_get_structure), (gst_caps_append),
4487         (gst_caps_append_structure), (gst_caps_remove_structure),
4488         (gst_caps_copy_nth), (gst_caps_set_simple),
4489         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
4490         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
4491         (gst_caps_structure_intersect_field), (gst_caps_intersect),
4492         (gst_caps_structure_subtract_field), (gst_caps_subtract),
4493         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
4494         (gst_caps_structure_figure_out_union),
4495         (gst_caps_switch_structures), (gst_caps_do_simplify),
4496         (gst_caps_replace), (gst_caps_from_string),
4497         (gst_caps_copy_conditional):
4498         * gst/gstcaps.h:
4499         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
4500         (_gst_clock_id_free), (gst_clock_id_unref),
4501         (gst_clock_id_compare_func), (gst_clock_id_wait),
4502         (gst_clock_id_wait_async), (gst_clock_class_init),
4503         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
4504         (gst_clock_get_time), (gst_clock_set_time_adjust),
4505         (gst_clock_set_property), (gst_clock_get_property):
4506         * gst/gstclock.h:
4507         * gst/gstcompat.h:
4508         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
4509         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
4510         * gst/gstdata.h:
4511         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
4512         (gst_element_requires_clock), (gst_element_provides_clock),
4513         (gst_element_set_clock), (gst_element_clock_wait),
4514         (gst_element_wait), (gst_element_set_time_delay),
4515         (gst_element_is_indexable), (gst_element_add_pad),
4516         (gst_element_add_ghost_pad), (gst_element_remove_pad),
4517         (pad_compare_name), (gst_element_get_static_pad),
4518         (gst_element_request_pad), (gst_element_get_request_pad),
4519         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
4520         (gst_element_class_get_pad_template_list),
4521         (gst_element_class_get_pad_template), (gst_element_error_func),
4522         (gst_element_get_random_pad), (gst_element_get_event_masks),
4523         (gst_element_send_event), (gst_element_seek),
4524         (gst_element_get_query_types), (gst_element_query),
4525         (gst_element_get_formats), (gst_element_convert),
4526         (gst_element_is_locked_state), (gst_element_set_locked_state),
4527         (gst_element_sync_state_with_parent), (gst_element_change_state),
4528         (gst_element_finalize), (gst_element_yield),
4529         (gst_element_interrupt), (gst_element_set_scheduler),
4530         (gst_element_get_scheduler), (gst_element_set_loop_function):
4531         * gst/gstelement.h:
4532         * gst/gstevent.h:
4533         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
4534         (gst_format_get_by_nick), (gst_format_get_details),
4535         (gst_format_iterate_definitions):
4536         * gst/gstformat.h:
4537         * gst/gstindex.c: (gst_index_gtype_resolver):
4538         * gst/gstinfo.c:
4539         * gst/gstinfo.h:
4540         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
4541         (gst_mem_chunk_free):
4542         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4543         (gst_object_ref), (gst_object_unref), (gst_object_sink),
4544         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
4545         (gst_object_dispatch_properties_changed),
4546         (gst_object_set_name_default), (gst_object_set_name),
4547         (gst_object_get_name), (gst_object_set_name_prefix),
4548         (gst_object_get_name_prefix), (gst_object_set_parent),
4549         (gst_object_get_parent), (gst_object_unparent),
4550         (gst_object_check_uniqueness), (gst_object_save_thyself),
4551         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
4552         (gst_object_set_property), (gst_object_get_property),
4553         (gst_object_get_path_string):
4554         * gst/gstobject.h:
4555         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
4556         (gst_real_pad_init), (gst_real_pad_get_property),
4557         (gst_pad_custom_new), (gst_pad_get_direction),
4558         (gst_pad_set_active), (gst_pad_is_active),
4559         (gst_pad_set_event_function), (gst_pad_is_linked),
4560         (gst_pad_link_free), (gst_pad_link_intersect),
4561         (gst_pad_link_fixate), (gst_pad_set_caps),
4562         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
4563         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
4564         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
4565         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
4566         (gst_pad_get_caps), (gst_pad_peer_get_caps),
4567         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
4568         (gst_pad_realize), (gst_pad_get_allowed_caps),
4569         (gst_real_pad_dispose), (gst_real_pad_finalize),
4570         (gst_pad_collectv), (gst_pad_collect_valist),
4571         (gst_pad_template_dispose), (gst_pad_template_new),
4572         (gst_pad_get_internal_links):
4573         * gst/gstpad.h:
4574         * gst/gstpipeline.c: (gst_pipeline_dispose),
4575         (gst_pipeline_change_state):
4576         * gst/gstpipeline.h:
4577         * gst/gstplugin.c:
4578         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
4579         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
4580         * gst/gstpluginfeature.h:
4581         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
4582         * gst/gstquery.c: (_gst_query_type_initialize),
4583         (gst_query_type_register), (gst_query_type_get_by_nick),
4584         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
4585         * gst/gstquery.h:
4586         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
4587         * gst/gstscheduler.c: (gst_scheduler_add_element),
4588         (gst_scheduler_factory_create):
4589         * gst/gststructure.c: (gst_structure_set_parent_refcount),
4590         (gst_structure_free), (gst_structure_set_name),
4591         (gst_structure_id_set_value), (gst_structure_set_value),
4592         (gst_structure_set_valist), (gst_structure_remove_field),
4593         (gst_structure_remove_fields),
4594         (gst_structure_remove_fields_valist),
4595         (gst_structure_remove_all_fields), (gst_structure_foreach),
4596         (gst_structure_map_in_place),
4597         (gst_caps_structure_fixate_field_nearest_int),
4598         (gst_caps_structure_fixate_field_nearest_double):
4599         * gst/gststructure.h:
4600         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4601         (gst_system_clock_init), (gst_system_clock_dispose),
4602         (gst_system_clock_async_thread),
4603         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
4604         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
4605         * gst/gstsystemclock.h:
4606         * gst/gsttag.c: (gst_tag_list_add_value_internal),
4607         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
4608         * gst/gsttaginterface.c:
4609         * gst/gstthread.c: (gst_thread_dispose),
4610         (gst_thread_release_children_locks), (gst_thread_change_state),
4611         (gst_thread_main_loop):
4612         * gst/gsttrashstack.h:
4613         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
4614         * gst/gsttypes.h:
4615         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
4616         (gst_element_request_pad), (gst_element_get_pad_from_template),
4617         (gst_element_request_compatible_pad),
4618         (gst_element_get_compatible_pad_filtered),
4619         (gst_element_get_compatible_pad), (gst_element_state_get_name),
4620         (gst_element_link_pads_filtered), (gst_element_link_filtered),
4621         (gst_element_link_many), (gst_element_link),
4622         (gst_element_link_pads), (gst_element_unlink_pads),
4623         (gst_element_unlink_many), (gst_element_unlink),
4624         (gst_pad_can_link_filtered), (gst_pad_can_link),
4625         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
4626         (gst_object_default_error), (gst_bin_add_many),
4627         (gst_bin_remove_many), (gst_element_populate_std_props),
4628         (gst_element_class_install_std_props), (gst_buffer_merge),
4629         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
4630         (link_fold_func), (gst_pad_proxy_setcaps):
4631         * gst/gstutils.h:
4632         * gst/gstvalue.c: (gst_value_deserialize_string):
4633         * gst/parse/grammar.y:
4634         * gst/schedulers/gstbasicscheduler.c:
4635         (gst_basic_scheduler_cothreaded_chain),
4636         (gst_basic_scheduler_chain_recursive_add),
4637         (gst_basic_scheduler_pad_link):
4638         * gst/schedulers/gstoptimalscheduler.c:
4639         (get_group_schedule_function),
4640         (gst_opt_scheduler_state_transition),
4641         (gst_opt_scheduler_add_element), (element_get_reachables_func):
4642         * libs/gst/bytestream/bytestream.c:
4643         * libs/gst/dataprotocol/dataprotocol.c:
4644         (gst_dp_header_from_buffer):
4645         * po/nb.po:
4646         * po/ru.po:
4647         * tests/threadstate/threadstate2.c: (eos):
4648         * tools/gst-compprep.c: (main):
4649         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
4650         (print_pad_info), (print_children_info):
4651         * tools/gst-launch.c: (idle_func), (main):
4652         * tools/gst-md5sum.c: (idle_func), (main):
4653         * tools/gst-xmlinspect.c: (print_element_info):
4654         First THREADED backport attempt, focusing on adding locks and
4655         making sure the API is threadsafe. Needs more work. More docs
4656         follow this week.
4657
4658 2005-02-24  Andy Wingo  <wingo@pobox.com>
4659
4660         * tests/bench-complexity.scm:
4661         * tests/complexity.gnuplot: New files, good for running complexity
4662         benchmarks.
4663
4664         * tests/Makefile.am:
4665         * tests/complexity.c: New test, sets up N elements, at each level
4666         teeing into M streams per element. Eeeenteresting.
4667
4668         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
4669         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
4670         running bench-mass_elements.scm.
4671
4672         * tests/bench-mass_elements.scm: New script, runs mass_elements
4673         for various numbers of identities, outputting the results to a
4674         file. Requires guile 1.6. Just for testing.
4675
4676 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4677
4678         * gst/schedulers/fairscheduler.c:
4679           compile with debug disabled
4680
4681 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4682
4683         * configure.ac:
4684           hunting season on 0.9 is now OPEN
4685
4686 2005-02-22  Stefan Kost  <ensonic@users.sf.net>
4687
4688         * docs/libs/tmpl/gstcontrol.sgml:
4689         * docs/libs/tmpl/gstdparam.sgml:
4690         * docs/libs/tmpl/gstdplinint.sgml:
4691         * docs/libs/tmpl/gstdpman.sgml:
4692         * docs/libs/tmpl/gstdpsmooth.sgml:
4693         * docs/libs/tmpl/gstunitconvert.sgml:
4694           more docs for the state of dparams
4695
4696 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4697
4698         * gst/gstelementfactory.c: (gst_element_factory_create):
4699         * gst/gstobject.c: (gst_object_init),
4700         (gst_object_set_name_default), (gst_object_set_name):
4701           name objects by default, not in gst_element_factory_create. Allows
4702           using elements created with g_object_new. (fixes #167283)
4703
4704 2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
4705
4706         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
4707           make the time that debugging functions print relative to when
4708           gst_init was called
4709
4710 2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
4711
4712         * gst/gsttaginterface.c:
4713           Fix inline docs: tag setter vararg functions are NULL-terminated,
4714           GST_TAG_INVALID doesn't exist any more.
4715
4716 2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4717
4718         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
4719         Allocate the 1 byte more memory that was forgotten!!!!!
4720         fixes memory corruption on 64bit platforms
4721
4722 2005-02-15  Stefan Kost  <ensonic@users.sf.net>
4723
4724         * docs/pwg/building-pads.xml:
4725         * docs/pwg/intro-basics.xml:
4726           fixed a few typos, relabeled introductionary list of types
4727         * docs/random/ensonic/dparams.txt:
4728           more notes abut dparam changes
4729         * libs/gst/control/dparam.c: (gst_dparam_attach):
4730         * libs/gst/control/dparammanager.c:
4731         * libs/gst/control/dparammanager.h:
4732           - many comments and notes on dparam implementation
4733           - new dparams are were not initialized to the default value
4734             from param spec
4735
4736 2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4737
4738         submitted by: Peter Astakhov
4739
4740         * po/LINGUAS:
4741         * po/ru.po:
4742           adding Russian translation
4743
4744 2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4745
4746         * configure.ac:
4747         * docs/gst/Makefile.am:
4748         * docs/libs/Makefile.am:
4749           make sure popt is added to gtk-doc flags.  Fixes #147782.
4750
4751 2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
4752
4753         * docs/faq/using.xml:
4754           Fix typo in FAQ (artssink => artsdsink)
4755
4756 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4757
4758         * tools/gst-launch.1.in:
4759           Fix typo (#166699).
4760
4761 2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
4762
4763         * docs/faq/using.xml:
4764           Add -v argument to fakesrc/fakesink gst-launch line,
4765           so that the promised output will actually show up.
4766
4767 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4768
4769         * gst/gstthread.c: (gst_thread_change_state):
4770           Implement state-change error handling (#166073).
4771
4772 2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4773
4774         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
4775           Release interrupt after handling (#166250).
4776
4777 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4778
4779         * configure.ac:
4780           back to HEAD
4781
4782 === release 0.8.9 ===
4783
4784 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4785
4786         * NEWS:
4787         * RELEASE:
4788         * configure.ac:
4789           releasing 0.8.9, "Like Eating Glass"
4790
4791 2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4792
4793         submitted by: Clytie Siddall
4794
4795         * po/vi.po: Added Vietnamese translation
4796
4797 2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4798
4799         patch by: Tim Philipp-Müller
4800
4801         * configure.ac:
4802         * gst/gstpad.c:
4803           unref data when probe function returns FALSE.  Fixes #166362
4804
4805 2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4806
4807         * gst/gst.c: (gst_init_get_popt_table):
4808           Fix typo (#166269).
4809
4810 2005-02-04  Andy Wingo  <wingo@pobox.com>
4811
4812         * gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
4813         the debugging on whether the caps are compatible.
4814
4815 2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4816
4817         * docs/manual/basics-elements.xml:
4818           Fix two typos.
4819
4820 2005-02-02  Wim Taymans  <wim@fluendo.com>
4821
4822         * gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
4823         (schedule_chain), (get_invalid_call), (chain_invalid_call),
4824         (loop_group_schedule_function), (gst_opt_scheduler_iterate):
4825         Remove some FIXMEs after analysing and commenting why they
4826         are not issues.
4827
4828 2005-02-02  Wim Taymans  <wim@fluendo.com>
4829
4830         * gst/schedulers/gstoptimalscheduler.c:
4831         (gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
4832         (gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
4833         (get_invalid_call), (chain_invalid_call),
4834         (get_group_schedule_function), (loop_group_schedule_function),
4835         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
4836         (gst_opt_scheduler_state_transition),
4837         (gst_opt_scheduler_add_element),
4838         (gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
4839         (gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
4840         (gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
4841         (gst_opt_scheduler_show):
4842         Added lock to protect scheduler data structures.
4843
4844 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4845
4846         * testsuite/threads/threadi.c: (cb_data):
4847           Fix buglet in test.
4848
4849 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4850
4851         * testsuite/threads/Makefile.am:
4852         * testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
4853           On Wim's request, split the test in three separately-compiled
4854           tests that each test a very specific bug. Two of them still fail,
4855           will create bugs for those. threadi.c indicates why they fail.
4856
4857 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4858
4859         * gst/schedulers/gstoptimalscheduler.c:
4860         (get_group_schedule_function):
4861           Try to work with the threading mess that queue_link is.
4862
4863 2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4864
4865         * gst/gstbin.c: (gst_bin_remove_func):
4866           Explicitely make an element release locks in a group when being
4867           remove from a bin.
4868         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
4869           If there's no scheduler, always return immediately (similar to
4870           gst_element_interrupt).
4871
4872 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4873
4874         * gst/gstbin.c: (gst_bin_child_state_change_func):
4875           Remove a piece of code that could never be reached.
4876         * docs/gst/gstreamer-sections.txt:
4877         * gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
4878         (gst_pad_call_get_function):
4879         * gst/gstpad.h:
4880         * testsuite/pad/Makefile.am:
4881           Fix #150546, enable tests.
4882
4883 2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4884
4885         * docs/pwg/advanced-types.xml:
4886           Fix description for buffer-frames=0.
4887         * docs/gst/tmpl/gstbin.sgml:
4888         * gst/gstbin.c: (gst_bin_child_state_change_func),
4889         (gst_bin_change_state), (gst_bin_change_state_norecurse):
4890         * gst/gstbin.h:
4891         * testsuite/threads/Makefile.am:
4892         * testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
4893         (cb_state), (cb_play), (main):
4894           Fix non-recursive state changes to *really* change the state
4895           of the object, and not just call parent_class->state_change.
4896           Fix a lot of lockups caused by this. Fixes #132775. Add test
4897           for the problem. Also enable test to show #142588 (fixed).
4898         * gst/gstthread.c: (gst_thread_change_state),
4899         (gst_thread_child_state_change):
4900           Don't exit the thread if we go to NULL and are inside thread
4901           context. Instead, return control to the main thread context
4902           and exit from there.
4903         * gst/gstelement.c: (gst_element_disable_threadsafe_properties):
4904           Don't unset virtual functions, since those may still be used.
4905           That's not necessarily correct, but suffices for now.
4906         * configure.ac:
4907         * testsuite/Makefile.am:
4908         * testsuite/pad/Makefile.am:
4909         * testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
4910         (gst_test_sink_base_init), (gst_test_sink_chain),
4911         (gst_test_sink_init), (main):
4912         * testsuite/pad/getnopush.c: (gst_test_src_class_init),
4913         (gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
4914         (main):
4915         * testsuite/pad/link.c: (gst_test_element_class_init),
4916         (gst_test_element_base_init), (gst_test_src_get),
4917         (gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
4918         (gst_test_filter_loop), (gst_test_filter_init),
4919         (gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
4920         (cb_error), (main):
4921           Add tests to show #150546. Pass, but should fail (currently
4922           disabled from the testsuite).
4923         * gst/gstscheduler.c: (gst_scheduler_dispose):
4924           Dereference child schedulers on dispose (#94464).
4925         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4926           Fix typo.
4927         * testsuite/threads/thread.c: (main):
4928           Add more debug.
4929
4930 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4931
4932         * gst/gstpad.c: (gst_pad_push):
4933           Oops, revert previous commit, broke testsuite...
4934
4935 2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4936
4937         * gst/gstpad.c: (gst_pad_push):
4938           Add check that the pad on which the push is performed is not a
4939           get-based pad (#150546).
4940
4941 2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4942
4943         * gst/elements/gsttypefindelement.c:
4944         (gst_type_find_element_handle_event):
4945           Fix buffer pushing if stream EOSes during typefinding.
4946
4947 2005-01-28  Edward Hervey  <bilboed@bilboed.com>
4948
4949         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4950
4951         * gst/gstvalue.c: (gst_string_wrap):
4952           Allow NULL-strings as argument (#165365).
4953
4954 2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
4955
4956         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4957
4958         * gst/schedulers/faircothreads.c:
4959         (gst_fair_scheduler_cothread_queue_show):
4960           Fix build without debug enabled.
4961
4962 2005-01-26  Stefan Kost  <ensonic@users.sf.net>
4963
4964         * docs/gst/gstreamer-sections.txt:
4965         * docs/libs/gstreamer-libs-docs.sgml:
4966         * docs/libs/gstreamer-libs-sections.txt:
4967         * docs/libs/tmpl/gstcontrol.sgml:
4968         * docs/libs/tmpl/gstdparam.sgml:
4969         * docs/libs/tmpl/gstdplinint.sgml:
4970         * docs/libs/tmpl/gstdpman.sgml:
4971         * docs/libs/tmpl/gstdpsmooth.sgml:
4972         * docs/libs/tmpl/gstputbits.sgml:
4973         * docs/libs/tmpl/gstunitconvert.sgml:
4974         * libs/gst/control/dparam.c:
4975         * libs/gst/control/dparam.h:
4976         * libs/gst/control/dparammanager.c:
4977         (gst_dpman_add_required_dparam_callback),
4978         (gst_dpman_add_required_dparam_direct),
4979         (gst_dpman_add_required_dparam_array),
4980         (gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
4981         (gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
4982         (gst_dpman_get_manager)
4983           restructured DParam docs
4984
4985 2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
4986
4987         * gst-element-check.m4:
4988           Only check for gst-inspect if we haven't already
4989           found it in previous element check runs
4990
4991 2005-01-25  Stefan Kost  <ensonic@users.sf.net>
4992
4993         * docs/gst/Makefile.am:
4994         * docs/libs/Makefile.am:
4995           fixed install rules to treat style.css as optional
4996
4997 2005-01-24  Stefan Kost  <ensonic@users.sf.net>
4998
4999         * docs/gst/Makefile.am:
5000         * docs/libs/Makefile.am:
5001           install style.css along with docs
5002         * docs/gst/tmpl/gstbin.sgml:
5003         * docs/gst/tmpl/gstclock.sgml:
5004         * docs/gst/tmpl/gstdata.sgml:
5005         * docs/gst/tmpl/gstelement.sgml:
5006         * gst/gstbin.h:
5007         * gst/gstelement.c: (gst_element_class_init):
5008         * gst/gstelement.h:
5009           fixing incomplete docs
5010
5011 2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5012
5013         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5014           Don't unref seek event twice when fflush() fails
5015           
5016 2005-01-22  David Schleef  <ds@schleef.org>
5017
5018         * configure.ac: Add --disable-valgrind. (partial fix for #164890)
5019
5020 2005-01-21  Stefan Kost  <ensonic@users.sf.net>
5021
5022         * docs/gst/Makefile.am:
5023         * docs/libs/Makefile.am:
5024           added params for deprecation guards
5025         * gst/gst.c:
5026         * gst/gst.h:
5027         * gst/gsterror.c: (_gst_resource_errors_init),
5028         (_gst_stream_errors_init):
5029         * gst/gsterror.h:
5030           documented some more enums
5031
5032 2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5033         * gst/autoplug/gstspideridentity.c:
5034         Cosmetic fix - spider_find_peek should be static
5035         * gst/parse/parse.l:
5036         Applying fix for #164261
5037
5038 2005-01-18  Stefan Kost  <ensonic@users.sf.net>
5039
5040         * docs/gst/gstreamer-sections.txt:
5041         * docs/gst/tmpl/gstplugin.sgml:
5042         * docs/libs/gstreamer-libs-sections.txt:
5043         * docs/libs/tmpl/gstcontrol.sgml:
5044         * gst/gstbuffer.h:
5045         * gst/gsttag.h:
5046         * gst/gstvalue.c:
5047           added docs for the TAG defines
5048
5049 2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5050
5051         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
5052           Only unref entry if there is an entry.
5053
5054 2005-01-17  Wim Taymans  <wim@fluendo.com>
5055
5056         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5057         (remove_from_group), (schedule_group), (normalize_group),
5058         (gst_opt_scheduler_iterate):
5059         Also ref/unref decoupled elements before iterating the
5060         group since they are not added to the list of elements.
5061
5062 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5063
5064         * docs/manual/highlevel-components.xml:
5065           Add subtitle/streamselection as new features to playbin.
5066
5067 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5068
5069         * docs/manual/manual.xml:
5070           Re-enable dataaccess docs (oops).
5071
5072 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5073
5074         * docs/pwg/advanced-types.xml:
5075         * docs/random/mimetypes:
5076           Add documentation on libsndfile types (#163309), by Steve Baker
5077           <steve@stevebaker.org>.
5078         * gst/gstelement.c: (gst_element_release_request_pad):
5079           If an element has no explicit function, just remove the pad.
5080
5081 2005-01-17  Luca Ognibene  <luogni@tin.it>
5082
5083         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5084
5085         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
5086           Fix memleak (#163801).
5087
5088 2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5089
5090         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
5091           I think this is actually more correct...
5092
5093 2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5094
5095         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5096           Another workaround for memory access while destroyed in callback.
5097           Please, someone with refcount knowledge, have a look at this.
5098
5099 2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5100
5101         * docs/faq/faq.xml:
5102         * docs/faq/legal.xml:
5103           move the legal Q&A here
5104
5105 2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5106
5107         * gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
5108         (gst_tee_request_new_pad):
5109           Fix negotiation.
5110
5111 2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5112
5113         * docs/random/omega/caps2:
5114         * testsuite/caps/caps_strings:
5115           replace framerate aproximations by their real value
5116           (24000/1001, 30000/1001, 60000/1001)
5117           Partially fixes bug #164049
5118
5119 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5120
5121         * docs/gst/Makefile.am:
5122           don't fail on the stupid GstPoptOption
5123
5124 2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5125
5126         * gst/gstpad.h:
5127         * gst/gstprobe.c:
5128           allow probes to work on ghost pads by realizing the pad
5129           probe debugging
5130
5131 2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5132
5133         * docs/gst/gstreamer-sections.txt:
5134         * docs/gst/tmpl/gstpad.sgml:
5135         * gst/gstpad.c: (gst_pad_set_active_recursive):
5136         * gst/gstpad.h:
5137           Add gst_pad_set_active_recursive().
5138
5139 2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5140
5141         * docs/random/release:
5142           updates
5143         * gst/gst_private.h:
5144         * gst/gstinfo.c:
5145         * gst/gstobject.c:
5146           move deep_notify logging to a new category
5147         * gst/gstprobe.c:
5148         * gst/gstprobe.h:
5149           add stuff so bindings can wrap probes
5150
5151 2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5152
5153         * gst/gstplugin.c: (gst_plugin_load):
5154           Fix plugin loading if plugin/lib was already loaded. Fixes
5155           #163383
5156
5157 2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
5158
5159         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5160
5161         * gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
5162           Protect plugin loading by a mutex so it's threadsafe. Fixes
5163           #163234.
5164
5165 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5166
5167         * gst/gstevent.c: (_gst_event_copy):
5168           Reference source object when copying events, since it'll be
5169           dereferenced on event dereferencing as well.
5170
5171 2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5172
5173         * docs/gst/gstreamer-sections.txt:
5174         * docs/gst/tmpl/gstevent.sgml:
5175         * gst/gstevent.c: (gst_event_new_filler_stamped),
5176         (gst_event_filler_get_duration):
5177         * gst/gstevent.h:
5178           Add two new functions for filler events (which are used to
5179           synchronize streams if one of them is not having any data
5180           for a while) without interrupting the actual data-stream.
5181           Basically a no-op.
5182         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5183         (gst_queue_link_sink), (gst_queue_link_src),
5184         (gst_queue_change_state):
5185           Allow for renegotiation while filled. Required for stream
5186           switching while playing.
5187
5188 2005-01-08  Benjamin Otte  <otte@gnome.org>
5189
5190         * gst/gstelement.c: (gst_element_link_many):
5191           fix up g_return_if_fail's
5192         * po/LINGUAS:
5193         * po/de.po:
5194           add German translation, that was somehow not included
5195
5196 2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
5197
5198         * docs/random/mimetypes:
5199           add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
5200           do not add them to riff-lib as they are not common
5201
5202 2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5203
5204         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
5205           Check for existence of probe after performing the probe before
5206           re-accessing it to prevent segfaults caused by removal of the
5207           probe in the callback.
5208
5209 2005-01-05  David Schleef  <ds@schleef.org>
5210
5211         * testsuite/registry/Makefile.am:
5212         * testsuite/registry/gst-print-formats.c:
5213         (print_pad_templates_info), (print_element_list),
5214         (print_typefind_list), (list_sort_func), (get_typefind_mime_list),
5215         (g_list_uniqify), (get_pad_templates_info),
5216         (get_element_mime_list), (print_mime_list), (main): A little
5217         program that looks through the registry to find elements of
5218         a given type.  Not particularly interesting as a test, except
5219         that there's no other test covering the same area.
5220
5221 2005-01-05  David Schleef  <ds@schleef.org>
5222
5223         * tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
5224         (fault_handler_sigaction), (fault_spin),
5225         (sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
5226         in signal.h-type signal handlers by not calling forbidden functions,
5227         including gst_element_set_state().
5228
5229 2005-01-05  David Schleef  <ds@schleef.org>
5230
5231         * gst/gstvalue.h: Mark _gst_reserved[] as private
5232
5233 2005-01-05  David Schleef  <ds@schleef.org>
5234
5235         * gst/gstvalue.c: Fix doc build problem.
5236
5237 2005-01-05  David Schleef  <ds@schleef.org>
5238
5239         * gst/gstvalue.c: Add some documentation
5240
5241 2005-01-05  Stefan Kost  <ensonic@users.sf.net>
5242
5243         * docs/README:
5244           another shell oneliner for empty return value docs
5245         * gst/gstcaps.c:
5246         * gst/gstvalue.c:
5247         * libs/gst/control/dparam.c:
5248           more doc fixes (parameters and return values)
5249
5250 2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
5251
5252         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5253
5254         * gst/gstregistry.h:
5255         * gst/registries/gstxmlregistry.c:
5256           Fix macro's for Mingw (fixes #162276).
5257
5258 2005-01-04  Stefan Kost  <ensonic@users.sf.net>
5259
5260         * docs/README:
5261           quick shell oneliner to find undocumented members
5262         * docs/gst/tmpl/gstplugin.sgml:
5263         * docs/gst/tmpl/gstscheduler.sgml:
5264         * docs/gst/tmpl/gstthread.sgml:
5265           more enumtypes cleanup
5266         * gst/gsterror.h:
5267           activated documentation comments, now someone needs to document
5268           the enums :(
5269
5270 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5271
5272         * docs/manual/manual.xml:
5273           Add dataaccess part (doh!).
5274
5275 2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5276
5277         * docs/manual/advanced-autoplugging.xml:
5278           Fix typo (intiate -> initiate).
5279
5280 2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5281
5282         * docs/random/bbb/streamselection:
5283           Add some notes on how to handle multi-subtitle/-audio streams.
5284
5285 2004-12-30  Stefan Kost  <ensonic@users.sf.net>
5286
5287         * docs/gst/gstreamer-docs.sgml:
5288         * docs/gst/gstreamer-sections.txt:
5289         * docs/gst/tmpl/gstenumtypes.sgml:
5290         * docs/gst/tmpl/gsterror.sgml:
5291         * docs/gst/tmpl/gstevent.sgml:
5292         * docs/gst/tmpl/gstpad.sgml:
5293         * docs/gst/tmpl/gstpadtemplate.sgml:
5294         * docs/gst/tmpl/gstthread.sgml:
5295           removed gstenumtypes section from docs and put all the enums into
5296           their sections
5297
5298 2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5299
5300         * gst/gstplugin.c:
5301           document gst_library_load a bit more (riff special case + return
5302           value if already loaded)
5303         * testsuite/bytestream/filepadsink.c:
5304           plugin name is 'gstbytestream', not 'bytestream'
5305
5306 2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5307
5308         * docs/random/bbb/subtitles:
5309           Add some first mind rumblings on proper subtitle support.
5310
5311 2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5312
5313         * po/ca.po:
5314         * po/sv.po:
5315           updated translations
5316
5317 2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5318
5319         * docs/manual/advanced-dataaccess.xml:
5320           Add section on how to use fakesrc/fakesink/identity in your
5321           application, plus section on how to embed plugins. Also mention
5322           probes.
5323         * docs/manual/appendix-checklist.xml:
5324         * docs/manual/appendix-debugging.xml:
5325         * docs/manual/appendix-gnome.xml:
5326         * docs/manual/appendix-integration.xml:
5327           Debug -> checklist, GNOME -> integration, add sections on Linux,
5328           KDE integration and add other things useful for application
5329           development.
5330         * docs/manual/manual.xml:
5331           Remove some fixmes, update some file pointers.
5332         * docs/pwg/appendix-checklist.xml:
5333           Fix typo.
5334         * docs/pwg/building-boiler.xml:
5335           Remove ugly header and add commented fixme.
5336         * docs/pwg/pwg.xml:
5337           Add fixme.
5338         * examples/manual/Makefile.am:
5339           Add example for added docs.
5340
5341 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5342
5343         * configure.ac:
5344           back to HEAD
5345
5346 === release 0.8.8 ===
5347
5348 2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5349
5350         * NEWS:
5351         * RELEASE:
5352         * configure.ac:
5353           Releasing 0.8.8, "I'll Take Care Of You"
5354
5355 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5356
5357         * configure.ac:
5358           second prerelease
5359
5360 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5361
5362         patch by: Wim Taymans
5363
5364         * gst/gstbin.c:
5365           Fix for #159852 - make iterate emission threadsafe
5366
5367 2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5368
5369         * docs/faq/cvs.xml:
5370           notes about new fdo account request
5371
5372 2004-12-20  Stefan Kost  <ensonic@users.sf.net>
5373
5374         * docs/gst/gstreamer-docs.sgml:
5375         * docs/gst/tmpl/gstenumtypes.sgml:
5376         * docs/gst/tmpl/gstplugin.sgml:
5377         * docs/libs/gstreamer-libs-docs.sgml:
5378           Added missing short docs. Added ids for navigation.
5379
5380 2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5381
5382         * docs/manual/advanced-autoplugging.xml:
5383         * docs/manual/advanced-schedulers.xml:
5384         * docs/manual/advanced-threads.xml:
5385           Rewrites. Remove cothreads, go a bit into opt specifically,
5386           document threads and their gotchas, and do some technical stuff
5387           on autoplugging plus add some working examples. Fixes #157395.
5388         * examples/manual/Makefile.am:
5389           Add typefind/autoplugger example (one that actually works).
5390           Remove queue example since it's a duplicate of the thread one.
5391
5392 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5393
5394         * gst/gstvalue.c: (gst_value_deserialize_string):
5395           use deprecated g_value_set_string_take_ownership to keep compatible
5396           with glib 2.2
5397
5398 2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5399
5400         * gst/gstvalue.c: (gst_value_deserialize_string):
5401           revert last patch, only dom a g_utf8_validate now before accepting
5402           the string - caps parsing strips " from strings so we can't rely on
5403           them
5404         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5405           disable a test that tested the above and comment it
5406
5407 2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
5408
5409         Patch reviewed by David Schleef  <ds@schleef.org>
5410
5411         * win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
5412         bug #153882)
5413         * win32/gstenumtypes.h: same
5414
5415 2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5416
5417         * gst/gstpad.c: (gst_pad_query):
5418           Do query on realized pad, similar to how convert/send_event handle
5419           this. Also makes sense, since this pad belongs to the function to
5420           which this query will be sent. Fixes #158163.
5421
5422 2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
5423
5424         * docs/manual/appendix-programs.xml: fix pipeline to actually work
5425
5426 2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5427
5428         * docs/faq/general.xml: fix pipeline to actually work
5429
5430 2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
5431
5432         * gst/gstvalue.c: (gst_value_deserialize_string):
5433           check that a simple string that gets deserialized does not contain
5434           invalid characters
5435         * testsuite/caps/value_serialize.c: (test_string_deserialization):
5436           remove a test that tested a wring behaviour
5437
5438 2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
5439
5440         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5441
5442         * docs/manual/intro-motivation.xml:
5443           Fix typos.
5444
5445 2004-12-16  Edward Hervey  <bilboed@bilboed.com>
5446
5447         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5448
5449         * docs/gst/tmpl/gstprobe.sgml:
5450           Fix documentation of probe callback - it is supposed to return
5451           FALSE, not TRUE, to remove data from the stream (#159087).
5452
5453 2004-12-16  Daniel Gazard  <dany42@free.fr>
5454
5455         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5456
5457         * gst/gstelementfactory.c: (gst_element_factory_create):
5458           Fix compile failure if compiling without libxml2 support (#149936).
5459
5460 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5461
5462         * docs/manual/advanced-autoplugging.xml:
5463         * docs/manual/highlevel-components.xml:
5464           Move spider from autoplugging to components. Autoplugging is for
5465           internals, not for solutions. ;-).
5466
5467 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5468
5469         * docs/random/ds/0.9-suggested-changes:
5470           Make note on device/location/uri property names.
5471
5472 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5473
5474         * docs/manual/advanced-autoplugging.xml:
5475         * docs/manual/advanced-clocks.xml:
5476         * docs/manual/advanced-interfaces.xml:
5477         * docs/manual/advanced-metadata.xml:
5478         * docs/manual/advanced-position.xml:
5479         * docs/manual/advanced-schedulers.xml:
5480         * docs/manual/advanced-threads.xml:
5481         * docs/manual/appendix-gnome.xml:
5482         * docs/manual/appendix-programs.xml:
5483         * docs/manual/appendix-quotes.xml:
5484         * docs/manual/autoplugging.xml:
5485         * docs/manual/basics-bins.xml:
5486         * docs/manual/basics-data.xml:
5487         * docs/manual/basics-elements.xml:
5488         * docs/manual/basics-helloworld.xml:
5489         * docs/manual/basics-init.xml:
5490         * docs/manual/basics-pads.xml:
5491         * docs/manual/basics-plugins.xml:
5492         * docs/manual/bins-api.xml:
5493         * docs/manual/bins.xml:
5494         * docs/manual/buffers-api.xml:
5495         * docs/manual/buffers.xml:
5496         * docs/manual/clocks.xml:
5497         * docs/manual/components.xml:
5498         * docs/manual/cothreads.xml:
5499         * docs/manual/debugging.xml:
5500         * docs/manual/dparams-app.xml:
5501         * docs/manual/dynamic.xml:
5502         * docs/manual/elements-api.xml:
5503         * docs/manual/elements.xml:
5504         * docs/manual/factories.xml:
5505         * docs/manual/gnome.xml:
5506         * docs/manual/goals.xml:
5507         * docs/manual/helloworld.xml:
5508         * docs/manual/helloworld2.xml:
5509         * docs/manual/highlevel-components.xml:
5510         * docs/manual/highlevel-xml.xml:
5511         * docs/manual/init-api.xml:
5512         * docs/manual/intro-basics.xml:
5513         * docs/manual/intro-motivation.xml:
5514         * docs/manual/intro-preface.xml:
5515         * docs/manual/intro.xml:
5516         * docs/manual/links-api.xml:
5517         * docs/manual/links.xml:
5518         * docs/manual/manual.xml:
5519         * docs/manual/motivation.xml:
5520         * docs/manual/pads-api.xml:
5521         * docs/manual/pads.xml:
5522         * docs/manual/plugins-api.xml:
5523         * docs/manual/plugins.xml:
5524         * docs/manual/programs.xml:
5525         * docs/manual/queues.xml:
5526         * docs/manual/quotes.xml:
5527         * docs/manual/schedulers.xml:
5528         * docs/manual/states-api.xml:
5529         * docs/manual/states.xml:
5530         * docs/manual/threads.xml:
5531         * docs/manual/typedetection.xml:
5532         * docs/manual/win32.xml:
5533         * docs/manual/xml.xml:
5534           Try 2. This time, include a short preface as a "general
5535           introduction", also add code blocks around all code samples
5536           so they get compiled. We still need a way to tell readers
5537           the filename of the code sample. In some cases, don't show
5538           all code in the documentation, but do include it in the generated
5539           code. This allows for focussing on specific bits in the docs,
5540           while still having a full test application available.
5541         * examples/manual/Makefile.am:
5542           Fix up examples for new ADM. Add several of the new examples that
5543           were either added or were missing from the build system.
5544         * examples/manual/extract.pl:
5545           Allow nameless blocks.
5546
5547 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5548
5549         * docs/manual/elements-api.xml:
5550         * docs/manual/helloworld.xml:
5551         * examples/manual/extract.pl:
5552           fix last example.  Add example of adding code blocks that are not
5553           shown in docbook output.
5554
5555 2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5556
5557         * docs/manual/dynamic.xml:
5558         * docs/manual/elements-api.xml:
5559         * docs/manual/gnome.xml:
5560         * docs/manual/helloworld2.xml:
5561         * docs/manual/init-api.xml:
5562         * docs/manual/queues.xml:
5563         * docs/manual/threads.xml:
5564         * docs/manual/xml.xml:
5565         * examples/manual/extract.pl:
5566           Make it possible to extract example code from separate blocks.
5567           Should make Ronald happy.
5568
5569 2004-12-15  Wim Taymans  <wim@fluendo.com>
5570
5571         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5572         (remove_from_group), (group_elements_set_visited),
5573         (normalize_group), (gst_opt_scheduler_iterate):
5574         Fix bug where a flag was not updated on a decoupled entry point 
5575         because we were just checking the group element list and decoupled
5576         elements are not in that list..
5577
5578 2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5579
5580         * docs/manual/advanced-autoplugging.xml:
5581         * docs/manual/advanced-clocks.xml:
5582         * docs/manual/advanced-dparams.xml:
5583         * docs/manual/advanced-interfaces.xml:
5584         * docs/manual/advanced-metadata.xml:
5585         * docs/manual/advanced-position.xml:
5586         * docs/manual/advanced-schedulers.xml:
5587         * docs/manual/advanced-threads.xml:
5588         * docs/manual/appendix-debugging.xml:
5589         * docs/manual/appendix-gnome.xml:
5590         * docs/manual/appendix-programs.xml:
5591         * docs/manual/appendix-quotes.xml:
5592         * docs/manual/appendix-win32.xml:
5593         * docs/manual/autoplugging.xml:
5594         * docs/manual/basics-bins.xml:
5595         * docs/manual/basics-data.xml:
5596         * docs/manual/basics-elements.xml:
5597         * docs/manual/basics-helloworld.xml:
5598         * docs/manual/basics-init.xml:
5599         * docs/manual/basics-pads.xml:
5600         * docs/manual/basics-plugins.xml:
5601         * docs/manual/bins-api.xml:
5602         * docs/manual/bins.xml:
5603         * docs/manual/buffers-api.xml:
5604         * docs/manual/buffers.xml:
5605         * docs/manual/clocks.xml:
5606         * docs/manual/components.xml:
5607         * docs/manual/cothreads.xml:
5608         * docs/manual/debugging.xml:
5609         * docs/manual/dparams-app.xml:
5610         * docs/manual/dynamic.xml:
5611         * docs/manual/elements-api.xml:
5612         * docs/manual/elements.xml:
5613         * docs/manual/factories.xml:
5614         * docs/manual/gnome.xml:
5615         * docs/manual/goals.xml:
5616         * docs/manual/helloworld.xml:
5617         * docs/manual/helloworld2.xml:
5618         * docs/manual/highlevel-components.xml:
5619         * docs/manual/highlevel-xml.xml:
5620         * docs/manual/init-api.xml:
5621         * docs/manual/intro-motivation.xml:
5622         * docs/manual/intro-preface.xml:
5623         * docs/manual/intro.xml:
5624         * docs/manual/links-api.xml:
5625         * docs/manual/links.xml:
5626         * docs/manual/manual.xml:
5627         * docs/manual/motivation.xml:
5628         * docs/manual/pads-api.xml:
5629         * docs/manual/pads.xml:
5630         * docs/manual/plugins-api.xml:
5631         * docs/manual/plugins.xml:
5632         * docs/manual/programs.xml:
5633         * docs/manual/queues.xml:
5634         * docs/manual/quotes.xml:
5635         * docs/manual/schedulers.xml:
5636         * docs/manual/states-api.xml:
5637         * docs/manual/states.xml:
5638         * docs/manual/threads.xml:
5639         * docs/manual/typedetection.xml:
5640         * docs/manual/win32.xml:
5641         * docs/manual/xml.xml:
5642           First try at rewriting the ADM. Needs lotsamore work, but some
5643           parts might already be somewhat useful.
5644         * docs/pwg/advanced-interfaces.xml:
5645           Remove properties interface, it never actually existed (except for
5646           on my HD...).
5647
5648 2004-12-13  David Schleef  <ds@schleef.org>
5649
5650         * gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
5651         be NULL (bug #160220).
5652
5653 2004-12-13  David Schleef  <ds@schleef.org>
5654
5655         * configure.ac: remove all mmx stuff, because it's not used.
5656         * docs/random/ds/0.9-suggested-changes: additional notes
5657         * include/Makefile.am: we don't use these anymore
5658         * include/mmx.h: remove
5659         * include/sse.h: remove
5660
5661 2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
5662
5663         * docs/random/mimetypes:
5664           Add FOURCC code for h264 codec (VSSH)
5665           Add alternate FOURCC codes for h263 related codecs
5666
5667 2004-12-10  Stefan Kost  <ensonic@users.sf.net>
5668
5669         * docs/manual/programs.xml:
5670           Added more gst-launch examples.
5671
5672 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5673
5674         * gst/gstqueue.c: (gst_queue_handle_src_query):
5675           Check for availability again.
5676
5677 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5678
5679         * gst/gstcaps.c: (gst_caps_compare_structures):
5680           Simple caps go first. This has the nice side-effect of fixing an
5681           obscure warning.
5682
5683 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5684
5685         * gst/gstversion.h.in:
5686           Protect header.
5687
5688 2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5689
5690         * gst/schedulers/gstoptimalscheduler.c:
5691         (gst_opt_scheduler_schedule_run_queue), (schedule_chain),
5692         (gst_opt_scheduler_get_wrapper):
5693           When we're recursing into a chain run, only run the directly
5694           related group, not all queued ones. This will fix a possible
5695           deadlock in chains with more than two groups.
5696
5697 2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5698
5699         * autogen.sh:
5700           remove patch if autopoint fails
5701
5702 2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5703
5704         * docs/gst/gstreamer-sections.txt:
5705           Document Thomas' addition, fix build, make Luis the sheriff happy.
5706
5707 2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5708
5709         * gst/gstplugin.c:
5710         * gst/gstplugin.h:
5711           add accessor for version field
5712
5713 2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5714
5715         submitted by: Luca Ferretti <elle.uca@infinito.it>
5716
5717         * po/LINGUAS:
5718         * po/it.po:
5719           New tranlation added: Italian
5720
5721 2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5722
5723         * gst/gstpad.c: (gst_pad_is_negotiated),
5724         (gst_pad_get_negotiated_caps):
5725           GST_RPAD_* will only operate on a RealPad (it casts the pointer,
5726           it doesn't actually check the contents), so be sure to hand it
5727           a RealPad else we'll crash.
5728
5729 2004-12-03  Wim Taymans  <wim@fluendo.com>
5730
5731         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
5732         (gst_queue_link), (gst_queue_handle_src_query):
5733         Reverted to 1.110 until this makes the testsuite and various
5734         apps work.
5735
5736 2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
5737
5738         * docs/upload.mak: fix included CVS conflict strings
5739
5740 2004-12-01  William Jon McCann  <mccann@jhu.edu>
5741
5742         Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5743
5744         * gst/gstelement.c: (gst_element_error_full):
5745           Use g_error_new_literal because error text may have
5746           percentage signs in it. Fixes #160019.
5747
5748 2004-12-01  Benjamin Otte  <otte@gnome.org>
5749
5750         * gst/elements/gstbufferstore.c:
5751         (gst_buffer_store_add_buffer_func):
5752           don't try to make subbuffers bigger than they can be. (fixes
5753           #159970)
5754
5755 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5756
5757         * docs/gst/gstreamer-sections.txt:
5758         * docs/gst/tmpl/gstvalue.sgml:
5759           Add new function to docs to fix build.
5760
5761 2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5762
5763         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
5764         * gst/gstpad.c: (_gst_pad_default_fixate_value),
5765         (_gst_pad_default_fixate_foreach):
5766         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
5767         * gst/gstvalue.h:
5768           Deprecate _type_is_fixed, use _value_is_fixed instead, since
5769           in some cases (arrays), the fixedness depends on the content.
5770         * gst/gstqueue.c: (gst_queue_handle_src_query):
5771           Check for availability before doing something.
5772
5773 2004-11-29  Wim Taymans  <wim@fluendo.com>
5774
5775         * testsuite/threads/Makefile.am:
5776         * testsuite/threads/signals.c: (gst_test_get_type),
5777         (gst_test_class_init), (gst_test_init), (gst_test_dispose),
5778         (gst_test_set_property), (gst_test_get_property),
5779         (gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
5780         (gst_test_do_prop), (run_thread), (main):
5781         Added a bunch of testcases that show threadsafety bugs in glib.
5782
5783 2004-11-29  Stefan Kost  <ensonic@users.sf.net>
5784
5785         * docs/manual/programs.xml:
5786           Added a first batch of gst-launch examples, as provided by Ronald
5787           and others from the devel-mlist
5788
5789 2004-11-28  Benjamin Otte  <otte@gnome.org>
5790
5791         * gst/gstelement.c: (gst_element_negotiate_pads):
5792           simplify
5793         * gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
5794         (gst_value_serialize_string), (gst_value_deserialize_string):
5795           add unwrapping of previously wrapped strings. Fix bug in wrapping
5796           while at it.
5797         * testsuite/caps/value_serialize.c: (test1),
5798         (test_string_serialization), (test_string_deserialization), (main):
5799           add tests for string (de)serialization
5800
5801 2004-11-26  Wim Taymans  <wim@fluendo.com>
5802
5803         * testsuite/threads/159566.c: (object_deep_notify), (main):
5804         * testsuite/threads/Makefile.am:
5805         Added testsuite to show bug #159566
5806
5807 2004-11-25  Wim Taymans  <wim@fluendo.com>
5808
5809         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
5810         (gst_thread_child_state_change), (gst_thread_main_loop):
5811         Ref the thread object in the GThread mainloop. Break out of the
5812         thread mainloop if it holds the last ref. This properly exits
5813         the threads when disposing the thread from its own context. It
5814         also avoids possible deadlocks in the dispose function.
5815
5816 2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
5817
5818         * gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
5819         it is necessary to wait.
5820
5821 2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5822
5823         * docs/pwg/building-boiler.xml:
5824           Make description somewhat clearer.
5825
5826 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5827
5828         * docs/upload.mak:
5829           Apparently docs changed location on FDO's server.
5830
5831 2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5832
5833         * docs/pwg/appendix-checklist.xml:
5834           Add some random notes on things to check when writing an element.
5835           This list can be extended as people see fit.
5836
5837 2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
5838
5839         * gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
5840         (gst_queue_link_src): Allow for renegotiating the caps of the sink
5841         pad. The queue will now wait until it is empty and forward the new
5842         caps to the source.
5843         * gst/gstbin.c (gst_bin_set_element_sched)
5844         (gst_bin_unset_element_sched): Make sure that all elements and
5845         links are registered and unregistered with the scheduler exactly
5846         once. This elaborates on a fix by Benjamin Otte, but
5847         guarantees that decoupled elements are also registered.
5848
5849 2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5850
5851         * docs/manual/quotes.xml:
5852           add a quote
5853         * configure.ac:
5854         * gst/gst.c:
5855         * gst/gstinfo.c:
5856           add LIBDIR and move init message higher up so it's at the start
5857
5858 2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
5859
5860         * gst/schedulers/Makefile.am: fix disted build fair by including .h file
5861         * gstreamer.spec.in: add fair
5862
5863 2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5864
5865         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5866         * gst/elements/gstidentity.c: (gst_identity_class_init):
5867           Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
5868           <teuf@gnome.org> (#157263).
5869         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
5870         (gst_type_find_handle_src_query):
5871           Subtract size of internally stored data from position queries.
5872
5873 2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
5874
5875         * gst/schedulers/fairscheduler.c:
5876         * gst/schedulers/faircothreads.c:
5877         * gst/schedulers/faircothreads.h:
5878         New cothread based scheduler: Fair scheduler.
5879         * gst/schedulers/gthread-cothreads.h: 
5880         Add the standard #if around the whole file.
5881         Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
5882         compilation of the functions defined in this file. This is
5883         necessary to be able to use this file as a normal header.
5884         * gst/schedulers/Makefile.am: Add compiling support for fair
5885         scheduler.
5886         * docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
5887         scheduler cothreads layer from documentation generation.
5888
5889 2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5890
5891         * gst/autoplug/gstspideridentity.c:
5892         (gst_spider_identity_sink_loop_type_finding):
5893           Don't crash if that function is not implemented.
5894
5895 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5896
5897         * docs/pwg/advanced-types.xml:
5898           Another typo.
5899
5900 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5901
5902         * docs/pwg/intro-preface.xml:
5903           Hm, ok, so the brackets weren't really useful...
5904         * docs/pwg/other-ntoone.xml:
5905           Fix embarassing typo.
5906
5907 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5908
5909         * docs/pwg/intro-preface.xml:
5910           Rewrite preface.
5911
5912 2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5913
5914         * docs/pwg/advanced-scheduling.xml:
5915         * docs/pwg/advanced-tagging.xml:
5916         * docs/pwg/advanced-types.xml:
5917         * docs/pwg/building-boiler.xml:
5918         * docs/pwg/building-chainfn.xml:
5919         * docs/pwg/building-signals.xml:
5920         * docs/pwg/building-state.xml:
5921         * docs/pwg/building-testapp.xml:
5922         * docs/pwg/intro-basics.xml:
5923         * docs/pwg/other-manager.xml:
5924         * docs/pwg/other-source.xml:
5925           Typo fixes.
5926         * docs/pwg/other-manager.xml:
5927           Add some first content. No example code yet.
5928         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
5929           Remove double newlines.
5930
5931 2004-11-04  Wim Taymans  <wim@fluendo.com>
5932
5933         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5934         (remove_from_group), (normalize_group), (group_migrate_connected),
5935         (gst_opt_scheduler_iterate):
5936         * testsuite/schedulers/.cvsignore:
5937         * testsuite/schedulers/Makefile.am:
5938         * testsuite/schedulers/queue_link.c: (main):
5939         Added testcase for scheduler segfault.
5940         Fix scheduler segfault when removing a decoupled
5941         entry point as the last element from a group.
5942
5943 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5944
5945         * gst/gstmarshal.list: add missing marshaller, fixes build
5946
5947 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5948
5949         * docs/random/signal: added notes about using BOXED for GstBuffer
5950         signal marshallers, not POINTER
5951
5952 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5953
5954         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
5955         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
5956         POINTER=>BOXED changes to marshal GstBuffers
5957
5958 2004-11-03  Christophe Fergeau  <teuf@gnome.org>
5959
5960         * gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
5961         a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
5962
5963 2004-11-03  Stefan Kost  <ensonic@users.sf.net>
5964
5965         * docs/gst/gstreamer-sections.txt:
5966         * docs/gst/tmpl/gstcaps.sgml:
5967         * docs/gst/tmpl/gsterror.sgml:
5968         * docs/gst/tmpl/gstinfo.sgml:
5969         * docs/gst/tmpl/gstmacros.sgml:
5970         * docs/gst/tmpl/gstutils.sgml:
5971         * docs/random/ensonic/interfaces.txt:
5972         * gst/gstinfo.h:
5973           added some more docs, removed two obsolete defines
5974
5975 2004-11-02  Kjartan Maraas <as at gnome.org>
5976
5977         reviewed by: Wim Taymans, Ronald Bultje.
5978
5979         * gst/cothreads.c: (cothread_create):
5980         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5981         (gst_bin_child_state_change_func):
5982         * gst/gstbuffer.c: (gst_buffer_span):
5983         * gst/gstelement.c: (gst_element_get_index),
5984         (gst_element_get_event_masks), (gst_element_get_query_types),
5985         (gst_element_get_formats):
5986         * gst/gsterror.c: (_gst_core_errors_init),
5987         (_gst_library_errors_init), (_gst_resource_errors_init),
5988         (_gst_stream_errors_init):
5989         * gst/gstobject.c: (gst_object_default_deep_notify):
5990         * gst/gstpad.c: (gst_pad_get_event_masks),
5991         (gst_pad_get_internal_links_default):
5992         * gst/gstplugin.c: (gst_plugin_register_func),
5993         (gst_plugin_get_module):
5994         * gst/gststructure.c: (gst_structure_get_string),
5995         (gst_structure_get_abbrs), (gst_structure_from_abbr),
5996         (gst_structure_to_abbr):
5997         * gst/gstutils.c: (gst_print_element_args):
5998         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
5999         (setup_group_scheduler), (gst_opt_scheduler_iterate):
6000         Aplied part of patch #157127: Cleanup of issues reported by 
6001         sparse.
6002         Also do not try to use cothreads when there is no cothread
6003         context yet.
6004
6005 2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
6006
6007         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6008         (gst_opt_scheduler_iterate):
6009         Applied patch #154061. Running a pipeline in which an element 
6010         calls GST_ELEMENT_ERROR in the chain function, the opt 
6011         scheduler doesn't unref the chain so it never gets freed.
6012
6013 2004-11-02  Wim Taymans  <wim@fluendo.com>
6014
6015         * gst/gststructure.c: (gst_structure_get_abbrs),
6016         (gst_structure_from_abbr), (gst_structure_to_abbr):
6017         Remove that ugly if-then thing in the code that converts
6018         between strings and types.
6019
6020 2004-11-02  Wim Taymans  <wim@fluendo.com>
6021
6022         * gst/gstscheduler.c: (gst_scheduler_add_element),
6023         (gst_scheduler_remove_element), (gst_scheduler_state_transition):
6024         Aplied clock distribution patch, this should fix bug
6025         #148787.
6026
6027 2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6028
6029         Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
6030
6031         * po/LINGUAS:
6032         * po/nb.po:
6033           Added Norwegian Bokmaal translation
6034
6035 2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6036
6037         * tools/gst-inspect.c: (print_signal_info):
6038           print signal arguments as pointers if they are
6039
6040 2004-10-22  Stefan Kost  <ensonic@users.sf.net>
6041
6042         * docs/pwg/building-boiler.xml:
6043           exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
6044
6045 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6046
6047         * gst/parse/parse.l:
6048         * testsuite/parse/parse1.c: (main):
6049         Since parse can do 'element name=a:b' make 'a:b.' work as
6050         well. 
6051         Added testcase to verify fix.
6052
6053 2004-10-19  Wim Taymans  <wim at fluendo dot com>
6054
6055         * tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
6056         Use the realpad when printing the direction.
6057         Add extra \n when printing extensions of typefind factories.
6058
6059 2004-10-13  David Schleef  <ds@schleef.org>
6060
6061         * examples/manual/Makefile.am: $< isn't portable in Makefile
6062         rules.
6063
6064 2004-10-13  Stefan Kost  <ensonic@users.sf.net>
6065
6066         * docs/gst/tmpl/gstobject.sgml:
6067         * docs/gst/tmpl/gstplugin.sgml:
6068         * docs/gst/tmpl/gstpluginfeature.sgml:
6069         * docs/gst/tmpl/gstregistry.sgml:
6070         * docs/gst/tmpl/gstversion.sgml:
6071         * gst/gstbin.c:
6072           more api documentation
6073         * gst/gstplugin.c: (gst_plugin_register_func),
6074         (gst_plugin_check_file), (gst_plugin_load_file):
6075           better error signaling and logging
6076
6077 2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6078
6079         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
6080           Subtract current queue contents from position queries.
6081
6082 2004-10-11  Johan Dahlin  <johan@gnome.org>
6083
6084         * gst/gsturi.c (gst_uri_get_location): unescape string
6085         (gst_uri_construct): escape string.
6086
6087 2004-10-11  Benjamin Otte  <otte@gnome.org>
6088
6089         * gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
6090         (gst_pad_try_set_caps_nonfixed):
6091           allow renegotiation of unconnected pads (as inside spider). Simply
6092           return OK if unconnected - mimic try_set_caps there.
6093
6094 2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6095
6096         * gst/gstbin.c: (gst_bin_sync_children_state):
6097           Add missing break.
6098
6099 2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6100
6101         * gst/elements/gstfakesrc.c: (gst_fakesrc_get):
6102         Set element to EOS before sending EOS event
6103
6104 2004-10-08  Wim Taymans  <wim at fluendo dot com>
6105
6106         * gst/elements/gsttypefindelement.c:
6107         (gst_type_find_element_handle_event):
6108         Handle EOS events when doing the transition from
6109         typefind to data passing. This should fix the
6110         infinite loops in short files.
6111
6112 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6113
6114         * gst/gstthread.c: (gst_thread_change_state),
6115         (gst_thread_child_state_change):
6116         Make sure no iteration happens while performing
6117         the state change as it could mess up the internal
6118         consistency of the thread state.
6119
6120 2004-10-07  Wim Taymans  <wim at fluendo dot com>
6121
6122         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
6123         (gst_thread_change_state), (gst_thread_child_state_change):
6124         Do not try to grab the iterate lock in the state change method
6125         when we are in the same thread as the iterate or else we
6126         could deadlock. Some other cleanups.
6127
6128 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6129
6130         * configure.ac:
6131           bump nano to cvs
6132
6133 === release 0.8.7 ===
6134
6135 2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6136
6137         * configure.ac:
6138         * NEWS:
6139         * RELEASE:
6140         * configure.ac:
6141           releasing 0.8.7, "A Cruise"
6142
6143 2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
6144
6145         * docs/random/mimetypes:
6146         Add an entry for Sony ATRAC3 audio format with mime-type
6147         used by rmdemux et riff-read
6148
6149 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6150
6151         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6152         Push the buffer store instead of clearing it in case that
6153         the stream is not seekable.
6154
6155 2004-10-06  Wim Taymans  <wim at fluendo dot com>
6156
6157         * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
6158         (gst_thread_main_loop):
6159         Lock the iteration and the state change so that automatic
6160         negotiation and fixation does not happen at the same time
6161         as the in stream negotiation.
6162
6163 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6164
6165         * configure.ac:
6166           bump nano to cvs
6167
6168 === release 0.8.6 ===
6169
6170 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6171
6172         * configure.ac:
6173         * NEWS:
6174         * RELEASE:
6175         * configure.ac:
6176           releasing 0.8.6, "Narc"
6177
6178 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6179
6180         * configure.ac:
6181           prerel bump
6182
6183 2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6184
6185         patch by: Steve Lhomme
6186
6187         * gst/elements/gstfakesrc.c:
6188         * gst/elements/gstidentity.c:
6189         * gst/gstthread.c:
6190           Fix for #153881
6191
6192 2004-10-01  Wim Taymans  <wim at fluendo dot com>
6193
6194         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
6195         Fix threadsafety of the crc checking function.
6196
6197 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6198
6199         patch by: Ronald Bultje
6200
6201         * gst/elements/gsttypefindelement.c: (stop_typefinding),
6202         (gst_type_find_element_handle_event),
6203         (gst_type_find_element_chain):
6204         * gst/elements/gsttypefindelement.h:
6205          #153657.
6206          Filter out discont event from seekable sources when typefind
6207          asks them to seek.  Fixes typefind with demuxers for
6208          avi, asf and matroska.
6209
6210 2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6211
6212         * docs/gst/gstreamer-sections.txt:
6213         * gst/gstcaps.c:
6214         * gst/gstcaps.h:
6215         * gst/gstpad.c:
6216           Revert preferred caps: (#147789)
6217
6218 2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
6219
6220         * win32/dirent.c:
6221           fix a memory leak
6222
6223 2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6224
6225         * configure.ac:
6226           bump for prerelease
6227
6228 2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6229
6230         * docs/Makefile.am:
6231         * docs/manual/elements-api.xml:
6232           restructure so that common stuff is shown first
6233         * docs/manual/init-api.xml:
6234           convert to examples
6235         * docs/manual/manual.xml:
6236         * docs/manuals.mak:
6237         * docs/url.entities:
6238           link to API on the website, possibly override later in build
6239         * examples/manual/.cvsignore:
6240           ignore more
6241         * examples/manual/Makefile.am:
6242           add more examples
6243         * examples/manual/extract.pl:
6244           error out on failure
6245
6246 2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6247
6248         * docs/gst/tmpl/gstthread.sgml:
6249         * docs/manual/init-api.xml:
6250         * examples/manual/Makefile.am:
6251           convert two code bits to examples
6252
6253 2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6254
6255         * gst/gstelement.c: (gst_element_change_state):
6256           Well, actually, I was about to remove this insane assert when
6257           I noticed Wim already did that. A warning is nice so we can
6258           fix actual ugs (using --g-fatal-warnings and backtraces), so
6259           I added that instead.
6260
6261 2004-09-06  Wim Taymans  <wim@fluendo.com>
6262
6263         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
6264         (gst_element_threadsafe_properties_post_run),
6265         (gst_element_set_state), (gst_element_change_state):
6266         Added extra refcounting around various places. 
6267
6268 2004-09-06  Wim Taymans  <wim@fluendo.com>
6269
6270         * gst/gstpad.c: (gst_pad_link_call_link_functions):
6271         Fix debug info.
6272
6273 2004-09-06  Wim Taymans  <wim@fluendo.com>
6274
6275         * gst/schedulers/gstoptimalscheduler.c: (add_to_group),
6276         (remove_from_group):
6277         Some more debug info.
6278
6279 2004-09-03  Wim Taymans  <wim@fluendo.com>
6280
6281         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6282         (gst_fakesrc_init), (gst_fakesrc_set_clock),
6283         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
6284         (gst_fakesrc_get), (gst_fakesrc_change_state):
6285         * gst/elements/gstfakesrc.h:
6286         * gst/elements/gstidentity.c: (gst_identity_class_init),
6287         (gst_identity_init), (gst_identity_chain),
6288         (gst_identity_set_property), (gst_identity_get_property),
6289         (gst_identity_change_state):
6290         * gst/elements/gstidentity.h:
6291         Added datarate properties to limit the datarate.
6292
6293 2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6294
6295         * gst/autoplug/gstspider.c: (plugin_init):
6296           don't set a rank. We don't want to autoplug by inserting spiders.
6297
6298 2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6299
6300         * gst/autoplug/gstspider.c: (gst_spider_class_init),
6301         (gst_spider_identity_plug):
6302           add a template for spider's sink
6303         * gst/gst.c: (gst_register_core_elements):
6304           queue's rank should be NULL, we don't want spider to add it.
6305
6306 2004-08-18  David Schleef  <ds@schleef.org>
6307
6308         * docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
6309         * docs/libs/Makefile.am: same
6310         * docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
6311         * docs/random/ds/0.9-planning: random additions
6312         * docs/random/ds/0.9-suggested-changes: same
6313         * gst/gstxml.h: remove vestigal GstXMLNs definition
6314
6315         Preferred caps: (#147789)
6316         * docs/gst/gstreamer-sections.txt: Add symbols
6317         * docs/gst/tmpl/gstcaps.sgml: Add symbols
6318         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
6319         (gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
6320         (gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
6321         (gst_caps_get_preferred), (gst_caps_set_preferred),
6322         (gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
6323         (gst_caps_use_preferred): Handle caps preferences
6324         * gst/gstcaps.h: Add caps preferences
6325         * gst/gstpad.c: (gst_pad_link_get_preferred),
6326         (gst_pad_link_fixate), (gst_pad_link_call_link_functions),
6327         (gst_pad_renegotiate), (gst_pad_guess_preferred),
6328         (gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
6329         negotiation.
6330
6331 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6332
6333         * gst/autoplug/gstspideridentity.c:
6334         (gst_spider_identity_request_new_pad):
6335         * gst/elements/gstaggregator.c: (gst_aggregator_base_init),
6336         (gst_aggregator_init):
6337         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
6338         (gst_fakesink_init):
6339         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
6340         (gst_fakesrc_init):
6341         * gst/elements/gstfdsink.c: (gst_fdsink_base_init),
6342         (gst_fdsink_init):
6343         * gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
6344         * gst/elements/gstfilesink.c: (gst_filesink_base_init),
6345         (gst_filesink_init):
6346         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
6347         (gst_filesrc_init):
6348         * gst/elements/gstidentity.c: (gst_identity_base_init),
6349         (gst_identity_init):
6350         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
6351         (gst_multifilesrc_init):
6352         * gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
6353         (gst_pipefilter_init):
6354         * gst/elements/gststatistics.c: (gst_statistics_base_init),
6355         (gst_statistics_init):
6356         * gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
6357         * gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
6358           s/gst_pad_new/&_from_template/
6359           register pad templates in the base_init function
6360           add static pad template definitions
6361
6362 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6363
6364         * testsuite/bytestream/gstbstest.c: (gst_bstest_init):
6365         * testsuite/dynparams/dparamstest.c: (gst_dptest_init):
6366         * testsuite/refcounting/pad.c: (main):
6367         * testsuite/refcounting/thread.c: (create_thread_ghostpads):
6368           s/gst_pad_new/&_from_template/
6369           prepare deprecation of gst_pad_new
6370
6371 2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6372
6373         patch by: Luca Ognibene <skaboy81@virgilio.it>
6374
6375         * gst/gstcaps.c:
6376         * gst/gstelement.c:
6377         * gst/gstpad.c:
6378         * gst/gstxml.c:
6379           fix memleaks.  Fixes #150001
6380
6381 2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6382
6383         * docs/random/ds/0.9-suggested-changes:
6384           add notes - mostly about pad templates
6385
6386 2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
6387
6388         * win32/GStreamer.vcproj:
6389           temporary locale files are .gmo not .mo
6390
6391 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6392
6393         * configure.ac: bump nano to cvs
6394
6395 === release 0.8.5 ===
6396
6397 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6398
6399         * configure.ac:
6400           releasing 0.8.5, "Stuttgart"
6401         * NEWS:
6402         * RELEASE:
6403         * configure.ac:
6404         * docs/random/release:
6405           updates for release
6406
6407 2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6408
6409         patch by: Wim Taymans (wim@fluendo.com)
6410
6411         * gst/gstbuffer.c:
6412         * gst/gstindex.h:
6413         * libs/gst/dataprotocol/dataprotocol.c:
6414           copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
6415
6416 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6417
6418         * Makefile.am:
6419         * win32/MANIFEST:
6420           add win32 dir to the build.  Fixes #149981.
6421
6422 2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6423
6424         * configure.ac:
6425           bump libtool versioning
6426         * gst/gststructure.c:
6427           mark function as static
6428         * po/af.po:
6429         * po/az.po:
6430         * po/ca.po:
6431         * po/cs.po:
6432         * po/en_GB.po:
6433         * po/fr.po:
6434         * po/nl.po:
6435         * po/sq.po:
6436         * po/sr.po:
6437         * po/sv.po:
6438         * po/tr.po:
6439         * po/uk.po:
6440           translations update
6441         * win32/README.txt:
6442           trademark protection
6443
6444 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6445
6446         * configure.ac:
6447           fix GST_ORIGIN
6448           set GST_PACKAGE to source, and distinguish between release and other
6449         * tools/gst-inspect.c:
6450           print out plugin an element factory is part of so we see this info
6451
6452 2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6453
6454         * docs/gst/gstreamer-sections.txt:
6455         * docs/gst/tmpl/gstbuffer.sgml:
6456         * docs/gst/tmpl/gstschedulerfactory.sgml:
6457           reorder docs a little, make GstBuffer's more sensible.
6458         * gst/gstbuffer.h:
6459           API: added GST_BUFFER_FLAG_DELTA_UNIT
6460         * gst/gstscheduler.c:
6461           comment API addition
6462
6463 2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
6464
6465         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
6466           work with non-regular files that can be mmapped (like /dev/zero)
6467         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
6468           get rid of typefinds that require a seek when we can't seek instead
6469           of trying them over and over again
6470         * tools/gst-launch.c: (idle_func), (error_cb), (main):
6471           return non-zero failure value when the pipeline was interrupted or
6472           an error occurred
6473
6474 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6475
6476         * win32/config.h:
6477         * win32/GStreamer.vcproj:
6478           compile and install the locales
6479
6480 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6481
6482         * gst/gstvalue.c:
6483           fix a possible memory leak under Windows
6484
6485 2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
6486
6487         * win32/GStreamer.vcproj:
6488           fix a memory leak that occured under Windows
6489         * win32/gstreamer.def:
6490           add gst_scheduler_register
6491
6492 2004-08-11  Benjamin Otte  <otte@gnome.org>
6493
6494         * docs/gst/gstreamer-sections.txt:
6495         * gst/gstscheduler.c: (gst_scheduler_register):
6496         * gst/gstscheduler.h:
6497           API:
6498           add gst_scheduler_register shortcut similar to gst_element_register
6499         * gst/schedulers/entryscheduler.c: (plugin_init):
6500         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
6501         * gst/schedulers/gstoptimalscheduler.c: (plugin_init):
6502           use it
6503
6504 2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
6505
6506         * gst/gstvalue.h:
6507           fix a memory leak that occured under Windows
6508
6509 2004-08-10  Colin Walters  <walters@redhat.com>
6510
6511         * gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
6512         Don't use O_EXCL to open temporary registry.  It will prevent
6513         registry creation if a temporary one already exists, which
6514         is unnecessary.
6515
6516 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6517
6518         * docs/gst/gstreamer-sections.txt:
6519         * docs/gst/tmpl/gstvalue.sgml:
6520           remove some valuable stuff from the documentation due to the use of GST_EXPORT
6521
6522 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6523
6524         * win32/gstbytestream.vcproj:
6525         * win32/gstelements.vcproj:
6526         * win32/gstgetbits.vcproj:
6527         * win32/gst-inspect.vcproj:
6528         * win32/gst-launch.vcproj:
6529         * win32/gstoptimalscheduler.vcproj:
6530         * win32/GStreamer.vcproj:
6531         * win32/gst-register.vcproj:
6532         * win32/gstspider.vcproj:
6533           update the include and lib dirs to fit standard libraries as
6534           described in the Win32 manual
6535
6536 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6537
6538         * win32/config.h:
6539         * win32/gstversion.h:
6540           enable NLS again, push the version number for the coming 0.8.5 release
6541
6542 2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
6543
6544         * gst/gstvalue.h:
6545           export gst_type_XXX for windows DLLs
6546
6547 2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6548
6549         * docs/faq/gst-uninstalled:
6550           fix PKG_CONFIG_PATH and PYTHONPATH
6551         * gst/schedulers/Makefile.am:
6552           cleanup
6553         * libs/gst/bytestream/bytestream.c:
6554           remove newline
6555         * po/LINGUAS:
6556         * po/sq.po:
6557           adding Albanian translation (Laurent Dhima)
6558         * po/cs.po:
6559           updated
6560
6561 2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6562
6563         * po/ca.po:
6564         * po/sv.po:
6565           updated translations
6566
6567 2004-08-04  Benjamin Otte  <otte@gnome.org>
6568
6569         * tests/mass_elements.c: (main):
6570           allow specifying src and sink element explicitly, so I can test
6571           videotestsrc instead of fakesrc
6572
6573 2004-08-04  Benjamin Otte  <otte@gnome.org>
6574
6575         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
6576         (gst_structure_id_empty_new), (gst_structure_empty_new),
6577         (gst_structure_copy):
6578           add gst_structure_id_empty_new_with_size to allow preallocating
6579           value array sizes. Use this in gst_structure_copy to get rid of
6580           reallocs.
6581           don't do quark=>string=>quark when copying structures
6582
6583 2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
6584
6585         * docs/manual/win32.xml:
6586         * win32/README.txt:
6587           update documentation with the clean version of dependencies
6588
6589 2004-08-03  Benjamin Otte  <otte@gnome.org>
6590
6591         * gst/schedulers/entryscheduler.c:
6592         (gst_entry_scheduler_remove_element):
6593           fix for GST_DISABLE_DEBUG
6594         * tools/gst-launch.c: (print_tag):
6595           fixes for G_DISABLE_ASSERT
6596
6597 2004-08-03  Benjamin Otte  <otte@gnome.org>
6598
6599         * gst/gst.c: (gst_register_core_elements):
6600           fix for G_DISABLE_ASSERT
6601         * gst/gstinfo.c: (__gst_in_valgrind):
6602           add for GST_DISABLE_DEBUG
6603
6604 2004-08-03  Benjamin Otte  <otte@gnome.org>
6605
6606         * gst/parse/parse.l:
6607           fix for G_DISABLE_ASSERT
6608
6609 2004-08-03  Wim Taymans  <wim@fluendo.com>
6610
6611         * gst/gstbin.c: (gst_bin_get_type),
6612         (gst_bin_child_state_change_func):
6613         * gst/gstthread.c: (gst_thread_change_state):
6614         Backported some debug logging from a reverted patch
6615         Don't try to destroy the thread twice. Added some more
6616         debugging in GstThread. Unlock and signal even if we
6617         are in the thread context.
6618
6619 2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6620
6621         * po/uk.po:
6622           updated translation
6623
6624 2004-07-30  David Schleef  <ds@schleef.org>
6625
6626         * gst/gstatomic_impl.h: Enable atomic code for x86_64
6627
6628 2004-07-29  David Schleef  <ds@schleef.org>
6629
6630         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
6631         Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
6632
6633 2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6634
6635         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6636         (gst_bin_add_func), (gst_bin_remove_func),
6637         (gst_bin_child_state_change), (gst_bin_child_state_change_func),
6638         (set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
6639         (gst_bin_change_state_norecurse), (gst_bin_dispose),
6640         (gst_bin_sync_children_state):
6641         * gst/gstbin.h:
6642         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
6643         (gst_thread_change_state):
6644         * testsuite/states/Makefile.am:
6645           revert state change patches as agreed so we can rework them
6646           gradually
6647
6648 2004-07-29  Benjamin Otte  <otte@gnome.org>
6649
6650         * libs/gst/control/Makefile.am:
6651           link to libgstreamer (fixes Debian bug 262019, see
6652           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
6653
6654 2004-07-29  Wim Taymans  <wim@fluendo.com>
6655
6656         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6657         (check_from_fraction_convert), (transform_test), (main):
6658         Make the test less pedantic about float roundoff errors.
6659
6660 2004-07-29  Benjamin Otte  <otte@gnome.org>
6661
6662         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
6663         (gst_filesrc_srcpad_event):
6664           make seek events to before start/after end of file not fail, but
6665           seek to start/end instead
6666         * testsuite/caps/fraction-convert.c: (check_from_double_convert):
6667           add more output
6668
6669 2004-07-29  Benjamin Otte  <otte@gnome.org>
6670
6671         * gst/gstpad.c: (gst_pad_set_explicit_caps):
6672           check that caps are fixed
6673         * gst/gstpad.c: (gst_pad_template_new):
6674           don't try to simplify caps, costs too much time on gst_init
6675         * gst/gstplugin.c: (gst_plugin_add_feature):
6676           G_ERROR if features are added twice
6677         * gst/gsttypefind.c: (gst_type_find_register):
6678         * gst/gstelementfactory.c: (gst_element_register):
6679           don't add features twice
6680         * docs/random/ds/0.9-suggested-changes:
6681           add note about possible gst_init optimization
6682
6683 2004-07-28  David Schleef  <ds@schleef.org>
6684
6685         * testsuite/elements/Makefile.am:
6686         * testsuite/elements/struct_i386.h:
6687         * testsuite/elements/struct_size.c: (main):  A little test
6688         to keep distcheck from working if someone changes a structure
6689         size accidentally.
6690
6691 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6692
6693         * docs/libs/Makefile.am:
6694         * docs/libs/gstreamer-libs-docs.sgml:
6695         * docs/libs/gstreamer-libs-sections.txt:
6696         * docs/libs/tmpl/gstbytestream.sgml:
6697         * docs/libs/tmpl/gstcontrol.sgml:
6698         * docs/libs/tmpl/gstdataprotocol.sgml:
6699         * docs/libs/tmpl/gstgetbits.sgml:
6700         * libs/gst/bytestream/Makefile.am:
6701         * libs/gst/bytestream/bytestream.c:
6702         * libs/gst/bytestream/bytestream.h:
6703         * libs/gst/control/Makefile.am:
6704         * libs/gst/dataprotocol/Makefile.am:
6705         * libs/gst/getbits/Makefile.am:
6706         * libs/gst/getbits/getbits.h:
6707           various doc and style fixes, adding bytestream to libs docs.
6708
6709 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6710
6711         * docs/gst/gstreamer-docs.sgml:
6712         * docs/libs/Makefile.am:
6713         * docs/libs/gstreamer-libs-docs.sgml:
6714         * docs/libs/gstreamer-libs-sections.txt:
6715         * libs/gst/control/dparam.c:
6716           more doc fixes.  gst-libs docs now build the same way as gst.
6717
6718 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6719
6720         * configure.ac:
6721         * testsuite/Makefile.am:
6722         * testsuite/bins/Makefile.am:
6723         * testsuite/caps/Makefile.am:
6724         * testsuite/cleanup/Makefile.am:
6725         * testsuite/clock/Makefile.am:
6726         * testsuite/debug/Makefile.am:
6727         * testsuite/dlopen/Makefile.am:
6728         * testsuite/dynparams/Makefile.am:
6729         * testsuite/elements/.cvsignore:
6730         * testsuite/elements/Makefile.am:
6731         * testsuite/enumcaps/Makefile.am:
6732         * testsuite/enumcaps/enumcaps.c:
6733         * testsuite/ghostpads/Makefile.am:
6734         * testsuite/indexers/Makefile.am:
6735         * testsuite/negotiation/Makefile.am:
6736         * testsuite/parse/Makefile.am:
6737         * testsuite/plugin/Makefile.am:
6738         * testsuite/refcounting/Makefile.am:
6739         * testsuite/schedulers/.cvsignore:
6740         * testsuite/states/Makefile.am:
6741         * testsuite/tags/Makefile.am:
6742         * testsuite/threads/Makefile.am:
6743           fold enumcaps into caps dir
6744           clean up Makefile.am's for testsuite
6745
6746 2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6747
6748         * docs/gst/Makefile.am:
6749         * docs/libs/Makefile.am:
6750           clean up docs build.  Fixes needless rebuilding of template files.
6751
6752 2004-07-28  Wim Taymans  <wim@fluendo.com>
6753
6754         * gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
6755         * gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
6756         Make sure that a bin state change tries to keep the children
6757         in sync. 
6758         Added debug logging to the thread.
6759
6760 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
6761
6762         * win32/GStreamer.vcproj:
6763         * win32/gstreamer.def:
6764           more exports for the plugins
6765
6766 2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
6767
6768         * win32/gstgetbits.vcproj:
6769         * win32/gstgetbits.def:
6770         * win32/msvc71.sln:
6771           add support for the getbits plugin
6772
6773 2004-07-27  Wim Taymans  <wim@fluendo.com>
6774
6775         * gst/gstvalue.c: (gst_value_transform_double_fraction),
6776         (gst_value_transform_fraction_double), (_gst_value_initialize):
6777         * testsuite/caps/Makefile.am:
6778         * testsuite/caps/fraction-convert.c: (check_from_double_convert),
6779         (check_from_fraction_convert), (transform_test), (main):
6780         Added transform functions between double and fraction.
6781         Added testcase to verify transforms
6782
6783 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6784
6785         * win32/GStreamer.vcproj:
6786           rename GStreamer-0.8.lib to libgstreamer.lib
6787
6788 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6789
6790         * win32/gstelements.vcproj:
6791         * win32/gstoptimalscheduler.vcproj:
6792           fixes for the Release build
6793
6794 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6795
6796         * win32/config.h:
6797           update the version number
6798
6799 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6800
6801         * win32/GStreamer.vcproj:
6802           add gstinterface to the build
6803
6804 2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
6805
6806         * win32/gstreamer.def:
6807           add many definitions needed by plugins,
6808           GST_CAT_DEFAULT only available in the Debug build ?
6809
6810 2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6811
6812         * gst/gstelement.c: (gst_element_set_eos_recursive):
6813           various whitespace fixes.
6814           doc fix, fixes #148497
6815
6816 2004-07-25  Benjamin Otte  <otte@gnome.org>
6817
6818         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
6819           don't delay links on the sink elements, it causes unnegotiated
6820           links.
6821         * gst/elements/gsttypefindelement.c:
6822         (gst_type_find_element_base_init):
6823           add our padtemplates, we indeed do have some.
6824         * gst/elements/gsttypefindelement.c:
6825         (gst_type_find_element_handle_event),
6826         (gst_type_find_element_chain):
6827           don't push data when typefinding failed.
6828         * gst/gstpad.c: (gst_pad_link_fixate):
6829           check that no fixate function returns empty caps.
6830         * gst/gstpad.c: (gst_pad_push):
6831           check that the link is negotiated before data gets pushed.
6832         * tools/gst-register.c: (main):
6833           don't assert (fixes #148283)
6834
6835 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6836
6837         * docs/gst/gstreamer-sections.txt:
6838         * docs/gst/tmpl/gstconfig.sgml:
6839           add GST_PLUGIN_EXPORT definition
6840
6841 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6842
6843         * gst/gstplugin.h:
6844         * gst/gstconfig.h.in:
6845         * win32/gstconfig.h:
6846         * win32/gstelements.def:
6847         * win32/gstelements.vcproj:
6848         * win32/gstoptimalscheduler.def:
6849         * win32/gstoptimalscheduler.vcproj:
6850         * win32/gstspider.def:
6851         * win32/gstspider.vcproj:
6852           remove unused .def files and export symbols using GST_PLUGIN_DEFINE
6853
6854 2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
6855
6856         * docs/gst/gstreamer-sections.txt:
6857           remove GST_CAT_DEFAULT because the type has changed
6858
6859 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6860
6861         * win32/gstbytestream.vcproj:
6862         * win32/gstelements.vcproj:
6863         * win32/gst-inspect.vcproj:
6864         * win32/gst-launch.vcproj:
6865         * win32/gstoptimalscheduler.vcproj:
6866         * win32/GStreamer.vcproj:
6867         * win32/gst-register.vcproj:
6868         * win32/gstspider.vcproj:
6869         * win32/msvc71.sln:
6870           Copy the files where needed after building, The testsuite will be
6871           built separately
6872
6873 2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
6874
6875         * win32/config.h:
6876         * win32/README.txt:
6877         * docs/manual/win32.xml:
6878         Fixed the plugin and GStreamer location
6879
6880 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6881
6882         * win32/gstreamer.def:
6883         More exports for the plugins
6884
6885 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6886
6887         * gst/gstinfo.h:
6888         Marc was right, we need to export literally GST_CAT_DEFAULT
6889
6890 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6891
6892         * win32/config.h:
6893         NLS crashes in gettext, disabled until this is solved
6894
6895 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6896
6897         * win32/gst-inspect.vcproj:
6898         * win32/gst-launch.vcproj:
6899         Should use NLS when available
6900
6901 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6902
6903         * gst/registries/gstxmlregistry.c:
6904         removing the file doesn't seem to be a good idea on Linux
6905
6906 2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
6907
6908         * gst/registries/gstxmlregistry.c:
6909         Remove the registry before renaming the tempfile (needed for Windows)
6910
6911 2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6912
6913         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
6914         (gst_multifilesrc_init), (gst_multifilesrc_set_property),
6915         (gst_multifilesrc_get_property), (gst_multifilesrc_get):
6916         * gst/elements/gstmultifilesrc.h:
6917         Added newmedia property so it generates newmedia events between each
6918         file when property is set, as well as fixed eos handling
6919
6920 2004-07-22  David Schleef  <ds@schleef.org>
6921
6922         * gst/gststructure.c: (gst_structure_id_empty_new),
6923         (gst_structure_empty_new):  Set type field correctly.
6924         * gst/gststructure.h: Check type field correctly.
6925         * testsuite/caps/Makefile.am:
6926         * testsuite/caps/structure.c: (test1), (main): Add a very small
6927         test for structures.
6928
6929 2004-07-22  David Schleef  <ds@schleef.org>
6930
6931         * docs/random/ds/0.9-suggested-changes: more comments
6932         * tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
6933
6934 2004-07-22  Benjamin Otte  <otte@gnome.org>
6935
6936         * gst/gstelementfactory.c: (gst_element_register):
6937           set the factory in the class struct, so gst_element_get_factory
6938           actually works
6939         * gst/parse/grammar.y:
6940           set element to playing when it gets unlocked as we can't rely on the
6941           bin state - all elements in the bin state might still be locked in
6942           NULL)
6943
6944 2004-07-22  Benjamin Otte  <otte@gnome.org>
6945
6946         * gst/gstelement.c: (gst_element_set_state_func):
6947           make this a static function
6948
6949 2004-07-22  Wim Taymans  <wim@fluendo.com>
6950
6951         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
6952         (gst_opt_scheduler_pad_link):
6953         fix 147894-2 and the group_link problem.
6954
6955 2004-07-22  Wim Taymans  <wim@fluendo.com>
6956
6957         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
6958         (handoff_identity), (main):
6959         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
6960         (handoff_identity), (main):
6961         * testsuite/schedulers/Makefile.am:
6962         * testsuite/schedulers/group_link.c: (main):
6963         Show bug in scheduler when linking chain and loop based element 
6964         where the chain based element was not yet in a group.
6965
6966 2004-07-21  Benjamin Otte  <otte@gnome.org>
6967
6968         * gst/.cvsignore:
6969         * gst/autoplug/.cvsignore:
6970         * gst/elements/.cvsignore:
6971         * gst/indexers/.cvsignore:
6972         * libs/gst/bytestream/.cvsignore:
6973         * libs/gst/control/.cvsignore:
6974         * libs/gst/getbits/.cvsignore:
6975         * testsuite/states/.cvsignore:
6976         * testsuite/threads/.cvsignore:
6977           keep this up to date, since I seem to be the only one who cares
6978           about not missing files on commits (editor's note: no you don't,
6979           but feel free to change them at the time you add stuff instead
6980           of later on)
6981
6982 2004-07-21  Benjamin Otte  <otte@gnome.org>
6983
6984         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
6985         (gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
6986         (gst_bin_child_state_change_func), (set_kid_state_func),
6987         (gst_bin_set_state), (gst_bin_change_state_norecurse):
6988           make state changes work correctly and reentrant (so removing
6989           elements from bins during state changes of bins doesn't cause
6990           segfaults or even wrong states)
6991           add debugging category and debugging output to print children states
6992         * gst/gstbin.c: (gst_bin_dispose): 
6993           add some assertion checks
6994         * gst/gstbin.h:
6995         * gst/gstbin.c: (gst_bin_sync_children_state):
6996           deprecate this function - it just does gst_bin_set_state (bin,
6997           GST_STATE (bin)) 
6998         * testsuite/threads/queue.c: (main):
6999           don't use gst_bin_sync_children_state anymore
7000         * testsuite/states/Makefile.am:
7001         * testsuite/states/bin.c:
7002           test that the state changes of bins work as expected
7003         * gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
7004           some adjustments to change states correctly, too
7005         * gst/gstthread.c: (gst_thread_change_state):
7006           don't enable/disable "threadsafe" properties, they're unused and
7007           cause random segfaults
7008         * testsuite/threads/Makefile.am:
7009           the queue check randomly passes now, ignore it
7010
7011 2004-07-21  Benjamin Otte  <otte@gnome.org>
7012
7013         * gst/gstpad.c:
7014           check if data is NULL before outputting debug info. (fixes #145100)
7015
7016 2004-07-21  Benjamin Otte  <otte@gnome.org>
7017
7018         * gst/schedulers/entryscheduler.c:
7019         (gst_entry_scheduler_loop_wrapper),
7020         (gst_entry_scheduler_chain_wrapper),
7021         (gst_entry_scheduler_get_wrapper):
7022           reset the state when the cothread starts, so we don't get assertion
7023           failures on restarting of cothreads
7024
7025 2004-07-20  Benjamin Otte  <otte@gnome.org>
7026
7027         * gst/gstelement.c: (gst_element_link_pads_filtered):
7028           use correct sinkpad, if only sinkpad is specified, but not srcpad
7029           (fixes #147889)
7030         * gst/gstelement.c: (gst_element_set_state_func),
7031         (gst_element_change_state): ref/unref the element, signal handlers
7032         could get rid of the element otherwise
7033
7034 2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7035
7036         * docs/random/ds/0.9-suggested-changes:
7037           Make note about renaming fixed-list to array.
7038         * gst/gstvalue.c: (gst_value_intersect_fixed_list),
7039         (_gst_value_initialize):
7040           Add array intersections.
7041         * testsuite/caps/intersect2.c: (main):
7042           Add test for array intersections.
7043
7044 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7045
7046         * configure.ac: back to cvs
7047
7048 === release 0.8.4 ===
7049
7050 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7051
7052         * configure.ac:
7053           releasing 0.8.4, "Paella"
7054           bump libtool versioning
7055
7056 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7057
7058         * po/LINGUAS:
7059         * po/ca.po:
7060           adding Catalan translation (Jordi Mallach)
7061
7062 2004-07-20  Wim Taymans  <wim@fluendo.com>
7063
7064         * testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
7065         (handoff_identity), (main):
7066         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7067         (handoff_identity), (main):
7068         * testsuite/schedulers/Makefile.am:
7069         Added failing testcase for variant of #147894
7070
7071 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7072
7073         patch by: David Moore
7074
7075         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7076         (schedule_group), (gst_opt_scheduler_schedule_run_queue),
7077         (group_migrate_connected):
7078         * testsuite/schedulers/Makefile.am:
7079           fix for #142813 (Deadlock in optimal scheduler)
7080
7081 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7082
7083         patch by: Wim Taymans
7084
7085         * gst/schedulers/gstoptimalscheduler.c: (group_has_element),
7086         (gst_opt_scheduler_schedule_run_queue),
7087         (gst_opt_scheduler_get_wrapper), (get_group),
7088         (group_migrate_connected):
7089         * testsuite/schedulers/Makefile.am:
7090           fix for #147819 (Add some checks in the opt scheduler)
7091
7092 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7093
7094         patch by: Benjamin Otte
7095
7096         * gst/gstelementfactory.c: (__gst_element_details_set):
7097           fix for #147929: running gst-register in non-utf8 locale can cause
7098           invalid registry
7099
7100 2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7101
7102         patch by: Wim Taymans
7103
7104         * gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
7105         (group_has_element), (element_get_reachables_func),
7106         (group_migrate_connected):
7107           fix for #147894 (opt scheduler decoupled elements mismanagement)
7108         * testsuite/schedulers/Makefile.am:
7109           testsuite app now passes
7110
7111 2004-07-19  Wim Taymans  <wim@fluendo.com>
7112
7113         * testsuite/schedulers/147819.c: (handoff_identity1),
7114         (handoff_identity2), (main):
7115         * testsuite/schedulers/Makefile.am:
7116         Added testcase for bug 147819
7117
7118 2004-07-19  Wim Taymans  <wim@fluendo.com>
7119
7120         * testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
7121         (handoff_identity), (main):
7122         * testsuite/schedulers/Makefile.am:
7123         Added testcase for bug 147894
7124
7125 2004-07-16  Wim Taymans  <wim@fluendo.com>
7126
7127         * testsuite/schedulers/142183-2.c: (handoff_identity), (main):
7128         * testsuite/schedulers/142183.c: (handoff_identity), (main):
7129         * testsuite/schedulers/Makefile.am:
7130         Added testsuite for bug 142183 in its two incarnations. Refcount
7131         is not increased for scheduled elements and threadsafe properties
7132         mutexes are not properly unlocked.
7133
7134 2004-07-16  Wim Taymans  <wim@fluendo.com>
7135
7136         * gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
7137         (create_chain), (destroy_chain), (create_group), (destroy_group),
7138         (add_to_group), (merge_groups), (group_elements), (group_inc_link),
7139         (group_dec_link), (gst_opt_scheduler_pad_link),
7140         (group_inc_links_for_element), (group_migrate_connected):
7141         Call group_inc_link with the proper src->sink ordering -- 
7142         break this, and we break sort_chain. patch from wingo for bug
7143         147713.
7144         Partially revert patch 1.89. When adding a loop based element to 
7145         the scheduler, the links to other groups are automatically followed
7146         and incremented. This should not happen because the bin will call
7147         pad_link explicitly for those connection, resulting in them counted 
7148         twice. Results in assertion failure on pipeline cleanup.
7149
7150 2004-07-16  Wim Taymans  <wim@fluendo.com>
7151
7152         * testsuite/schedulers/143777-2.c: (main):
7153         * testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
7154         (main):
7155         * testsuite/schedulers/Makefile.am:
7156         Added cleanup code to testcase 143777-2.
7157         Added testcase to show bug 147713, does not really show the
7158         deadlock as I can't figure out how to trigger it, but it does
7159         demonstrate bad ordering in the scheduler.
7160
7161 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7162
7163         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7164           change strndup to g_strndup.  Fixes #147707
7165
7166 2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7167
7168         * po/af.po:
7169         * po/az.po:
7170         * po/cs.po:
7171         * po/en_GB.po:
7172         * po/fr.po:
7173         * po/nl.po:
7174         * po/sr.po:
7175         * po/sv.po:
7176         * po/tr.po:
7177         * po/uk.po:
7178           updated translations
7179
7180 2004-07-16  Benjamin Otte  <otte@gnome.org>
7181
7182         * gst/gstvalue.c: (gst_greatest_common_divisor):
7183           use ints and return ints, fractions only use ints, too, so this
7184           avoids accidently casting multiplications to unsigned
7185         (gst_value_lcopy_fraction): it's ints, not uint32
7186         (gst_value_set_fraction): disallow minint, multiplying and negation
7187           are broken with it
7188         (gst_value_fraction_multiply): fix to make large numbers work and get
7189         rid of the assumption that the multiplication of two ints fits an
7190         int64 - dunno if that's true for all systems
7191         * testsuite/caps/Makefile.am:
7192         * testsuite/caps/fraction-multiply-and-zero.c:
7193         (check_multiplication), (check_equal), (zero_test), (main):
7194           add tests for all the stuff above
7195         * testsuite/caps/value_compare.c: (test1):
7196           fix comment
7197         * tests/.cvsignore:
7198         * testsuite/caps/.cvsignore:
7199         * testsuite/debug/.cvsignore:
7200         * testsuite/dlopen/.cvsignore:
7201         * testsuite/states/.cvsignore:
7202           get up to date
7203
7204 2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7205
7206         * docs/manual/bins-api.xml:
7207         * docs/manual/factories.xml:
7208         * docs/manual/helloworld.xml:
7209         * docs/manual/links-api.xml: 
7210           fixes for out of date info, incorrect info and grammar
7211
7212 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7213
7214         * docs/manual/pads.xml:
7215         * docs/manual/pads-api.xml: grammar fix
7216
7217 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7218
7219         * docs/manual/pads-api.xml: typo + grammar fix
7220
7221 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7222
7223         * docs/gst/gstreamer-sections.txt:
7224           add new symbols
7225         * docs/gst/tmpl/gstelement.sgml:
7226         * docs/gst/tmpl/gstpad.sgml:
7227         * docs/gst/tmpl/gsttypes.sgml:
7228         * docs/gst/tmpl/gstvalue.sgml:
7229           update docs
7230         * gst/gststructure.c: (gst_structure_set_valist),
7231         (gst_structure_from_abbr), (gst_structure_to_abbr):
7232         * gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
7233         (gst_greatest_common_divisor), (gst_value_init_fraction),
7234         (gst_value_copy_fraction), (gst_value_collect_fraction),
7235         (gst_value_lcopy_fraction), (gst_value_set_fraction),
7236         (gst_value_get_fraction_numerator),
7237         (gst_value_get_fraction_denominator),
7238         (gst_value_fraction_multiply), (gst_value_serialize_fraction),
7239         (gst_value_deserialize_fraction),
7240         (gst_value_transform_fraction_string),
7241         (gst_value_transform_string_fraction),
7242         (gst_value_compare_fraction), (_gst_value_initialize):
7243         * gst/gstvalue.h:
7244           adding GstFraction GValue type, get/set, and multiply
7245         * testsuite/caps/Makefile.am:
7246         * testsuite/caps/fraction.c: (test), (main):
7247         * testsuite/caps/string-conversions.c: (main):
7248         * testsuite/caps/value_compare.c: (test1), (main):
7249           add regression tests for GstFraction
7250
7251 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7252         
7253         * docs/manual/init-api.xml: Grammar fix
7254
7255 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7256
7257         * docs/manual/states.xml: Fix inconsistent information
7258
7259 2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7260
7261         * gst/gstelement.c: (gst_element_set_state):
7262         * gst/gstpad.c: (gst_pad_try_set_caps):
7263         * gst/gststructure.c:
7264         * gst/gstthread.c: (gst_thread_child_state_change):
7265         * gst/gstvalue.c: (gst_value_compare_double):
7266         * gst/gstvalue.h:
7267         * testsuite/parse/parse1.c: (main):
7268           debugging additions and style cleanups
7269
7270 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7271
7272         * docs/manual/states.xml: Grammar fix
7273
7274 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7275
7276         * docs/manual/pads.xml: Grammar fix
7277
7278 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7279
7280         * docs/manual/elements.xml: Fixed image reference
7281
7282 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7283
7284         * docs/manual/goals.xml: Grammar fix
7285
7286 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7287
7288         * docs/manual/motivation.xml:
7289         Bonobo is no longer "emerging" and added sentence regarding tcp plugins
7290
7291 2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7292
7293         * docs/manual/motivation.xml: Fix spelling
7294
7295 2004-07-15  Benjamin Otte  <otte@gnome.org>
7296
7297         * gst/gstelement.h: 
7298           Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
7299           strings.
7300         * gst/gstelement.c (gst_element_class_init):
7301           GError's are boxed, not objects
7302         * gst/gstmarshal.list:
7303           update list for the fixed error signal
7304
7305 2004-07-14  Andy Wingo  <wingo@pobox.com>
7306
7307         * gst/gsttag.c: Add a tag merge func for pointers. The header was
7308         there all along, but the function wasn't. (guile-gstreamer's build
7309         system uses the address of the function -- I wasn't actually
7310         trying to use this.)
7311
7312 2004-07-14  Andy Wingo  <wingo@pobox.com>
7313
7314         * gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
7315         as gst_pad_proxy_pad_link) just link to every other pad when they
7316         are called. In the case where the graph has cycles, this will mean
7317         that a call to try_set_caps will recurse. Allow this recursion
7318         and return OK, while we wait for the first try_set_caps to give a
7319         proper return value.
7320         (gst_pad_link_call_link_functions): Since this function is the
7321         only one to set the NEGOTIATING flag on a pad, if the flag is set
7322         it means that the link functions have indirectly recursed. If this
7323         happens, error out to avoid infinite recursion and an eventual
7324         SEGV.
7325         (gst_real_pad_class_init): Remove a crufty GtkObject comment.
7326         (gst_pad_proxy_getcaps): Intersect the result with the template
7327         caps to ensure that the return value is valid.
7328
7329 2004-07-14  Andy Wingo  <wingo@pobox.com>
7330
7331         * gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
7332         one refcount, the calling function is the owner of the buffer.
7333
7334 2004-07-14  Wim Taymans  <wim@fluendo.com>
7335
7336         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7337         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7338         Fix stupid warning when an element is to be migrated but
7339         is already migrated.
7340
7341 2004-07-14  Wim Taymans  <wim@fluendo.com>
7342
7343         * gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
7344         (gst_opt_scheduler_pad_link), (group_migrate_connected):
7345         Make sure that a single non-loop-based element does not 
7346         end up in a group. This fixes the testsuite again.
7347
7348 2004-07-14  Wim Taymans  <wim@fluendo.com>
7349
7350         * gst/schedulers/gstoptimalscheduler.c: (create_group),
7351         (add_to_group), (merge_groups), (schedule_group),
7352         (gst_opt_scheduler_get_wrapper), (group_elements),
7353         (group_dec_link), (gst_opt_scheduler_pad_link),
7354         (group_migrate_connected), (gst_opt_scheduler_pad_unlink),
7355         (gst_opt_scheduler_iterate):
7356         move isolated groups to a new chain.
7357         Emit a warning instead of segfaulting in some error cases.
7358         Fix a bug where the link count between groups was not calculated 
7359         correctly. Fixes #144510.
7360
7361 2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
7362         * gst/elements/gstfilesrc.c:
7363           Binary files support under Windows now OK
7364       
7365 2004-07-13  Benjamin Otte  <otte@gnome.org>
7366
7367           compatibility fixes for Solaris 8/gcc 2.95
7368         * configure.ac:
7369           include libintl libs in LDFLAGS
7370         * gstvalue.c (gst_value_deserialize_buffer):
7371           cast isxdigit stuff to int to silence compiler warning
7372
7373 2004-07-12  Benjamin Otte  <otte@gnome.org>
7374
7375         * gst/gsttypes.h:
7376           get rid of GST_O_READONLY, GST_FILE_MODE_READ and
7377           GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
7378           just causes support madness
7379         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
7380           make it work without this
7381         * gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
7382         (gst_file_index_commit):
7383           glib IO channels don't want binary mode
7384         * testsuite/bytestream/filepadsink.c: (main):
7385         * testsuite/bytestream/test1.c: (read_param_file):
7386           use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
7387
7388 2004-07-12  Benjamin Otte  <otte@gnome.org>
7389
7390         * gst/gstelement.c: (gst_element_class_init),
7391         (gst_element_set_state), (gst_element_set_state_func):
7392           virutalize gst_element_set_state, use set_state member in class
7393           struct that was already added in 0.7 for this.
7394         * gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
7395         (gst_bin_change_state):
7396           make gst_bin_foreach works similar to other foreach functions, plug
7397           memleaks in it. Make functions using it work with the new approach.
7398           Document gst_bin_foreach, so it can be exported if we want to
7399         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
7400           use virtualized set_state to make set_state on bins set the state of
7401           all its children.
7402
7403 2004-07-12  Benjamin Otte  <otte@gnome.org>
7404
7405         * configure.ac:
7406           require valgrind >= 2.1 (fixes Gentoo bug 53967, see
7407           http://bugs.gentoo.org/show_bug.cgi?id=53967)
7408         * gst/gstpad.c: (gst_pad_alloc_buffer):
7409           allow buffer_alloc functions to return NULL and allocate a normal
7410           buffer in that case
7411
7412 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7413         * gst/elements/gstfilesink.c:
7414         * gst/elements/gstfilesrc.c:
7415         * gst/indexers/gstfileindex.c:
7416         * gst/gsttypes.h:
7417         * testsuite/bytestream/filepadsink.c:
7418         * testsuite/bytestream/test1.c:
7419           Handle binary files under Windows
7420
7421 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7422         * docs/manual/win32.xml:
7423         * win32/config.h:
7424         * win32/gst-register.vcproj:
7425         * win32/gstreamer.def:
7426           Update to another gettext public build
7427
7428 2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
7429         * gst/gstplugin.c:
7430           Fix an impossible C syntax
7431         * win32/config.h:
7432           Disable i18n under Windows for the moment
7433         * win32/gst-register.vcproj:
7434           Use this configuration
7435
7436 2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
7437         * docs/manual/quotes.xml:
7438           Keep the quotes file alive
7439         * docs/random/ds/0.9-suggested-changes:
7440           Add the suggestion of including a 'rowstride' as part of video
7441           format caps
7442
7443 2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7444
7445         * gst/gstelement.c: (gst_element_set_state),
7446         (gst_element_change_state):
7447           d'oh.  Set PENDING state correctly before forcing bin to change.
7448         * gst/gststructure.c: (gst_structure_value_get_generic_type),
7449         (gst_structure_parse_fixed_list):
7450         * gst/schedulers/gstoptimalscheduler.c:
7451         (gst_opt_scheduler_state_transition):
7452         * testsuite/states/parent.c: (main):
7453           remove comment now that it's fixed.
7454
7455 2004-07-11  Benjamin Otte  <otte@gnome.org>
7456
7457         * gst/gstclock.h:
7458           GST_SECOND shouldn't cause a conversion to unsigned.
7459         * testsuite/clock/.cvsignore:
7460         * testsuite/clock/Makefile.am:
7461         * testsuite/clock/signedness.c: (main):
7462           make sure it never will again
7463
7464 2004-07-11  Andy Wingo  <wingo@pobox.com>
7465
7466         * gst/gstbin.c (gst_bin_add_func): If we're adding an element
7467         whose state is higher than the bin state, raise the bin state to
7468         ensure that bin state := highest child state.
7469         
7470 2004-07-11  Andy Wingo  <wingo@pobox.com>
7471
7472         * gst/gstbin.c (gst_bin_foreach): New static function. Calls a
7473         procedure on the children of a bin. Assumes that the procedure can
7474         change the set of children.
7475         (set_kid_state_func): New static function.
7476         (gst_bin_change_state): Use gst_bin_foreach to call
7477         set_kid_state_func. Fixes a bug: if a child had a state-change
7478         handler that removes it from the bin, there would be a segfault.
7479         Hopefully it should also work in the case where the state-change
7480         handler on one child adds or removes other children. In any case,
7481         fixes should go to gst_bin_foreach.
7482
7483 2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7484
7485         * gst/gstelement.c: (gst_element_set_state):
7486           compatibility fix for latest plugins release.  Change loop back
7487           to while {}
7488
7489 2004-07-09  Wim Taymans  <wim@fluendo.com>
7490
7491         * gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
7492         * gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
7493         (gst_thread_main_loop):
7494         Since remove is virtual in GstBin we must not assume the 
7495         elements GList to have anothing useful.
7496         Add some more logging to GstThread and be a bit more paranoid
7497         when resetting the scheduler.
7498         Set the state of the bin to NULL before removing the children.
7499
7500 2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7501
7502         * testsuite/threads/Makefile.am:
7503         * testsuite/threads/threadg.c:
7504           added test to check if problem when removing all elements from a
7505           GstThread before setting GstThread state to NULL
7506
7507 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7508
7509         * docs/gst/tmpl/gstelement.sgml:
7510         * docs/gst/tmpl/gsttypes.sgml:
7511         * gst/gstbin.c: (gst_bin_change_state):
7512         * gst/gstelement.c: (gst_element_set_state),
7513         (gst_element_change_state):
7514           rework so that for bins we try to set the state on all children
7515           as well even if the bin is in the correct state already.
7516           change while to do so at least one iteration is done.
7517           For regular elements, we fall back to the previous behaviour for
7518           now since we first need a new plugins release.
7519         * testsuite/states/parent.c: (main):
7520           test for this case
7521           Fixes #123774
7522
7523 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7524
7525         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
7526         (gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
7527         (gst_queue_release_locks), (gst_queue_change_state),
7528         (gst_queue_set_property):
7529           add proper lock debugging.  Change dispose to finalize, since
7530           we're freeing mutexes and other stuff which should happen only once.
7531
7532 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7533
7534         * docs/gst/tmpl/gstelement.sgml:
7535         * docs/gst/tmpl/gstplugin.sgml:
7536         * docs/gst/tmpl/gsttypes.sgml:
7537         * docs/pwg/building-state.xml:
7538         * gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
7539         * gst/gstelement.c: (gst_element_change_state):
7540         * gst/gstthread.c: (gst_thread_change_state):
7541           catch wrong state changes in element base class.
7542
7543 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7544
7545         * gst/gstinfo.h:
7546           clean up layout a little.
7547
7548 2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7549
7550         * configure.ac:
7551         * testsuite/Makefile.am:
7552         * testsuite/states/Makefile.am:
7553         * testsuite/states/parent.c: (main):
7554           re-enable states testsuite dir.  Add test for state changes and
7555           parent behaviour
7556
7557 2004-07-09  Wim Taymans  <wim@fluendo.com>
7558
7559         * gst/schedulers/gstoptimalscheduler.c:
7560         (gst_opt_scheduler_pad_link), (group_elements_set_visited),
7561         (element_get_reachables_func), (element_get_reachables),
7562         (debug_element), (rechain_group), (group_migrate_connected),
7563         (gst_opt_scheduler_pad_unlink):
7564         Do not try to migrate decoupled elements to a new group since
7565         they are not added to groups.
7566
7567 2004-07-08  Benjamin Otte  <otte@gnome.org>
7568
7569         * gst/gstelement.c: (gst_element_error_func):
7570           make reentrant (= allow removing elements in error handler)
7571
7572 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7573
7574         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7575         (gst_pad_send_event), (gst_pad_call_chain_function):
7576           events sent to elements below PAUSED cannot be handled, so
7577           don't try to
7578
7579 2004-07-08  Wim Taymans  <wim@fluendo.com>
7580
7581         * gst/schedulers/gstoptimalscheduler.c:
7582         (chain_recursively_migrate_group), (create_group),
7583         (schedule_group), (gst_opt_scheduler_pad_link),
7584         (group_elements_set_visited), (element_get_reachables_func),
7585         (element_get_reachables), (group_can_reach_group), (debug_element),
7586         (rechain_group), (group_migrate_connected),
7587         (gst_opt_scheduler_pad_unlink):
7588         * testsuite/schedulers/Makefile.am:
7589         Implemented group splitting and rechaining.
7590         Fixes 143777 and 143777-2 in the testsuite.
7591
7592 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7593
7594         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7595           extra debugging
7596         * gst/gstevent.h:
7597         * gst/gstinfo.c: (gst_debug_log_default):
7598           print time nicely.  add thread pointer until someone figures out
7599           a completely portable way of getting at thread id's.
7600         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
7601         (_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
7602         (gst_pad_call_chain_function):
7603           extra debugging
7604         * gst/schedulers/gstoptimalscheduler.c:
7605         (get_group_schedule_function), (loop_group_schedule_function),
7606         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
7607         (pad_clear_queued), (gst_opt_scheduler_iterate):
7608           rename BUFPEN and friends to DATAPEN since that's what they are.
7609
7610 2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7611
7612         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
7613         * gst/gstbuffer.h:
7614         * gst/gstpad.c:
7615           cleanups and debugging
7616
7617 2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
7618
7619         * configure.ac:
7620         * gst/gstvalue.c: (gst_value_compare_enum),
7621         (gst_value_serialize_enum), (gst_value_deserialize_enum),
7622         (gst_value_can_compare), (gst_value_compare):
7623         * testsuite/Makefile.am:
7624         * testsuite/enumcaps/Makefile.am:
7625         * testsuite/enumcaps/enumcaps.c:
7626           Fix enum serialization, deserialization, comparison in caps, add
7627           a test to ensure that this continues working in the future.
7628
7629 2004-07-06  David Schleef  <ds@schleef.org>
7630
7631         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7632         Fix memleak.
7633
7634 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7635
7636         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
7637         * gst/gstplugin.h:
7638         * gst/registries/gstxmlregistry.c:
7639         (plugin_times_older_than_recurse), (plugin_times_older_than),
7640         (gst_xml_registry_parse_padtemplate):
7641           only rebuild registry when actual plugins have a newer time than
7642           the registry.  Fixes #145520
7643
7644 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7645
7646         * docs/manual/manual.xml:
7647         * docs/manual/win32.xml:
7648           add chapter on win32 building.  fixes #142422
7649
7650 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7651
7652         patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
7653
7654         * gst/autoplug/gstspider.c: (gst_spider_init),
7655         (gst_spider_dispose):
7656           fix spider memleaks.  fixes #137863
7657
7658 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7659
7660         patch by: Joe Marcus Clarke <marcus at freebsd dot org>
7661
7662         * gst/schedulers/gstoptimalscheduler.c:
7663         (gst_opt_scheduler_pad_unlink):
7664           fix SIGBUS error, fixes #145338
7665
7666 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7667
7668         * gst/gstobject.c: (gst_object_replace):
7669         * gst/gstscheduler.c: (gst_scheduler_get_clock):
7670         * gst/gstsystemclock.c: (gst_system_clock_obtain):
7671           clean up clock lifecycle.  Fixes #109831
7672
7673 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7674
7675         * po/LINGUAS:
7676         * po/cs.po:
7677           added Czech translation (Miloslav Trmac)
7678
7679 2004-07-04  David Schleef  <ds@schleef.org>
7680
7681         * tools/Makefile.am:
7682         * tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
7683
7684 2004-07-04  David Schleef  <ds@schleef.org>
7685
7686         * common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
7687
7688 2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7689
7690         * gst/gstbin.c: (gst_bin_restore_thyself):
7691           chain to parent restore so the bins get restored correctly
7692           in the editor
7693
7694 2004-07-03  David Schleef  <ds@schleef.org>
7695
7696         * gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
7697         Actually do something in these functions, like before the big
7698         caps change.  (bug #145137)
7699
7700 2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7701
7702         * gst/gstelement.c: (gst_element_get_compatible_pad_template),
7703         (gst_element_get_compatible_pad_filtered):
7704         * gst/gstthread.c: (gst_thread_main_loop):
7705           more debugging
7706
7707 2004-07-02  David Schleef  <ds@schleef.org>
7708
7709         * gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
7710         * gst/gstobject.h:
7711         * gst/gstparse.h:
7712         * gst/gsttrace.h:
7713         * gst/gstxml.h:
7714
7715 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7716
7717         * gst/gstpad.c: (gst_pad_check_schedulers),
7718         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7719         (gst_pad_link_prepare):
7720           revert until testsuite is fixed
7721
7722 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7723
7724         * testsuite/Makefile.am:
7725         * testsuite/caps/filtercaps.c: (main):
7726         * testsuite/clock/clock1.c: (main):
7727         * testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
7728           fix some more tests
7729
7730 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7731
7732         * testsuite/cleanup/cleanup1.c: (create_pipeline):
7733         * testsuite/cleanup/cleanup2.c: (create_pipeline):
7734         * testsuite/cleanup/cleanup4.c: (main):
7735           fix testsuite
7736
7737 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7738
7739         * libs/gst/control/control.c:
7740         * libs/gst/control/dparam.c:
7741         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
7742         * libs/gst/control/dparammanager.c:
7743         * libs/gst/control/dparammanager.h:
7744         * testsuite/dynparams/Makefile.am:
7745         * testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
7746         (gst_dptest_change_state), (gst_dptest_chain), (main):
7747           fix testcase for dparams
7748           add debugging category
7749
7750 2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7751
7752         * testsuite/Rules:
7753           change path
7754
7755 2004-07-02  Benjamin Otte  <otte@gnome.org>
7756
7757         * tests/.cvsignore:
7758         * tests/Makefile.am:
7759         * tests/mass_elements.c: (gst_get_current_time), (main):
7760           add simple benchmark to test various speeds of fakesrc ! identity !
7761           identity ! ... ! fakesink.
7762           Usage: mass_elements [num_identities] [num_buffers]
7763           If not specified they default to 1000.
7764
7765 2004-07-02  Benjamin Otte  <otte@gnome.org>
7766
7767         * gst/gstpad.c: (gst_pad_check_schedulers),
7768         (gst_pad_can_link_filtered), (gst_pad_link_filtered),
7769         (gst_pad_link_prepare):
7770           check that pads that get linked belong to the same manager. The old
7771           code allowed linking elements before putting them into bins, so it
7772           worked to link them and then put them in different threads, which
7773           lead to weird behaviour.
7774           Since this effectively disallows linking elements before putting
7775           them in a bin, some applications might not work after this and error
7776           out. If these applications are too critical, we might need to revert
7777           that patch. Please test this before the next release...
7778
7779 2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7780
7781         * gst/gstpad.c: (gst_pad_get_caps):
7782           throw an error if the getcaps function does not return a subset of
7783           the template caps.
7784         * libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
7785           make disconts without position info an error in debugging
7786         * tests/spidey_bench.c: (handoff), (main):
7787           don't count first try when averaging
7788
7789 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7790
7791         * gst/gstplugin.c: (gst_plugin_load_file):
7792           figure out problem with dynamic test
7793
7794 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7795
7796         * docs/gst/Makefile.am:
7797           fix docs build
7798
7799 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7800
7801         * po/POTFILES.in:
7802         * po/af.po:
7803         * po/az.po:
7804         * po/en_GB.po:
7805         * po/fr.po:
7806         * po/nl.po:
7807         * po/sr.po:
7808         * po/sv.po:
7809         * po/tr.po:
7810         * po/uk.po:
7811         * tools/gst-register.c: (plugin_added_func), (main):
7812           i18n-ize -register, fix plural
7813
7814 2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7815
7816         * gst/elements/gstidentity.c: (gst_identity_class_init),
7817         (gst_identity_init), (gst_identity_chain),
7818         (gst_identity_set_property), (gst_identity_get_property):
7819         * gst/elements/gstidentity.h:
7820           check for perfect stream
7821
7822 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7823
7824         * gst/elements/gstidentity.c: (gst_identity_chain):
7825           print offset_end
7826
7827 2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7828
7829         * docs/gst/Makefile.am:
7830         * docs/gst/gstreamer-docs.sgml:
7831           doc fixes
7832
7833 2004-06-24  David Schleef  <ds@schleef.org>
7834
7835         * autogen.sh:  Remove call to env, since the buildbot isn't
7836         broken anymore.
7837
7838 2004-06-24  Wim Taymans  <wim@fluendo.com>
7839
7840         * gst/elements/Makefile.am:
7841         * gst/elements/gstelements.c:
7842         * gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
7843         (gst_multifdsink_class_init), (gst_multifdsink_init),
7844         (gst_multifdsink_add), (gst_multifdsink_remove),
7845         (gst_multifdsink_clear), (gst_multifdsink_chain),
7846         (gst_multifdsink_set_property), (gst_multifdsink_get_property):
7847         * gst/elements/gstmultifdsink.h:
7848         Added an element that writes to multiple filedescriptors at once.
7849
7850 2004-06-24  Benjamin Otte  <otte@gnome.org>
7851
7852         * gst/parse/grammar.y:
7853           don't try to link elements before they have been added to bins
7854
7855 2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7856
7857         * libs/gst/bytestream/filepad.c: (gst_file_pad_available),
7858         (gst_file_pad_get_length):
7859         * libs/gst/bytestream/filepad.h:
7860           add 2 new functions
7861
7862 2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7863
7864         * docs/gst/gstreamer-sections.txt:
7865         remove from docs, the define that Benjamin removed from gstelement.h
7866
7867 2004-06-22  Benjamin Otte  <otte@gnome.org>
7868
7869         * gst/gstelement.h:
7870           remove define that referenced a nonexisting GstElement struct member
7871
7872 2004-06-20  Benjamin Otte  <otte@gnome.org>
7873
7874         * gst/gstdata.c: (gst_data_is_writable):
7875           whoops, return values were wrong, so writable data was marked as
7876           non-writable and vice versa. (fixes #143953, spotted by Francis
7877           Labonte)
7878           Shows how rarely we need to copy data ;)
7879
7880 2004-06-20  Benjamin Otte  <otte@gnome.org>
7881
7882         * testsuite/schedulers/.cvsignore:
7883         * testsuite/schedulers/Makefile.am:
7884         * testsuite/schedulers/143777-2.c: (main):
7885           add test for opt breakage in bug #143777
7886
7887 2004-06-20  Benjamin Otte  <otte@gnome.org>
7888
7889         * gst/gstpad.c: (gst_pad_call_chain_function):
7890           check for if we were unlinked while inside the chainfunction (fixes
7891           entrygthread having issues with #143777)
7892         * testsuite/schedulers/143777.c: (main):
7893         * testsuite/schedulers/Makefile.am:
7894           add a test for that fix
7895
7896 2004-06-20  Benjamin Otte  <otte@gnome.org>
7897
7898         * gst/gstvalue.c: (gst_value_set_int_range):
7899           test that start is smaller then end
7900         * libs/gst/bytestream/Makefile.am:
7901         * libs/gst/bytestream/filepad.c: 
7902         * libs/gst/bytestream/filepad.h:
7903           add GstFilePad - a pad that behaves like a FILE*
7904         * testsuite/bytestream/.cvsignore:
7905         * testsuite/bytestream/Makefile.am:
7906         * testsuite/bytestream/filepadsink.c: 
7907           test for the GstFilePad
7908
7909 2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7910
7911         * gst/elements/gstidentity.c: (gst_identity_class_init),
7912         (gst_identity_init), (gst_identity_set_clock),
7913         (gst_identity_chain), (gst_identity_set_property),
7914         (gst_identity_get_property):
7915         * gst/elements/gstidentity.h:
7916         * gst/gstclock.c: (gst_clock_id_wait):
7917           add a "sync" property to sync to the clock
7918
7919 2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
7920
7921         * gst/gstelementfactory.c: (gst_element_factory_create):
7922           make the freakin "elementfactory bla has no type" message more
7923           useful. So we actually can do something when someone shows up
7924           complaining about it.
7925
7926 2004-06-15  Johan Dahlin  <johan@gnome.org>
7927
7928         * tools/gst-inspect.c (main): Fallback to plugin if no element is
7929         found. This matches the old behavior better. Thanks to Thomas for
7930         pointing out.
7931
7932 2004-06-14  David Schleef  <ds@schleef.org>
7933
7934         * gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
7935         -fomit-frame-pointer.  Appears to generate correct code in
7936         other cases as well.
7937
7938 2004-06-14  Johan Dahlin  <johan@gnome.org>
7939
7940         * tools/gst-inspect.c (main): Add two new command line options: -a
7941         to print all elements and -n to print the name on each line. Also
7942         fix some error reporting.
7943         (main): Simplify, remove -n and always print names if -a is specified
7944
7945 2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
7946
7947         * win32/gstconfig.h:
7948         * win32/GSTreamer.vcproj:
7949         * win32/Makefile:
7950         * gst/gstconfig.h.in:
7951         * gst/gst.h:
7952         * gst/gstbin.h:
7953         * gst/gstelement.h:
7954         * gst/gstevent.h:
7955         * gst/gstobject.h:
7956         * gst/gstpad.h:
7957         * docs/gst/gstreamer-sections.txt:
7958         * docs/gst/tmpl/gstconfig.sgml:
7959           rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
7960
7961 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7962         * docs/gst/gstreamer-sections.txt:
7963         * docs/gst/tmpl/gstconfig.sgml:
7964         Add the GSTREAMER_EXPORT macro to the docs
7965
7966 2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7967
7968         * tools/gst-compprep.c: (handle_xmlerror), (main):
7969         Add a check for the version that introduced SetStructuredError to fix
7970         the build on FC1
7971
7972 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7973
7974         * win32/msvc71.sln:
7975         * win32/testsuite/:
7976           prepare to compile the testsuite with MSVC
7977
7978 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7979
7980         * docs/manual/win32.xml:
7981           attempt to transform the Win32 README into an XML doc
7982
7983 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7984
7985         * gst/gst.c:
7986         * gst/gstbin.*:
7987         * gst/config.h.in:
7988         * gst/gstelement.*:
7989         * gst/gstevent.h:
7990         * gst/gstobject.*:
7991         * gst/gstpad.h:
7992         * tools/gst-register.c:
7993         * win32/gstreamer.def:
7994           extern symbols are now exported for the Windows DLL
7995
7996 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
7997
7998         * gst/gstinfo.h:
7999           fix a problem to enable/disable DEBUG under MSVC
8000
8001 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8002
8003         * win32/:
8004           enable more debug code in DEBUG build
8005
8006 2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
8007
8008         * win32/config.h:
8009         * gst/gst-i18n-app.h:
8010           enable NLS under Windows
8011
8012 2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
8013         * tools/gst-compprep.c: (handle_xmlerror), (main):
8014           Make an error that baffled me a bit clearer
8015
8016 2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8017
8018         * gst/gstqueue.c:
8019           don't use g_queue_get_length () because it's 2.4, use ->length
8020
8021 2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
8022
8023         reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
8024
8025         * tools/gst-inspect.c: (print_signal_info):
8026           don't free random data twice. (fixes #144185)
8027
8028 2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8029
8030         * gst/gstqueue.c:
8031         * gst/gstqueue.h:
8032           fix removing from the wrong queue on event timeout
8033           fix disposing of the event queue by casting correctly
8034           add mutexes for handling the event queue
8035           someone was sleeping when fixing queue last time around :)
8036
8037 2004-06-10  Johan Dahlin  <johan@gnome.org>
8038
8039         * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
8040         errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
8041
8042 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8043
8044         * docs/random/gdp:
8045         * libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
8046         * libs/gst/dataprotocol/dataprotocol.c:
8047         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8048         (gst_dp_buffer_from_header):
8049         * libs/gst/dataprotocol/dataprotocol.h:
8050         * libs/gst/dataprotocol/dp-private.h:
8051           rev version to 0.1, add buffer flags and copy them
8052
8053 2004-06-09  Johan Dahlin  <johan@gnome.org>
8054
8055         * gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
8056         the flags from the buffer we're copying.
8057
8058 2004-06-09  Wim Taymans  <wim@fluendo.com>
8059
8060         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
8061         * gst/elements/gstidentity.c: (gst_identity_init),
8062         (gst_identity_chain):
8063         Print more buffer info in fakesink.
8064         Make identity output similar to fakesink.
8065
8066 2004-06-07  Daniel Gazard  <dany42@free.fr>
8067
8068         reviewed by Benjamin Otte  <otte@gnome.org>
8069
8070         * configure.ac:
8071           fix cross compiling not working. (fixes #143741)
8072
8073 2004-06-07  Benjamin Otte  <otte@gnome.org>
8074
8075         * gst/gstelement.c: (gst_element_set_time_delay):
8076           add failure check
8077         * gst/gstinfo.h:
8078           put brackets around macro arguments of GST_TIME_ARGS, add note to
8079           move it to correct header in 0.9
8080
8081 2004-06-07  Benjamin Otte  <otte@gnome.org>
8082
8083         * gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
8084         (gst_file_index_load), (_file_index_id_save_entries),
8085         (gst_file_index_commit), (gst_file_index_add_association),
8086         (gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
8087         (gst_file_index_plugin_init):
8088           make debugging use a default category
8089
8090 2004-06-06  David Moore  <dcm@acm.org>
8091
8092         reviewed by Benjamin Otte  <otte@gnome.org>
8093
8094         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8095         (gst_fdsrc_change_state):
8096           reset offset counter when going READY => PAUSED. (fixes #142903)
8097
8098 2004-06-06  ed@catmur.co.uk
8099
8100         reviewed by Benjamin Otte  <otte@gnome.org>
8101
8102         * gst/registries/gstxmlregistry.c:
8103         (gst_xml_registry_rebuild_recurse):
8104           don't rely on g_dir_open to figure out if a file is a directory, use
8105           explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
8106           directories. (fixes #142850)
8107
8108 2004-06-06  Benjamin Otte  <otte@gnome.org>
8109
8110         * gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
8111           fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
8112         * libs/gst/bytestream/adapter.c:
8113         * libs/gst/bytestream/adapter.h:
8114           fix copyright in header and typo in debugging category name
8115
8116 2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8117
8118         * configure.ac:
8119           bump nano to cvs
8120
8121 === release 0.8.3 ===
8122
8123 2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8124
8125         * configure.ac:
8126           update libtool versioning
8127           do a new release
8128         * docs/gst/tmpl/gstelement.sgml:
8129         * docs/gst/tmpl/gsttypes.sgml:
8130         * gst/gstinfo.c: (_gst_debug_init):
8131           put back GST_CAT_DATAFLOW to fix API breakage
8132
8133 2004-06-04  David Schleef  <ds@schleef.org>
8134
8135         * autogen.sh: Add a temporary 'env' to test buildbot problems.
8136
8137 2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8138
8139         * configure.ac:
8140           bump nano to cvs
8141
8142 === release 0.8.2 ===
8143
8144 2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8145
8146         * gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
8147           check GST_DEBUG environment variable which is parsed the same way
8148           as --gst-debug=
8149
8150 2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8151
8152         * gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
8153                             gstmd5sink.c gstshaper.c gsttee.c
8154                             gsttypefindelement.c
8155         * gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
8156
8157           - removing trailing commas at end of enums
8158             it is correct C99 code but C90 compilers would complain
8159             (AIX, Forte, ...)
8160             ('should' fix #143290, at least partially)
8161
8162 2004-05-27  Wim Taymans  <wim@fluendo.com>
8163
8164         * gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
8165         (chain_group_set_enabled), (create_group), (add_to_group),
8166         (merge_groups), (setup_group_scheduler), (group_elements),
8167         (gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
8168         Don't try to follow the pad connections with other groups
8169         when a loop based element is added to the scheduler because
8170         the bin will inform the scheduler about the pad links a little
8171         later.
8172
8173 2004-05-27  Wim Taymans  <wim@fluendo.com>
8174
8175         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8176         (remove_from_chain), (chain_group_set_enabled),
8177         (setup_group_scheduler), (group_element_set_enabled),
8178         (gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
8179         (gst_opt_scheduler_show):
8180         Elements without a group can do a state change as well, just wait
8181         with the setup of the scheduling function when it is added to a
8182         chain.
8183
8184 2004-05-27  Wim Taymans  <wim@fluendo.com>
8185
8186         * gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
8187         (remove_from_chain), (chain_group_set_enabled), (add_to_group),
8188         (merge_groups), (setup_group_scheduler),
8189         (group_inc_links_for_element), (gst_opt_scheduler_iterate),
8190         (gst_opt_scheduler_show):
8191         Fixes to maintain internal consistency of the scheduler data
8192         structures. 
8193          - adding an enabled group to a chain should increment the
8194            number of enabled elements in that chain.
8195          - removing an enabled group from a chain could disable the
8196            chain.
8197          - removing a disabled group from a chain could enable the
8198            chain.
8199          - add g_assert when internal inconsistency is detected.
8200          - adding an element to a group could increase the number of
8201            links this group has with other groups.
8202          - merging two groups also merges the chains.
8203          - also show group links in the _show method.
8204            
8205
8206 2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8207
8208         * gst/gstcaps.c: (gst_caps_structure_simplify):
8209           don't print error messages when there is no error
8210         * gst/gstvalue.c: (gst_value_compare_int_range):
8211           compare the second value, too
8212         * testsuite/caps/Makefile.am:
8213         * testsuite/caps/random.c: (assert_on_error), (main):
8214           add tests to make sure the two things above are checked for
8215
8216 2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8217
8218         * configure.ac:
8219         * libs/gst/dataprotocol/Makefile.am:
8220         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
8221         * libs/gst/dataprotocol/dataprotocol.h:
8222           wrap header in GST_ENABLE_NEW.  make code use it
8223
8224 2004-05-23  Johan Dahlin  <johan@gnome.org>
8225
8226         * tools/gst-inspect.c (main): Cleanup most parts of it, don't be
8227         so verbose and print GstElement signal names all the time.
8228
8229 2004-05-22  David Schleef  <ds@schleef.org>
8230
8231         * gst/registries/gstxmlregistry.c:
8232         (gst_xml_registry_parse_padtemplate): Fix warning on OS X.
8233         (bug #142957)
8234
8235 2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8236
8237         * configure.ac:
8238           scrub cflags for glib2 so gcc doesn't complain when glib is in
8239           /usr/local
8240
8241 2004-05-21  Johan Dahlin  <johan@gnome.org>
8242
8243         * gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
8244         __GNUC__, patch from Brian Cameron, fixes bug #142804
8245
8246 2004-05-20  David Schleef  <ds@schleef.org>
8247
8248         * gst/gstindex.c: (gst_index_compare_func): Fix overflows in
8249         comparison code.  (bug #142819)
8250
8251 2004-05-20  Wim Taymans  <wim@fluendo.com>
8252
8253         * gst/gstbuffer.c: (gst_buffer_default_copy):
8254         * gst/gstbuffer.h:
8255         Added Comment to a flag.
8256         copy relevant flags in _buffer_copy.
8257
8258 2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8259
8260         reviewed by: Wim Taymans <wim at fluendo dot com>
8261
8262         * gst/gstbuffer.h:
8263           add GST_BUFFER_IN_CAPS buffer flag
8264         * gst/gststructure.c: (gst_structure_value_get_generic_type),
8265         (gst_structure_parse_any_list), (gst_structure_parse_list),
8266         (gst_structure_parse_fixed_list), (gst_structure_parse_value):
8267         * gst/gstvalue.c: (gst_value_serialize_any_list),
8268         (gst_value_transform_any_list_string),
8269         (gst_value_list_prepend_value), (gst_value_list_append_value),
8270         (gst_value_list_get_size), (gst_value_list_get_value),
8271         (gst_value_transform_list_string),
8272         (gst_value_transform_fixed_list_string),
8273         (gst_value_serialize_list), (gst_value_serialize_fixed_list),
8274         (gst_value_deserialize_fixed_list), (gst_type_is_fixed),
8275         (_gst_value_initialize):
8276         * gst/gstvalue.h:
8277           add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
8278           < , > as a format.
8279         * testsuite/caps/string-conversions.c: (main):
8280           add regression tests for < >
8281
8282 2004-05-20  Johan Dahlin  <johan@gnome.org>
8283
8284         * docs/gst/Makefile.am (all-local): Re-add
8285
8286 2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8287
8288         * docs/gst/Makefile.am:
8289         * docs/gst/gstreamer-docs.sgml:
8290         * docs/libs/Makefile.am:
8291         * docs/libs/gstreamer-libs-docs.sgml:
8292           fix distcheck issues
8293
8294 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8295
8296         * libs/gst/dataprotocol/Makefile.am:
8297           add to autotest
8298
8299 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8300
8301         * libs/gst/dataprotocol/Makefile.am:
8302         * libs/gst/dataprotocol/dataprotocol.c:
8303         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8304         (gst_dp_packet_from_event), (gst_dp_event_from_packet):
8305         * libs/gst/dataprotocol/dp-private.h:
8306           use GST macros to read/write fixed length ints
8307           add some more asserts
8308
8309 2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8310
8311         * docs/libs/gstreamer-libs-docs.sgml:
8312         * docs/libs/gstreamer-libs-sections.txt:
8313           remove idct and putbits
8314         * configure.ac:
8315         * docs/libs/tmpl/gstdataprotocol.sgml:
8316         * libs/gst/Makefile.am:
8317         * libs/gst/dataprotocol/Makefile.am:
8318         * libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
8319         (buffer_test), (caps_test), (event_test), (main):
8320         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8321         (gst_dp_dump_byte_array), (gst_dp_init),
8322         (gst_dp_header_payload_length), (gst_dp_header_payload_type),
8323         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
8324         (gst_dp_packet_from_event), (gst_dp_buffer_from_header),
8325         (gst_dp_caps_from_packet), (gst_dp_event_from_packet),
8326         (gst_dp_validate_header), (gst_dp_validate_payload),
8327         (gst_dp_validate_packet), (plugin_init):
8328         * libs/gst/dataprotocol/dataprotocol.h:
8329         * libs/gst/dataprotocol/dp-private.h:
8330           add dataprotocol
8331
8332 2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8333
8334         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8335           fix int variable deserialization and add a helper so we can actually
8336           debug this.
8337
8338 2004-05-18  David Schleef  <ds@schleef.org>
8339
8340         * testsuite/debug/commandline.c: (main): Call ./commandline, not
8341           argv[0].  Calling yourself is probably not the best way to
8342           construct a test like this, btw.
8343
8344 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8345
8346         * gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
8347           don't claim to be more intelligent than a scheduler when the
8348           scheduler claims the pipeline is stopped
8349         * gst/schedulers/entryscheduler.c: (safe_cothread_switch),
8350         (safe_cothread_destroy),
8351         (gst_entry_scheduler_remove_all_cothreads),
8352         (gst_entry_scheduler_reset), (_remove_cothread),
8353         (gst_entry_scheduler_state_transition):
8354           hold off cothread destruction if we're not in main cothread
8355         * configure.ac:
8356         * testsuite/Makefile.am:
8357           add new test dir
8358         * testsuite/schedulers/.cvsignore:
8359         * testsuite/schedulers/Makefile.am:
8360           add tests
8361         * testsuite/schedulers/relink.c: (cb_handoff), (main):
8362           check relinking and adding/removing elements from a running pipeline
8363         * testsuite/schedulers/unlink.c: (cb_handoff), (main):
8364           check unlinking in a running pipeline
8365         * testsuite/schedulers/unref.c: (cb_handoff), (main):
8366           check unreffing a running pipeline
8367         * testsuite/schedulers/useless_iteration.c: (main):
8368           check iterating a pipeline that contains running threads works
8369
8370 2004-05-18  David Schleef  <ds@schleef.org>
8371
8372         * docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
8373           is false.
8374
8375 2004-05-18  Wim Taymans  <wim@fluendo.com>
8376
8377         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8378         (setup_group_scheduler), (gst_opt_scheduler_pad_link):
8379         Fixed an error introduced with patch for 1.63. When setting
8380         a get based element as the entry point in a group, make sure
8381         to mark the group as GET based.
8382
8383 2004-05-18  Wim Taymans  <wim@fluendo.com>
8384
8385         * gst/schedulers/gstoptimalscheduler.c: (create_group),
8386         (setup_group_scheduler), (loop_group_schedule_function),
8387         (gst_opt_scheduler_pad_link):
8388         Added some more debug info and fixed a bug where the group
8389         type was set to LOOP but it was in fact unknown.
8390
8391 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8392
8393         * gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
8394           make resetting scheduler work twice in a row
8395
8396 2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8397
8398         * gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
8399         (CREATE_USERIALIZATION), (_gst_value_initialize),
8400         (gst_value_compare_float), (gst_value_serialize_float),
8401         (gst_value_deserialize_float), (gst_value_compare_enum),
8402         (gst_value_serialize_enum), (gst_value_deserialize_enum):
8403           add serialization and comparison functions for long, int64, enum and
8404           float values
8405         * gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
8406           use best serialization function in type hierarchy instead of only a
8407           matching one. This is required for enums to work.
8408         * gst/parse/grammar.y:
8409           use gst_caps_deserialize
8410         * testsuite/parse/Makefile.am:
8411           parse1 now works
8412         * testsuite/parse/parse1.c: (main):
8413           remove aggregator check, aggregator is broken, this test works now
8414           but fails because of bug #138012
8415         * testsuite/parse/parse2.c: (main):
8416           s/xvideosink/xvimagesink - this test looks a lot like we should
8417           disable it
8418
8419 2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8420
8421         * gst/gstelement.c: (gst_element_class_init):
8422           whoops, store the signal id correctly
8423         * gst/schedulers/gstbasicscheduler.c:
8424         (gst_basic_scheduler_chain_wrapper):
8425           detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
8426           chain function isn't linked
8427
8428 2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
8429         * configure.ac:
8430         Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
8431         support until we decide where the flags should be used
8432         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
8433         Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
8434         * gst/gstpad.c: (gst_pad_link_call_link_functions):
8435         Output refused caps in the debug info
8436
8437 2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8438
8439         * gst/elements/gstidentity.c: (gst_identity_chain):
8440           add duration debug
8441         * gst/gstinfo.c: (gst_debug_log_default):
8442           add timestamp
8443
8444 2004-05-13  Benjamin Otte  <otte@gnome.org>
8445
8446         * gst/gstpipeline.c: (gst_pipeline_dispose),
8447         (gst_pipeline_change_state):
8448           call gst_scheduler_reset on dispose (fixes #141416)
8449
8450 2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8451
8452         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8453           compute mapsize correctly
8454         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
8455           use correct datatypes when calling a varargs function
8456         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8457           push a DISCONT event as first thing
8458         * gst/gst_private.h:
8459         * gst/gstinfo.c: (_gst_debug_init):
8460           remove GST_DATAFLOW debugging category
8461         * gst/gstbin.c: (gst_bin_iterate):
8462           use GST_SCHEDULING category
8463         * gst/gstpad.c: (gst_pad_get_type), (_invent_event),
8464         (gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
8465         (gst_pad_call_get_function):
8466           add GST_DATAFLOW to easily track flow of buffers or events.
8467         * gst/gstqueue.c: (gst_queue_get_type),
8468         (gst_queue_handle_pending_events), (gst_queue_chain),
8469         (gst_queue_get), (gst_queue_handle_src_event):
8470           use own static debugging category GST_DATAFLOW for dataflow,
8471           use DEBUG category for showing which path events go, use LOG
8472           category for buffers.
8473
8474 2004-05-10  David Schleef  <ds@schleef.org>
8475
8476         * docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
8477
8478 2004-05-10  David Schleef  <ds@schleef.org>
8479
8480         * docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
8481         symbols, because otherwise we don't know what they are.  Thanks,
8482         the GStreamer team.
8483         * gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
8484
8485 2004-05-10  David Schleef  <ds@schleef.org>
8486
8487         (from Steve Lhomme)
8488         * win32/Makefile: When using make clean the MS Visual Studio makefiles
8489         are deleted.  Fix.
8490         * win32/Makefile.inspect:
8491         * win32/Makefile.launch:
8492         * win32/Makefile.register:
8493
8494 2004-05-10  David Schleef  <ds@schleef.org>
8495
8496         * gst/gstinfo.h: Add missing inline function.
8497         * gst/gsttrace.c: add include
8498         * gst/parse/grammar.y: remove unused code
8499         * gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
8500         more portable.
8501         * tools/gst-register.c: wrap unistd.h
8502         
8503         More additions/fixes from Steve for the MSVC build.
8504         * win32/GStreamer.vcproj:
8505         * win32/Makefile:
8506         * win32/Makefile.inspect:
8507         * win32/Makefile.launch:
8508         * win32/Makefile.register:
8509         * win32/README.txt:
8510         * win32/gst-inspect.vcproj:
8511         * win32/gst-launch.vcproj:
8512         * win32/gst-register.vcproj:
8513         * win32/gstbytestream.def:
8514         * win32/gstbytestream.vcproj:
8515         * win32/gstconfig.h:
8516         * win32/gstelements.def:
8517         * win32/gstelements.vcproj:
8518         * win32/gstenumtypes.c:
8519         * win32/gstenumtypes.h:
8520         * win32/gstoptimalscheduler.def:
8521         * win32/gstoptimalscheduler.vcproj:
8522         * win32/gstreamer.def:
8523         * win32/gstspider.def:
8524         * win32/gstspider.vcproj:
8525         * win32/gstversion.h:
8526         * win32/msvc71.sln:
8527
8528 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8529
8530         * gst/gstelement.c: (gst_element_class_init),
8531         (gst_element_no_more_pads):
8532         * gst/gstelement.h:
8533           add gst_element_no_more_pads and the "no-more-pads" signal
8534
8535 2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8536
8537         * gst/gstregistry.c: (gst_registry_add_plugin):
8538           refuse to add plugins when a plugin with same name is already
8539           registered. Fixes a bunch of "How to remove plugins?" issues.
8540           May lead to other problems though, let's test
8541
8542 2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8543
8544         * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
8545         * docs/manual/pads-api.xml : audio/wav => audio/x-wav
8546         * docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
8547
8548 2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8549
8550         * tests/Makefile.am: fix am16 issue
8551
8552 2004-05-09  Benjamin Otte  <otte@gnome.org>
8553
8554         * libs/gst/bytestream/Makefile.am:
8555           we should indeed add .c files to makefiles or they won't be built
8556           (d'oh)
8557
8558 2004-05-08  Benjamin Otte  <otte@gnome.org>
8559
8560         * gst/gstpad.c: (gst_pad_proxy_fixate):
8561           really reduce the set of caps
8562
8563 2004-05-08  Benjamin Otte  <otte@gnome.org>
8564
8565         * tests/Makefile.am:
8566         * tests/spidey_bench.c: (handoff), (main):
8567           add benchmark to test how long spider needs to create a pipeline
8568
8569 2004-05-08  Benjamin Otte  <otte@gnome.org>
8570
8571         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
8572           mark links as unengaged when unnegotiating instead of deactivating.
8573           This way pads aren't marked as unengaged when going PLAYING=>PAUSED
8574
8575 2004-05-08  Benjamin Otte  <otte@gnome.org>
8576
8577         * docs/manual/helloworld.xml:
8578           s/audiosink/osssink (patch by Patrick Guimond)
8579
8580 2004-05-07  David Schleef  <ds@schleef.org>
8581
8582         * configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
8583         since it contains important stuff.
8584
8585 2004-05-07  David Schleef  <ds@schleef.org>
8586
8587         * testsuite/caps/caps.c: (test3), (main): A check for appending
8588         ANY caps.
8589
8590 2004-05-07  David Schleef  <ds@schleef.org>
8591
8592         * common/m4/as-compiler-flag.m4: Properly quote arguments,
8593         which may contain commas.  Fixes detection of -Wa,-mregnames
8594
8595 2004-05-06  David Schleef  <ds@schleef.org>
8596
8597         Changes to handle compilers that don't have variadic macro
8598         support.  In particular, glib headers define some inlines
8599         that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
8600         builds.
8601         * gst/Makefile.am:
8602         * gst/cothreads.c:
8603         * gst/elements/gstfdsink.c:
8604         * gst/elements/gstfdsrc.c:
8605         * gst/elements/gstfilesink.c:
8606         * gst/elements/gstfilesrc.c:
8607         * gst/gst_private.h:
8608         * gst/gstatomic.c:
8609         * gst/gstcaps.c: (gst_caps_append):
8610         * gst/gstcpu.c: (gst_cpuid_i386):
8611         * gst/gstelement.c:
8612         * gst/gsterror.c:
8613         * gst/gstfilter.c:
8614         * gst/gstinfo.h:
8615         * gst/gstprobe.c:
8616         * gst/gstquery.c:
8617         * gst/gstregistry.c:
8618         * gst/gststructure.c:
8619         * gst/gsttaginterface.c:
8620         * gst/gsttrace.c: (gst_trace_new):
8621         * gst/gsttrashstack.c:
8622         * gst/gsturi.c:
8623         * gst/gstvalue.c:
8624         * gst/parse/grammar.y:
8625         * gst/parse/parse.l:
8626         * tools/gst-inspect.c: (main):
8627         * tools/gst-launch.c: (main):
8628         * tools/gst-xmlinspect.c: (PUT_STRING):
8629
8630 2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8631
8632         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
8633         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
8634         * gst/elements/gstfilesrc.h:
8635           send NEW_MEDIA events correctly
8636         * gst/elements/gsttypefindelement.c: (start_typefinding),
8637         (gst_type_find_element_handle_event):
8638           restart typefinding when we get a NEW_MEDIA event
8639         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
8640         (gst_bin_dispose):
8641           don't die when someone removes elements in callbacks
8642         * gst/gstelement.c: (gst_element_change_state):
8643           improve debugging
8644         * gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
8645           we need a NEW_MEDIA event to engage a link
8646         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
8647           don't g_print debugging stuff
8648         * testsuite/caps/simplify.c: (check_caps):
8649
8650 2004-05-04  Benjamin Otte  <otte@gnome.org>
8651
8652         * gst/parse/grammar.y:
8653           use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
8654
8655 2004-05-04  Benjamin Otte  <otte@gnome.org>
8656
8657         * testsuite/caps/renegotiate.c: (main):
8658           improve output in error case
8659
8660 2004-05-04  Benjamin Otte  <otte@gnome.org>
8661
8662         * gst/parse/grammar.y:
8663           fix assert to not trigger when there's no error argument
8664         * gst/parse/parse.l:
8665           fix definition of caps to allow more than two structures
8666         * testsuite/caps/Makefile.am:
8667         * testsuite/caps/renegotiate.c: (main):
8668           it's sinesrc and works in that case
8669
8670 2004-05-04  Wim Taymans  <wim@fluendo.com>
8671
8672         * gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
8673         (group_dec_link), (gst_opt_scheduler_pad_unlink):
8674         when removing an element from a group, we always need to
8675         decrement the link count that this group had with other 
8676         groups through the element.
8677         added an extra assert to catch inconsistencies when decrementing
8678         the link count.
8679
8680 2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8681
8682         * configure.ac:
8683         * docs/gst/Makefile.am:
8684         * docs/gst/gstreamer-sections.txt:
8685         * docs/gst/tmpl/gstcompat.sgml:
8686         * examples/appreader/Makefile.am:
8687         * examples/cutter/Makefile.am:
8688         * examples/events/Makefile.am:
8689         * examples/helloworld/Makefile.am:
8690         * examples/helloworld2/Makefile.am:
8691         * examples/launch/Makefile.am:
8692         * examples/manual/Makefile.am:
8693         * examples/mixer/Makefile.am:
8694         * examples/pingpong/Makefile.am:
8695         * examples/plugins/Makefile.am:
8696         * examples/queue/Makefile.am:
8697         * examples/queue2/Makefile.am:
8698         * examples/queue3/Makefile.am:
8699         * examples/queue4/Makefile.am:
8700         * examples/retag/Makefile.am:
8701         * examples/thread/Makefile.am:
8702         * examples/typefind/Makefile.am:
8703         * examples/xml/Makefile.am:
8704         * gst/Makefile.am:
8705         * gst/autoplug/Makefile.am:
8706         * gst/elements/Makefile.am:
8707         * gst/gstcompat.h:
8708         * gst/indexers/Makefile.am:
8709         * gst/parse/Makefile.am:
8710         * gst/registries/Makefile.am:
8711         * gst/schedulers/Makefile.am:
8712         * libs/gst/bytestream/Makefile.am:
8713         * libs/gst/control/Makefile.am:
8714         * libs/gst/getbits/Makefile.am:
8715         * po/af.po:
8716         * po/az.po:
8717         * po/en_GB.po:
8718         * po/fr.po:
8719         * po/nl.po:
8720         * po/sr.po:
8721         * po/sv.po:
8722         * po/tr.po:
8723         * po/uk.po:
8724         * tests/Makefile.am:
8725         * tests/bufspeed/Makefile.am:
8726         * tests/instantiate/Makefile.am:
8727         * tests/memchunk/Makefile.am:
8728         * tests/muxing/Makefile.am:
8729         * tests/negotiation/Makefile.am:
8730         * tests/probes/Makefile.am:
8731         * tests/sched/Makefile.am:
8732         * tests/seeking/Makefile.am:
8733         * tests/threadstate/Makefile.am:
8734         * testsuite/caps/Makefile.am:
8735         * testsuite/cleanup/Makefile.am:
8736         * testsuite/dlopen/Makefile.am:
8737         * testsuite/dynparams/Makefile.am:
8738         * testsuite/plugin/Makefile.am:
8739         * testsuite/states/Makefile.am:
8740         * tools/Makefile.am:
8741           reorganize compile/link flags to be consistent
8742           put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
8743
8744 2004-05-04  David Schleef  <ds@schleef.org>
8745
8746         The "once more, with feeling" check-in.
8747         * testsuite/caps/Makefile.am: dist caps_strings
8748         * testsuite/caps/renegotiate.c: (main): This test triggers a
8749           segfault in the core.  Marking as failing.
8750
8751 2004-05-03  David Schleef  <ds@schleef.org>
8752
8753         * testsuite/caps/deserialize.c: (main): Fix problems noticed
8754           by the build bots.
8755         * testsuite/caps/renegotiate.c: (main): Same.
8756
8757 2004-05-03  David Schleef  <ds@schleef.org>
8758
8759         * testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
8760
8761 2004-05-03  David Schleef  <ds@schleef.org>
8762
8763         * testsuite/caps/deserialize.c: (main): Use the srcdir environment
8764           variable to find our source file.
8765
8766 2004-05-03  David Schleef  <ds@schleef.org>
8767
8768         * configure.ac:  Link plugins with libgstreamer and dependent
8769           libraries
8770         * testsuite/caps/Makefile.am:
8771         * testsuite/caps/caps_strings:
8772         * testsuite/caps/deserialize.c: (main): Add a little test to slog
8773           through a file of caps strings and test each one
8774
8775 2004-05-04  Benjamin Otte  <otte@gnome.org>
8776
8777         * libs/gst/bytestream/Makefile.am:
8778         * libs/gst/bytestream/adapter.c: 
8779         * libs/gst/bytestream/adapter.h:
8780           add GstAdapter, similar to bytestream, but doesn't require ugly event
8781           handling or uglier loopbased elements
8782
8783 2004-05-03  David Schleef  <ds@schleef.org>
8784
8785         * testsuite/caps/Makefile.am: Fix spelling of Ηρατοσθενες
8786         * testsuite/caps/erathostenes.c:
8787         * testsuite/caps/eratosthenes.c: (eratosthenes), (main):
8788
8789 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8790
8791         * docs/pwg/pwg.xml:
8792           remove hardcoded stylesheet path (duh)
8793         * docs/random/release:
8794         * docs/gst/gstreamer-sections.txt:
8795         * gst/Makefile.am:
8796         * gst/gst.h:
8797         * gst/gst_private.h:
8798         * gst/gstcaps.c:
8799         * gst/gstevent.c:
8800         * gst/gstformat.c:
8801         * gst/gstinfo.c:
8802         * gst/gstinfo.h:
8803         * gst/gstinterface.c:
8804         * gst/gstmemchunk.c:
8805         * gst/gstprobe.c:
8806         * gst/gstquery.c:
8807         * gst/gstregistry.c:
8808         * gst/gstregistrypool.c:
8809         * gst/gststructure.c:
8810         * gst/gsttaginterface.c:
8811         * gst/gstthread.c:
8812         * gst/gsttrace.c:
8813         * gst/gsttypefind.c: (gst_type_find_factory_get_type):
8814         * gst/gsturi.c:
8815         * gst/gstvalue.c:
8816           deprecate gst_info; remove gstlog.h
8817    
8818
8819 2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8820
8821         * Makefile.am:
8822         * po/en_GB.po:
8823         * po/sv.po:
8824         * po/uk.po:
8825           updated translations
8826
8827 2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8828
8829         * gst/gstbin.c: (gst_bin_dispose):
8830           better debugging
8831
8832 2004-05-03  Johan Dahlin  <johan@gnome.org>
8833
8834         * gst/schedulers/gstoptimalscheduler.c
8835         (gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
8836         really is a GstElement. Avoids critical when running gst-launch -v
8837         and a oggdemux/decoding pipeline.
8838
8839 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8840
8841         * docs/gst/tmpl/gstpipeline.sgml :
8842         * docs/manual/elements-api.xml :
8843                 doc fix by Patrick Guimond (Protector) from devel ML
8844                 reviewed by ronald
8845
8846 2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8847
8848         * docs/gst/Makefile.am :
8849         * docs/libs/Makefile.am :
8850                 apply a patch from Arwed v. Merkatz so that gtk-doc
8851                 generated docs install (same for .devhelp file)
8852                 (fixes part 1 of #138836)
8853
8854 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8855
8856         * docs/faq/dependencies.xml: typo
8857         * docs/faq/getting.xml :
8858             - fix download URL for new gstreamer site
8859             - hide sf.net download page as latest version aren't there
8860             - fix apt URLs
8861             - fill "get via CVS" paragraph (link to dev page on the site)
8862         * docs/faq/general.xml:
8863             hide status tables as they no more exists
8864             change case on plugins license file to reflect reality
8865         * docs/faq/troubleshooting.xml:
8866             remove the wiki question/answer as there is no more wiki
8867
8868 2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8869
8870         * gst/gsterror.h:
8871           include the headers needed for declarations used in this header
8872
8873 2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8874
8875         * docs/random/uraeus/gstreamer_and_midi.txt :
8876           add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
8877           (fixes #132288)
8878
8879 2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
8880
8881         reviewed by Benjamin Otte  <otte@gnome.org>
8882
8883         * gst/schedulers/gthread-cothreads.h:
8884           free allocated data for main cothread, too when destroying context
8885           (fixes #141417)
8886
8887 2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8888
8889         * docs/manual/goals.xml : remove duplicated paragraph at end 
8890         of doc page (fixes #141448)
8891
8892 2004-04-29  David Schleef  <ds@schleef.org>
8893
8894         * gst/elements/gstfilesink.c: (gst_filesink_handle_event):
8895         Patch from Sebastien Cote to fix leakage of events. (bug #141414)
8896
8897 2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8898
8899         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8900           fix property
8901         * gst/gstcaps.c:
8902           fix doc string
8903         * po/POTFILES.in:
8904           rename typefind source file
8905
8906 2004-04-28  David Schleef  <ds@schleef.org>
8907
8908         Several new files from Steve Lhomme's MSVC patch (bug #141317):
8909         * win32/GStreamer.vcproj:
8910         * win32/Makefile:
8911         * win32/config.h:
8912         * win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8913         (_trewinddir), (_ttelldir), (_tseekdir):
8914         * win32/dirent.h:
8915         * win32/gst-inspect.vcproj:
8916         * win32/gst-launch.vcproj:
8917         * win32/gst-register.vcproj:
8918         * win32/gstbytestream.vcproj:
8919         * win32/gstelements.vcproj:
8920         * win32/gstoptimalscheduler.vcproj:
8921         * win32/gstspider.vcproj:
8922         * win32/gtchar.h:
8923         * win32/mman.c: (mmap), (mprotect), (msync), (munmap):
8924         * win32/mman.h:
8925         * win32/mman.inl:
8926         * win32/msvc71.sln:
8927
8928 2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
8929
8930         * gst/gst.c: (init_post):
8931         * gst/gstinfo.c:
8932           remove useless _gst_progname stuff
8933         * tools/gst-inspect.c: (print_field), (print_caps):
8934           improve caps output
8935
8936 2004-04-28  David Schleef  <ds@schleef.org>
8937
8938         Disable parsing of a lot of files that aren't part of the
8939         exported API.  Move corresponding template files to old/,
8940         waiting for removal when they don't contain anything
8941         interesting.
8942         * docs/gst/Makefile.am:
8943         * docs/gst/gstreamer-sections.txt:
8944         * docs/gst/tmpl/cothreads.sgml:
8945         * docs/gst/tmpl/cothreads_compat.sgml:
8946         * docs/gst/tmpl/gettext.sgml:
8947         * docs/gst/tmpl/gobject2gtk.sgml:
8948         * docs/gst/tmpl/grammar.tab.sgml:
8949         * docs/gst/tmpl/gst-i18n-app.sgml:
8950         * docs/gst/tmpl/gst-i18n-lib.sgml:
8951         * docs/gst/tmpl/gst_private.sgml:
8952         * docs/gst/tmpl/gstaggregator.sgml:
8953         * docs/gst/tmpl/gstarch.sgml:
8954         * docs/gst/tmpl/gstatomic_impl.sgml:
8955         * docs/gst/tmpl/gstbufferstore.sgml:
8956         * docs/gst/tmpl/gstdata_private.sgml:
8957         * docs/gst/tmpl/gstdisksink.sgml:
8958         * docs/gst/tmpl/gstdisksrc.sgml:
8959         * docs/gst/tmpl/gstelementfactory.sgml:
8960         * docs/gst/tmpl/gstextratypes.sgml:
8961         * docs/gst/tmpl/gstfakesink.sgml:
8962         * docs/gst/tmpl/gstfakesrc.sgml:
8963         * docs/gst/tmpl/gstfdsink.sgml:
8964         * docs/gst/tmpl/gstfdsrc.sgml:
8965         * docs/gst/tmpl/gstfilesink.sgml:
8966         * docs/gst/tmpl/gstfilesrc.sgml:
8967         * docs/gst/tmpl/gsthttpsrc.sgml:
8968         * docs/gst/tmpl/gstidentity.sgml:
8969         * docs/gst/tmpl/gstindexfactory.sgml:
8970         * docs/gst/tmpl/gstmarshal.sgml:
8971         * docs/gst/tmpl/gstmd5sink.sgml:
8972         * docs/gst/tmpl/gstmultidisksrc.sgml:
8973         * docs/gst/tmpl/gstmultifilesrc.sgml:
8974         * docs/gst/tmpl/gstpadtemplate.sgml:
8975         * docs/gst/tmpl/gstpipefilter.sgml:
8976         * docs/gst/tmpl/gstschedulerfactory.sgml:
8977         * docs/gst/tmpl/gstsearchfuncs.sgml:
8978         * docs/gst/tmpl/gstshaper.sgml:
8979         * docs/gst/tmpl/gstspider.sgml:
8980         * docs/gst/tmpl/gstspideridentity.sgml:
8981         * docs/gst/tmpl/gststatistics.sgml:
8982         * docs/gst/tmpl/gsttee.sgml:
8983         * docs/gst/tmpl/gsttimecache.sgml:
8984         * docs/gst/tmpl/gsttypefind.sgml:
8985         * docs/gst/tmpl/gsttypefindfactory.sgml:
8986         * docs/gst/tmpl/gstxmlregistry.sgml:
8987         * docs/gst/tmpl/gthread-cothreads.sgml:
8988         * docs/gst/tmpl/old/cothreads.sgml:
8989         * docs/gst/tmpl/old/cothreads_compat.sgml:
8990         * docs/gst/tmpl/old/gettext.sgml:
8991         * docs/gst/tmpl/old/gobject2gtk.sgml:
8992         * docs/gst/tmpl/old/grammar.tab.sgml:
8993         * docs/gst/tmpl/old/gst-i18n-app.sgml:
8994         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
8995         * docs/gst/tmpl/old/gst_private.sgml:
8996         * docs/gst/tmpl/old/gstaggregator.sgml:
8997         * docs/gst/tmpl/old/gstarch.sgml:
8998         * docs/gst/tmpl/old/gstatomic_impl.sgml:
8999         * docs/gst/tmpl/old/gstbufferstore.sgml:
9000         * docs/gst/tmpl/old/gstdata_private.sgml:
9001         * docs/gst/tmpl/old/gstdisksink.sgml:
9002         * docs/gst/tmpl/old/gstdisksrc.sgml:
9003         * docs/gst/tmpl/old/gstelementfactory.sgml:
9004         * docs/gst/tmpl/old/gstextratypes.sgml:
9005         * docs/gst/tmpl/old/gstfakesink.sgml:
9006         * docs/gst/tmpl/old/gstfakesrc.sgml:
9007         * docs/gst/tmpl/old/gstfdsink.sgml:
9008         * docs/gst/tmpl/old/gstfdsrc.sgml:
9009         * docs/gst/tmpl/old/gstfilesink.sgml:
9010         * docs/gst/tmpl/old/gstfilesrc.sgml:
9011         * docs/gst/tmpl/old/gsthttpsrc.sgml:
9012         * docs/gst/tmpl/old/gstidentity.sgml:
9013         * docs/gst/tmpl/old/gstindexfactory.sgml:
9014         * docs/gst/tmpl/old/gstmarshal.sgml:
9015         * docs/gst/tmpl/old/gstmd5sink.sgml:
9016         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
9017         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
9018         * docs/gst/tmpl/old/gstpadtemplate.sgml:
9019         * docs/gst/tmpl/old/gstpipefilter.sgml:
9020         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
9021         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
9022         * docs/gst/tmpl/old/gstshaper.sgml:
9023         * docs/gst/tmpl/old/gstspider.sgml:
9024         * docs/gst/tmpl/old/gstspideridentity.sgml:
9025         * docs/gst/tmpl/old/gststatistics.sgml:
9026         * docs/gst/tmpl/old/gsttee.sgml:
9027         * docs/gst/tmpl/old/gsttimecache.sgml:
9028         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
9029         * docs/gst/tmpl/old/gstxmlregistry.sgml:
9030         * docs/gst/tmpl/old/gthread-cothreads.sgml:
9031         * docs/gst/tmpl/old/types.sgml:
9032         * docs/gst/tmpl/types.sgml:
9033
9034         Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
9035         gtkdoc-scan doesn't like files with the same name in different
9036         directories.
9037         * gst/elements/Makefile.am:
9038         * gst/elements/gstelements.c:
9039         * gst/elements/gsttypefind.c: 
9040         * gst/elements/gsttypefind.h:
9041         * gst/elements/gsttypefindelement.c:
9042         * gst/elements/gsttypefindelement.h:
9043
9044 2004-04-28  David Schleef  <ds@schleef.org>
9045
9046         A bunch of portability fixes, derived from Steve Lhomme's MSVC
9047         patch (bug #141317):
9048         * gst/gst-i18n-lib.h: Allow disabling gettext.
9049         * gst/gstatomic_impl.h: disable warning when it's dumb.
9050         * gst/gstclock.c: fix include
9051         * gst/gstcompat.h: fix variadic macro
9052         * gst/gstinfo.c: fix include
9053         * gst/gstmacros.h: add defines for inlines on MSVC
9054         * gst/gstplugin.c: fix includes
9055         * gst/gstregistry.c: fix includes
9056         * gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
9057         * gst/gstsystemclock.c: fix include
9058         * gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
9059         S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
9060         * gst/registries/gstxmlregistry.c:
9061         (gst_xml_registry_parse_element_factory): fix use of non-portable
9062         functions
9063         * libs/gst/control/dparam.h: Remove trailing comma in enum definition
9064         * libs/gst/control/dparammanager.h: same
9065
9066 2004-04-28  David Schleef  <ds@schleef.org>
9067
9068         Move a bunch of unused files to old/ with names that are
9069         not case-insensitive-unique.  These files still contain some
9070         useful information that needs to be merged into gstbin.sgml,
9071         etc., so they shouldn't be deleted yet.
9072         * docs/gst/tmpl/GstBin.sgml:
9073         * docs/gst/tmpl/GstBuffer.sgml:
9074         * docs/gst/tmpl/GstCaps.sgml:
9075         * docs/gst/tmpl/GstClock.sgml:
9076         * docs/gst/tmpl/GstCompat.sgml:
9077         * docs/gst/tmpl/GstData.sgml:
9078         * docs/gst/tmpl/GstElement.sgml:
9079         * docs/gst/tmpl/GstEvent.sgml:
9080         * docs/gst/tmpl/GstIndex.sgml:
9081         * docs/gst/tmpl/GstStructure.sgml:
9082         * docs/gst/tmpl/GstTag.sgml:
9083         * docs/gst/tmpl/old/GstBin.sgml:
9084         * docs/gst/tmpl/old/GstBuffer.sgml:
9085         * docs/gst/tmpl/old/GstCaps.sgml:
9086         * docs/gst/tmpl/old/GstClock.sgml:
9087         * docs/gst/tmpl/old/GstCompat.sgml:
9088         * docs/gst/tmpl/old/GstData.sgml:
9089         * docs/gst/tmpl/old/GstElement.sgml:
9090         * docs/gst/tmpl/old/GstEvent.sgml:
9091         * docs/gst/tmpl/old/GstIndex.sgml:
9092         * docs/gst/tmpl/old/GstStructure.sgml:
9093         * docs/gst/tmpl/old/GstTag.sgml:
9094
9095 2004-04-28  David Schleef  <ds@schleef.org>
9096
9097         * gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
9098         (gst_caps_append), (gst_caps_append_structure),
9099         (gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
9100         (gst_caps_set_simple), (gst_caps_set_simple_valist),
9101         (gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
9102         (gst_caps_is_fixed), (gst_caps_is_always_compatible),
9103         (gst_caps_intersect), (gst_caps_normalize),
9104         (gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
9105         to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
9106         * gst/gstcaps.h: use GST_IS_CAPS().
9107
9108 2004-04-26  David Schleef  <ds@schleef.org>
9109
9110         * gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
9111         assembly.  gcc doesn't handle it correctly. (bug #141083)
9112         * gst/gsttrashstack.h: same
9113
9114 2004-04-25  Benjamin Otte  <otte@gnome.org>
9115
9116         * gst/gstelement.c: (gst_element_change_state):
9117           fix assertion to do an int comparison
9118
9119 2004-04-25  Benjamin Otte  <otte@gnome.org>
9120
9121         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
9122           better debugging output on error
9123
9124 2004-04-25  Benjamin Otte  <otte@gnome.org>
9125
9126         * gst/gstcaps.c: (gst_caps_subtract):
9127           fix memleak
9128
9129 2004-04-23  Benjamin Otte  <otte@gnome.org>
9130
9131         * gst/gstvalue.c: (gst_value_compare_buffer),
9132         (_gst_value_initialize):
9133           add comparison function for buffers
9134
9135 2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9136
9137         * docs/pwg/pwg.xml:
9138           Just found out that this so-called "ima-wav" format is really
9139           just "dvi adpcm" (according to the MS WAV documentation). So
9140           renaming it. We didn't use it yet anyway.
9141
9142 2004-04-23  Benjamin Otte  <otte@gnome.org>
9143
9144         * gst/gstcaps.c: (gst_caps_is_always_compatible):
9145           call gst_caps_is_subset
9146
9147 2004-04-23  Benjamin Otte  <otte@gnome.org>
9148
9149         * gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
9150         (gst_caps_is_subset):
9151           add documentation
9152
9153 2004-04-23  Benjamin Otte  <otte@gnome.org>
9154           
9155         * gst/gstcaps.c: (gst_caps_structure_subtract_field),
9156         (gst_caps_structure_subtract), (gst_caps_subtract),
9157         (gst_caps_structure_figure_out_union),
9158         (gst_caps_structure_simplify), (gst_caps_do_simplify):
9159           fix simplifying and subtracting not working correctly with optional
9160           properties
9161           solve assorted problems that make it now simplify ebven more
9162         * docs/gst/tmpl/gstcaps.sgml:
9163         * gst/gstcaps.h:
9164           make gst_caps_do_simplify return a bool to indicate if it simplified
9165         * testsuite/caps/simplify.c: (main):
9166           add more checks. The tests is quite a bit useless right now because
9167           the core is heavily simplifying itself.
9168         * testsuite/caps/caps.h:
9169           fix caps to contain all optional properties
9170
9171 2004-04-22  Benjamin Otte  <otte@gnome.org>
9172
9173         * docs/gst/tmpl/gstcaps.sgml:
9174         * docs/gst/tmpl/gstfilesrc.sgml:
9175         * docs/gst/tmpl/gststructure.sgml:
9176         * docs/gst/tmpl/gstvalue.sgml:
9177           update for recent API changes
9178         * gst/gstcaps.c: (gst_caps_do_simplify):
9179           fix to stop trying with a freed structure
9180         * gst/gstpad.c: (gst_pad_link_fixate):
9181           simplify caps
9182         * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
9183           remove C++ comment
9184         * gst/gstpad.h:
9185           deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
9186         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9187         (gst_structure_to_string):
9188           keep the correct type when using lists of ranges
9189         * gst/gstvalue.c: (gst_value_list_prepend_value),
9190         (gst_value_list_append_value):
9191           copy the value before adding to the list (d'oh)
9192         * gst/gstvalue.c: (gst_value_subtract_int_range_int),
9193         (gst_value_subtract_int_range_int_range):
9194           handle overflows correctly
9195         * gst/gstvalue.c: (gst_value_subtract_from_list):
9196           fix memleak
9197         * testsuite/caps/caps.h:
9198           add a caps that caused segfaults
9199
9200 2004-04-22  Benjamin Otte  <otte@gnome.org>
9201
9202         * testsuite/refcounting/pad.c: (main):
9203           fix test
9204
9205 2004-04-22  Benjamin Otte  <otte@gnome.org>
9206
9207         * gst/gstcaps.c: (gst_caps_subtract):
9208           allow subtracting ANY and EMPTY from ANY caps
9209
9210 2004-04-22  Benjamin Otte  <otte@gnome.org>
9211
9212         * gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
9213         (gst_caps_union):
9214           only simplify in functions that create new caps. Simplifying in
9215           gst_caps_append breaks tests.
9216
9217 2004-04-22  Benjamin Otte  <otte@gnome.org>
9218
9219         * gst/gstcaps.c: (gst_caps_structure_simplify):
9220           unset GValue after use
9221         * gst/gstcaps.c: (gst_caps_append), 
9222         * gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
9223           use gst_caps_simplify (reduces registry size by 30%)
9224         * gst/gstpad.c: (gst_pad_template_new):
9225           don't allow NULL caps
9226
9227 2004-04-22  Benjamin Otte  <otte@gnome.org>
9228
9229         * docs/gst/gstreamer-sections.txt:
9230           add gst_caps_do_simplify
9231         * gst/gstcaps.c:
9232           add documentation for gst_caps_do_simplify
9233         * gst/gstvalue.h:
9234           fix typo in gst_value_register_subtract_func declaration for gst-doc
9235
9236 2004-04-22  Benjamin Otte  <otte@gnome.org>
9237
9238         * gst/gstcaps.c: (gst_caps_from_string_inplace):
9239           fix bug when converting from empty string.
9240         * gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
9241         (gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
9242           use gst_caps_new_empty to allocate a new caps. Only that function
9243           allocates memory for caps now.
9244         * gst/gstcaps.c: (gst_caps_remove_and_get_structure),
9245         (gst_caps_remove_structure):
9246           add ability to remove one structure (but not to header yet)
9247         * gst/gstcaps.c: (gst_caps_compare_structures),
9248         (gst_caps_simplify), (gst_caps_structure_figure_out_union),
9249         (gst_caps_structure_simplify), (gst_caps_do_simplify),
9250         * gst/gstcaps.h:
9251           add gst_caps_do_simplify that tries to simplify a caps in place.
9252           Deprecate old gst_caps_simplify function.
9253         * testsuite/caps/caps.h:
9254           add caps.h containing a common set of caps to test against.
9255         * testsuite/caps/sets.c: (check_caps), (main):
9256           use it.
9257         * testsuite/caps/.cvsignore:
9258         * testsuite/caps/Makefile.am:
9259         * testsuite/caps/simplify.c: (check_caps), (main):
9260           add test to check correctness and efficency of caps simplification.
9261
9262 2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
9263
9264         reviewed by Benjamin Otte  <otte@gnome.org>
9265
9266         * gst/gstparse.c: (_gst_parse_escape):
9267           Free the GString used in _gst_parse_escape()
9268
9269 2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9270
9271         * gst/gstpad.c: (gst_pad_link_negotiate):
9272           refuse to link if the link is not possible
9273         * configure.ac:
9274         * testsuite/Makefile.am:
9275         * testsuite/negotiation/.cvsignore:
9276         * testsuite/negotiation/Makefile.am:
9277         * testsuite/negotiation/pad_link.c: (main):
9278           add test that checks the above behaviour
9279
9280 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9281
9282         * docs/gst/gstreamer-sections.txt:
9283           add newly added API
9284
9285 2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9286
9287         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9288         (gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
9289         (gst_filesrc_open_file), (gst_filesrc_close_file),
9290         (gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
9291         * gst/elements/gstfilesrc.h:
9292           add support for non-regular files (#140734)
9293
9294 2004-04-21  Benjamin Otte  <otte@gnome.org>
9295
9296         * gst/gstpad.c: (gst_pad_link_fixate):
9297           add sophisticated error checking code to see if fixation functions
9298           did their fixation right
9299
9300 2004-04-21  Benjamin Otte  <otte@gnome.org>
9301
9302         * gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
9303           check for ANY caps before appending/unioning
9304         * gst/gstcaps.c: (gst_caps_is_subset),
9305         (gst_caps_is_equal), (gst_caps_structure_subtract_field),
9306         (gst_caps_structure_subtract), (gst_caps_subtract):
9307         * gst/gstcaps.h:
9308           add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
9309           the API. deprecate gst_caps_is_equal_fixed
9310         * gst/gstpad.c: (gst_pad_try_set_caps):
9311         * gst/gstqueue.c: (gst_queue_link):
9312           s/gst_caps_is_equal_fixed/gst_caps_is_equal/
9313         * gst/gststructure.c: (gst_structure_get_name_id):
9314         * gst/gststructure.h:
9315           add function gst_structure_get_name_id
9316         * gst/gstvalue.c: (gst_value_subtract_int_int_range),
9317         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
9318         (gst_value_subtract_int_range_int_range),
9319         (gst_value_subtract_double_double_range),
9320         (gst_value_subtract_double_range_double),
9321         (gst_value_subtract_double_range_double_range),
9322         (gst_value_subtract_from_list), (gst_value_subtract_list),
9323         (gst_value_can_intersect), (gst_value_subtract),
9324         (gst_value_can_subtract), (gst_value_register_subtract_func),
9325         (_gst_value_initialize):
9326         * gst/gstvalue.h:
9327           add support for subtracting values from each other. Note that
9328           subtracting means subtracting as in set theory. Required for caps
9329           stuff above.
9330         * testsuite/caps/.cvsignore:
9331         * testsuite/caps/Makefile.am:
9332         * testsuite/caps/erathostenes.c: (erathostenes), (main):
9333         * testsuite/caps/sets.c: (check_caps), (main):
9334         * testsuite/caps/subtract.c: (check_caps), (main):
9335           add tests for subtraction and equality code.
9336
9337 2004-04-20  David Schleef  <ds@schleef.org>
9338
9339         * gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
9340         * gst/indexers/Makefile.am:
9341         * gst/schedulers/Makefile.am:
9342         * libs/gst/bytestream/Makefile.am:
9343         * libs/gst/control/Makefile.am:
9344         * libs/gst/getbits/Makefile.am:
9345
9346 2004-04-20  David Schleef  <ds@schleef.org>
9347
9348         * common/as-libtool.mak: Fine-tune DLL building.
9349         * configure.ac: Link plugins against libgstreamer.  Define plugindir
9350         (like gst-plugins)
9351         * examples/plugins/Makefile.am: remove plugindir
9352         * gst/autoplug/Makefile.am: DLL building fixes
9353         * gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
9354         Windows.
9355         * gst/elements/gstelements.c: Conditionally disable pipefilter.
9356         * gst/indexers/Makefile.am: DLL building fixes
9357         * gst/schedulers/Makefile.am: DLL building fixes.
9358         * libs/gst/bytestream/Makefile.am: DLL building fixes.
9359         * libs/gst/control/Makefile.am: same
9360         * libs/gst/getbits/Makefile.am: same
9361         * testsuite/Makefile.am: New dlopen directory
9362         * testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
9363         when dlopened.
9364         * testsuite/dlopen/dlopen_gst.c: (main): same
9365         * testsuite/dlopen/loadgst.c: (do_test): same
9366
9367 2004-04-20  David Schleef  <ds@schleef.org>
9368
9369         * gst/parse/grammar.y:  Apply patch from Sebastien Cote
9370         <sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
9371
9372 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9373
9374         * gst/gstelement.c: (gst_element_wait),
9375         (gst_element_set_time_delay), (gst_element_change_state):
9376           Use GST_TIME_*
9377
9378 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9379
9380         * gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
9381         (gst_spider_identity_plug):
9382           improve debugging messages
9383         * gst/gstbin.c: (gst_bin_remove_func):
9384           make sure the state_change function is only called with simple state
9385           transitions
9386
9387 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9388
9389         * gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
9390         (gst_fakesink_set_property), (gst_fakesink_chain):
9391         * gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
9392         * gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
9393         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
9394         * gst/elements/gstidentity.c: (gst_identity_chain),
9395         (gst_identity_set_property):
9396         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
9397         * gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
9398           add warnings to _set_property for unknown arguments
9399           use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
9400
9401 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9402
9403         * Makefile.am:
9404         * docs/manuals.mak:
9405           add .po file download snippet
9406           fix a bug in the doc makefile
9407
9408 2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9409
9410         * Makefile.am:
9411         * po/LINGUAS:
9412         * po/en_GB.po:
9413           Added en_GB translation (Gareth Owen)
9414
9415 2004-04-20  Johan Dahlin  <johan@gnome.org>
9416
9417         * gst/gstpad.c (_invent_event): Clean up
9418
9419 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9420
9421         * testsuite/caps/filtercaps.c: (main):
9422           fix test to test things correctly (caps are complicated)
9423
9424 2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9425
9426         * testsuite/caps/Makefile.am:
9427         * testsuite/caps/filtercaps.c: (main):
9428           add test (that doesn't work right now, but should)
9429
9430 2004-04-19  David Schleef  <ds@schleef.org>
9431
9432         * configure.ac: Add test for allowing unaligned access.  Add define
9433         to put in gstconfig.h.
9434         * docs/gst/gstreamer-sections.txt: New symbols
9435         * docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
9436         * docs/gst/tmpl/gstfilesrc.sgml:
9437         * docs/gst/tmpl/gstparse.sgml:
9438         * docs/gst/tmpl/gsttypes.sgml:
9439         * docs/gst/tmpl/gstutils.sgml:
9440         * docs/gst/tmpl/gstvalue.sgml:
9441         * gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
9442         * gst/gstutils.h: Add macros for unaligned memory access.  Useful
9443         on most !i386/!powerpc architectures.  From Daniel Gazard
9444         <daniel.gazard@free.fr>.  (bug #140156)
9445         * po/af.po: Check in changes made by gettext.
9446         * po/az.po:
9447         * po/fr.po:
9448         * po/nl.po:
9449         * po/sr.po:
9450         * po/sv.po:
9451
9452 2004-04-20  Benjamin Otte  <otte@gnome.org>
9453
9454         * gst/schedulers/entryscheduler.c: 
9455         (gst_entry_scheduler_yield):
9456           refuse to yield when decoupled elements insist on doing that.
9457           At least it's better than crashing
9458
9459 2004-04-19  David Schleef  <ds@schleef.org>
9460
9461         * docs/libs/Makefile.am: Change sinclude to include
9462         * docs/gst/Makefile.am: same
9463         * pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
9464
9465 2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
9466
9467         * po/LINGUAS:
9468         * po/uk.po:
9469           Added Ukrainian translation (Maxim V. Dziumanenko)
9470
9471 2004-04-19  Johan Dahlin  <johan@gnome.org>
9472
9473         * gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
9474         checking here, do it before calling the function.
9475         Clean up, use for loops instead of while loops while iterating
9476         over lists.
9477
9478         * gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
9479         in debug message.
9480         (gst_spider_create_and_plug): Improve debug message.
9481         General: Replace while loops which iterates over GLists with for
9482         loops. Which are much cleaner, improves readability, especially
9483         for gst_spider_identity_plug
9484
9485         * gst/gstpad.c (_invent_event): Fix parameters to warning macros,
9486         fixes bug 140477
9487
9488 2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9489
9490         * po/LINGUAS:
9491         * po/tr.po:
9492           Added Turkish translation (Baris Cicek)
9493
9494 2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9495
9496         * docs/faq/troubleshooting.xml:
9497           Mention gst-register in the FAQ (fixes 139045).
9498
9499 2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9500
9501         * docs/gst/gstreamer-sections.txt:
9502
9503 2004-04-17  Benjamin Otte  <otte@gnome.org>
9504
9505         * gst/gstelement.c: (gst_element_dispose):
9506           simplify
9507         * gst/gstpad.c: (gst_pad_call_chain_function):
9508           don't create loads of events due to bad macro usage
9509
9510 2004-04-16  David Schleef  <ds@schleef.org>
9511
9512         * gst/gstcaps.c: (gst_caps_is_fixed_foreach):
9513         * gst/gstpad.c: (_gst_pad_default_fixate_foreach):
9514         * gst/gstvalue.c: (gst_value_serialize_buffer),
9515         (gst_value_deserialize_buffer), (gst_type_is_fixed),
9516         (_gst_value_initialize): Create a new function gst_type_is_fixed()
9517         to indicate types that are fixed wrt caps or not.  Switching to
9518         this function fixes (bug #140298).
9519         * gst/gstvalue.h:
9520
9521 2004-04-16  David Schleef  <ds@schleef.org>
9522
9523         * common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
9524         for GST_UNALIGNED_ACESS, since we essentially know which archs
9525         are ok.
9526
9527 2004-04-17  Benjamin Otte  <otte@gnome.org>
9528
9529         * docs/gst/Makefile.am:
9530           ignore gst/parse directory when building docs (fixes #140205)
9531
9532 2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9533
9534         * testsuite/refcounting/mem.c: (vmsize):
9535           do error checking
9536
9537 2004-04-16  Johan Dahlin  <johan@gnome.org>
9538
9539         * docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
9540         and gst_pad_call_get_function.
9541
9542 2004-04-15  David Schleef  <ds@schleef.org>
9543
9544         * common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
9545         checks if we can access unaligned memory.
9546         * configure.ac: Use it.
9547
9548 2004-04-16  Benjamin Otte  <otte@gnome.org>
9549
9550         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
9551         (gst_filesrc_change_state), (gst_filesrc_srcpad_event):
9552         * gst/elements/gstfilesrc.h:
9553           s/seek_happened/need_discont/ and require discont before sending any
9554           data
9555
9556 2004-04-15  David Schleef  <ds@schleef.org>
9557
9558         * gst/gstvalue.c: (gst_value_serialize_buffer),
9559         (gst_value_deserialize_buffer), (_gst_value_initialize):
9560         Register these types as fundamental types. (bug #140015)
9561
9562 2004-04-16  Benjamin Otte  <otte@gnome.org>
9563
9564         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
9565         (gst_pad_link_free), (gst_pad_link_try), (_invent_event),
9566         (gst_pad_pull):
9567           implement enforcing discont events before buffers are passed. This
9568           allows state changes of only some elements and later correctly going
9569           on where they left off (or in short: you can now set audio sinks to
9570           NULL to release the device when the pipeline is paused)
9571         * gst/gstpad.c: (gst_pad_call_chain_function),
9572         (gst_pad_call_get_function):
9573         * gst/gstpad.h:
9574           add gst_pad_call_chain_function and gst_pad_call_get_function for
9575           scheduler interaction. They are required because of the changes
9576           above.
9577         * gst/schedulers/entryscheduler.c: (get_buffer),
9578         (gst_entry_scheduler_chain_wrapper),
9579         (gst_entry_scheduler_get_wrapper),
9580         (gst_entry_scheduler_state_transition),
9581         (gst_entry_scheduler_pad_link):
9582         * gst/schedulers/gstbasicscheduler.c:
9583         (gst_basic_scheduler_chain_wrapper),
9584         (gst_basic_scheduler_src_wrapper),
9585         (gst_basic_scheduler_chainhandler_proxy),
9586         (gst_basic_scheduler_gethandler_proxy),
9587         (gst_basic_scheduler_cothreaded_chain),
9588         (gst_basic_scheduler_chain_elements):
9589         * gst/schedulers/gstoptimalscheduler.c:
9590         (get_group_schedule_function), (pad_clear_queued),
9591         (gst_opt_scheduler_pad_link):
9592           use the new functions instead of calling get/chain-functions
9593           directly.
9594
9595 2004-04-15  David Schleef  <ds@schleef.org>
9596
9597         * docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
9598         * docs/gst/tmpl/gstinfo.sgml: same
9599         * docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
9600         gtk-doc put here.
9601         * gst/gstutils.h: Remove the \ that was confusing gtk-doc.
9602         * examples/queue/queue.c: (main):  We iterate pipelines, not
9603         bins.  (bug #139996)
9604
9605 2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9606
9607         * docs/pwg/advanced-types.xml:
9608           Add MS RLE support. Also document Qt RLE although I have no sample
9609           files for that yet. And document an extra property for ADPCM.
9610
9611 2004-04-15  David Schleef  <ds@schleef.org>
9612
9613         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
9614         (_gst_plugin_fault_handler_setup):  Disable more stuff on
9615         Windows.
9616
9617 2004-04-15  David Schleef  <ds@schleef.org>
9618
9619         * gst/gstinfo.c: (_gst_debug_init): Change some internal
9620         symbol names to not conflict with new gstinfo.h symbols.
9621         * gst/gstinfo.h: Add inline functions for all those crazy
9622         compilers that don't know how to handle variadic macros (MSVC).
9623
9624 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9625
9626         * configure.ac: bump nano to 1
9627
9628 === release 0.8.1 ===
9629
9630 2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9631
9632         * NEWS:
9633         * RELEASE:
9634         * configure.ac:
9635           releasing 0.8.1, "Snow Brigade"
9636
9637 2004-04-14  David Schleef  <ds@schleef.org>
9638
9639         * testsuite/Makefile.am: define tests_ignore
9640         * testsuite/Rules: Added new tests_ignore, which get compiled,
9641         but not run (generally because they're inconsistent or have
9642         heisenbugs).  Now we can ensure all the .c files compile in
9643         testsuite/.
9644         * testsuite/bins/Makefile.am: define tests_ignore
9645         * testsuite/bytestream/Makefile.am:
9646         * testsuite/caps/Makefile.am:
9647         * testsuite/clock/Makefile.am:
9648         * testsuite/debug/Makefile.am:
9649         * testsuite/debug/global.c: (gst_debug_log_one),
9650         (gst_debug_log_two): Fix compilation problem.
9651         * testsuite/dynparams/Makefile.am:
9652         * testsuite/elements/Makefile.am:
9653         * testsuite/ghostpads/Makefile.am:
9654         * testsuite/indexers/Makefile.am:
9655         * testsuite/parse/Makefile.am:
9656         * testsuite/plugin/Makefile.am:
9657         * testsuite/refcounting/Makefile.am:
9658         * testsuite/refcounting/element_pad.c: (main): Don't return leak
9659         results, because it's not calculated correctly.
9660         * testsuite/refcounting/pad.c: (main): same
9661         * testsuite/states/Makefile.am:
9662         * testsuite/tags/Makefile.am:
9663         * testsuite/threads/Makefile.am:
9664
9665 2004-04-14  David Schleef  <ds@schleef.org>
9666
9667         * gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
9668         generating bad code around the cpu detection asm code.
9669
9670 2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9671
9672         * tools/gst-inspect.c: (print_element_info):
9673           print numeric version of rank as well, since we added some - 1
9674           rank values to elements
9675
9676 2004-04-13  David Schleef  <ds@schleef.org>
9677
9678         * configure.ac:  Disable various code when compiling for MinGW.
9679         * gst/elements/Makefile.am:
9680         * gst/elements/gstelements.c:
9681         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
9682         * gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
9683         * gst/registries/gstxmlregistry.c: (make_dir):
9684
9685 2004-04-13  David Schleef  <ds@schleef.org>
9686
9687         * gst/Makefile.am:
9688         * gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
9689         assembly.
9690         * gst/gstcpuid_i386.s: remove
9691
9692 2004-04-13  David Schleef  <ds@schleef.org>
9693
9694         * docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
9695         seems to think it needs to be done.
9696         * docs/gst/tmpl/gstfakesink.sgml:
9697         * docs/gst/tmpl/gstfakesrc.sgml:
9698         * docs/gst/tmpl/gstfdsink.sgml:
9699         * docs/gst/tmpl/gstfdsrc.sgml:
9700         * docs/gst/tmpl/gstfilesink.sgml:
9701         * docs/gst/tmpl/gstfilesrc.sgml:
9702         * docs/gst/tmpl/gstidentity.sgml:
9703         * docs/gst/tmpl/gstmd5sink.sgml:
9704         * docs/gst/tmpl/gstmultifilesrc.sgml:
9705         * docs/gst/tmpl/gstpipefilter.sgml:
9706         * docs/gst/tmpl/gstshaper.sgml:
9707         * docs/gst/tmpl/gstspider.sgml:
9708         * docs/gst/tmpl/gstspideridentity.sgml:
9709         * docs/gst/tmpl/gststatistics.sgml:
9710         * docs/gst/tmpl/gsttee.sgml:
9711         * docs/gst/tmpl/gsttypefind.sgml:
9712         * docs/gst/tmpl/gstutils.sgml:
9713
9714 2004-04-13  David Schleef  <ds@schleef.org>
9715
9716         * configure.ac: Changes to remove POSIXisms (mmap in this case)
9717         and to build DLLs on Windows.
9718         * gst/Makefile.am:
9719         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
9720         (gst_filesrc_open_file):
9721         * gst/schedulers/Makefile.am:
9722
9723 2004-04-13  David Schleef  <ds@schleef.org>
9724
9725         * gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
9726         (gst_caps_structure_fixate_field_nearest_double):  Fix bug in
9727         fixating lists.
9728
9729 2004-04-12  David Schleef  <ds@schleef.org>
9730
9731         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
9732         (gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
9733         to using it.
9734         * gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
9735         * gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
9736         * gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
9737         * gst/gststructure.c: (gst_structure_set_valist),
9738         (gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
9739         support for buffers.
9740         * gst/gsttag.c: (gst_tag_register): Constify a prototype that was
9741         intended to be const.
9742         * gst/gsttag.h: same
9743         * gst/gstvalue.c: (gst_value_serialize_buffer),
9744         (gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
9745         to (de)serialize buffers.
9746         * testsuite/caps/Makefile.am:  Add a bit of buffer testing
9747         * testsuite/caps/string-conversions.c: (main):
9748         * testsuite/caps/value_serialize.c: add new test
9749
9750 2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
9751
9752         * docs/pwg/advanced-types.xml:
9753           Document MS video 1 (video/x-msvideocodec) mimetype/format.
9754
9755 2004-04-11  Benjamin Otte  <otte@gnome.org>
9756
9757         * gst/schedulers/gstbasicscheduler.c: (plugin_init):
9758           rename categories to basic_*
9759         * gst/schedulers/gstbasicscheduler.c: 
9760         (gst_basic_scheduler_chain_wrapper),
9761         (gst_basic_scheduler_chainhandler_proxy),
9762         (gst_basic_scheduler_gethandler_proxy),
9763         (gst_basic_scheduler_eventhandler_proxy):
9764           debugging category fixes - put common stuff in log category
9765         * gst/schedulers/gstbasicscheduler.c: 
9766         (gst_basic_scheduler_chain_elements):
9767           dirty fix: call gst_basic_scheduler_cothreaded_chain when already
9768           active and linking two active chains
9769
9770 2004-04-10  Benjamin Otte  <otte@gnome.org>
9771
9772         * docs/pwg/intro-preface.xml:
9773           fix dead links and remove reference to Wiki
9774
9775 2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9776
9777         * gst/schedulers/gstbasicscheduler.c:
9778           make sure we can switch back to the main function if we're still in
9779           the main function (supposed to fix #139617)
9780         * gst/schedulers/gthread-cothreads.h:
9781           don't throw an error when switching to the same cothread
9782
9783 2004-04-09  Benjamin Otte  <otte@gnome.org>
9784
9785         * gst/gstbin.c: (gst_bin_get_type):
9786         * gst/gstclock.c: (gst_clock_get_type):
9787         * gst/gstindex.c: (gst_index_get_type):
9788         * gst/gstobject.c: (gst_object_get_type),
9789         (gst_signal_object_get_type):
9790         * gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
9791         (gst_pad_template_get_type), (gst_ghost_pad_get_type):
9792         * gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
9793         * gst/gstqueue.c: (gst_queue_get_type):
9794         * gst/gstregistry.c: (gst_registry_get_type):
9795         * gst/gstsystemclock.c: (gst_system_clock_get_type):
9796         * gst/gstthread.c: (gst_thread_get_type):
9797           don't use memchunks for these objects, use malloc instead
9798
9799 2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9800
9801         * docs/gst/.cvsignore:
9802         * docs/gst/Makefile.am:
9803         * docs/gst/gstreamer-sections.txt:
9804         * docs/gst/tmpl/gstaggregator.sgml:
9805         * docs/gst/tmpl/gstbuffer.sgml:
9806         * docs/gst/tmpl/gstclock.sgml:
9807         * docs/gst/tmpl/gstelement.sgml:
9808         * docs/gst/tmpl/gstfakesink.sgml:
9809         * docs/gst/tmpl/gstfakesrc.sgml:
9810         * docs/gst/tmpl/gstfdsink.sgml:
9811         * docs/gst/tmpl/gstfdsrc.sgml:
9812         * docs/gst/tmpl/gstfilesink.sgml:
9813         * docs/gst/tmpl/gstfilesrc.sgml:
9814         * docs/gst/tmpl/gstidentity.sgml:
9815         * docs/gst/tmpl/gstindex.sgml:
9816         * docs/gst/tmpl/gstinfo.sgml:
9817         * docs/gst/tmpl/gstmd5sink.sgml:
9818         * docs/gst/tmpl/gstmultifilesrc.sgml:
9819         * docs/gst/tmpl/gstpad.sgml:
9820         * docs/gst/tmpl/gstpipefilter.sgml:
9821         * docs/gst/tmpl/gstpipeline.sgml:
9822         * docs/gst/tmpl/gstpluginfeature.sgml:
9823         * docs/gst/tmpl/gstqueue.sgml:
9824         * docs/gst/tmpl/gstregistry.sgml:
9825         * docs/gst/tmpl/gstscheduler.sgml:
9826         * docs/gst/tmpl/gstshaper.sgml:
9827         * docs/gst/tmpl/gstspider.sgml:
9828         * docs/gst/tmpl/gstspideridentity.sgml:
9829         * docs/gst/tmpl/gststatistics.sgml:
9830         * docs/gst/tmpl/gstsystemclock.sgml:
9831         * docs/gst/tmpl/gsttee.sgml:
9832         * docs/gst/tmpl/gstthread.sgml:
9833         * docs/gst/tmpl/gsttypefind.sgml:
9834         * docs/gst/tmpl/gstutils.sgml:
9835           further doc build fixes
9836
9837 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9838
9839         * docs/gst/Makefile.am:
9840           make docs exit on scanning problems
9841           fix nonsrcdir build issues
9842         * docs/gst/gstreamer-sections.txt:
9843           adding stuff from -unused
9844         * gst/gstqueue.h:
9845           create GstQueueSize
9846         * gst/schedulers/cothreads_compat.h:
9847           fix cothread warnings
9848
9849 2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9850
9851         * docs/gst/gstreamer-sections.txt:
9852           remove defines deprecated by Benjamin
9853
9854 2004-04-07  Benjamin Otte  <otte@gnome.org>
9855
9856         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
9857           when the buffer is complete, don't check if other buffers are needed
9858         * gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
9859           check that the offset is >0 so we don't try to read before the
9860           beginning of the file
9861         * gst/gstpad.c: (gst_pad_set_pad_template):
9862           sink the template, so we don't end up with 130k pad templates
9863
9864 2004-04-06  Benjamin Otte  <otte@gnome.org>
9865
9866         * gst/autoplug/gstspider.c: (gst_spider_link_add):
9867           don't ref the element, adding already reffed it. And we didn't unref
9868           it later anyway... (huge memleak when you used many spider elements)
9869         * gst/gstelement.c: (gst_element_base_class_finalize):
9870         * gst/gstelementfactory.c: (gst_element_factory_cleanup),
9871         (gst_element_register):
9872         * gst/gsturi.c: (gst_element_make_from_uri):
9873           use gst_object_(un)ref instead of g_object(un)ref
9874
9875 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9876
9877         * gst/gstbuffer.h:
9878           remove macro that wouldn't work anymore because struct member has
9879           been removed.
9880         * gst/schedulers/entryscheduler.c: (schedule_forward):
9881           fix segfault for unconnected pads
9882         
9883 2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
9884
9885         reviewed by David Schleef <ds@schleef.org>
9886
9887         * gst/gstinfo.h:
9888           *_FORMAT modifiers should require putting a % in front of them for
9889           consistency reasons.
9890
9891 2004-04-05  Colin Walters  <walters@redhat.com>
9892
9893         * configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
9894         space.
9895
9896 2004-04-05  Benjamin Otte  <otte@gnome.org>
9897
9898         * configure.ac:
9899         * gst/Makefile.am:
9900         * gst/gst_private.h:
9901         * gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
9902           add support for detecting if GStreamer runs inside valgrind.
9903           requires valgrind (d'oh) and --enable-debug for correct cdetection.
9904           print a big message in valgrind that GStreamer has detected it's
9905           running inside and might now use different code.
9906         * gst/gstmemchunk.c: (populate), (free_area),
9907         (gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
9908         (gst_mem_chunk_free):
9909           flag memchunks for valgrind, so it can detect leaking of chunks.
9910           This allows detecting leaks of GstBuffer and GstEvent correctly
9911           inside valgrind.
9912
9913 2004-04-05  David Schleef  <ds@schleef.org>
9914
9915         * gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
9916           jensgr@gmx.net (Jens Granseuer)
9917
9918 2004-04-05  David Schleef  <ds@schleef.org>
9919
9920         * gst/gstbuffer.c: (_gst_buffer_sub_free),
9921         (gst_buffer_default_free), (gst_buffer_default_copy),
9922         (gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
9923         (gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
9924         structures in one place.
9925
9926 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9927
9928         * gst/gstinfo.h: adding Ronald's timestamp debugging defines
9929           (GST_TIME_FORMAT, GST_TIME_ARGS)
9930
9931 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9932
9933         * testsuite/elements/Makefile.am:
9934           disable test until it stops breaking make distcheck
9935
9936 2004-04-05  Johan Dahlin  <johan@gnome.org>
9937
9938         * po/sv.po: Updated translation
9939
9940 2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9941
9942         * gst/gstplugin.c: (gst_plugin_load_file):
9943           fix segfault for when original plugin was loaded statically
9944
9945 2004-04-05  Benjamin Otte  <otte@gnome.org>
9946
9947         * testsuite/debug/category.c: (main):
9948         * testsuite/debug/commandline.c: (main):
9949         * testsuite/debug/output.c: (main):
9950           fix tests to work again with debugging enabled
9951
9952 2004-04-05  Benjamin Otte  <otte@gnome.org>
9953
9954         * gst/schedulers/gstbasicscheduler.c:
9955         (gst_basic_scheduler_pad_link):
9956           fix to work with recent scheduling changes
9957
9958 2004-04-05  Benjamin Otte  <otte@gnome.org>
9959
9960         * gst/schedulers/entryscheduler.c: (some functions, dunno which,
9961         prepareChangeLog doesn't work when cvs indents):
9962           don't throw an error when no element can be scheduled, there's too
9963           many weird reasons why it doesn't work. Return STOPPED instead.
9964           decoupled elemts' schedulability doesn't depend on bufpens.
9965
9966 2004-04-04  Benjamin Otte  <otte@gnome.org>
9967
9968         * gst/schedulers/gstbasicscheduler.c:
9969         (gst_basic_scheduler_pad_select):
9970           fix uninitialized variable warnings
9971
9972 2004-04-04  Benjamin Otte  <otte@gnome.org>
9973
9974         * gst/gstpad.c: (gst_pad_collect_valist):
9975           fix uninitialized variable warning
9976         * gst/schedulers/entryscheduler.c: (schedule_forward):
9977           fix shadowed variable
9978
9979 2004-04-04  Benjamin Otte  <otte@gnome.org>
9980
9981         * gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
9982         (gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
9983         (gst_pad_select):
9984         * gst/gstpad.h:
9985         * gst/gstscheduler.c: (gst_scheduler_pad_select),
9986         (gst_scheduler_lock_element), (gst_scheduler_unlock_element):
9987         * gst/gstscheduler.h:
9988           implement gst_pad_collect as replacement for gst_pad_select.
9989           deprecate gst_pad_select and gst_scheduler_(un)lock_element
9990           add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
9991           new pad_select, lock and unlock calls.
9992         * gst/cothreads.c: (cothread_destroy), (cothread_switch):
9993         * gst/cothreads.h:
9994         * gst/schedulers/cothreads_compat.h:
9995         * gst/schedulers/gthread-cothreads.h:
9996           remove unused cothread_lock and cothread_unlock calls
9997         * gst/schedulers/entryscheduler.c:
9998         (gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
9999         (_can_schedule_loop), (gst_entry_scheduler_get_handler),
10000         (gst_entry_scheduler_pad_select):
10001           update to new API
10002         * gst/schedulers/gstbasicscheduler.c:
10003         (gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
10004         (gst_basic_scheduler_pad_select):
10005           remove useless lock and unlock calls, update pad_select to new API
10006           (untested)
10007         * gst/schedulers/gstoptimalscheduler.c:
10008         (gst_opt_scheduler_class_init):
10009           remove useless select, lock and unlock function calls
10010         * gst/elements/gstaggregator.c: (gst_aggregator_loop):
10011           use gst_pad_collect instead of gst_pad_select
10012
10013 2004-04-04  Benjamin Otte  <otte@gnome.org>
10014
10015         * gst/schedulers/entryscheduler.c: (_can_schedule_get),
10016         (can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
10017         (schedule_next_element), (print_entry):
10018           add can_schedule_pad to handle element states.
10019           add schedule_forward to select the correct entry to schedule next
10020
10021 2004-04-03  Benjamin Otte  <otte@gnome.org>
10022
10023         * gst/schedulers/entryscheduler.c: 
10024           remove unused variable, fix error inside Rb, fix compile warning in
10025           unreachable code
10026
10027 2004-04-03  Benjamin Otte  <otte@gnome.org>
10028
10029         * gst/schedulers/entryscheduler.c:
10030           completely revamp the inner workings, so it's a lot easier to
10031           understand and extend
10032
10033 2004-04-03  Andy Wingo  <wingo@pobox.com>
10034
10035         * gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
10036         Rename ->group1 and ->group2 to ->src and ->sink, respectively.
10037         This allows better introspection of pipeline topology.
10038         (add_to_chain): Don't do trickery to put loop elements first;
10039         rather, queue a chain sort by marking the chain as dirty.
10040         (remove_from_chain): Mark the chain dirty.
10041         (sort_chain): New function. Sorts the group list so that terminal
10042         sinks are first. This means elements on the sink side will be
10043         preferentially sscheduled before elements on the src side of the
10044         pipeline.
10045         (chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
10046         (schedule_chain): If the chain is marked DIRTY, call sort_chain.
10047         (gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
10048         (group_inc_link): Change argument and variable names to match the
10049         new link structure member names (src and sink).
10050         (group_dec_link): Add some description
10051
10052 2004-04-03  Benjamin Otte  <otte@gnome.org>
10053
10054         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
10055         * gst/gstinfo.h:
10056         * testsuite/debug/category.c: (main):
10057         * testsuite/debug/commandline.c: (main):
10058         * testsuite/debug/output.c: (main):
10059         * testsuite/debug/printf_extension.c: (main):
10060           fix to successfully build and test with --disable-gst-debug
10061           configure switch (fixes #138705)
10062
10063 2004-04-03  Benjamin Otte  <otte@gnome.org>
10064
10065         * docs/pwg/building-boiler.xml:
10066           add cvs login line and s/anonymous/anoncvs/
10067
10068 2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
10069
10070         reviewed by Benjamin Otte  <otte@gnome.org>
10071
10072         * gst/gststructure.c: (gst_structure_free):
10073           memleak fix: free fields array (partial fix for #134839)
10074
10075 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10076
10077         * docs/random/ds/0.9-suggested-changes:
10078           Add a note to change handoff use in fakesrc to be usable in
10079           a more generic way (fakesrc should be renamed to appsrc or so).
10080         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
10081           Change signal type to scope, so we can fill the buffer in the
10082           handoff handler (that's the whole use of this signal...).
10083
10084 2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10085
10086         * docs/pwg/other-ntoone.xml:
10087           Document muxers and n-to-1 elements.
10088
10089 2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
10090
10091         * gst/registries/gstxmlregistry.c
10092         (gst_xml_registry_rebuild_recurse): Fix the algorithm to
10093         determine if a file is a G_MODULE. The old one discards paths
10094         containing "so" somewhere in the middle. My home directory is
10095         called "soto". Go figure...
10096
10097 2004-03-31  David Schleef  <ds@schleef.org>
10098
10099         * gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
10100         to eventually deprecate gst_buffer_merge().  (bug: #136408)
10101         * gst/gstbuffer.h:
10102
10103 2004-03-31  David Schleef  <ds@schleef.org>
10104
10105         * gst/gstvalue.c: (gst_value_union_int_int_range),
10106         (gst_value_union_int_range_int_range), (gst_value_can_union),
10107         (gst_value_union), (_gst_value_initialize):  Add some union
10108         implementations.  We didn't have any previously.
10109         * testsuite/caps/Makefile.am:
10110         * testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
10111         (gst_audioscale_getcaps), (test_caps), (main): A little test
10112         that is the same as the caps manipulation in audioscale.
10113
10114 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10115
10116         * docs/faq/general.xml:
10117           add entry about "does gst support format X?"
10118
10119 2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
10120
10121         * gst/gstthread.c:
10122           fix docs
10123         * gst/gstutils.h:
10124           fix GST_BOILERPLATE_FULL to not throw casting errors on C++
10125
10126 2004-03-30  Benjamin Otte  <otte@gnome.org>
10127
10128         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
10129           set the offset of the buffer to the requested offset
10130         * gst/elements/gsttypefind.c: (stop_typefinding):
10131           revert patch 1.18 (which I unfortunately don't know the reason for).
10132           This is needed to allow downstream elements to seek. Otherwise
10133           typefind might overwrite a previous seek by downstream elements.
10134           This lead to errors with id3tag and typefind on some mp3s.
10135         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10136         (gst_entry_scheduler_iterate):
10137           be more verbose when debugging
10138
10139 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10140
10141         * gst/gstcaps.c: (gst_caps_from_string_inplace):
10142           make sure we don't get NULL strings
10143
10144 2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10145
10146         * gst/gstcaps.c:
10147         * gst/gstelement.c:
10148         * gst/gstelementfactory.c: (gst_element_factory_get_type):
10149         * gst/gstindex.c: (gst_index_resolver_get_type),
10150         (gst_index_get_type), (gst_index_factory_get_type):
10151         * gst/gstinfo.c:
10152         * gst/gstpad.c:
10153         * gst/gstplugin.c:
10154         * gst/gsturi.c: (gst_uri_handler_get_type):
10155         * gst/gstvalue.c:
10156           first batch of documentation fixes
10157
10158 2004-03-29  David Schleef  <ds@schleef.org>
10159
10160         * docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
10161         * docs/gst/gstreamer-docs.sgml:  More hacking
10162         * docs/gst/gstreamer-sections.txt:
10163         * docs/gst/tmpl/cothreads_compat.sgml:
10164         * docs/gst/tmpl/gstcaps.sgml:
10165         * docs/gst/tmpl/gstclock.sgml:
10166         * docs/gst/tmpl/gstelement.sgml:
10167         * docs/gst/tmpl/gstevent.sgml:
10168         * docs/gst/tmpl/gstpad.sgml:
10169         * docs/gst/tmpl/gstutils.sgml:
10170         * docs/gst/tmpl/gstxml.sgml:
10171         * docs/gst/tmpl/gthread-cothreads.sgml:
10172         * docs/random/ds/0.9-suggested-changes:
10173         * gst/elements/gstfakesink.h: doc fixes
10174         * gst/elements/gstfakesrc.h: doc fixes
10175         * gst/gstcaps.c: doc fixes
10176         * gst/gstcaps.h: doc fixes
10177         * gst/gstelement.c: doc fixes
10178         * gst/gstelement.h: doc fixes
10179         * gst/gstindex.c: doc fixes
10180         * gst/gstinfo.c: doc fixes
10181         * gst/gstpad.c: doc fixes
10182         * gst/gstpad.h: doc fixes
10183         * gst/gstplugin.c: doc fixes
10184         * gst/gsttypefind.h: doc fixes
10185         * gst/gsturi.c: doc fixes
10186         * gst/gstvalue.c: doc fixes
10187
10188 2004-03-29  Colin Walters  <walters@redhat.com>
10189
10190         * gst/registries/gstxmlregistry.c (get_time)
10191         (plugin_times_older_than_recurse):
10192         Use the result of stat to determine whether a path is a file,
10193         so we don't attempt to opendir() files.
10194
10195 2004-03-29  Benjamin Otte  <otte@gnome.org>
10196
10197         * gst/gstpad.c: (gst_pad_set_explicit_caps):
10198           print caps in debugging output when setting caps failed
10199         * gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
10200         (schedule_next_element), (get_buffer), (run_chainhandler),
10201         (element_may_start), (gst_entry_scheduler_chain_handler),
10202         (gst_entry_scheduler_get_handler),
10203         (gst_entry_scheduler_state_transition),
10204         (gst_entry_scheduler_pad_link):
10205           make this scheduler a testcase for mandatory
10206           discont-before-first-buffer which is needed if we want to allow apps
10207           to release the sound device.
10208           add SCHED_ASSERT macro to print scheduler state before an assertion
10209           triggers.
10210
10211 2004-03-29  Benjamin Otte  <otte@gnome.org>
10212
10213         * COPYING:
10214           replace by LGPL (former COPYING.LIB). The core is completely
10215           licensed LGPL.
10216         * COPYING.LIB:
10217           remove
10218
10219 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10220
10221         * po/af.po:
10222         * po/sv.po:
10223           updated Afrikaans and Swedish
10224
10225 2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10226
10227         * po/LINGUAS:
10228         * po/az.po:
10229           adding Azerbaijani (Mətin Əmirov)
10230
10231 2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
10232
10233         * gst/gstelement.h: 
10234         * gst/gstelement.c (gst_element_set_time_delay): New function for
10235         setting element time taking into account a hardware buffering
10236         delay.
10237         (gst_element_set_time): Now just an invocation of
10238         gst_element_set_time_delay.
10239         * gst/gstclock.h: 
10240         * gst/gstclock.c (gst_clock_get_event_time_delay): New function
10241         allowing to set event times in the future.
10242         (gst_clock_get_event_time): Now just an invocation of
10243         gst_clock_get_event_time_delay.
10244
10245 2004-03-28  Benjamin Otte  <otte@gnome.org>
10246
10247         * gst/gstbin.c: (gst_bin_set_element_sched),
10248         (gst_bin_unset_element_sched):
10249           don't add decoupled elements to schedulers - otherwise it's
10250           impossible to control if a link to a decoupled element was already
10251           removed from a scheduler or not.
10252         * gst/schedulers/cothreads_compat.h:
10253         * gst/schedulers/gthread-cothreads.h:
10254           add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
10255           is no "unused" warning.
10256         * gst/schedulers/Makefile.am:
10257         * gst/schedulers/entryscheduler.c:
10258           add new scheduler, based on ideas from talking to David and Martin.
10259           It's supposed to be small and correct. Currently it's also slow (but
10260           it's not noticable)
10261         * examples/retag/retag.c: (main):
10262         * testsuite/bytestream/test1.c: (main):
10263           fix missing NULLs at end of variadic functions
10264         * testsuite/elements/.cvsignore:
10265           update
10266
10267 2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
10268
10269         * gst/gstevent.h:
10270         Added GST_EVENT_ANY for GstEvents that pass a GstStructure
10271
10272 2004-03-25  David Schleef  <ds@schleef.org>
10273
10274         * docs/gst/gstreamer-sections.txt:  More doc hacking.
10275         * docs/gst/tmpl/gstaggregator.sgml:
10276         * docs/gst/tmpl/gstautoplugfactory.sgml:
10277         * docs/gst/tmpl/gstbin.sgml:
10278         * docs/gst/tmpl/gstbuffer.sgml:
10279         * docs/gst/tmpl/gstbufferstore.sgml:
10280         * docs/gst/tmpl/gstfakesink.sgml:
10281         * docs/gst/tmpl/gstfakesrc.sgml:
10282         * docs/gst/tmpl/gstmd5sink.sgml:
10283         * docs/gst/tmpl/gstreamer-unused.sgml:
10284         * docs/gst/tmpl/gstsearchfuncs.sgml:
10285         * docs/gst/tmpl/gstshaper.sgml:
10286         * docs/gst/tmpl/gstspider.sgml:
10287         * docs/gst/tmpl/gsttee.sgml:
10288         * docs/gst/tmpl/gstutils.sgml:
10289         * docs/gst/tmpl/gstvalue.sgml:
10290         * docs/gst/tmpl/gstxml.sgml:
10291         * gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
10292         and we don't support it.
10293         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10294         (gst_use_threads), (gst_has_threads): same
10295         * gst/gstthreaddummy.c: same
10296         * gst/autoplug/gstspider.c: Make gst_spider_details static.
10297         * gst/autoplug/gstspider.h: same
10298         * gst/elements/gstaggregator.h: Remove bogus function from header
10299         * gst/elements/gstfakesink.h: same
10300         * gst/elements/gstfakesrc.h: same
10301         * gst/elements/gstmd5sink.h: same
10302         * gst/elements/gstshaper.h: same
10303         * gst/elements/gsttee.h: same
10304         * gst/gstbin.c: doc fixes
10305         * gst/gstbin.h: Remove unused definition.
10306         * gst/gstbuffer.c: doc fixes
10307         * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
10308         * gst/gstfilter.c: doc fixes
10309         * gst/gsttag.c: doc fixes
10310         * gst/gstvalue.c: doc fixes
10311
10312 2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10313
10314         * docs/pwg/advanced-types.xml:
10315           Document typefinding.
10316         * docs/pwg/other-oneton.xml:
10317           Document one-to-n elements, demuxers and parsers.
10318
10319 2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
10320
10321         reviewed by: David Schleef  <ds@schleef.org>
10322
10323         * configure.ac: Check bison version (bug #127838)
10324
10325 2004-03-25  David Schleef  <ds@schleef.org>
10326
10327         * docs/gst/gstreamer-docs.sgml: More fine tuning.
10328         * docs/gst/gstreamer-sections.txt:
10329         * docs/gst/tmpl/gstautoplug.sgml:
10330         * docs/gst/tmpl/gststaticautoplug.sgml:
10331         * docs/gst/tmpl/gststaticautoplugrender.sgml:
10332         * docs/gst/tmpl/gstutils.sgml:
10333         * docs/gst/tmpl/gstxml.sgml:
10334
10335 2004-03-24  David Schleef  <ds@schleef.org>
10336
10337         * docs/gst/gstreamer-docs.sgml:  I got tired of the reference
10338         manual being such complete crap, that I decided to do major
10339         hacking of it.  This checkin replaces any fine tuning that
10340         may have been done previously, with the benefit of actually
10341         being complete for much of the API that was changed since
10342         0.6.  Further fine tuning will occur shortly.  (bug #134721)
10343         * docs/gst/gstreamer-sections.txt:
10344         * docs/gst/tmpl/GstBin.sgml:
10345         * docs/gst/tmpl/GstBuffer.sgml:
10346         * docs/gst/tmpl/GstCaps.sgml:
10347         * docs/gst/tmpl/GstClock.sgml:
10348         * docs/gst/tmpl/GstCompat.sgml:
10349         * docs/gst/tmpl/GstData.sgml:
10350         * docs/gst/tmpl/GstElement.sgml:
10351         * docs/gst/tmpl/GstEvent.sgml:
10352         * docs/gst/tmpl/GstIndex.sgml:
10353         * docs/gst/tmpl/GstStructure.sgml:
10354         * docs/gst/tmpl/GstTag.sgml:
10355         * docs/gst/tmpl/cothreads.sgml:
10356         * docs/gst/tmpl/cothreads_compat.sgml:
10357         * docs/gst/tmpl/gettext.sgml:
10358         * docs/gst/tmpl/grammar.tab.sgml:
10359         * docs/gst/tmpl/gst-i18n-app.sgml:
10360         * docs/gst/tmpl/gst-i18n-lib.sgml:
10361         * docs/gst/tmpl/gst.sgml:
10362         * docs/gst/tmpl/gst_private.sgml:
10363         * docs/gst/tmpl/gstaggregator.sgml:
10364         * docs/gst/tmpl/gstarch.sgml:
10365         * docs/gst/tmpl/gstatomic.sgml:
10366         * docs/gst/tmpl/gstatomic_impl.sgml:
10367         * docs/gst/tmpl/gstbin.sgml:
10368         * docs/gst/tmpl/gstbuffer.sgml:
10369         * docs/gst/tmpl/gstbufferstore.sgml:
10370         * docs/gst/tmpl/gstcaps.sgml:
10371         * docs/gst/tmpl/gstclock.sgml:
10372         * docs/gst/tmpl/gstcompat.sgml:
10373         * docs/gst/tmpl/gstconfig.sgml:
10374         * docs/gst/tmpl/gstcpu.sgml:
10375         * docs/gst/tmpl/gstdata.sgml:
10376         * docs/gst/tmpl/gstdata_private.sgml:
10377         * docs/gst/tmpl/gstelement.sgml:
10378         * docs/gst/tmpl/gstenumtypes.sgml:
10379         * docs/gst/tmpl/gsterror.sgml:
10380         * docs/gst/tmpl/gstevent.sgml:
10381         * docs/gst/tmpl/gstfakesink.sgml:
10382         * docs/gst/tmpl/gstfakesrc.sgml:
10383         * docs/gst/tmpl/gstfilesink.sgml:
10384         * docs/gst/tmpl/gstfilter.sgml:
10385         * docs/gst/tmpl/gstindex.sgml:
10386         * docs/gst/tmpl/gstinfo.sgml:
10387         * docs/gst/tmpl/gstinterface.sgml:
10388         * docs/gst/tmpl/gstlog.sgml:
10389         * docs/gst/tmpl/gstmacros.sgml:
10390         * docs/gst/tmpl/gstmarshal.sgml:
10391         * docs/gst/tmpl/gstmd5sink.sgml:
10392         * docs/gst/tmpl/gstmultifilesrc.sgml:
10393         * docs/gst/tmpl/gstobject.sgml:
10394         * docs/gst/tmpl/gstpad.sgml:
10395         * docs/gst/tmpl/gstparse.sgml:
10396         * docs/gst/tmpl/gstpipeline.sgml:
10397         * docs/gst/tmpl/gstplugin.sgml:
10398         * docs/gst/tmpl/gstpluginfeature.sgml:
10399         * docs/gst/tmpl/gstqueue.sgml:
10400         * docs/gst/tmpl/gstreamer-unused.sgml:
10401         * docs/gst/tmpl/gstregistry.sgml:
10402         * docs/gst/tmpl/gstregistrypool.sgml:
10403         * docs/gst/tmpl/gstscheduler.sgml:
10404         * docs/gst/tmpl/gstsearchfuncs.sgml:
10405         * docs/gst/tmpl/gstshaper.sgml:
10406         * docs/gst/tmpl/gstspider.sgml:
10407         * docs/gst/tmpl/gstspideridentity.sgml:
10408         * docs/gst/tmpl/gststructure.sgml:
10409         * docs/gst/tmpl/gstsystemclock.sgml:
10410         * docs/gst/tmpl/gsttag.sgml:
10411         * docs/gst/tmpl/gsttaginterface.sgml:
10412         * docs/gst/tmpl/gsttee.sgml:
10413         * docs/gst/tmpl/gstthread.sgml:
10414         * docs/gst/tmpl/gsttrace.sgml:
10415         * docs/gst/tmpl/gsttrashstack.sgml:
10416         * docs/gst/tmpl/gsttypefind.sgml:
10417         * docs/gst/tmpl/gsttypes.sgml:
10418         * docs/gst/tmpl/gsturi.sgml:
10419         * docs/gst/tmpl/gsturitype.sgml:
10420         * docs/gst/tmpl/gstutils.sgml:
10421         * docs/gst/tmpl/gstvalue.sgml:
10422         * docs/gst/tmpl/gstversion.sgml:
10423         * docs/gst/tmpl/gstxml.sgml:
10424         * docs/gst/tmpl/gstxmlregistry.sgml:
10425         * docs/gst/tmpl/gthread-cothreads.sgml:
10426         * docs/gst/tmpl/types.sgml:
10427
10428 2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10429
10430         * docs/pwg/other-sink.xml:
10431         * docs/pwg/other-source.xml:
10432           Documentation on how to write source and sink elements. Other
10433           stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
10434           manager, autoplugger) are all still pending.
10435
10436 2004-03-25  Benjamin Otte  <otte@gnome.org>
10437
10438         * testsuite/elements/Makefile.am:
10439         * testsuite/elements/gst-compprep-check:
10440           add check to make sure gst-compprep works
10441         * testsuite/elements/gst-inspect-check.in:
10442           improve initialization output
10443         * testsuite/Makefile.am:
10444         * testsuite/gst-inspect-check:
10445           remove old file
10446
10447 2004-03-24  David Schleef  <ds@schleef.org>
10448
10449         * testsuite/elements/Makefile.am:
10450         * testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
10451         to the testsuite.
10452
10453 2004-03-24  Benjamin Otte  <otte@gnome.org>
10454
10455         * libs/gst/control/dparam.c: (gst_dparam_attach),
10456         (gst_dparam_detach):
10457         * libs/gst/control/dparammanager.c: (gst_dpman_init):
10458           fix lvalue casts for real
10459
10460 2004-03-24  Benjamin Otte  <otte@gnome.org>
10461
10462         * gst/schedulers/gstbasicscheduler.c:
10463         (gst_basic_scheduler_src_wrapper):
10464         * gst/schedulers/gstoptimalscheduler.c:
10465         (gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
10466         (pad_clear_queued), (gst_opt_scheduler_add_element),
10467         (gst_opt_scheduler_remove_element):
10468           fix GStreamer to not have issues with lvalue casts anymore (fixes
10469           #136841)
10470
10471 2004-03-24  Benjamin Otte  <otte@gnome.org>
10472
10473         * gst/gstelement.c:
10474           add documentation about a gobject quirk where the object hasn't the
10475           correct class pointer set on initialization
10476         * gst/schedulers/gstbasicscheduler.c:
10477         (gst_basic_scheduler_src_wrapper):
10478           make sure to not run into an infinite loop
10479
10480 2004-03-22  Benjamin Otte  <otte@gnome.org>
10481
10482         * gst/gstutils.c: (gst_util_dump_mem):
10483         * gst/gstutils.h:
10484           first argument of gst_util_dump_mem should be const
10485
10486 2004-03-22  Johan Dahlin  <johan@gnome.org>
10487
10488         * gst/gstvalue.h: Clean up a little bit.
10489
10490 2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
10491
10492         reviewed by Benjamin Otte  <otte@gnome.org>
10493
10494         * gst/autoplug/gstspider.c: (gst_spider_dispose):
10495         * gst/elements/gstaggregator.c: (gst_aggregator_finalize),
10496         (gst_aggregator_class_init), (gst_aggregator_init):
10497         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
10498         (gst_filesrc_dispose), (gst_filesrc_set_location):
10499         * gst/elements/gstidentity.c: (gst_identity_finalize),
10500         (gst_identity_class_init), (gst_identity_chain):
10501         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
10502         * gst/elements/gststatistics.c: (gst_statistics_finalize),
10503         (gst_statistics_class_init):
10504         * gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
10505         (gst_tee_get_property):
10506           clean up used memory in this elements correctly on teardown (closes
10507           #137279)
10508
10509 2004-03-20  Colin Walters  <walters@redhat.com>
10510
10511         * gst/registries/gstxmlregistry.c:
10512         (gst_xml_registry_open_func, gst_xml_registry_close_func): Make
10513         registry saving atomic.
10514
10515 2004-03-20  Colin Walters  <walters@redhat.com>
10516
10517         * gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
10518         Just use
10519         access() instead of actually creating and deleting files.
10520
10521 2004-03-18  David Schleef  <ds@schleef.org>
10522
10523         * configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
10524         (bug #137625)
10525
10526 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10527
10528         * po/sv.po: updated translation (Christian Rose)
10529
10530 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10531
10532         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
10533         (gst_filesink_get_query_types), (_do_init),
10534         (gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
10535           return FALSE silently
10536         * po/af.po: updated translation (Petri Jooste)
10537
10538 2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10539
10540         * Makefile.am:
10541         * configure.ac:
10542           dist common properly
10543         * po/af.po:
10544         * po/fr.po:
10545         * po/nl.po:
10546         * po/sr.po:
10547         * po/sv.po:
10548           refreshing translations
10549
10550 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10551
10552         * po/LINGUAS:
10553         * po/sv.po:
10554         * po/af.po:
10555           adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
10556
10557 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10558
10559         * Makefile.am: use common/release.mak
10560
10561 2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10562
10563         * docs/faq/gst-uninstalled:
10564           adding gst-monkeysaudio to the list of possible plugin dirs
10565
10566 2004-03-16  David Schleef  <ds@schleef.org>
10567
10568         * gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
10569         (gst_init_check_with_popt_table):  Fix some gettext strings to
10570         make them easier to translate.  Required making the strings
10571         non-const.
10572
10573 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10574
10575         * configure.ac: bump nano to 1
10576
10577 === release 0.8.0 ===
10578
10579 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10580
10581         * configure.ac: release 0.8.0, "Executive Slacks"
10582
10583 2004-03-16  Johan Dahlin  <johan@gnome.org>
10584
10585         * gst/schedulers/gstoptimalscheduler.c
10586         (gst_opt_scheduler_pad_unlink): Remove double ;,
10587         spotted by Scott Wheeler
10588
10589 2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10590
10591         * configure.ac: bump libtool version
10592
10593 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10594
10595         * gst/gstcaps.h:
10596         * gst/gststructure.h:
10597           add reserved padding
10598
10599 2004-03-15  Benjamin Otte  <otte@gnome.org>
10600
10601         * gst/elements/gstfdsrc.c: (gst_fdsrc_get):
10602           set the first parameter for select call correctly.
10603           (fixes #137230)
10604
10605 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10606
10607         * *.c,*.h: don't mix tabs and spaces
10608
10609 2004-03-15  Johan Dahlin  <johan@gnome.org>
10610
10611         * gst/schedulers/gstoptimalscheduler.c
10612         (gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
10613         crash on MPEG playback. My boolean arithmetic is a bit rusty.
10614
10615         * tools/Makefile.am (EXTRA_DIST): Add gst-indent
10616         
10617 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10618
10619         * testsuite/Rules:
10620           fix gst-register rules
10621
10622 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10623
10624         * testsuite/Rules:
10625           use versioned gst-register
10626
10627 2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10628
10629         * docs/libs/gstreamer-libs-sections.txt:
10630           remove </SUBSECTION>
10631         * gst/gstplugin.c:
10632         * gst/gstregistry.c: (gst_registry_add_plugin):
10633         * gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
10634         (gst_xml_registry_open_func), (gst_xml_registry_close_func):
10635           add debugging and fix some comment blocks
10636
10637 2004-03-15  Johan Dahlin  <johan@gnome.org>
10638
10639         * *.h: Revert indent changes.
10640         
10641 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10642
10643         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
10644           g_error_free the g_error
10645         * tools/gst-feedback-m.m:
10646           check for other versions of gstreamer
10647         * tools/gst-indent:
10648           use sh, not bash
10649
10650 2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10651
10652         * tools/gst-register.c: do not spill paths when registries are not
10653           writable, until we fix the "user running gst-register" case.
10654
10655 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10656
10657         * *.c, *.h: commit of gst-indent run on core
10658
10659 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10660
10661         * tools/gst-indent:
10662         * tools/Makefile.am:
10663           add our indentation style as a script
10664
10665 2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10666
10667         * po/sr.po:
10668         * po/LINGUAS:
10669           added Serbian translation
10670
10671 2004-03-13  Benjamin Otte  <otte@gnome.org>
10672
10673         * gst/gstelement.c:
10674           add documentation note about gst_element_found_tags_for_pad not
10675           being usable in getfunctions. (see #137042)
10676
10677 2004-03-12  David Schleef  <ds@schleef.org>
10678
10679         * gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
10680         change API right now!  Readd gst_caps_is_simple() macro.
10681         * gst/gstelement.c: (gst_element_base_class_finalize): Fix
10682         uninitialized variable.  I'd bet this caused crashes.
10683         * gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
10684
10685 2004-03-12  Johan Dahlin  <johan@gnome.org>
10686
10687         * gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
10688         * gst/gstcaps.h: Clean up
10689
10690         * gst/gst.c (init_post): call gst_caps_get_type() instead of
10691         _gst_caps_initalize()
10692
10693         * gst/gstcaps.c: Style fixes, stay closer to glib and friends
10694         (_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
10695
10696         * gst/gststructure.c (gst_structure_get_type): Ditto
10697
10698         * gst/gststructure.h: Ditto
10699         
10700 2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10701
10702         * gst/gstqueue.c: (gst_queue_init):
10703           Reset default max. values in queues. Reason is simply to avoid
10704           braindead use. If you want wider values, use the properties. The
10705           default is supposed to always work. Wider values would make this
10706           beast a memory hog by default (250 full-PAL RGB32 video frames?
10707           That's 440 MB! No thank you).
10708
10709 2004-03-10  David Schleef  <ds@schleef.org>
10710
10711         * tools/gst-run.c: (main):  Fix crash when no relevant tools
10712         were found.  (bug #136793)
10713
10714 2004-03-10  Johan Dahlin  <johan@gnome.org>
10715
10716         * gst/schedulers/gstoptimalscheduler.c
10717         (gst_opt_scheduler_pad_unlink): Implement unlink for elements with
10718         links to elements within the same group, so we can finally remove
10719         that annoying warning. Refactor the code a little bit
10720         (group_dec_links_for_element): Split out
10721
10722 2004-03-09  David Schleef  <ds@schleef.org>
10723
10724         * docs/manual/dparams-app.xml:  Fix to handle double dparams.
10725         (bug #134863)
10726
10727 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10728
10729         * configure.ac: first bug fix due to major/minor bump
10730
10731 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10732
10733         * configure.ac: bump nano to 1
10734
10735 === release 0.7.6 ===
10736
10737 2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10738
10739         * NEWS:
10740         * RELEASE:
10741         * configure.ac:
10742           releasing 0.7.6, "Almost"
10743         * po/fr.po:
10744         * po/nl.po:
10745         * tools/Makefile.am:
10746         * tools/gst-feedback-m.m:
10747           unversioned source
10748
10749 2004-03-09  Johan Dahlin  <johan@gnome.org>
10750
10751         Reviewed by: Thomas Vander Stichele
10752
10753         * gst/gstelement.c (gst_element_class_init): register second
10754         parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
10755         language bindings can (de)marshall correctly.
10756
10757         * gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
10758
10759         * gst/gsterror.c (gst_g_error_get_type): New function
10760
10761         * gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
10762         with VOID:OBJECT,OBJECT,STRING 
10763
10764 2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
10765
10766         * gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
10767         Free a leaked g_timer on early returns.
10768
10769 2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
10770
10771         * docs/pwg/advanced-types.xml:
10772           Add cinepak description.
10773
10774 2004-03-07  David Schleef  <ds@schleef.org>
10775
10776         * docs/random/mimetypes:  Added cinepak description
10777
10778 2004-03-07  Andy Wingo  <wingo@pobox.com>
10779
10780         * gst/gstbin.c (gst_bin_remove): Debugging fixes.
10781
10782         * gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
10783         there are no links to other groups when a group is destroyed.
10784         (gst_opt_scheduler_pad_unlink): If the unlink means an element is
10785         removed from a group, make sure the link count to elements linked
10786         to other pads is appropriately decremented. This really fixes
10787         #135672.
10788
10789         The 1.60->1.61 patch has been reapplied in light of this fix.
10790
10791         * gst/gstelement.c (gst_element_dispose): Really protect against
10792         multiple invocations this time.
10793
10794 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10795
10796         * docs/gst/gstreamer-sections.txt:
10797         * docs/gst/tmpl/gsttag.sgml:
10798           remove some deprecated functions, document some existing ones
10799         * gst/gsttag.c: (gst_tag_get_flag):
10800         * gst/gsttag.h:
10801           add accessor function
10802
10803 2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10804
10805         * docs/gst/gstreamer-sections.txt:
10806         * docs/gst/tmpl/gsttag.sgml:
10807         * docs/gst/tmpl/gstxml.sgml:
10808         * gst/gsttag.c: (gst_tag_get_flag):
10809         * gst/gsttag.h:
10810
10811 2004-03-06  Christophe Fergeau  <teuf@gnome.org>
10812
10813         * gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
10814         leak
10815
10816 2004-03-05  David Schleef  <ds@schleef.org>
10817
10818         * REQUIREMENTS: Add bison and flex.
10819         * configure.ac: Fix comment about bison.
10820         * docs/random/ds/0.9-suggested-changes: yer ma
10821         * tools/gst-inspect.c: (print_element_info):  Fix warning.
10822
10823 2004-03-05  Benjamin Otte  <otte@gnome.org>
10824
10825         * gst/gstelement.c: (gst_element_error_full):
10826           revert recent recursive state changing commit - messing with other
10827           elements' states is evil and should be done by apps only.
10828
10829 2004-03-05  Benjamin Otte  <otte@gnome.org>
10830
10831         * gst/gstelement.c: (gst_element_get_compatible_pad_template):
10832           check for empty intersection instead of NULL caps
10833         (gst_element_get_compatible_pad_filtered):
10834           remove old workaround that is only a bug nowadays
10835
10836 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10837
10838         * gst/gstelement.c: (gst_element_error_full):
10839           make elements try to recursively change state to PAUSED on all
10840           parents after an error to suppress ensuing warnings
10841         * gst/parse/grammar.y:
10842           make it check if it was able to sync the state, and throw an error
10843           if not, so stuff like
10844           oggdemux ! vorbisdec ! osssink gets caught
10845
10846 2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10847
10848         * configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
10849           it contains lib64; use AS_AC_EXPAND to handle it properly
10850
10851 2004-03-05  David Schleef  <ds@schleef.org>
10852
10853         * gst/gstcpuid_i386.s:  Remove unused code
10854         * libs/gst/getbits/getbits.c: (gst_getbits_init),
10855         (gst_getbits_newbuf): Remove MMX code
10856         * libs/gst/getbits/getbits.h: Remove MMX code
10857
10858 2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
10859
10860         * debian/.cvsignore:
10861         * debian/README.Debian:
10862         * debian/changelog:
10863         * debian/control:
10864         * debian/control.in:
10865         * debian/copyright:
10866         * debian/gstreamer-core-libs-dev.files:
10867         * debian/gstreamer-core-libs.files:
10868         * debian/gstreamer-core.files:
10869         * debian/gstreamer-core.postinst:
10870         * debian/gstreamer-core.postrm:
10871         * debian/gstreamer-doc.files:
10872         * debian/gstreamer-doc.links:
10873         * debian/gstreamer-doc.lintian:
10874         * debian/gstreamer-runtime.files:
10875         * debian/gstreamer-runtime.manpages:
10876         * debian/gstreamer-runtime.postinst:
10877         * debian/gstreamer-runtime.postrm:
10878         * debian/gstreamer-tools.files:
10879         * debian/gstreamer-tools.manpages:
10880         * debian/libgstreamer-dev.files:
10881         * debian/libgstreamer0.4.1.files:
10882         * debian/libgstreamerVERSION.files:
10883         * debian/rules:
10884         Debian package info not maintained here.
10885
10886 2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10887
10888         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
10889         * gst/gstbin.c: (gst_bin_class_init):
10890         * gst/gstelement.c: (gst_element_class_init):
10891         * gst/gstindex.c: (gst_index_class_init):
10892         * gst/gstobject.c: (gst_object_class_init),
10893         (gst_signal_object_class_init):
10894         * gst/gstpad.c: (gst_pad_template_class_init):
10895         * gst/gstregistry.c: (gst_registry_class_init):
10896         * gst/gsturi.c: (gst_uri_handler_base_init):
10897         * gst/gstxml.c: (gst_xml_class_init):
10898         * libs/gst/control/dparam.c: (gst_dparam_class_init):
10899         * libs/gst/control/dparammanager.c: (gst_dpman_class_init):
10900           make all signal names use dashes instead of underscore
10901
10902 2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10903
10904         * configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
10905
10906 2004-03-03  Benjamin Otte  <otte@gnome.org>
10907
10908         * gst/schedulers/gstoptimalscheduler.c:
10909           revert last commit by Andy Wingo. It causes segfaults on unreffing
10910           in Rhythmbox. (see bug #135672)
10911
10912 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
10913
10914         * po/fr.po: fix typo
10915
10916 2004-03-02  Christophe Fergeau  <teuf@gnome.org>
10917
10918         * tools/gst-inspect.c: (main): 
10919         * tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
10920
10921 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10922
10923         * configure.ac:
10924           get GLIB_ONLY and POPT flags for the nonversioned binaries
10925         * tools/Makefile.am:
10926           use them
10927
10928 2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10929
10930         * gst/gst.c: (init_post):
10931           change so that GST_REGISTRY now is where the global registry gets
10932           saved, since that is where plugins now get attached to first, and
10933           spilled over to the user registry.  Note that in the case of using
10934           GST_REGISTRY env var, we don't want to affect any real registries
10935           beyond the one given by this var, and thus we don't set a user
10936           registry to spill to.  So make sure GST_REGISTRY is writable.
10937
10938 2004-03-01  David Schleef  <ds@schleef.org>
10939
10940         * AUTHORS:  Added some names.  Add yourself if you're missing.
10941
10942 2004-03-01  David Schleef  <ds@schleef.org>
10943
10944         * MAINTAINERS: Add
10945
10946 2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10947
10948         * configure.ac:
10949           remove whitespace
10950         * docs/gst/tmpl/gstbuffer.sgml:
10951         * docs/gst/tmpl/gstdata.sgml:
10952         * docs/gst/tmpl/gstreamer-unused.sgml:
10953         * docs/gst/tmpl/gstxml.sgml:
10954           doc update
10955         * docs/manuals.mak:
10956           add a FIXME
10957         * docs/pwg/intro-preface.xml:
10958         * docs/pwg/pwg.xml:
10959           remove GNOME
10960         * gst/gst.c: (init_post):
10961           try GST_PLUGIN_PATH paths for the _global_registry first
10962         * gst/gstelement.h:
10963           add the error message as well, otherwise (null) debug info doesn't
10964           make much sense
10965         * tools/gst-register.c: (main):
10966           spill paths to next registry if this registry is not writable
10967         * po/fr.po:
10968         * po/nl.po:
10969           translation updates
10970
10971 2004-03-01  Johan Dahlin  <johan@gnome.org>
10972
10973         * gst/gstbuffer.c (_gst_buffer_initialize): 
10974         * gst/gstdata.c (gst_data_get_type): 
10975         * gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
10976         instead of ref, since some applications that uses GBoxed
10977         routines depends on a function that actually returns a copy.
10978
10979 2004-02-27  Benjamin Otte  <otte@gnome.org>
10980
10981         * gst/gstbuffer.h:
10982           remove gst_buffer_free, use gst_data_unref
10983         * gst/gstdata.c: (gst_data_get_type):
10984           use refcounting in GstData GBoxed registration
10985         * gst/gstdata.h:
10986           remove gst_data_free, use gst_data_unref
10987
10988 2004-02-27  Johan Dahlin  <johan@gnome.org>
10989
10990         * gst/gstdata.c (gst_data_get_type): New function, register
10991         GstData as a GBoxed type.
10992
10993         * gst/gstdata.h (GST_TYPE_DATA): New macro
10994
10995 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10996
10997         * Makefile.am:
10998         * gstreamer.spec.in:
10999           put back RELEASE
11000         * gst/Makefile.am:
11001           clean up non-disting of built files
11002         * testsuite/debug/commandline.c:
11003           test fix for option rename
11004
11005 2004-02-26  David Schleef  <ds@schleef.org>
11006
11007         * configure.ac:  We don't really need glib-2.3.  Also remove
11008         some unneeded checks for library functions.
11009         * gst/Makefile.am:  Instead, we need to not dist files created
11010         by glib-genmarshal.
11011
11012 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11013
11014         * configure.ac:
11015           bump glib required version to 2.3.0 for g_value_takes_boxed
11016
11017  2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
11018
11019         * common/m4/gst-docs.m4
11020         change flavour text from enable to disable as enable is our default
11021         closes bug Bug 135304
11022
11023 === release 0.7.5 ===
11024  
11025  2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11026  
11027         * NEWS:
11028           instate NEWS file
11029         * Makefile.am:
11030         * gstreamer.spec.in:
11031         * RELEASE:
11032           put back release
11033         * configure.ac:
11034         * docs/random/release:
11035           more updates
11036
11037 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11038
11039         * gst/gsttag.c: (_gst_tag_initialize):
11040         * po/fr.po:
11041         * po/nl.po:
11042           remove hyphen from codec tags
11043
11044 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11045
11046         * gst/parse/Makefile.am:
11047           fix dependency so that a make from a clean build works the first
11048           time
11049
11050 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11051
11052         * docs/random/release:
11053           update release strategy
11054         * po/fr.po:
11055           auto-update po file
11056         * po/nl.po:
11057           update dutch translation
11058
11059 2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11060
11061         * docs/manual/debugging.xml:
11062         fix manual for new debugging system
11063
11064 2004-02-25  Andy Wingo  <wingo@pobox.com>
11065
11066         * gst/gstpad.c (gst_pad_link_prepare): Re-add
11067         gst_pad_link_prepare. Please email the list with specific reasons
11068         for reverting.
11069
11070 2004-02-24  Andy Wingo  <wingo@pobox.com>
11071
11072         * gst/gstelement.c (gst_element_dispose): Protect against multiple
11073         invocations.
11074
11075         * gst/schedulers/gstoptimalscheduler.c:
11076         I added a mess of prototypes at the top of the file by way of
11077         documentation. Some of the operations on chains and groups were
11078         re-organized.
11079
11080         (create_group): Added a type argument so if the group is enabled,
11081         the setup_group_scheduler knows what to do.
11082         (group_elements): Added a type argument here, too, to be passed on
11083         to create_group.
11084         (group_element_set_enabled): If an unlinked PLAYING element is
11085         added to a bin, we have to create a new group to hold the element,
11086         and this function will be called before the group is added to the
11087         chain. Thus we have a valid case for group->chain==NULL. Instead
11088         of calling chain_group_set_enabled, just set the flag on the group
11089         (the chain's status will be set when the group is added to it).
11090         (gst_opt_scheduler_state_transition, chain_group_set_enabled):
11091         Setup the group scheduler when the group is enabled, not
11092         specifically when an element goes PAUSED->PLAYING. This means
11093         PLAYING elements can be added, linked, and scheduled into a
11094         PLAYING pipeline, as was intended.
11095         (add_to_group): Don't ref the group twice. I don't know when this
11096         double-ref got in here. Removing it has the potential to cause
11097         segfaults if other parts of the scheduler are buggy. If you find
11098         that the scheduler is segfaulting for you, put in an extra ref
11099         here and see if that hacks over the underlying issue. Of course,
11100         then find out what code is unreffing a group it doesn't own...
11101         (create_group): Make the extra refcount floating, and remove it
11102         after adding the element. This means that...
11103         (unref_group): Destroy when the refcount reaches 0, not 1, like
11104         every other refcounted object in the known universe.
11105         (remove_from_group): When a group becomes empty, set it to be not
11106         active, and remove it from its chain. Don't unref it again,
11107         there's no floating reference any more.
11108         (destroy_group): We have to remove the group from the chain in
11109         remove_from_group (rather than here) to break refcounting cycles
11110         (the chain always has a ref on the group). So assert that
11111         group->chain==NULL.
11112         (ref_group_by_count): Removed, it was commented out anyway.
11113         (merge_chains): Use the remove_from_chain and add_to_chain
11114         primitives to do the reparenting, instead of rolling our own
11115         implementation.
11116         (add_to_chain): The first non-disabled group in the chain's group
11117         list will be the entry point for the chain. Because buffers can
11118         accumulate in loop elements' peer bufpens, we preferentially
11119         schedule loop groups before get groups to avoid unnecessary
11120         execution of get-based groups when the bufpens are already full.
11121         (gst_opt_scheduler_schedule_run_queue): Debug fixes.
11122         (get_group_schedule_function): Ditto.
11123         (loop_group_schedule_function): Ditto.
11124         (gst_opt_scheduler_loop_wrapper): Ditto.
11125         (gst_opt_scheduler_iterate): Ditto.
11126
11127         I understand the opt scheduler now, yippee!
11128
11129         * gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
11130         (gst_pad_get_name, gst_pad_set_chain_function) 
11131         (gst_pad_set_get_function, gst_pad_set_event_function) 
11132         (gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
11133         (gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
11134         (gst_pad_set_query_function, gst_pad_get_query_types) 
11135         (gst_pad_get_query_types_default) 
11136         (gst_pad_set_internal_link_function) 
11137         (gst_pad_set_formats_function, gst_pad_set_link_function) 
11138         (gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
11139         (gst_pad_set_bufferalloc_function, gst_pad_unlink) 
11140         (gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
11141         (gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
11142         (gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
11143         (gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
11144         (gst_pad_get_peer, gst_pad_get_allowed_caps) 
11145         (gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
11146         (gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
11147         (gst_pad_event_default_dispatch, gst_pad_event_default) 
11148         (gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
11149         (gst_pad_convert, gst_pad_query_default, gst_pad_query) 
11150         (gst_pad_get_formats_default, gst_pad_get_formats): Better
11151         argument checks, and some doc fixes.
11152
11153         (gst_pad_custom_new_from_template): Um, does anyone
11154         use these functions? Actually make a custom pad instead of a
11155         normal one.
11156         (gst_pad_try_set_caps): Transpose some checks.
11157         (gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
11158         the pad is in negotiation.
11159         (gst_pad_try_relink_filtered): Use pad_link_prepare.
11160         
11161         * gst/gstelement.c: Remove prototypes also defined in gstclock.h.
11162
11163         * gst/gstelement.h: 
11164         * gst/gstclock.h: Un-deprecate the old clocking API, as discussed
11165         on the list.
11166
11167 2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11168
11169         * gst/gstbin.c: (gst_bin_add):
11170           add error for not being able to add elements
11171
11172 2004-02-22  Julien MOUTTE <julien@moutte.net>
11173
11174         * gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
11175         audio-codec and video-codec.
11176
11177 2004-02-22  Benjamin Otte  <otte@gnome.org>
11178
11179         reported by: Padraig O'Briain <padraig.obriain@sun.com>
11180
11181         * autogen.sh:
11182           replace test -e with test -x for mkinstalldirs to be more portable.
11183           (fixes #134816)
11184
11185 2004-02-22  Benjamin Otte  <otte@gnome.org>
11186
11187         * gst/gstpad.c:
11188           revert last patch from Andy, it makes gst_pad_can_link_filtered much
11189           too noisy
11190         * gst/gsttag.c: (_gst_tag_initialize):
11191         * gst/gsttag.h:
11192           add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
11193         * libs/gst/control/dparam.c: (gst_dparam_attach):
11194         * libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
11195           check that types for attached dparams match
11196
11197 2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11198
11199         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
11200         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11201         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
11202           fix errors
11203
11204 2004-02-20  Andy Wingo  <wingo@pobox.com>
11205
11206         * gst/gstbin.c:
11207         * gst/gstbuffer.c:
11208         * gst/gstplugin.c:
11209         * gst/registries/gstxmlregistry.c: 
11210         * gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
11211
11212         * gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
11213         (gst_element_add_pad): DEBUG->INFO, some fixes.
11214         (gst_element_get_compatible_pad_template): Just see if the
11215         templates' caps intersect, not if one is a strict subset of the
11216         other. This conforms more to what gst_pad_link_intersect() does.
11217         (gst_element_class_add_pad_template): Don't memcpy the pad
11218         template, just ref it.
11219         (gst_element_get_compatible_pad_filtered): Clean up debug messages
11220
11221         * gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
11222         (gst_pad_link_filtered): Debug changes.
11223         (gst_pad_link_prepare): New function, consolidated from
11224         can_link_filtered and link_filtered.
11225
11226         * gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
11227         look more like that of the functions in gstelement.c
11228
11229         * gst/gstinfo.c (gst_debug_print_object): Put a space before the
11230         object, and return the empty string if object is NULL.
11231
11232         * gst/parse/parse.l: Remove trailing newlines when calling PRINT.
11233         * gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
11234         LOG, not DEBUG. We still get flex info on debug.
11235
11236         * gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
11237         debug string more verbose.
11238         (plugin_times_older_than): DEBUG->LOG.
11239
11240 2004-02-20  Julien MOUTTE <julien@moutte.net>
11241
11242         * gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
11243         will emit found_tag for each stream they demux with the codec.
11244
11245 2004-02-20  Benjamin Otte  <otte@gnome.org>
11246
11247         * gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
11248           copy navigation event correctly. Check freeing tag lists. 
11249         * gst/gstthread.c: (gst_thread_change_state):
11250           don't abort() on state changing mess - it might happen because of
11251           bugs.
11252         * gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
11253           use boxed functions
11254         * gst/gstvalue.h:
11255           fix GST_VALUE_HOLDS_CAPS
11256
11257 2004-02-19  David Schleef  <ds@schleef.org>
11258
11259         * gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
11260         and use it for GST_FUNCTION.  (bug #134750)
11261
11262 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11263
11264         * po/fr.po:
11265         * po/nl.po:
11266           updating translations
11267
11268 2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11269
11270         * tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
11271
11272 2004-02-18  kost@imn.htwk-leipzig.de
11273
11274         reviewed by: David Schleef  <ds@schleef.org>
11275
11276         * docs/libs/gstreamer-libs-sections.txt:  Add missing sections
11277         for libgstcontrol.
11278
11279 2004-02-18  David Schleef  <ds@schleef.org>
11280
11281         * libs/gst/control/dparam.c: (gst_dparam_class_init):
11282         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11283         (gst_dpsmooth_new): Additional fixes to get double dparams working.
11284         * tools/gst-inspect.c: (print_element_info): Support dumping of
11285         double dparam information.
11286
11287 2004-02-17  David Schleef  <ds@schleef.org>
11288
11289         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
11290         Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
11291         * gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
11292         Use GST_TYPE_CAPS in signal prototype.
11293         * gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
11294         Convert GST_TYPE_CAPS to boxed.
11295         * gst/gstelement.c: (gst_element_class_init):
11296         Use GST_TYPE_TAG_LIST in signal prototype.
11297         * gst/gstindex.c: (gst_index_class_init):
11298         * gst/gstindex.h:
11299         Add GST_TYPE_INDEX_ENTRY type.
11300         * gst/gstmarshal.list:
11301         Add necessary marshal types.
11302         * gst/gstpad.c: (gst_real_pad_class_init),
11303         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
11304         (gst_pad_recover_caps_error):
11305         Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
11306         * gst/gststructure.c: (_gst_structure_initialize),
11307         (gst_structure_copy), (_gst_structure_copy_conditional):
11308         * gst/gststructure.h:
11309         Convert GST_TYPE_STRUCTURE to boxed.
11310         * gst/gsttag.c: (gst_tag_list_get_type):
11311         * gst/gsttag.h:
11312         Add GST_TYPE_TAG_LIST type.
11313
11314 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11315
11316         * gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
11317         to what we agreed with david.
11318         * gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
11319
11320 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11321
11322         * po/nl.po: update translation
11323
11324 2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11325
11326         * gst/autoplug/gstspider.c: (gst_spider_identity_plug):
11327           throw an error if spider is trying to play a mime type there is
11328           no decoder for
11329         * po/POTFILES.in:
11330           add gst/autoplug/gstspider.c for translation
11331
11332 2004-02-17  Julien MOUTTE  <julien@moutte.net>
11333
11334         * gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
11335         silently when the pad is negotiating.
11336
11337 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11338
11339         * docs/faq/Makefile.am:
11340           add script to run gstreamer uninstalled 
11341         * docs/faq/faq.xml:
11342         * docs/faq/developing.xml:
11343         * docs/faq/gst-uninstalled:
11344           extract script to run gstreamer uninstalled
11345         * docs/manuals.mak:
11346           add EXTRA_SOURCES variable for Makefile.am's to set to
11347           use additional SOURCE files for the doc build
11348
11349 2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11350
11351         * gst/gstatomic_impl.h: Fedora 2 test package patch for S390
11352
11353 2004-02-15  Julien MOUTTE  <julien@moutte.net>
11354
11355         * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
11356         bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
11357         an error was thrown by osssink. Basically a state change failure for
11358         an element in a different scheduling group was considered as
11359         successful, which means that caps nego was going on and weird stuff
11360         happened. Like I wrote in the comment there, if someone wants to
11361         revert that please drop me a mail explaining why because I really see
11362         no point in keeping that broken behaviour there.
11363         * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
11364         be empty, we then return NULL which will trigger a nice error when 
11365         pulling from the pad.
11366
11367 2004-02-13  David Schleef  <ds@schleef.org>
11368
11369         * libs/gst/control/dparam.c: (gst_dparam_class_init),
11370         (gst_dparam_get_property), (gst_dparam_set_property),
11371         (gst_dparam_do_update_default):
11372         * libs/gst/control/dparam.h:
11373         * libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
11374         (gst_dpsmooth_new), (gst_dpsmooth_set_property),
11375         (gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
11376         (gst_dpsmooth_do_update_double):
11377         * libs/gst/control/dparam_smooth.h:
11378         * libs/gst/control/dparammanager.c:
11379         (gst_dpman_inline_direct_update):
11380         Add support for double dparams.
11381
11382 2004-02-13  David Schleef  <ds@schleef.org>
11383
11384         * gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
11385         * gst/gstclock.h: Avoid using 64-bit % operator (slow!)
11386
11387 2004-02-13  Mattias Wadman  <mattias@sudac.org>
11388
11389         reviewed by: David Schleef  <ds@schleef.org>
11390
11391         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11392         (gst_fdsrc_init), (gst_fdsrc_set_property),
11393         (gst_fdsrc_get_property), (gst_fdsrc_get):
11394         * gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
11395         and sends an EOS event if file descriptor reading times out.
11396
11397 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11398
11399         * configure.ac:
11400           add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
11401
11402 2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11403
11404         * configure.ac: pass required libxml version as argument
11405         (bug reported by Christophe Fergeau)
11406
11407 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11408   
11409         * docs/gst/gstreamer-docs.sgml:
11410         * docs/gst/tmpl/gstxml.sgml:
11411         * docs/libs/gstreamer-libs-docs.sgml:
11412           version API docs
11413
11414 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11415
11416         * gst/gstinfo.c:
11417         * gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
11418         (gst_registry_pool_feature_filter):
11419         * gst/gstthread.c: (gst_thread_class_init):
11420         * gst/gstvalue.c:
11421           add includes exposed by building without libxml
11422         * gst/indexers/Makefile.am:
11423           do not build fileindex when LOADSAVE disabled; we should have
11424           a better libxml check later since fileindex depends on xml, not
11425           LOADSAVE or REGISTRY
11426         * libs/gst/control/Makefile.am:
11427           link with m
11428         * tools/Makefile.am:
11429           fix wrong source code for gst-xmlinspect
11430
11431 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11432
11433         * configure.ac:
11434           fix gcov help output
11435           move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
11436         * docs/random/release:
11437           some updated releasing notes
11438         * gstreamer.spec.in:
11439           more updates
11440
11441 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11442
11443         * docs/faq/faq.xml:
11444         * docs/manual/manual.xml:
11445         * docs/pwg/pwg.xml:
11446         * docs/pwg/titlepage.xml:
11447           put version in documentation
11448
11449 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11450
11451         * tools/Makefile.am: fix man page installation
11452
11453 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11454
11455         * configure.ac:
11456           don't check for libxml when load/save and registry disabled (#105844)
11457         * gstreamer.spec.in:
11458           sync with fedora candidate spec
11459
11460 2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11461
11462         * po/fr.po:
11463         * po/nl.po:
11464           replace multidisksrc with multifilesrc
11465
11466 2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11467
11468         * po/POTFILES.in:
11469           update to multidisksrc => multifilesrc file renaming (#134145)
11470
11471 2004-02-11  David Schleef  <ds@schleef.org>
11472
11473         * docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
11474         * docs/gst/tmpl/gstpadtemplate.sgml: same
11475         * docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
11476         * gst/gstobject.c: (gst_object_set_name_default): Do the memleak
11477         fixing dance.
11478         * gst/gstutils.c: Remove disabled code that uses GstProps.
11479         * gst/registries/gstxmlregistry.h: same
11480         * docs/random/ds/0.9-suggested-changes: random notes
11481
11482 2004-02-11  kost@imn.htwk-leipzig.de
11483
11484         reviewed by: David Schleef  <ds@schleef.org>
11485
11486         * gst/gstclock.c: (gst_clock_entry_new): fixes structure
11487         initialisation of clock (bug #134128)
11488
11489 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11490
11491         * configure.ac:
11492         * gst/elements/Makefile.am:
11493         * gst/elements/gstelements.c:
11494         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
11495         (gst_multifilesrc_class_init), (gst_multifilesrc_init),
11496         (gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
11497         (gst_multifilesrc_get), (gst_multifilesrc_open_file),
11498         (gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
11499         * gst/elements/gstmultifilesrc.h:
11500           rename multidisksrc to multifilesrc (part of #122200)
11501
11502 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11503
11504         * docs/manuals.mak:
11505           fix automake complaints
11506         * gst-element-check.m4:
11507           fix unquotedness
11508
11509 2004-02-11  David Schleef  <ds@schleef.org>
11510
11511         * docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
11512         * gst/gstatomic_impl.h: Disable sparc implementation.
11513
11514 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11515
11516         * gst-element-check.m4:
11517           fix underquoted macros as reported by automake 1.8.x (#133800)
11518         * configure.ac:
11519           require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
11520           by autopoint (fixes #132996)
11521
11522 2004-02-10  Andy Wingo  <wingo@pobox.com>
11523
11524         * gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
11525         way to do inheritance.
11526         (gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
11527         (gst_pad_get_query_types, gst_pad_get_query_types_default):
11528         Routine docs.
11529         (gst_pad_set_link_function, gst_pad_set_fixate_function) 
11530         (gst_pad_set_getcaps_function): Doc from Dave's negotation random
11531         doc.
11532         (gst_pad_unlink, gst_pad_is_linked): Docs.
11533         (gst_pad_renegotiate): A brief description of capsnego.
11534         (gst_pad_try_set_caps): Document.
11535         (gst_pad_try_set_caps_nonfixed): Document.
11536         (gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
11537         (gst_pad_set_parent): Deprecated (although not out of the API).
11538         (gst_pad_get_parent): Deprecated, although many plugins use this.
11539         (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
11540         are private and will go away in 0.9.
11541         (gst_pad_perform_negotiate): Doc.
11542         (gst_pad_link_unnegotiate): I think this is meant to be static.
11543         (gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
11544         (gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
11545         (gst_pad_get_peer): Doc updates.
11546         (gst_pad_caps_change_notify): Doc.
11547         (gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
11548         (gst_ghost_pad_new): Doc fixes.
11549
11550         * gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
11551         (gst_object_check_uniqueness): 
11552
11553         * gst/gstelement.c (gst_element_add_pad) 
11554         (gst_element_add_ghost_pad, gst_element_remove_pad) 
11555         (gst_element_remove_ghost_pad, gst_element_get_pad) 
11556         (gst_element_get_static_pad, gst_element_get_pad_list) 
11557         (gst_element_class_get_pad_template_list) 
11558         (gst_element_class_get_pad_template): Work on the docs.
11559         (gst_element_get_pad_template_list): Uses the class method.
11560         (gst_element_get_compatible_pad_template): Docs, and consolidate
11561         some test conditions. 
11562         (gst_element_get_pad_from_template): New static function.
11563         (gst_element_request_compatible_pad): Docs, and work with
11564         non-request compatible templates. 
11565         (gst_element_get_compatible_pad_filtered): Docs and remove
11566         redundant checks.
11567         (gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
11568         (gst_element_link_filtered, gst_element_link_many) 
11569         (gst_element_link, gst_element_link_pads) 
11570         (gst_element_unlink_many): Docs.
11571
11572 2004-02-05  Andy Wingo  <wingo@pobox.com>
11573
11574         * gst/gstpad.c (_gst_real_pad_fixate_accumulator):
11575         s/pointer/boxed/.
11576
11577         * gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
11578
11579         * gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
11580         marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
11581         with the type=GST_TYPE_CAPS. This allows language bindings to know
11582         what kind of data they're dealing with.
11583
11584         * gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
11585         to NULL when g_value_init is called. GstCaps, which rolls its own
11586         type implementation, now does the same instead of allocating empty
11587         caps.
11588         (_gst_caps_initialize, _gst_caps_collect_value,
11589         _gst_caps_lcopy_value): Provide collect_value and lcopy_value type
11590         table methods. This allows G_VALUE_COLLECT to work.
11591
11592 2004-02-05  Andy Wingo  <wingo@pobox.com>
11593
11594         * configure.ac:
11595         * testsuite/Makefile.am (SUBDIRS): 
11596         * testsuite/ghostpads/Makefile.am: 
11597         * testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
11598
11599         * gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
11600         These two routines are the only ones that set
11601         GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
11602         pad template. They should be made static, depending on ABI needs.
11603         (gst_real_pad_dispose): Handle the case of ghost pads without a
11604         parent. Assert after dealing with ghost pads that the ghost pad
11605         list is empty.
11606         (gst_ghost_pad_class_init): New property added, ::real-pad. Can be
11607         set after creation.
11608         (gst_ghost_pad_dispose): Set ::real-pad to NULL.
11609         (gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
11610         functions. set_property will call add_ghost_pad/remove_ghost_pad
11611         as appropriate.
11612         (gst_ghost_pad_new): All the work is offloaded to g_object_new.
11613
11614         * gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
11615         (gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
11616         (gst_element_remove_pad): Handle ghost pads as well.
11617         (gst_element_remove_ghost_pad): Deprecated (could be removed,
11618         depending on API-stability needs).
11619
11620 2004-02-05  Andy Wingo  <wingo@pobox.com>
11621
11622         * gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
11623         of course they're const
11624
11625 2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11626
11627         * tools/Makefile.am:
11628         * tools/gst-feedback:
11629         * tools/gst-feedback-0.7:
11630           make gst-feedback versioned too for consistency
11631
11632 2004-02-11  David Schleef  <ds@schleef.org>
11633
11634         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11635         (gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
11636
11637 2004-02-10  Julien MOUTTE <julien@moutte.net>
11638
11639         * gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
11640         the structure does not contain a valid tag list. Adding a safety check
11641         to remove a noisy warning in that case.
11642
11643 2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11644
11645         * gst/gst.c: fix name to be in line with others
11646
11647 2004-02-09  Julien MOUTTE <julien@moutte.net>
11648
11649         * libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
11650         not shout that loud when len is 0. Just return 0 silently.
11651
11652 2004-02-09  Julien MOUTTE  <julien@moutte.net>
11653
11654         * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
11655         because data_unref has one and I prefer the debug to be symetric.
11656         * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
11657         were refed when added to the queue and unrefed only once when the queue
11658         was flushed. Now the flush handler unref the buffers two times : first
11659         unref for the ref added when pushing in the queue's tail and second
11660         unref to destroy the flushed buffer.
11661
11662 2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11663
11664         * docs/pwg/building-boiler.xml: fix cvs checkout documentation
11665
11666 2004-02-06  David Schleef  <ds@schleef.org>
11667
11668         * docs/random/ds/0.9-suggested-changes: Random ramblings
11669         * gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
11670         to int before printing.
11671         * gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
11672         * gst/parse/parse.l: same.  See bug #129600
11673
11674 2004-02-06  David Schleef  <ds@schleef.org>
11675
11676         * gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
11677         (gst_index_add_entry), (gst_index_add_associationv),
11678         (gst_index_add_association): Add gst_index_add_associationv()
11679         and clean up gst_index_add_association(). #127133
11680
11681 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11682
11683         * autogen.sh: check out common with right tag if CVS/Tag exists
11684
11685 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11686
11687         * testsuite/ghostpads/ghostpads.c: (main):
11688           fix testsuite from segfaulting
11689
11690 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11691
11692         * Makefile.am: add release target
11693         * configure.ac: bump nano to 1
11694         * docs/random/release:
11695
11696 2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11697
11698         * gst/gstcaps.h:
11699         * gst/gstelement.c: (gst_element_base_class_init),
11700         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11701         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11702         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11703         (gst_real_pad_dispose):
11704         * gst/gststructure.c: (gst_structure_free),
11705         (gst_structure_from_string):
11706           put reverted patch back in
11707         * gst/gstelement.c: (gst_element_remove_pad):
11708           free explicit caps if they're set
11709         * gst/gstpad.c: (_gst_pad_default_fixate_func):
11710           copy the structure when fixating
11711
11712 2004-02-05  David Schleef  <ds@schleef.org>
11713
11714         * gst/gstmarshal.list:
11715         * gst/gstpad.c: (gst_real_pad_class_init),
11716         (_gst_real_pad_fixate_accumulator):
11717         Revert POINTER->BOXED change in signal marshaller.
11718
11719 === release 0.7.4 ===
11720                                                                                 
11721 2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11722                                                                                 
11723         * NEWS: GStreamer 0.7.4 "Wooden Eels" released
11724         * configure.ac: changed for release
11725
11726 2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11727
11728         * gstreamer.spec.in:
11729           bump required version of gtk-doc
11730
11731 2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11732
11733         * gst/gstcaps.h:
11734         * gst/gstelement.c: (gst_element_base_class_init),
11735         (gst_element_class_set_details), (gst_element_clear_pad_caps):
11736         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11737         (gst_pad_try_set_caps), (gst_pad_can_link_filtered),
11738         (gst_real_pad_dispose):
11739         * gst/gststructure.c: (gst_structure_free),
11740         (gst_structure_from_string):
11741           revert patch that breaks applications, reapply after release
11742           to get this fixed properly
11743
11744 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11745
11746         * gst/gsttag.c: (_gst_tag_initialize):
11747         * gst/gsttag.h:
11748           remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
11749
11750 2004-02-04  David Schleef  <ds@schleef.org>
11751
11752         Fix some memleaks:
11753         * gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
11754         (gst_spider_plug_from_srcpad):
11755         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
11756
11757 2004-02-04  David Schleef  <ds@schleef.org>
11758
11759         * gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
11760         a GstRealPad before accessing its structure members.
11761
11762 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11763
11764         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
11765         (gst_clock_get_speed):
11766         * gst/gstclock.h:
11767           reset padding, remove unused fields
11768
11769 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11770
11771         * gst/autoplug/gstspideridentity.c:
11772         (gst_spider_identity_sink_loop_type_finding):
11773           use get_allowed_caps, not get_caps (fixes #132519)
11774         * gst/elements/gsttypefind.c: (stop_typefinding):
11775           use correct order when sending buffers and seeking
11776
11777 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11778
11779         * configure.ac:
11780         * gst/gstelement.h:
11781         * gst/gstpad.h:
11782         * gst/gstqueue.h:
11783           upgrade libtool CURRENT, reset padding
11784
11785 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11786
11787         * configure.ac:
11788           bump to prerelease
11789           put back AM_PROG_LIBTOOL to make libtoolize stop complaining
11790
11791 2004-02-04  David Schleef  <ds@schleef.org>
11792
11793         * docs/random/ds/0.9-suggested-changes: random notes
11794         * gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
11795         (gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
11796         Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
11797         expansion.
11798         * gst/elements/gstfilesink.c: (gst_filesink_get_formats),
11799         (gst_filesink_get_query_types): same
11800         * gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
11801         (gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
11802         * gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
11803         to use new GST_PTR_FORMAT.
11804         * gst/gstelement.h: deprecate function factory macros
11805         GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
11806         These are our last variadic macros that can't be replaced with
11807         inlines.  Celebrate!  Also fix a typo in an #ifdef that was
11808         attempting to deprecate gst_element_clock_wait().
11809         * gst/gstevent.h: same
11810         * gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
11811         (gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
11812         * gst/gstpad.h: deprecate function factory macros similar to above.
11813
11814 2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11815
11816         * configure.ac:
11817         * tools/Makefile.am:
11818         * tools/gst-run.c: (popt_callback), (hash_print_key),
11819         (find_highest_version), (unmangle_libtool), (get_dir_of_binary),
11820         (get_candidates), (main):
11821           add new source file to generate non-versioned wrapper binaries
11822           for our tools.
11823
11824 2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11825
11826         * gst/gstevent.c: (_gst_event_free):
11827           actually break; inside the switch statement
11828         * gst/parse/grammar.y:
11829           fix memleak where GValues weren't unset
11830
11831 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11832
11833         * gst/gststructure.c: (gst_structure_from_string):
11834           fix huge memleak
11835         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
11836         (new_entry), (gst_type_find_element_chain):
11837         * gst/gstelement.c: (gst_element_base_class_init),
11838         (gst_element_class_set_details):
11839         * gst/gstpad.c: (gst_pad_can_link_filtered):
11840           fix smaller memleaks
11841         * gst/gstpad.c: (gst_real_pad_dispose):
11842           check that explicit caps are gone
11843         * gst/gststructure.c: (gst_structure_free):
11844           actually free the structure
11845         * gst/gstelement.c: (gst_element_clear_pad_caps):
11846           unset explicit caps
11847
11848 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11849
11850         * tools/Makefile.am:
11851           use AM_CFLAGS since all the CFLAGS are the same
11852           use AM_LDFAGS
11853
11854 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11855
11856         * docs/manual/gnome.xml:
11857           expand example a little
11858         * gst/gst.c: (gst_init_with_popt_table),
11859         (gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
11860           make sure popt option displays are done with right textdomain
11861           use GstPoptOption type
11862         * gst/gst.h:
11863           create GstPoptOption type
11864
11865 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11866
11867         * gst/gsterror.c: (_gst_stream_errors_init):
11868         * gst/gsterror.h:
11869           adding error type for no codec
11870         * po/POTFILES.in:
11871           add gst-inspect
11872         * po/nl.po:
11873           update dutch translation
11874         * tools/gst-inspect.c: (print_element_list), (main):
11875           do proper internationalization
11876         * tools/gst-launch.c: (idle_func):
11877           remove commented out function call
11878
11879 2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11880
11881         * docs/README:
11882           add some error fixing notes
11883         * docs/gst/gstreamer-sections.txt:
11884           remove double entries
11885         * docs/gst/tmpl/gstbin.sgml:
11886         * docs/gst/tmpl/gstclock.sgml:
11887           remove override
11888         * docs/gst/tmpl/gstelement.sgml:
11889         * docs/gst/tmpl/gstindex.sgml:
11890         * docs/gst/tmpl/gstobject.sgml:
11891         * docs/gst/tmpl/gstpadtemplate.sgml:
11892         * docs/gst/tmpl/gstreamer-unused.sgml:
11893         * docs/gst/tmpl/gsttag.sgml:
11894         * docs/gst/tmpl/gstthread.sgml:
11895         * docs/gst/tmpl/gstxml.sgml:
11896         * gst/gsttag.h:
11897           sync header prototypes with c decls
11898         * gst/gsttaginterface.c:
11899           fix doc headers
11900
11901 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11902
11903         * gst/parse/Makefile.am:
11904         * gst/gstobject.h:
11905           get rid of gstmarshal.h dependency. It's not needed.
11906         * gst/gst.h:
11907         * gst/elements/gstfakesink.c:
11908         * gst/elements/gstfakesrc.c:
11909         * gst/elements/gstidentity.c:
11910         * gst/gstbin.c:
11911         * gst/gstelement.c:
11912         * gst/gstindex.c:
11913         * gst/gstobject.c:
11914         * gst/gstpad.c:
11915         * gst/gstthread.c:
11916         * gst/gstxml.c:
11917         * libs/gst/control/dparam.c:
11918         * libs/gst/control/dparammanager.c:
11919           include gstmarshal.h.
11920         Fixes #132045
11921
11922 2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11923
11924         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
11925         (gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
11926         (gst_filesrc_map_region), (gst_filesrc_get_mmap):
11927         * gst/elements/gstfilesrc.h:
11928           don't ref the filesrc when creating mmaped buffers. Don't keep a
11929           list of not-yet-destroyed buffers.
11930         * gst/gstbuffer.h:
11931           Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
11932
11933 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11934
11935         * gst/gst.c: (init_pre):
11936           remove textdomain
11937
11938 2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
11939
11940         * docs/pwg/advanced-events.xml:
11941         * docs/pwg/advanced-scheduling.xml:
11942         * docs/pwg/intro-basics.xml:
11943         * docs/pwg/other-manager.xml:
11944         * docs/pwg/other-nton.xml:
11945         * docs/pwg/other-ntoone.xml:
11946         * docs/pwg/other-oneton.xml:
11947         * docs/pwg/pwg.xml:
11948           All sort of documentation... Forgot what. Point is that I want this
11949           in before I leave. The 'other-*' will be the last section and will
11950           explain issues specific to these type of elements.
11951
11952 2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
11953
11954         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
11955         (gst_filesrc_get_read):
11956           set all the values on buffers that we can
11957
11958 2004-02-02  David Schleef  <ds@schleef.org>
11959
11960         Change usage of isblah() to g_ascii_isblah() to be more locale
11961         independent.  (#133076)
11962         * gst/gsturi.c: (gst_uri_protocol_check_internal):
11963         * gst/gstutils.c:
11964         * gst/parse/parse.l:
11965
11966 2004-02-02  Jon Trowbridge  <trow@gnu.org>
11967
11968         reviewed by: David Schleef  <ds@schleef.org>
11969
11970         Fix memory leaks:
11971         * gst/gstcaps.c: (gst_caps_to_string):
11972         * gst/registries/gstxmlregistry.c:
11973         (gst_xml_registry_add_path_list_func),
11974         (gst_xml_registry_parse_padtemplate):
11975
11976 2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11977
11978         * gst/gstelement.c: (gst_element_default_error):
11979           suffix error messages with period
11980
11981 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11982
11983         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
11984         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
11985         * gst/gsterror.c: (gst_error_get_message):
11986           Suffix with dots
11987         * po/fr.po:
11988         * po/nl.po:
11989           Update translation files
11990
11991 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11992
11993         * gst/autoplug/gstspideridentity.c:
11994         (gst_spider_identity_sink_loop_type_finding):
11995         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
11996         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
11997         (gst_filesink_close_file), (gst_filesink_handle_event),
11998         (gst_filesink_chain):
11999         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12000         (gst_filesrc_get_read), (gst_filesrc_open_file):
12001         * gst/elements/gstidentity.c: (gst_identity_chain):
12002         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12003         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12004         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12005         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12006         * gst/gsterror.c: (_gst_core_errors_init),
12007         (_gst_library_errors_init), (_gst_resource_errors_init),
12008         (_gst_stream_errors_init), (gst_error_get_message):
12009         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12010         (gst_pad_recover_caps_error), (gst_pad_pull):
12011         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12012         * gst/schedulers/gstbasicscheduler.c:
12013         (gst_basic_scheduler_chainhandler_proxy),
12014         (gst_basic_scheduler_gethandler_proxy),
12015         (gst_basic_scheduler_cothreaded_chain):
12016           Suffix error messages with period.
12017           Use (NULL) instead of NULL
12018
12019 2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12020
12021         * docs/gst/tmpl/gstelement.sgml:
12022         * docs/gst/tmpl/gstxml.sgml:
12023         * gst/gstelement.c: (gst_element_error_full):
12024           add element path to error
12025
12026 2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12027
12028         * docs/random/mimetypes:
12029           update raw int/float info
12030         * gst/gsttag.c: (_gst_tag_initialize):
12031         * gst/gsttag.h:
12032           add GST_TAG_ENCODER
12033
12034 2004-01-30  David Schleef  <ds@schleef.org>
12035
12036         * gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
12037           missing (#132991)
12038
12039 2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
12040
12041         reviewed by Benjamin Otte 
12042           parts of the patch submitted in bug #113913
12043
12044         * configure.ac:
12045           use AC_C_INLINE. Use = instead of == with test
12046         * examples/plugins/example.c:
12047         * gst/autoplug/gstspideridentity.c:
12048         * gst/elements/gstfdsrc.c:
12049         * gst/elements/gstfilesrc.c:
12050         * gst/elements/gstidentity.c:
12051         * gst/elements/gstmultidisksrc.c:
12052         * gst/elements/gststatistics.c:
12053         * gst/gstelement.c:
12054         * gst/gstobject.c:
12055         * gst/gstpad.c:
12056         * gst/gstpipeline.c:
12057         * gst/gstthread.c:
12058           don't end enums with a comma
12059         * gst/gstindex.c: (gst_index_compare_func):
12060           do explicit casting to gint
12061         * gst/gsttrace.c: (gst_trace_text_flush):
12062           #define strsize as a macro
12063
12064 2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
12065
12066         * docs/README:
12067         * docs/gst/gstreamer-docs.sgml:
12068         * docs/gst/gstreamer-sections.txt:
12069         * docs/gst/tmpl/gstelement.sgml:
12070         * docs/gst/tmpl/gsterror.sgml:
12071         * docs/gst/tmpl/gstinterface.sgml:
12072         * docs/gst/tmpl/gstreamer-unused.sgml:
12073         * docs/gst/tmpl/gststructure.sgml:
12074         * docs/gst/tmpl/gsttag.sgml:
12075         * docs/gst/tmpl/gsttaginterface.sgml:
12076         * docs/gst/tmpl/gstvalue.sgml:
12077         make sure all API ends up in the built docs
12078         * gst/gstinterface.c:
12079         * gst/gststructure.c: (gst_structure_id_set_value),
12080         (gst_structure_set_value), (gst_structure_id_get_value):
12081         * gst/gststructure.h:
12082         * gst/gstvalue.h:
12083         sync .h with .c declarations
12084
12085 2004-01-30  Julien Moutte  <julien@moutte.net>
12086
12087         * libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
12088         Ronald will fix riffread.
12089
12090 2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12091
12092         * docs/pwg/advanced-interfaces.xml:
12093           Added tuner interface docs.
12094
12095 2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12096
12097         * docs/random/mimetypes:
12098           correct Theora information
12099         * gst/gstelement.h:
12100           make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
12101
12102 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12103
12104         * gst/gstelement.c: (gst_element_error_full):
12105         * gst/gstelement.h:
12106           GST_ELEMENT_ERROR in enum -> _IN_ERROR
12107
12108 2004-01-29  Julien MOUTTE  <julien@moutte.net>
12109
12110         * gst/elements/gstfilesrc.c: (gst_filesrc_get),
12111         (gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
12112         again and even before DISCONT.
12113         * gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
12114         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
12115         bytestream so that it's not stopping to fill the bytestream if events
12116         different than EOS or DISCONT are received. Instead it process them so
12117         that they go downstream.
12118
12119 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12120
12121         * docs/gst/tmpl/gstelement.sgml:
12122         * docs/gst/tmpl/gstreamer-unused.sgml:
12123         * docs/gst/tmpl/gstxml.sgml:
12124         * gst/autoplug/gstspideridentity.c:
12125         (gst_spider_identity_sink_loop_type_finding):
12126         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12127         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12128         (gst_filesink_close_file), (gst_filesink_handle_event),
12129         (gst_filesink_chain):
12130         * gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
12131         (gst_filesrc_get_read), (gst_filesrc_open_file):
12132         * gst/elements/gstidentity.c: (gst_identity_chain):
12133         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12134         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12135         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12136         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12137         * gst/gstelement.h:
12138         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12139         (gst_pad_recover_caps_error), (gst_pad_pull):
12140         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12141         * gst/schedulers/gstbasicscheduler.c:
12142         (gst_basic_scheduler_chainhandler_proxy),
12143         (gst_basic_scheduler_gethandler_proxy),
12144         (gst_basic_scheduler_cothreaded_chain):
12145           gst_element_error -> GST_ELEMENT_ERROR
12146
12147 2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12148
12149         * docs/Makefile.am:
12150         * docs/gst/tmpl/gstelement.sgml:
12151         * docs/gst/tmpl/gstxml.sgml:
12152         * docs/manuals.mak:
12153         * docs/pwg/advanced-request.xml:
12154         * docs/pwg/advanced-scheduling.xml:
12155         * docs/pwg/advanced-tagging.xml:
12156           fix non-validating docbook using CDATA
12157           make sure make check-local gets run first to check if it validates
12158
12159 2004-01-29  Julien MOUTTE <julien@moutte.net>
12160
12161         * docs/pwg/advanced-events.xml: Adding documentation on advanced event
12162         handling (up and downstream).
12163         * docs/pwg/advanced-interfaces.xml: Make it coherent with the
12164         my_filter thing.
12165
12166 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12167
12168         * docs/pwg/advanced-tagging.xml:
12169           Add docs about tag writing.
12170
12171 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12172
12173         * docs/pwg/advanced-tagging.xml:
12174           Add a part about tag reading and application signalling... Tag
12175           writing still needs to be documented.
12176         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12177           We can set file locations in READY, too.
12178
12179 2004-01-29  Julien MOUTTE <julien@moutte.net>
12180
12181         * docs/random/ds/element-checklist: Adding some notes about src
12182         events.
12183
12184 2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12185
12186         * docs/random/mimetypes:
12187           Update docs to point to correct elements for various mimetypes, and
12188           some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
12189           <stephane.loeuillet@tiscali.fr>.
12190
12191 2004-01-28  David Schleef  <ds@schleef.org>
12192
12193         * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
12194
12195 2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12196
12197         * docs/random/mimetypes:
12198           update docs for audio/x-raw-float. Add "buffer-frames=0 means
12199           undefined"
12200         * gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
12201           make it only work in NULL.
12202         * gst/gstcaps.c:
12203           don't posion NULL caps
12204         * gst/gstelement.c: (gst_element_set_time):
12205           add debugging statement
12206         * gst/gstelement.c: (gst_element_emit_found_tag),
12207         (gst_element_found_tag_func), (gst_element_found_tags):
12208         * gst/gstelement.h:
12209           These functions take const taglists
12210         * gst/gstpad.c: (gst_pad_proxy_getcaps):
12211           fix memleak
12212         * gst/gstpad.c: (gst_pad_event_default):
12213           make more effort on handling discont and clocks, g_warn if everything
12214           fails
12215         * gst/gststructure.c: (gst_structure_remove_fields),
12216         (gst_structure_remove_fields_valist):
12217         * gst/gststructure.h:
12218           add gst_structure_remove_fields(_valist)
12219         * gst/gsttag.c:
12220           fix doc glitch
12221
12222 2004-01-28  David Schleef  <ds@schleef.org>
12223
12224         * docs/random/ds/element-checklist: Notes about gst_caps_to_string()
12225         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
12226         Fix memory leakage of gst_caps_to_string().
12227
12228         Use GST_PTR_FORMAT instead of gst_caps_to_string():
12229         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
12230         * gst/autoplug/gstspideridentity.c: (spider_find_suggest),
12231         (gst_spider_identity_sink_loop_type_finding):
12232         * gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
12233         (find_suggest):
12234         * gst/gstpad.c: (gst_pad_try_relink_filtered),
12235         (gst_pad_set_explicit_caps):
12236         * gst/parse/grammar.y:
12237
12238 2004-01-28  David Schleef  <ds@schleef.org>
12239
12240         * configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
12241         GST_PRINTF_EXTENSION_FORMAT_DEFINE.
12242         * docs/random/ds/0.9-suggested-changes: Notes from Company.
12243         * gst/gstcaps.c: (gst_caps_to_string): Add comment.
12244         * gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
12245         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
12246         (gst_debug_log_default), (_gst_info_printf_extension),
12247         (_gst_info_printf_extension_arginfo):  Add printf extension.
12248         * gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
12249         * gst/gststructure.c: (gst_structure_to_string),
12250         (_gst_structure_parse_value): Use gst_value_deserialize() and
12251         remove old code.
12252         * gst/gstvalue.c: (gst_value_deserialize_fourcc),
12253         (gst_value_deserialize_boolean), (gst_strtoi),
12254         (gst_value_deserialize_int), (gst_value_deserialize_double),
12255         (gst_value_deserialize_string), (gst_value_deserialize): Implement
12256         a bunch of deserialize functions and gst_value_deserialize.
12257         * gst/gstvalue.h: er, _de_serialize, not unserialize
12258         * testsuite/caps/string-conversions.c: (main): We don't currently
12259         handle (float) in caps, so convert these to (double).
12260         * testsuite/debug/Makefile.am: Add new test for the printf extension
12261         * testsuite/debug/printf_extension.c: (main): same
12262
12263 2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12264
12265         * docs/random/company/time:
12266           Add some docs about clocking and time
12267
12268 2004-01-28  Julien MOUTTE <julien@moutte.net>
12269
12270         * docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
12271
12272 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12273
12274         * docs/pwg/advanced-clock.xml:
12275         * docs/pwg/advanced-dparams.xml:
12276         * docs/pwg/advanced-events.xml:
12277         * docs/pwg/advanced-interfaces.xml:
12278         * docs/pwg/advanced-midi.xml:
12279         * docs/pwg/advanced-request.xml:
12280         * docs/pwg/advanced-scheduling.xml:
12281         * docs/pwg/advanced-tagging.xml:
12282         * docs/pwg/advanced-types.xml:
12283         * docs/pwg/appendix-checklist.xml:
12284         * docs/pwg/building-boiler.xml:
12285         * docs/pwg/building-chainfn.xml:
12286         * docs/pwg/building-filterfactory.xml:
12287         * docs/pwg/building-pads.xml:
12288         * docs/pwg/building-props.xml:
12289         * docs/pwg/building-signals.xml:
12290         * docs/pwg/building-state.xml:
12291         * docs/pwg/building-testapp.xml:
12292         * docs/pwg/intro-basics.xml:
12293         * docs/pwg/intro-preface.xml:
12294         * docs/pwg/other-autoplugger.xml:
12295         * docs/pwg/other-sink.xml:
12296         * docs/pwg/other-source.xml:
12297         * docs/pwg/titlepage.xml:
12298           fix up id's
12299
12300 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12301
12302         * docs/95NonPath:
12303         * docs/HACKING:
12304         * docs/README:
12305         * docs/building-the-docs-on-debian:
12306           collect relevant bits of doc info
12307
12308 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12309
12310         * docs/pwg/advanced_tagging.xml:
12311           Half-assed commit so Thomas can re-arrange document IDs here to be
12312           consistent, too.
12313
12314 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12315
12316         * docs/manual/autoplugging.xml:
12317         * docs/manual/bins-api.xml:
12318         * docs/manual/bins.xml:
12319         * docs/manual/buffers-api.xml:
12320         * docs/manual/buffers.xml:
12321         * docs/manual/clocks.xml:
12322         * docs/manual/components.xml:
12323         * docs/manual/cothreads.xml:
12324         * docs/manual/debugging.xml:
12325         * docs/manual/dparams-app.xml:
12326         * docs/manual/dynamic.xml:
12327         * docs/manual/elements-api.xml:
12328         * docs/manual/elements.xml:
12329         * docs/manual/factories.xml:
12330         * docs/manual/gnome.xml:
12331         * docs/manual/goals.xml:
12332         * docs/manual/helloworld.xml:
12333         * docs/manual/helloworld2.xml:
12334         * docs/manual/init-api.xml:
12335         * docs/manual/intro.xml:
12336         * docs/manual/links-api.xml:
12337         * docs/manual/links.xml:
12338         * docs/manual/manual.xml:
12339         * docs/manual/motivation.xml:
12340         * docs/manual/pads-api.xml:
12341         * docs/manual/pads.xml:
12342         * docs/manual/plugins-api.xml:
12343         * docs/manual/plugins.xml:
12344         * docs/manual/programs.xml:
12345         * docs/manual/queues.xml:
12346         * docs/manual/quotes.xml:
12347         * docs/manual/schedulers.xml:
12348         * docs/manual/states-api.xml:
12349         * docs/manual/states.xml:
12350         * docs/manual/threads.xml:
12351         * docs/manual/typedetection.xml:
12352         * docs/manual/xml.xml:
12353           use chapter, part, section or misc as id starts for all bits
12354
12355 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12356
12357         * docs/gst/gstreamer-sections.txt:
12358           Fix up TITLE of the sections
12359
12360 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12361
12362         * docs/pwg/advanced_interfaces.xml:
12363           Add documentation on propertyprobing.
12364         * docs/pwg/advanced_events.xml:
12365         * docs/pwg/advanced_tagging.xml:
12366         * docs/pwg/building_boiler.xml:
12367         * docs/pwg/building_filterfactory.xml:
12368         * docs/pwg/pwg.xml:
12369           Move filterfactory and tagging into their own chapter, add a chapter
12370           on events. all these are empty placeholders that will be filled in
12371           some day.
12372
12373 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12374
12375         * docs/pwg/advanced_interfaces.xml:
12376           Docs for mixer interface. Also a check for website uploading.
12377
12378 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12379
12380         * docs/HACKING:
12381         * docs/Makefile.am:
12382         * docs/faq/Makefile.am:
12383         * docs/gst/Makefile.am:
12384         * docs/gst/tmpl/gstelement.sgml:
12385         * docs/gst/tmpl/gstplugin.sgml:
12386         * docs/gst/tmpl/gstreamer-unused.sgml:
12387         * docs/libs/Makefile.am:
12388         * docs/manual/Makefile.am:
12389         * docs/manuals.mak:
12390         * docs/pwg/Makefile.am:
12391         * docs/upload.mak:
12392           Separate out upload target and make it similar for
12393           both docbook and gtk-doc docs
12394
12395 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12396
12397         * docs/manuals.mak:
12398           Fix upload target to work with freedesktop
12399
12400 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12401
12402         * docs/pwg/advanced_types.xml:
12403           Add notes on creating your own types.
12404         * docs/pwg/building_boiler.xml:
12405         * docs/pwg/building_pads.xml:
12406         * docs/pwg/building_state.xml:
12407           Add some stuff about how to retrieve values from structures, how
12408           that relates to types and change layout slightly again to be almost
12409           perfect.
12410
12411 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12412
12413         * docs/pwg/advanced_dparams.xml:
12414         * docs/pwg/advanced_scheduling.xml:
12415           Change index layout slightly.
12416
12417 2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12418
12419         * docs/pwg/advanced_clock.xml:
12420         * docs/pwg/advanced_interfaces.xml:
12421         * docs/pwg/advanced_midi.xml:
12422           General placeholders for now.
12423         * docs/pwg/advanced_request.xml:
12424           Explanation about sometimes and request pads.
12425         * docs/pwg/advanced_scheduling.xml:
12426           Concept of bytestream, loopfunctions and schedulers.
12427         * docs/pwg/building_boiler.xml:
12428           Add something about plugin-init.
12429
12430 2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12431
12432         * docs/pwg/building_pads.xml:
12433           Fix broken docbook
12434
12435 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12436
12437         * docs/pwg/advanced_interfaces.xml:
12438         * docs/pwg/pwg.xml:
12439           Add as a placeholder for future filling-in.
12440         * docs/pwg/basics_autoplugging.xml:
12441         * docs/pwg/basics_buffers.xml:
12442         * docs/pwg/basics_elements.xml:
12443         * docs/pwg/basics_events.xml:
12444         * docs/pwg/basics_plugins.xml:
12445         * docs/pwg/basics_types.xml:
12446           Remove, because unused (this is all in intro_basics.xml).
12447         * docs/pwg/building_signals.xml:
12448           Short intro to signals + reference to GObject docs - we really
12449           shouldn't go into these sort of things to deply because we don't
12450           use them that extensively anyway.
12451         * docs/pwg/building_state.xml:
12452           Explanation of states. Benjamin, please check.
12453         * docs/pwg/building_testapp.xml:
12454           Put everything in one page - putting only a few lines of content
12455           per page doesn't really make sense.
12456
12457           Time to get into the advanced topics. ;).
12458
12459 2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12460
12461         * docs/pwg/advanced_types.xml:
12462           Finish documenting the current state of mimetypes.
12463         * docs/pwg/building_boiler.xml:
12464         * docs/pwg/building_chainfn.xml:
12465         * docs/pwg/building_pads.xml:
12466         * docs/pwg/building_props.xml:
12467         * docs/pwg/building_testapp.xml:
12468           Start documenting the "how to build a simple audio filter" part
12469           of the PWG. Most stuff is ready by now. Stuff remaining: signals,
12470           states and (maybe?) a short introduction to capsnego in the chapter
12471           on pads (building_pads.xml). Capsnego should probably be explained
12472           fully in advanced_capsnego.xml or so.
12473
12474 2004-01-26  David Schleef  <ds@schleef.org>
12475
12476         * gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
12477         * gst/gstpad.h: Add new function to allow element to (somewhat)
12478         specify non-fixed caps on a pad.
12479         * gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
12480         that I added a few weeks ago.
12481
12482 2004-01-26  David Schleef  <ds@schleef.org>
12483
12484         * gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
12485           making try_set_caps() work with non-fixed caps.
12486
12487 2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12488
12489         * docs/pwg/advanced_types.xml:
12490         * docs/pwg/intro_basics.xml:
12491         * docs/pwg/intro_preface.xml:
12492         * docs/pwg/pwg.xml:
12493         * docs/pwg/titlepage.xml:
12494           First try to resurrect the PWG. I'm halfway integrating the mimetypes
12495           in here (docs/random/mimetypes), and will from there on work on both
12496           updating outdated parts and adding missing parts.
12497           That doesn't mean I'll fix it completely, but I'll try at least. ;).
12498
12499 2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12500
12501         * gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
12502           policy is set
12503
12504 2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12505
12506         * gst/gstelement.h:
12507           remove gst_element_factory_get_version. It doesn't exist anymore.
12508         * gst/gstplugin.c:
12509         * gst/gstplugin.h:
12510           remove gst_plugin_set_name and change gst_plugin_get_longname to
12511           gst_plugin_get_description to match code.
12512         * gst/gsterror.h:
12513           remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
12514         * gst/gstpad.c: (gst_pad_try_set_caps):
12515           make it work with nonfixed caps.
12516           Note that even in the nonfixed case the link function of the pad
12517           that tries to set caps isn't called.
12518
12519 2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12520
12521         * gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
12522           fix bug where buffer was not assembled correctly
12523         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
12524           silence by default
12525         * gst/elements/gsttypefind.c: (gst_type_find_element_chain):
12526           only seek if there's no more buffers that could work without seeking
12527
12528 2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
12529
12530         * gst/gsttag.c: (_gst_tag_initialize):
12531         * gst/gsttag.h:
12532           Add application tag (for encoding/muxing app).
12533
12534 2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12535
12536         * autogen.sh:
12537           make autopoint force, and libtoolize not copy
12538         * common/m4/as-docbook.m4:
12539           added docbook xml catalog setup check
12540         * common/m4/gst-doc.m4:
12541           use docbook check
12542
12543 2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12544
12545         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12546         * gst/gsttag.h:
12547           add GstTagFlag
12548
12549 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12550
12551         * docs/gst/gstreamer-sections.txt:
12552         * docs/gst/tmpl/gst.sgml:
12553         * docs/gst/tmpl/gstbuffer.sgml:
12554         * docs/gst/tmpl/gstclock.sgml:
12555         * docs/gst/tmpl/gstelement.sgml:
12556         * docs/gst/tmpl/gstreamer-unused.sgml:
12557         * docs/gst/tmpl/gstxml.sgml:
12558           sync latest API changes to docs
12559
12560 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12561
12562         * gst/gstpluginfeature.c:
12563           fix doc snippet
12564         * tools/gst-inspect.c: (print_element_list):
12565           fix output of typefind
12566           add GPL header
12567         * tools/gst-launch.c:
12568           add GPL header
12569
12570 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12571
12572         * gst/elements/Makefile.am:
12573         * gst/elements/gstelements.c:
12574         * gst/elements/gsttypefindelement.c:
12575         * gst/elements/gsttypefindelement.h:
12576         * po/POTFILES.in:
12577         * po/fr.po:
12578         * po/nl.po:
12579           renamed gsttypefindelement to gsttypefind, conserving CVS history
12580
12581 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12582
12583         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
12584         * gst/gsttag.h:
12585           add some tags used in ogg as well
12586           fix _ in replaygain tags
12587
12588 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12589
12590         * gst/gsterror.h:
12591           fix wrong GST_LIBRARY_ERROR_ENCODE addition
12592
12593 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12594
12595         * gst/gstelement.c: (gst_element_error_full):
12596         * gst/gstelement.h:
12597           change _extended to _full
12598
12599 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12600
12601         reviewed by: <delete if not using a buddy>
12602
12603         * docs/gst/tmpl/gst.sgml:
12604         * docs/gst/tmpl/gstbuffer.sgml:
12605         * docs/gst/tmpl/gstclock.sgml:
12606         * docs/gst/tmpl/gstelement.sgml:
12607         * docs/gst/tmpl/gstreamer-unused.sgml:
12608         * docs/gst/tmpl/gstxml.sgml:
12609         * gst/gstelement.c: (gst_element_error_full):
12610         * gst/gstelement.h:
12611
12612 2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12613
12614         * gst/gstelement.h: fix _gst_element_error_printf prototype
12615
12616 2004-01-20  David Schleef  <ds@schleef.org>
12617
12618         * gst/gststructure.c: (gst_structure_to_string):
12619         Convert function to use gst_value_serialize().
12620         * gst/gstvalue.c: (gst_value_serialize_list),
12621         (gst_value_serialize_fourcc), (gst_value_serialize_int_range),
12622         (gst_value_serialize_double_range), (gst_value_serialize_boolean),
12623         (gst_value_serialize_int), (gst_value_serialize_double),
12624         (gst_string_wrap), (gst_value_serialize_string),
12625         (gst_value_serialize), (gst_value_deserialize):
12626         * gst/gstvalue.h:
12627         Add implementations for serialize.
12628
12629 2004-01-20  Julien MOUTTE  <julien@moutte.net>
12630
12631         * gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
12632         we want to keep that one in the future or change xvidenc.c to use 
12633         another error.
12634
12635 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12636
12637         * gst/gstelement.c: (_gst_element_error_printf):
12638         * gst/gstelement.h:
12639           privatise function
12640
12641 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12642
12643         * docs/random/error:
12644           doc explaining error system
12645         * gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
12646           cleanup
12647
12648 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12649
12650         * gst/gst-i18n-app.h:
12651         * gst/gst-i18n-lib.h:
12652           remove inclusion of config.h
12653         * po/POTFILES.in:
12654         * po/nl.po:
12655           add gst/gstelement.c
12656
12657 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12658
12659         * po/nl.po: updated Dutch translation
12660
12661 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12662
12663         * gst/gsterror.c: (_gst_core_errors_init),
12664         (_gst_library_errors_init), (_gst_resource_errors_init),
12665         (_gst_stream_errors_init):
12666         remove ending punctuation dots
12667
12668 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12669
12670         * gst/elements/gstfilesink.c: (gst_filesink_open_file):
12671         * gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
12672         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12673         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12674         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12675         use GST_ERROR_SYSTEM
12676
12677 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12678
12679         * gst/gstelement.c: (gst_element_error_printf),
12680         (gst_element_error_extended):
12681         * gst/gstelement.h:
12682           add a helper printf function so we can have NULL values passed.
12683
12684 2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12685
12686         * gst/gstelement.h:
12687           add G_STMT macros to gst_element_error, which isn't strictly
12688           necessary but people tell me to anyway.
12689
12690 2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12691
12692         * gst/Makefile.am:
12693         * gst/autoplug/gstspideridentity.c:
12694         (gst_spider_identity_sink_loop_type_finding):
12695         * gst/elements/gstfakesink.c: (gst_fakesink_change_state):
12696         * gst/elements/gstfilesink.c: (gst_filesink_open_file),
12697         (gst_filesink_close_file), (gst_filesink_handle_event),
12698         (gst_filesink_chain):
12699         * gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
12700         (gst_filesrc_map_region), (gst_filesrc_get_read),
12701         (gst_filesrc_open_file):
12702         * gst/elements/gstidentity.c: (gst_identity_chain):
12703         * gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
12704         * gst/elements/gstpipefilter.c: (gst_pipefilter_get),
12705         (gst_pipefilter_chain), (gst_pipefilter_open_file):
12706         * gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
12707         * gst/gst.h:
12708         * gst/gst_private.h:
12709         * gst/gstelement.c: (gst_element_class_init),
12710         (gst_element_default_error), (gst_element_error_func),
12711         (gst_element_error_extended):
12712         * gst/gstelement.h:
12713         * gst/gsterror.c: (_gst_core_errors_init),
12714         (_gst_library_errors_init), (_gst_resource_errors_init),
12715         (_gst_stream_errors_init), (gst_error_get_message):
12716         * gst/gsterror.h:
12717         * gst/gstinfo.c: (_gst_debug_init):
12718         * gst/gstmarshal.list:
12719         * gst/gstpad.c: (gst_pad_set_explicit_caps),
12720         (gst_pad_recover_caps_error), (gst_pad_pull):
12721         * gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
12722         * gst/schedulers/gstbasicscheduler.c:
12723         (gst_basic_scheduler_chainhandler_proxy),
12724         (gst_basic_scheduler_gethandler_proxy),
12725         (gst_basic_scheduler_cothreaded_chain):
12726         * po/POTFILES.in:
12727         * po/fr.po:
12728         * po/nl.po:
12729           change error signal
12730           add error categories
12731
12732 2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
12733
12734         * gst/gsttag.c: (_gst_tag_initialize):
12735         * gst/gsttag.h:
12736         Add replaygain tag
12737
12738 2004-01-18  Colin Walters  <walters@verbum.org>
12739
12740         * examples/retag/retag.c: Call gst_init before processing
12741         program args.  Add g_assert to _link_many call.
12742
12743 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12744
12745         * gst/gstpad.c: (gst_pad_alloc_buffer):
12746           Return a newly allocated buffer when the pad has no peer.
12747
12748 2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12749
12750         * gst/gstclock.c: (gst_clock_get_time):
12751           make it compile with gcc 2.95 again.
12752           Patch by Scott Wheeler
12753
12754 2004-01-15  David Schleef  <ds@schleef.org>
12755
12756         * gst/gstcaps.h:
12757         Added gst_caps_is_simple() macro.
12758         * testsuite/caps/caps.c: (test1):
12759         * testsuite/caps/intersect2.c: (main):
12760         * testsuite/caps/intersection.c: (main):
12761         Fixes to make 'make check' work again after removing
12762         gst_caps_is_chained().
12763
12764 2004-01-15  Leif Johnson <leif@ambient.2y.net>
12765
12766         * docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
12767         and additions to the MIDI document.
12768
12769 2004-01-15  David Schleef  <ds@schleef.org>
12770
12771         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
12772         (gst_element_link_pads_filtered): Use GST_PAD_ macros instead
12773         of GST_RPAD_, since we don't know if it's a real or ghost pad.
12774
12775 2004-01-15  David Schleef  <ds@schleef.org>
12776
12777         * gst/gstqueue.c:
12778         * gst/gstqueue.h:
12779         Fix the spelling of "treshold" and make min_threshold actually
12780         affect the queue.
12781
12782 2004-01-15  David Schleef  <ds@schleef.org>
12783
12784         * gst/gstcaps.c:
12785         Add lots of documentation.
12786         * gst/gstcaps.h:
12787         Deprecate a few functions.
12788         * gst/gstpad.c:
12789         Removed use of deprecated functions.
12790
12791 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12792
12793         * gst/gstpad.c: (gst_pad_is_linked):
12794         * gst/gstpad.h:
12795           implement gst_pad_is_linked
12796         * gst/gstelement.h:
12797           reserve space for initiate_state_change
12798
12799 2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12800
12801         * gst/autoplug/gstspideridentity.c:
12802         (gst_spider_identity_sink_loop_type_finding):
12803           break infinite loop by just returning instead of looping
12804         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
12805           set event time difference correctly. Set it to 1 second instead
12806           of 100ms to be more tolerant
12807         * gst/gstelement.c: (gst_element_set_time):
12808           add debugging output
12809
12810 2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12811
12812         * gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
12813           query if buffers are inside the pool, ignore events
12814
12815 2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12816
12817         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
12818         (gst_clock_set_speed), (gst_clock_set_active),
12819         (gst_clock_is_active), (gst_clock_reset),
12820         (gst_clock_handle_discont):
12821         * gst/gstclock.h:
12822           deprecate old interface and disable functions that aren't in use
12823           anymore.
12824         * gst/gstelement.h:
12825         * gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
12826         (gst_element_set_time), (gst_element_adjust_time):
12827           add concept of "element time" and functions to get/set this time.
12828         * gst/gstelement.c: (gst_element_change_state):
12829           update element time correctly.
12830         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
12831           This is a debug message, not a g_critical.
12832         * gst/gstpad.c: (gst_pad_event_default):
12833           handle discontinuous events right with element time.
12834         * gst/gstscheduler.c: (gst_scheduler_state_transition):
12835           update to clocking fixes.
12836           set clocks on elements in READY=>PAUSED. The old behaviour caused
12837           a wrong element time on the first element that started playing.
12838         * gst/schedulers/gstbasicscheduler.c:
12839         (gst_basic_scheduler_class_init):
12840         * gst/schedulers/gstoptimalscheduler.c:
12841         (gst_opt_scheduler_class_init):
12842           remove code that just implements the default behaviour.
12843         * gst/elements/gstfakesink.c: (gst_fakesink_chain):
12844           update to use new clocking functions
12845         * testsuite/clock/clock1.c: (gst_clock_debug), (main):
12846         * testsuite/clock/clock2.c: (gst_clock_debug), (main):
12847           update to test new element time.
12848         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
12849           use _get_allowed_caps instead of _get_caps. This catches filtered
12850           caps correctly.
12851         * testsuite/debug/commandline.c:
12852           update for new GST_DEBUG syntax.
12853         * testsuite/threads/Makefile.am:
12854           disable a test that only works sometimes.
12855
12856 2004-01-13  Julien MOUTTE <julien@moutte.net>
12857
12858         * po/LINGUAS: Adding fr.
12859         * po/fr.po: Adding french translation.
12860
12861 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12862
12863         * gst/parse/grammar.y:
12864         * po/POTFILES.in:
12865         * po/nl.po:
12866         * tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
12867           translate parsing error messages
12868
12869 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12870
12871         * po/POTFILES.in: adding gst-launch
12872         * po/nl.po: updated translation, all 99 strings translated
12873         * tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
12874         (found_tag), (sigint_handler_sighandler), (play_handler), (main):
12875           fix strings for translation
12876
12877 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12878
12879         * gst/gst.c:
12880           - capitalize beginnings of popt options
12881           - fix strings for translation
12882           - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
12883
12884 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12885
12886         * po/README: add some notes on how to update translations
12887
12888 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12889
12890         * ABOUT-NLS: removed, is autogenerated from autopoint
12891         * autogen.sh: add autopoint stuff
12892         * configure.ac: fix up gettext stuff
12893         * gst/Makefile.am: add i18n headers to noinst_HEADERS
12894         * gst/elements/gsttypefindelement.c: add header include
12895         * gst/gettext.h: add header, copy from system-installed header
12896         * gst/gst-i18n-app.h: to be included by each app having translations
12897         * gst/gst-i18n-lib.h: to be included by each lib having translations
12898         * gst/gst.c: (init_pre): fix up gettext calls
12899         * gst/gst_private.h: remove i18n stuff, moving to separate headers
12900         * po/LINGUAS: the new way to specify translations present
12901         * po/Makefile.in.in: removed from cvs, autogenerated from autopoint
12902         * po/Makevars: the variables filled in for GStreamer
12903         * po/POTFILES.in: added new files with translations
12904         * po/de.po: has new strings
12905         * po/nl.po: readded, has new strings
12906
12907 2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12908
12909         * gst/gsttag.c: fix some strings marked for translation
12910
12911 2004-01-13  Iain <iain@prettypeople.org>
12912
12913         * gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
12914         group when we add an element to it, cos we unref it when we remove one
12915
12916 2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12917
12918         * testsuite/debug/commandline.c: (debug_not_reached):
12919         * testsuite/debug/output.c: (check_message):
12920           fix testsuite
12921
12922 2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12923
12924         * examples/cutter/.cvsignore:
12925         * examples/helloworld/.cvsignore:
12926         * examples/launch/.cvsignore:
12927         * examples/manual/.cvsignore:
12928         * examples/mixer/.cvsignore:
12929         * examples/pingpong/.cvsignore:
12930         * examples/plugins/.cvsignore:
12931         * examples/queue/.cvsignore:
12932         * examples/queue2/.cvsignore:
12933         * examples/queue3/.cvsignore:
12934         * examples/queue4/.cvsignore:
12935         * examples/retag/.cvsignore:
12936         * examples/thread/.cvsignore:
12937         * examples/typefind/.cvsignore:
12938         * examples/xml/.cvsignore:
12939         * gst/.cvsignore:
12940         * gst/autoplug/.cvsignore:
12941         * gst/elements/.cvsignore:
12942         * gst/indexers/.cvsignore:
12943         * gst/parse/.cvsignore:
12944         * gst/registries/.cvsignore:
12945         * gst/schedulers/.cvsignore:
12946         * libs/gst/bytestream/.cvsignore:
12947         * libs/gst/control/.cvsignore:
12948         * libs/gst/getbits/.cvsignore:
12949         * tests/.cvsignore:
12950         * tests/bufspeed/.cvsignore:
12951         * tests/instantiate/.cvsignore:
12952         * tests/memchunk/.cvsignore:
12953         * tests/muxing/.cvsignore:
12954         * tests/sched/.cvsignore:
12955         * tests/seeking/.cvsignore:
12956         * tests/threadstate/.cvsignore:
12957         * testsuite/.cvsignore:
12958         * testsuite/caps/.cvsignore:
12959         * testsuite/cleanup/.cvsignore:
12960         * testsuite/dynparams/.cvsignore:
12961         * testsuite/plugin/.cvsignore:
12962         * tools/.cvsignore:
12963           update - this is huge, because it includes *.bb, *.bbg and *.da files
12964           which are generated for gcov.
12965
12966 2004-01-11  David Schleef  <ds@schleef.org>
12967
12968         * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
12969         a function to parse integers in ways that strto[u]l() does not.
12970
12971 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12972
12973         * tools/gst-inspect.c: (print_caps):
12974           improve output of caps a bit
12975
12976 2004-01-11  David Schleef  <ds@schleef.org>
12977
12978         * gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
12979         inherit correct flags (READONLY and DONTKEEP).
12980
12981 2004-01-11  David Schleef  <ds@schleef.org>
12982
12983         * gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
12984         (gst_filesrc_map_region):
12985         * gst/gstbuffer.c: (_gst_buffer_initialize),
12986         (_gst_buffer_sub_free), (gst_buffer_default_copy),
12987         (gst_buffer_new), (gst_buffer_create_sub),
12988         (gst_buffer_is_span_fast), (gst_buffer_span):
12989         * gst/gstbuffer.h:
12990         Change GstBuffer private structure element names. (all files)
12991         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12992         (gst_queue_link):
12993         * gst/gstqueue.h:
12994         Implement getcaps/pad_link functions that handle the case where
12995         there are data in the queue.
12996
12997 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
12998
12999         * gst/elements/gstbufferstore.c:
13000           initialize debugging structure correctly
13001         * gst/elements/gsttee.c: (gst_tee_set_property):
13002           g_object_notify when property was changed
13003         * gst/elements/gsttypefindelement.c:
13004         (gst_type_find_element_change_state):
13005           clear caps correctly
13006
13007 2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13008
13009         * gst/gstqueue.c: (gst_queue_init):
13010           Use better defaults for when a queue should block. This
13011           gets rid of jerky playback for quite a few files.
13012           It takes more memory.
13013
13014 2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13015
13016         (gst_xml_registry_parse_padtemplate):
13017           make critical message slightly more useful
13018
13019 2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13020
13021         * gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
13022         (gst_debug_message_get), (gst_debug_log_default):
13023         * gst/gstinfo.h:
13024           Change gst_debug_log(_valist) to take a const format string.
13025           Change prototype of log function and functions using those to 
13026           take a GstDebugMessage instead of a string that requires using
13027           gst_debug_message_get.
13028
13029 2004-01-08  David Schleef  <ds@schleef.org>
13030
13031         * Makefile.am:
13032         * configure.ac:
13033         Add option --enable-gcov to build GStreamer with -fprofile-arcs
13034         and -ftest-coverage, which allows gcov to show information about
13035         testsuite coverage.
13036
13037 2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13038
13039         * gst/gstutils.h:
13040           Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
13041           GST_PARENT_CALL_WITH_DEFAULT
13042         * gst/elements/gstaggregator.c: 
13043         * gst/elements/gstbufferstore.c: 
13044         * gst/elements/gstfakesink.c: 
13045         * gst/elements/gstfakesrc.c: 
13046         * gst/elements/gstfdsink.c: 
13047         * gst/elements/gstfdsrc.c: 
13048         * gst/elements/gstfilesink.c: 
13049         * gst/elements/gstfilesrc.c: 
13050         * gst/elements/gstidentity.c: 
13051         * gst/elements/gstmd5sink.c: 
13052         * gst/elements/gstmultidisksrc.c:
13053         * gst/elements/gstpipefilter.c: 
13054         * gst/elements/gstshaper.c:
13055         * gst/elements/gststatistics.c:
13056         * gst/elements/gsttee.c:
13057         * gst/elements/gsttypefindelement.c:
13058           use them.
13059
13060 2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13061
13062         * docs/gst/gstreamer-docs.sgml: remove props
13063         * docs/gst/gstreamer-sections.txt: remove props
13064         * docs/gst/tmpl/gst.sgml:
13065         * docs/gst/tmpl/gstbin.sgml:
13066         * docs/gst/tmpl/gstbuffer.sgml:
13067         * docs/gst/tmpl/gstcaps.sgml:
13068         * docs/gst/tmpl/gstclock.sgml:
13069         * docs/gst/tmpl/gstelement.sgml:
13070         * docs/gst/tmpl/gstindex.sgml:
13071         * docs/gst/tmpl/gstobject.sgml:
13072         * docs/gst/tmpl/gstpad.sgml:
13073         * docs/gst/tmpl/gstpadtemplate.sgml:
13074         * docs/gst/tmpl/gstreamer-unused.sgml:
13075         * docs/gst/tmpl/gstthread.sgml:
13076         * docs/gst/tmpl/gstxml.sgml:
13077           sync with code reorganization
13078
13079 2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
13080
13081         * gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
13082         Make the 'Could not find compatible pad' message more informative.
13083
13084 2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13085                                                                                 
13086         * gst/elements/gstfilesink.c: (gst_filesink_set_location):
13087           Fix for if we pass NULL as property to location.
13088         * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
13089         (gst_pipefilter_handle_event), (gst_pipefilter_chain):
13090           Fix for instantiate-test (see below).
13091         * gst/gststructure.c: (_gst_structure_parse_value):
13092           Fix compile error on gcc-2.96.
13093         * configure.ac:
13094         * tests/Makefile.am:
13095         * tests/instantiate/Makefile.am:
13096         * tests/instantiate/create.c: (create_all_elements), (main):
13097           Add a test that instantiates all elements. This makes it easy to
13098           track dead code for old API/design (like setting event functions
13099           on sink pads and so on).
13100
13101 2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
13102
13103         * gst/gstcaps.c: (gst_caps_append_structure):
13104           Move the poisoning to allow a NULL structure
13105         * gst/gstevent.c: (_gst_event_free):
13106           When freeing a navigation event, free the structure
13107           also
13108
13109 2004-01-04  David Schleef  <ds@schleef.org>
13110
13111         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13112         Remove usage of gst_pad_proxy_fixate.
13113         * gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
13114         (gst_caps_split_one), (gst_caps_replace):
13115         Add poisoning code.
13116         * gst/gstmarshal.list:
13117         Add pointer__pointer for fixate signal
13118         * gst/gstpad.c: (gst_real_pad_class_init),
13119         (_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
13120         (_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
13121         (gst_pad_set_explicit_caps), (gst_pad_template_new):
13122         Add poisoning code. Add fixate signal on RealPad. Change
13123         set_explicit_caps() to take const GstCaps, like try_set_caps().
13124         * gst/gstpad.h:
13125         * testsuite/caps/Makefile.am:
13126         * testsuite/caps/app_fixate.c: Add a test for the fixate signal
13127
13128 2004-01-03  David Schleef  <ds@schleef.org>
13129
13130         * gst/elements/gsttypefindelement.c:
13131         (gst_type_find_element_have_type), (gst_type_find_element_init):
13132         Use gst_pad_use_explicit_caps for src pad.
13133         * gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
13134         before using it.
13135
13136 2004-01-03  David Schleef  <ds@schleef.org>
13137
13138         * gst/gstelement.c: (gst_element_link_pads_filtered),
13139         (gst_element_negotiate_pads): Fix to allow DELAYED to indicate
13140         that linking was successful.
13141         * gst/gstpad.c: (gst_pad_link_free),
13142         (gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
13143         (gst_pad_link_try), (gst_pad_link_unnegotiate),
13144         (gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
13145         GstPadLinkReturn correctly between functions, and don't fail
13146         when DELAYED is used (DELAYED is very important).  Better
13147         cleanup on unlinking and unnegotiation.  Should fix some spider
13148         bugs.
13149
13150 2004-01-02  David Schleef  <ds@schleef.org>
13151
13152         * gst/gstelement.c: (gst_element_class_init),
13153         (gst_element_base_class_init): ->padtemplates should be cleared
13154         in base_init, since we need to have a fresh list for every
13155         class.  (Alternately, we chould copy the list and share the
13156         actual pad templates (not the list), but that would require
13157         changing every plugin to move pad template registration from
13158         base_init to class_init.)
13159
13160 2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13161
13162         * gst/gstelement.c: (gst_element_class_add_pad_template):
13163           Refuse registering a pad template if another pad template
13164           with the same name already exists (#114715).
13165
13166 2004-01-02  David Schleef  <ds@schleef.org>
13167
13168         * gst/gstcaps.c: (_gst_structure_is_equal_foreach),
13169         (gst_caps_is_equal_fixed): Add new function.
13170         * gst/gstcaps.h: ditto.
13171         * gst/gstpad.c: (gst_real_pad_class_init),
13172         (gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
13173         (gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
13174         check new caps against existing caps -- if they're the same, return
13175         OK without renegotiating.  caps-nego-failed signal fixed so that
13176         the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
13177         to save an extra caps copy.  Don't complete negotiation if a pad
13178         link function returns DELAYED.
13179
13180 2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13181
13182         * gst/gstpad.c: (gst_pad_try_relink_filtered):
13183           Fix wrong g_return_if_fail
13184
13185 2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
13186
13187         * gst/gstbin.c: (gst_bin_class_init):
13188         Change the marshalling of element_added/element_removed
13189         to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
13190         complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
13191
13192 2004-01-01  David Schleef  <ds@schleef.org>
13193
13194         * gst/gstpad.c: (gst_pad_set_explicit_caps),
13195         (gst_pad_explicit_getcaps), (gst_pad_explicit_link),
13196         (gst_pad_use_explicit_caps):
13197         * gst/gstpad.h:
13198         Add new functions.  gst_pad_use_explicit_caps() sets up a pad
13199         to use an internal getcaps and link fuction so that negotiation
13200         always results in the explicitly set caps.
13201         gst_pad_set_explicit_caps() sets the explicit caps.  These functions
13202         are particularly useful for decoders.
13203
13204 2003-12-31  David Schleef  <ds@schleef.org>
13205
13206         * gst/elements/gstidentity.c: (gst_identity_class_init),
13207         (gst_identity_init), (gst_identity_chain),
13208         (gst_identity_set_property), (gst_identity_get_property):
13209         * gst/elements/gstidentity.h:
13210         * gst/gstqueue.c: (gst_queue_init):
13211           Negotiation fixes.
13212
13213 2003-12-31  David Schleef  <ds@schleef.org>
13214
13215         * gst/gstcaps.c: (gst_caps_intersect),
13216         (_gst_caps_normalize_foreach), (gst_caps_normalize):
13217           Implement gst_caps_normalize().
13218         * testsuite/caps/normalisation.c: (main):
13219           Add an additional test
13220
13221 2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13222
13223         * gst/gstqueue.c: (gst_queue_init):
13224           use gst_pad_proxy_getcaps()
13225
13226 2003-12-31  David Schleef  <ds@schleef.org>
13227
13228         * gst/elements/gstshaper.c: (gst_shaper_link):
13229         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
13230         * gst/gstqueue.c: (gst_queue_link):
13231           Negotiation fixes.
13232
13233 2003-12-31  David Schleef  <ds@schleef.org>
13234
13235         * gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
13236         * gst/gstpad.h: Add functions that are useful as default pad
13237         link and fixate functions for elements.
13238
13239 2003-12-30  David Schleef  <ds@schleef.org>
13240
13241         * gst/gstpad.c: (gst_pad_link_try):
13242           Fix segfault when attempting to return to old caps
13243
13244 2003-12-29  David Schleef  <ds@schleef.org>
13245
13246         * gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
13247         (gst_caps_structure_simplify), (gst_caps_simplify):
13248         * gst/gstcaps.h:
13249           Add simplify function
13250         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
13251         (gst_pad_perform_negotiate), (gst_pad_is_negotiated):
13252         * gst/gstpad.h:
13253           Copy over srcnotify, sinknotify when calling old pad_link
13254           functions.  Add new is_negotiated() function.
13255         * gst/gststructure.c: (gst_structure_copy):
13256           Fix an incredibly stupid bug that should have been noticed
13257           weeks ago.  _copy() returned the argument, not the new copy.
13258
13259 2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13260
13261         * gst/gstcaps.c: (gst_caps_append):
13262           add sanity checks
13263         * gst/gstcaps.h: (gst_caps_debug):
13264           remove, it doesn't exist anymore.
13265         * gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
13266         (gst_element_threadsafe_properties_post_run):
13267           make debugging messages not clutter up THREAD debug category
13268         (gst_element_negotiate_pads), (gst_element_clear_pad_caps),
13269         (gst_element_change_state):
13270           update to new caps API
13271         * gst/gstinterface.c: (gst_implements_interface_cast):
13272           don't put vital code in g_return_if_fail
13273         * gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
13274         (gst_pad_link_filtered):
13275           add pst_pad_try_link and use it.
13276         (gst_pad_perform_negotiate), (gst_pad_renegotiate):
13277           implement correctly, deprecate first one.
13278         (gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
13279           add and implement.
13280         (gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
13281           implement.
13282         (gst_pad_get_negotiated_caps):
13283           add and implement. Make GST_PAD_CAPS call this function.
13284         (gst_pad_get_caps):
13285           remove unneeded check..
13286         (gst_pad_recover_caps_error):
13287           disable, always return FALSE.
13288         (gst_real_pad_dispose):
13289           don't free caps and appfilter anymore, they're unused.
13290         * gst/gstpad.h:
13291           Reflect changes mentioned above.
13292         * gst/gstsystemclock.c: (gst_system_clock_wait):
13293           Make 'clock is way behind' a debugging message.
13294         * gst/gstthread.c: (gst_thread_change_state):
13295           Fix debugging message
13296
13297 2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13298
13299         * gst/gstinfo.h:
13300           fix GST_DEBUG_CATEGORY_INIT gtk-doc description
13301         * docs/gst/tmpl/gstreamer-unused.sgml:
13302           removed all traces of cvs conflicts
13303
13304 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13305
13306         * configure.ac:
13307         * gst/schedulers/cothreads_compat.h:
13308         * libs/Makefile.am:
13309           remove last instances of wingo cothread usage
13310
13311 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13312
13313         * gst/gstplugin.c:
13314         * gst/gstversion.h.in:
13315         * gst/parse/grammar.y:
13316           change comment block from /** to /* when not gtk-doc comments
13317
13318 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13319
13320         * gst/gst.c: whitespace and doc style fixes
13321
13322 2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13323
13324         * gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
13325
13326 2003-12-24  Colin Walters  <walters@verbum.org>
13327
13328         * gst/elements/gsttypefindelement.c:
13329           gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
13330           Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
13331           Don't double-free caps.
13332
13333 2003-12-23  David Schleef  <ds@schleef.org>
13334
13335         * gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
13336           gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
13337           Many little fixes and additions of debug statements to
13338           get rhythmbox working.
13339
13340 2003-12-23  Colin Walters  <walters@verbum.org>
13341
13342         * gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
13343         Use GST_PAD_LINK_SUCCESSFUL.
13344
13345 2003-12-23  David Schleef  <ds@schleef.org>
13346
13347         * gst/elements/gstaggregator.c:
13348         * gst/elements/gsttee.c:
13349           Use gst_pad_proxy_getcaps().
13350         * gst/gstpad.c:
13351         * gst/gstpad.h:
13352           Add gst_pad_proxy_getcaps(), which filter elements can use
13353           as a generic getcaps implementation.
13354           Fix gst_pad_get_allowed_caps().  It just wasn't doing what
13355           was advertised.
13356
13357 2003-12-23  David Schleef  <ds@schleef.org>
13358
13359         * gst/gstpad.c:
13360           Rearrange/rewrite much of the pad negotiation code, since it
13361           resembled pasta.  This actually changes the way some
13362           negotiation works, since the previous code was inconsistent
13363           depending on how it was invoked.  Add (internal) structure
13364           GstPadLink, which is used to hold some information (more in
13365           the future) about the link between two pads.  Fixes a number
13366           of bugs, including random lossage of filter caps when the
13367           initial negotiation is delayed.  A few functions are still
13368           unimplemented.
13369         * gst/gstpad.h:
13370           Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
13371           these when testing GstPadLinkReturn values instead of comparing
13372           directly.
13373
13374 2003-12-23  David Schleef  <ds@schleef.org>
13375
13376         * gst/gstvalue.c: 
13377         * gst/gstvalue.h:
13378           Rearrange lots of code.  Change registration of compare function
13379           into registration of compare/serialize/deserialize functions.
13380           Doesn't include implementation of gst_value_[de]serialize(),
13381           but that should be easy.
13382
13383 2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13384
13385         * docs/gst/gstreamer-sections.txt:
13386         * docs/gst/tmpl/gstprops.sgml: removed
13387         * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
13388           David removed props and caps code, so let's remove their docs as well.
13389           Removed all no longer existing symbols from gstreamer-sections.txt
13390           
13391 2003-12-22  Colin Walters  <walters@verbum.org>
13392
13393         * gst/gsttaginterface.c, gst/gsttaginterface.h,
13394           gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
13395           of tags directly.
13396
13397 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13398
13399         * gst/elements/gstelements.c:
13400           Set ranks of elements to NONE, so the autoplugger doesn't use them.
13401         * gst/elements/gstshaper.c: (gst_shaper_getcaps):
13402           Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
13403           gst_caps (peer).
13404
13405 2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
13406
13407         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13408         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
13409         (gst_spider_identity_getcaps), (gst_spider_identity_change_state),
13410         (gst_spider_identity_sink_loop_type_finding):
13411         * gst/autoplug/gstspideridentity.h:
13412           Fix autoplugging in spider element, so it works with new caps.
13413           This was mainly caused by identifying empty caps incorrectly.
13414
13415 2003-12-22  David Schleef  <ds@schleef.org>
13416
13417         * gststructure.c, gstvalue.c, gstvalue.h: Add
13418           gst_value_init_and_copy() and use it, to avoid silly mistakes in
13419           using g_value_copy()
13420
13421 2003-12-21  David Schleef  <ds@schleef.org>
13422
13423         * many, many files: Merge CAPS branch.  This includes:
13424           - implemention of GstValue and several GstValue types
13425           - implemention of GstStructure
13426           - entire rewrite of GstCaps
13427           - removal of GstProps
13428           - many changes to GstPad to compensate for new caps paradigm
13429           - removal of GstBufferpool
13430         * gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
13431         gstvalue.h, gst/gstcaps[2]*.[ch]:
13432           - rename gstcaps2.[ch] to gstcaps.[ch]
13433
13434 2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
13435
13436         * gst/gstqueue.c: (gst_queue_handle_pending_events),
13437         (gst_queue_chain), (gst_queue_handle_src_event):
13438           implement timeout for sending events. Workaround for if the
13439           pipeline on this queue is not passing any data.
13440
13441 2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
13442                                                                                 
13443         * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
13444         * moved CVS to freedesktop.org
13445