docs/manual/advanced-position.xml: Update seek example and explanations to current...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * docs/manual/advanced-position.xml:
4           Update seek example and explanations to current 0.9 API.
5
6         * gst/elements/gsttypefindelement.c:
7         (gst_type_find_element_activate):
8           Remove FIXME comment now that the found caps
9           are unreffed.
10
11 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12
13         * gst/gstregistryxml.c: (load_feature):
14           Add another GST_STR_NULL instance
15
16 2005-11-02  Edward Hervey  <edward@fluendo.com>
17
18         * gst/gstpad.c: (handle_pad_block):
19         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
20         
21 2005-11-02  Wim Taymans  <wim@fluendo.com>
22
23         * gst/gstbin.c:
24         Fix typo in docs.
25
26         * gst/gstelement.c: (gst_element_commit_state):
27         Remove unused value.
28
29         * gst/gstiterator.c:
30         Mention that the returned element is reffed in the docs.
31
32 2005-11-02  Wim Taymans  <wim@fluendo.com>
33
34         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
35         (gst_pad_push), (gst_pad_push_event):
36         Unlock blocked pads when they are flushed.
37
38 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
39
40         * docs/README:
41         * docs/gst/gstreamer-sections.txt:
42         * gst/gstbin.c:
43           doc updates
44         * gst/gstregistry.c: (gst_registry_scan_path_level):
45           fix for a nasty little missed situation where an installed plug-in
46           which was in the cache did not get overridden by an uninstalled one
47           which was earlier in the plugin path because the newly created plugin
48           for the uninstalled one (not in the registry) didn't get its
49           ->registered set to TRUE
50
51 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
52
53         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
54         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
55         (gst_collectpads_is_active), (gst_collectpads_collect),
56         (gst_collectpads_collect_range), (gst_collectpads_start),
57         (gst_collectpads_stop), (gst_collectpads_peek),
58         (gst_collectpads_pop), (gst_collectpads_available),
59         (gst_collectpads_read), (gst_collectpads_flush):
60           Guard public API with assertions.
61         
62         * gst/gstpad.c:
63           Fix docs for gst_pad_set_link_function().
64
65 2005-11-02  Johan Dahlin  <johan@gnome.org>
66
67         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
68         Unref found_caps after we used it.
69
70 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
71
72         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
73           Don't try to ref NULL.
74
75 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
76
77         * win32/common/config.h.in:
78           provide a GST_FUNCTION that just gives a string for now
79
80 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
81
82         * win32/common/gstenumtypes.c: (register_gst_object_flags),
83         (gst_object_flags_get_type), (register_gst_bin_flags),
84         (gst_bin_flags_get_type), (register_gst_buffer_flag),
85         (gst_buffer_flag_get_type), (register_gst_bus_flags),
86         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
87         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
88         (gst_clock_return_get_type), (register_gst_clock_entry_type),
89         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
90         (gst_clock_flags_get_type), (register_gst_state),
91         (gst_state_get_type), (register_gst_state_change_return),
92         (gst_state_change_return_get_type), (register_gst_state_change),
93         (gst_state_change_get_type), (register_gst_element_flags),
94         (gst_element_flags_get_type), (register_gst_core_error),
95         (gst_core_error_get_type), (register_gst_library_error),
96         (gst_library_error_get_type), (register_gst_resource_error),
97         (gst_resource_error_get_type), (register_gst_stream_error),
98         (gst_stream_error_get_type), (register_gst_event_type),
99         (gst_event_type_get_type), (register_gst_seek_type),
100         (gst_seek_type_get_type), (register_gst_seek_flags),
101         (gst_seek_flags_get_type), (register_gst_format),
102         (gst_format_get_type), (register_gst_index_certainty),
103         (gst_index_certainty_get_type), (register_gst_index_entry_type),
104         (gst_index_entry_type_get_type),
105         (register_gst_index_lookup_method),
106         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
107         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
108         (gst_index_resolver_method_get_type), (register_gst_index_flags),
109         (gst_index_flags_get_type), (register_gst_debug_level),
110         (gst_debug_level_get_type), (register_gst_debug_color_flags),
111         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
112         (gst_iterator_result_get_type), (register_gst_iterator_item),
113         (gst_iterator_item_get_type), (register_gst_message_type),
114         (gst_message_type_get_type), (register_gst_mini_object_flags),
115         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
116         (gst_pad_link_return_get_type), (register_gst_flow_return),
117         (gst_flow_return_get_type), (register_gst_activate_mode),
118         (gst_activate_mode_get_type), (register_gst_pad_direction),
119         (gst_pad_direction_get_type), (register_gst_pad_flags),
120         (gst_pad_flags_get_type), (register_gst_pad_presence),
121         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
122         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
123         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
124         (gst_plugin_error_get_type), (register_gst_plugin_flags),
125         (gst_plugin_flags_get_type), (register_gst_rank),
126         (gst_rank_get_type), (register_gst_query_type),
127         (gst_query_type_get_type), (register_gst_tag_merge_mode),
128         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
129         (gst_tag_flag_get_type), (register_gst_task_state),
130         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
131         (gst_alloc_trace_flags_get_type),
132         (register_gst_type_find_probability),
133         (gst_type_find_probability_get_type), (register_gst_uri_type),
134         (gst_uri_type_get_type), (register_gst_parse_error),
135         (gst_parse_error_get_type):
136         * win32/common/gstversion.h:
137           update win32 copies
138
139 2005-11-01  Luca Ognibene  <luogni@tin.it>
140
141         * gst/gst.c:
142           fix docs. popt is dead, long live GOption.
143
144 2005-10-31  Wim Taymans  <wim@fluendo.com>
145
146         * gst/gstbuffer.h:
147         Small doc fix.
148
149 2005-10-31  Andy Wingo  <wingo@pobox.com>
150
151         * Boo!
152
153         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
154
155         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
156         need to serialize property notifications on GLib 2.8. GLib 2.6 has
157         the possibility of deadlocks here if code calling notify() or
158         set() has a lock that can be taken in another notify handler (ABBA
159         with class lock and e.g. python GIL state lock).
160
161 2005-10-28  Julien MOUTTE  <julien@moutte.net>
162
163         * gst/gstbus.c: Doc updates.
164
165 2005-10-28  Wim Taymans  <wim@fluendo.com>
166
167         * docs/design/part-TODO.txt:
168         * gst/gstiterator.c:
169         * gst/gstsystemclock.c:
170         * gst/gstsystemclock.h:
171         Doc updates.
172
173 2005-10-28  Edward Hervey  <edward@fluendo.com>
174
175         * docs/gst/gstreamer-docs.sgml:
176         * docs/gst/gstreamer-sections.txt:
177         the GstURIType documentation page is private, it only defines GstURIType
178         which should be defined in the GstURIHandler page
179         
180 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
181
182         * gst/gstbin.c: (gst_bin_class_init):
183         * gst/gstbin.h:
184         * gst/gstutils.c:
185         Documentation updates.
186
187 2005-10-28  Wim Taymans  <wim@fluendo.com>
188
189         * docs/gst/gstreamer-sections.txt:
190         * gst/gstclock.c:
191         * gst/gstclock.h:
192         Documented the clocks.
193
194 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
195
196         * docs/gst/gstreamer-sections.txt:
197           move some macros to private sections
198         * gst/gstminiobject.c:
199         * gst/gstminiobject.h:
200           add descriptions provided by ds and some more
201         * gst/gstpad.h:
202           mark macro as to be removed
203
204 2005-10-28  Wim Taymans  <wim@fluendo.com>
205
206         * docs/design/part-TODO.txt:
207         Add an item to TODO.
208
209         * gst/gstiterator.c: (gst_iterator_fold),
210         (gst_iterator_find_custom):
211         * gst/gstiterator.h:
212         Add iterator docs.
213
214 2005-10-28  Wim Taymans  <wim@fluendo.com>
215
216         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
217         (gst_base_transform_init):
218         Don't leak class.
219
220         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
221         An EOS event marks the queue as completely filled.
222
223 2005-10-27  Wim Taymans  <wim@fluendo.com>
224
225         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
226         (gst_base_sink_do_sync), (gst_base_sink_get_position):
227         Some more debugging.
228
229         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
230         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
231         (gst_base_transform_event), (gst_base_transform_getrange),
232         (gst_base_transform_chain):
233         * gst/base/gstbasetransform.h:
234         Fix debugging,
235         Protect transform and concurrent buffer alloc with a new lock.
236         Try not to break ABI/API.
237
238 2005-10-27  Wim Taymans  <wim@fluendo.com>
239
240         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
241         (gst_base_src_init), (gst_base_src_query),
242         (gst_base_src_default_newsegment),
243         (gst_base_src_configure_segment), (gst_base_src_do_seek),
244         (gst_base_src_send_event), (gst_base_src_event_handler),
245         (gst_base_src_pad_get_range), (gst_base_src_loop),
246         (gst_base_src_unlock), (gst_base_src_default_negotiate),
247         (gst_base_src_start), (gst_base_src_deactivate),
248         (gst_base_src_activate_push), (gst_base_src_change_state):
249         Move some stuff around and cleanup things.
250
251 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
252
253         * gst/base/gstbasesrc.c: (gst_base_src_query):
254           Add missing break statements.
255
256 2005-10-27  Wim Taymans  <wim@fluendo.com>
257
258         * check/gst/gstbin.c: (GST_START_TEST):
259         An extra refcount is taken in basesrc.
260
261         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
262         (gst_base_src_get_range), (gst_base_src_pad_get_range),
263         (gst_base_src_loop):
264         Small cleanups, check for flushing after being unlocked from the 
265         LIVE_LOCK. take refcounts correctly (not yet everywhere).
266         Don't send out EOS when going to READY.
267
268 2005-10-27  Wim Taymans  <wim@fluendo.com>
269
270         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
271         (gst_base_sink_get_position):
272         Some more debug.
273
274         * gst/gstbin.c: (message_check), (bin_replace_message),
275         (bin_remove_messages), (is_eos), (gst_bin_add_func),
276         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
277         (bin_query_duration_init), (bin_query_duration_fold),
278         (bin_query_duration_done), (bin_query_generic_fold),
279         (gst_bin_query):
280         * tools/gst-launch.c: (main):
281         Remove old option.
282
283 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
284
285         * examples/controller/audio-example.c: (main):
286         * examples/queue/queue.c: (event_loop):
287         * gst/base/gstbasetransform.h:
288         * gst/gstelement.c: (gst_element_send_event):
289         * gst/gstevent.h:
290         * gst/gstpad.c: (gst_pad_send_event):
291           fixing examples
292           fixing docs typos
293           changing log priority in error situations
294
295 2005-10-25  Wim Taymans  <wim@fluendo.com>
296
297         * gst/gstbin.c: (message_check), (bin_replace_message),
298         (bin_remove_messages), (is_eos), (gst_bin_add_func),
299         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
300         (bin_query_duration_init), (bin_query_duration_fold),
301         (bin_query_duration_done), (bin_query_generic_fold),
302         (gst_bin_query):
303         Some doc and debug updates.
304         Cache previously requested query DURATION for speed. invalidate
305         cached duration if element posts a DURATION message.
306
307 2005-10-25  Wim Taymans  <wim@fluendo.com>
308
309         * docs/design/part-TODO.txt:
310         Update TODO.
311
312         * gst/gstbin.c: (message_check), (bin_replace_message),
313         (bin_remove_messages), (is_eos), (gst_bin_add_func),
314         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
315         (bin_query_duration_init), (bin_query_duration_fold),
316         (bin_query_duration_done), (bin_query_generic_fold),
317         (gst_bin_query):
318         Handle SEGMENT_START/DONE messages correctly.
319         More evolved query algorithm that handles duration queries
320         correctly.
321
322         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
323         (gst_element_get_state_func), (gst_element_abort_state),
324         (gst_element_commit_state), (gst_element_lost_state):
325         Some more debugging.
326
327         * gst/gstmessage.h:
328         Added doc.
329
330 2005-10-25  Wim Taymans  <wim@fluendo.com>
331
332         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
333         Don't use invalid stream_time.
334
335         * gst/gstevent.c: (gst_event_new_newsegment):
336         stream_time in newsegment cannot be undefined.
337
338 2005-10-24  Wim Taymans  <wim@fluendo.com>
339
340         * gst/gstbus.c:
341         Doc fix.
342
343         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
344         (gst_queue_loop):
345         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
346
347 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
348
349         * docs/libs/tmpl/gstdparam.sgml:
350         * docs/libs/tmpl/gstdplinint.sgml:
351         * docs/libs/tmpl/gstdpman.sgml:
352         * docs/libs/tmpl/gstdpsmooth.sgml:
353         * docs/libs/tmpl/gstunitconvert.sgml:
354           these are obsolete
355
356 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
357
358         * configure.ac:
359           back to HEAD
360
361 === release 0.9.4 ===
362
363 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
364
365         * configure.ac:
366           releasing 0.9.4, "Tyrannosaurus Rex"
367
368 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
369
370         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
371         (gst_file_sink_get_current_offset):
372           Use fseeko() and ftello() if available. When falling back on
373           lseek() to get the current offset, fflush() first to make sure
374           everything is up-to-date and we get the right offset.
375
376 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
377
378         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
379         * gst/base/gstbasesrc.c: (gst_base_src_loop):
380         * gst/gsterror.c: (_gst_stream_errors_init):
381         * gst/gsterror.h:
382         * gst/gstqueue.c: (gst_queue_loop):
383         * po/POTFILES.in:
384           remove prematurely added error category and clean up the instances
385
386 2005-10-21  Wim Taymans  <wim@fluendo.com>
387
388         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
389         (gst_base_sink_get_position), (gst_base_sink_query),
390         (gst_base_sink_change_state):
391         Simply set the right flag when going to playing, that's all
392         we need to do instead of calling a function inside the object
393         lock (that could take the lock as well and deadlock)
394
395 2005-10-21  Wim Taymans  <wim@fluendo.com>
396
397         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
398         (gst_base_src_loop):
399         Don't warn, the peer element knows what to do best when
400         the seek failed, it might try something else.
401
402 2005-10-21  Wim Taymans  <wim@fluendo.com>
403
404         * gst/base/gstbasesrc.c: (gst_base_src_init),
405         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
406         Fix seeking.
407
408 2005-10-21  Wim Taymans  <wim@fluendo.com>
409
410         * docs/design/part-segments.txt:
411         More docs.
412
413         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
414         Correctly set caps, even on the subbufer.
415
416 2005-10-21  Wim Taymans  <wim@fluendo.com>
417
418         * docs/gst/gstreamer-docs.sgml:
419         * docs/gst/gstreamer-sections.txt:
420         * gst/gstelement.h:
421         * gst/gstevent.c:
422         * gst/gstevent.h:
423         * gst/gstmessage.h:
424         * gst/gstpad.h:
425         * gst/gstparse.h:
426         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
427         * gst/gsttask.h:
428         * gst/gstutils.c:
429         * gst/gstutils.h:
430         And 2% more doc coverage.
431
432 2005-10-21  Andy Wingo  <wingo@pobox.com>
433
434         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
435         position reporting.
436
437 2005-10-20  Wim Taymans  <wim@fluendo.com>
438
439         * gst/gsterror.c: (gst_error_get_message):
440         * gst/gstparse.h:
441         * gst/gstquery.h:
442         * gst/gststructure.c:
443         * gst/gsttrace.c:
444         * gst/gstutils.c:
445         More docs.
446
447 2005-10-20  Wim Taymans  <wim@fluendo.com>
448
449         * gst/gstbuffer.h:
450         * gst/gstpad.c:
451         * gst/gstparse.c:
452         Another 1% more coverage.
453
454 2005-10-20  Wim Taymans  <wim@fluendo.com>
455
456         * docs/gst/gstreamer-sections.txt:
457         * gst/gstelement.c: (gst_element_get_state_func),
458         (gst_element_abort_state), (gst_element_commit_state),
459         (gst_element_lost_state):
460         * gst/gstevent.h:
461         * gst/gstquery.c: (gst_query_set_position),
462         (gst_query_parse_position), (gst_query_set_duration),
463         (gst_query_parse_duration), (gst_query_new_convert):
464         * gst/gstutils.c:
465         Yay! 1% more docs coverage.
466
467 2005-10-20  Wim Taymans  <wim@fluendo.com>
468
469         * gst/gstpad.h:
470         * gst/gstquery.c: (gst_query_set_position),
471         (gst_query_parse_position), (gst_query_set_duration),
472         (gst_query_parse_duration), (gst_query_new_convert):
473         * gst/gstquery.h:
474         * gst/gstutils.c: (gst_element_query_convert):
475         * gst/gstutils.h:
476         Docs and consistency fixes.
477
478 2005-10-20  Wim Taymans  <wim@fluendo.com>
479
480         * gst/gsttask.c:
481         * gst/gsttask.h:
482         More docs.
483
484 2005-10-20  Wim Taymans  <wim@fluendo.com>
485
486         * gst/gstbin.c: (message_check), (bin_replace_message),
487         (bin_remove_messages), (is_eos), (gst_bin_add_func),
488         (update_degree), (gst_bin_sort_iterator_next),
489         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
490         Reworked the message handling a bit, cache the messages instead of
491         only the senders. alows us to do more in the future.
492
493 2005-10-20  Wim Taymans  <wim@fluendo.com>
494
495         * docs/design/part-TODO.txt:
496         Update TODO
497
498         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
499         (gst_base_sink_query):
500         Don't use clock time to report position when in EOS.
501
502 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
503
504         * tools/gst-inspect.c: (print_interfaces),
505         (print_element_properties_info), (print_element_info):
506           Fix interface output with gst-inspect -a; don't print
507           newlines after double/float properties.
508
509 2005-10-20  Wim Taymans  <wim@fluendo.com>
510
511         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
512         (gst_base_sink_query):
513         Speed up current position calculation.
514
515         * gst/base/gstbasesrc.c: (gst_base_src_query),
516         (gst_base_src_default_newsegment):
517         Correctly set stream position in newsegment.
518
519         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
520         (update_degree), (gst_bin_sort_iterator_next),
521         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
522         * gst/gstmessage.c: (gst_message_new_custom):
523         Clean up debugging info
524
525         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
526         (gst_queue_loop), (gst_queue_handle_src_query):
527         Pause task faster.
528
529 2005-10-19  Wim Taymans  <wim@fluendo.com>
530
531         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
532         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
533         Fix query handling again.
534
535 2005-10-19  Wim Taymans  <wim@fluendo.com>
536
537         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
538         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
539         * gst/base/gstbasesrc.c: (gst_base_src_query):
540         * gst/elements/gstfilesink.c: (gst_file_sink_query):
541         * gst/elements/gsttypefindelement.c:
542         (gst_type_find_handle_src_query), (find_element_get_length),
543         (gst_type_find_element_activate):
544         API change fix.
545
546         * gst/gstquery.c: (gst_query_new_position),
547         (gst_query_set_position), (gst_query_parse_position),
548         (gst_query_new_duration), (gst_query_set_duration),
549         (gst_query_parse_duration), (gst_query_set_segment),
550         (gst_query_parse_segment):
551         * gst/gstquery.h:
552         Bundling query position/duration is not a good idea since duration
553         does not change much and we don't want to recalculate it for every
554         position query, so they are separated again..
555         Base value in segment query is not needed.
556
557         * gst/gstqueue.c: (gst_queue_handle_src_query):
558         * gst/gstutils.c: (gst_element_query_position),
559         (gst_element_query_duration), (gst_pad_query_position),
560         (gst_pad_query_duration):
561         * gst/gstutils.h:
562         Updates for query API change.
563         Added some docs here and there.
564
565 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
566
567         * check/gst/gstbin.c: (GST_START_TEST):
568         * check/gst/gstghostpad.c: (GST_START_TEST):
569         * check/pipelines/cleanup.c: (GST_START_TEST):
570           wait on thread to die so we can check refcount correctly
571
572 2005-10-18  Wim Taymans  <wim@fluendo.com>
573
574         * check/pipelines/stress.c: (GST_START_TEST):
575         Make check a little more time consuming.
576
577 2005-10-18  Wim Taymans  <wim@fluendo.com>
578
579         * check/Makefile.am:
580         * check/pipelines/stress.c: (GST_START_TEST),
581         (simple_launch_lines_suite), (main):
582         Small state change torture test.
583
584         * docs/design/part-states.txt:
585         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
586         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
587         (gst_base_sink_change_state):
588         Never take state lock from streaming thread, clean up ugly
589         hacks. Unfortunatly core does not yet support nice ways to
590         async commit state.
591         
592         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
593         (bin_bus_handler):
594         Start state recalc if a STATE_DIRTY message is posted, but only
595         on the toplevel bin.
596
597         * gst/gstelement.c: (gst_element_sync_state_with_parent),
598         (gst_element_get_state_func), (gst_element_abort_state),
599         (gst_element_commit_state), (gst_element_lost_state),
600         (gst_element_set_state_func), (gst_element_change_state):
601         * gst/gstelement.h:
602         State variables are now protected with the LOCK, the state
603         lock is only used to serialize _set_state().
604
605 2005-10-18  Wim Taymans  <wim@fluendo.com>
606
607         * check/gst/gstbin.c: (GST_START_TEST):
608         * check/gst/gstmessage.c: (GST_START_TEST):
609         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
610         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
611         (bin_bus_handler):
612         * gst/gstelement.c: (gst_element_abort_state),
613         (gst_element_commit_state), (gst_element_lost_state):
614         * gst/gstmessage.c: (gst_message_new_state_changed),
615         (gst_message_new_state_dirty), (gst_message_new_segment_start),
616         (gst_message_new_segment_done), (gst_message_new_duration),
617         (gst_message_parse_state_changed),
618         (gst_message_parse_segment_start),
619         (gst_message_parse_segment_done), (gst_message_parse_duration):
620         * gst/gstmessage.h:
621         * tools/gst-launch.c: (event_loop):
622         Seriously, this is better than a previous commit as we only need
623         to notify the fact that an element changed state in a streaming
624         thread, marking the state of the parents dirty, hence the 
625         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
626         message.
627
628 2005-10-18  Wim Taymans  <wim@fluendo.com>
629
630         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
631         (gst_bin_recalc_func):
632         * gst/gstelement.c: (gst_element_set_clock),
633         (gst_element_abort_state), (gst_element_lost_state):
634         Cleanups, prepare for state change fixes.
635
636 2005-10-18  Wim Taymans  <wim@fluendo.com>
637
638         * gst/gstbin.h:
639         * gst/gstelement.c: (gst_element_class_init),
640         (gst_element_set_state), (gst_element_set_state_func):
641         * gst/gstelement.h:
642         Pending ABI changes.
643         GThreadPool in GstBinClass to monitor async state changes.
644         state_cookie in GstElement to detect concurrent gst/set state.
645         set_state is now virtual too in case a very complicated element
646         has to be constructed.
647
648 2005-10-18  Wim Taymans  <wim@fluendo.com>
649
650         * check/gst/gstbin.c: (GST_START_TEST):
651         * check/gst/gstmessage.c: (GST_START_TEST):
652         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
653         * gst/gstbin.c: (bin_bus_handler):
654         * gst/gstelement.c: (gst_element_commit_state),
655         (gst_element_lost_state):
656         * gst/gstmessage.c: (gst_message_new_state_changed),
657         (gst_message_new_segment_start), (gst_message_new_segment_done),
658         (gst_message_new_duration), (gst_message_parse_state_changed),
659         (gst_message_parse_segment_start),
660         (gst_message_parse_segment_done), (gst_message_parse_duration):
661         * gst/gstmessage.h:
662         * tools/gst-launch.c: (event_loop):
663         Make messages future proof.
664         state-change gets a flag if it was a message comming from the
665         streaming thread.
666         segment-start/stop can also be specified in other formats.
667         A message to notify an app that a pipeline changed playback 
668         duration.
669         Also fix a GstMessage leak in -launch
670
671 2005-10-18  Andy Wingo  <wingo@pobox.com>
672
673         * gst/gstelement.c (gst_element_dispose): More helpful message.
674
675 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
676
677         * gst/gstregistry.c: (gst_registry_scan_path_level):
678           unref a plug-in we get that was already initialized
679
680 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
681
682         * docs/gst/gstreamer-sections.txt:
683         * docs/libs/gstreamer-libs-sections.txt:
684         * gst/gstelement.h:
685           add new api entries
686           hide internal macro
687
688 2005-10-17  Andy Wingo  <wingo@pobox.com>
689
690         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
691         cleanup.
692
693         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
694
695         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
696
697         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
698         (gst_element_get_state_func): Better debug message.
699         (gst_element_commit_state): s/INFO/DEBUG/.
700         (gst_element_lost_state, gst_element_change_state): 
701
702         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
703         (gst_message_new_custom): s/INFO/LOG/.
704
705 2005-10-17  Michael Smith <msmith@fluendo.com>
706
707         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
708           Check if end time is valid using end time, not start time.
709
710 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
711
712         * check/gst-libs/controller.c: (GST_START_TEST),
713         (gst_controller_suite):
714         * libs/gst/controller/gstcontroller.c:
715         (gst_controlled_property_set_interpolation_mode):
716         * libs/gst/controller/gstcontroller.h:
717         * libs/gst/controller/gstinterpolation.c:
718         * testsuite/controller/.cvsignore:
719         * testsuite/controller/Makefile.am:
720         * testsuite/controller/interpolator.c:
721           merge controller testsuites
722           fix broken tests
723           remove mem-chunk from docs
724
725 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
726
727         * gst/gstmemchunk.c:
728         * gst/gstmemchunk.h:
729         * gst/gsttrashstack.c:
730         * gst/gsttrashstack.h:
731           out.  get out.  you're fired.  to the Attic !
732
733 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
734
735         * gst/gstcaps.c: (gst_caps_intersect):
736           fix signedness issues in a (hopefully) correct way
737         * gst/gstelement.c: (gst_element_pads_activate):
738           some debugging
739         * gst/gstobject.c: (gst_object_set_parent):
740           some debugging
741
742 2005-10-17  Julien MOUTTE  <julien@moutte.net>
743
744         * gst/gstvalue.h: Fix prototypes.
745
746 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
747
748         * docs/gst/gstreamer-sections.txt:
749         * gst/gst.c: (gst_version_string):
750         * gst/gst.h:
751         * gst/gstversion.h.in:
752         * win32/common/libgstreamer.def:
753           add gst_version_string ()
754
755 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
756
757         * configure.ac:
758           clean up further
759         * gst/gst.c: (init_post):
760         * win32/common/config.h.in:
761           it's PLUGINDIR now
762         * gst/gstcaps.c: (gst_caps_intersect):
763           use gint64, the range could be bigger than a guint
764
765 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
766
767         * gst/gstclock.h:
768           document potential problem in 2038
769
770 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
771
772         * gst/gstcaps.c: (gst_caps_intersect):
773           Fix guint j diving under 0
774
775 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
776
777         * configure.ac:
778         * win32/common/config.h:
779         * win32/common/config.h.in:
780           check for process.h, declares getpid() on Windows
781         * gst/gstinfo.c:
782           include process.h if we have it
783         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
784         * gst/gstmemchunk.h:
785           fix signedness issues
786         * win32/common/libgstreamer.def:
787           fix get_type's
788
789 2005-10-16  Julien MOUTTE  <julien@moutte.net>
790
791         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
792         fix. Because of unsigned ints, caps intersection was going nuts and
793         trying to access structures with G_MAXUINT index. That fixes
794         videotestsrc ! ffmpegcolorspace ! fakesink
795         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
796         consistency.
797
798 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
799
800         * configure.ac:
801           use the gettext macro
802         * gst/elements/gstelements.c:
803         * gst/gst.c:
804         * gst/indexers/gstindexers.c:
805           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
806         * win32/common/config.h:
807           updated config.h
808         * win32/common/config.h.in:
809           add the template to generate config.h
810         * win32/common/gstenumtypes.c:
811         * win32/common/gstversion.h:
812           updated copies
813
814 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
815
816         * gst/gst.c: (gst_version):
817         * gst/gstversion.h.in:
818           add the nano
819
820 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
821
822         * gst/gstevent.h:
823           Oops, add missing closing bracket.
824
825 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
826
827         * configure.ac:
828           use common m4's for argument checking
829
830 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
831
832         * docs/gst/gstreamer-sections.txt:
833         * gst/gstevent.h:
834           Add GST_EVENT_TYPE_NAME() macro.
835
836 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
837
838         * gst/gstinfo.c:
839         * gst/gstpluginfeature.c:
840         * gst/gsttask.c:
841           privatize more symbols
842
843 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
844
845         * configure.ac:
846           add srcdir, builddir includes to GST_ALL_CFLAGS, since
847           everything that uses GStreamer API should have the includes
848
849 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
850
851         * docs/gst/gstreamer-sections.txt:
852         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
853         * gst/gstvalue.h:
854           give each value a _get_type, removes the DATA exports
855
856 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
857
858         * gst/gst.c:
859         * gst/gst.h:
860           remove _gst_registry_auto_load, not used anymore
861         * gst/gstbin.c: (gst_bin_get_type):
862         * gst/gstbin.h:
863         * gst/gstelement.c: (gst_element_get_type):
864         * gst/gstelement.h:
865         * gst/gstobject.c: (gst_object_get_type):
866         * gst/gstobject.h:
867         * gst/gstpad.c: (gst_pad_get_type):
868         * gst/gstpad.h:
869           make _get_type functions similar, fixes data export from library
870
871 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
872
873         * configure.ac:
874           correctly make conditionals
875         * gst/elements/Makefile.am:
876         * gst/elements/gstelements.c:
877           fix typo causing fdsrc not to build
878
879 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
880
881         * testsuite/Makefile.am:
882         * testsuite/bytestream/.cvsignore:
883         * testsuite/bytestream/Makefile.am:
884         * testsuite/bytestream/filepadsink.c:
885         * testsuite/bytestream/gstbstest.c:
886         * testsuite/bytestream/test1.c:
887         * testsuite/bytestream/testfile1:
888         * testsuite/caps/normalisation.c:
889         * testsuite/caps/random.c: (main):
890         * testsuite/cleanup/.cvsignore:
891         * testsuite/cleanup/Makefile.am:
892         * testsuite/cleanup/cleanup1.c:
893         * testsuite/cleanup/cleanup2.c:
894         * testsuite/cleanup/cleanup3.c:
895         * testsuite/cleanup/cleanup4.c:
896         * testsuite/cleanup/cleanup5.c:
897         * testsuite/controller/interpolator.c:
898         * testsuite/debug/printf_extension.c: (main):
899         * testsuite/elements/tee.c:
900         * testsuite/negotiation/.cvsignore:
901         * testsuite/negotiation/Makefile.am:
902         * testsuite/negotiation/pad_link.c:
903         * testsuite/pad/Makefile.am:
904         * testsuite/pad/chainnopull.c:
905         * testsuite/pad/getnopush.c:
906         * testsuite/pad/link.c:
907         * testsuite/refcounting/sched.c: (create_pipeline):
908         * testsuite/registry/Makefile.am:
909         * testsuite/registry/gst-print-formats.c:
910         * testsuite/schedulers/.cvsignore:
911         * testsuite/schedulers/142183-2.c:
912         * testsuite/schedulers/142183.c:
913         * testsuite/schedulers/143777-2.c:
914         * testsuite/schedulers/143777.c:
915         * testsuite/schedulers/147713.c:
916         * testsuite/schedulers/147819.c:
917         * testsuite/schedulers/147894-2.c:
918         * testsuite/schedulers/147894.c:
919         * testsuite/schedulers/Makefile.am:
920         * testsuite/schedulers/group_link.c:
921         * testsuite/schedulers/queue_link.c:
922         * testsuite/schedulers/relink.c:
923         * testsuite/schedulers/unlink.c:
924         * testsuite/schedulers/unref.c:
925         * testsuite/schedulers/useless_iteration.c:
926         * testsuite/states/bin.c:
927           clean out/remove some stuff from the testsuite directories
928
929 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
930
931         * configure.ac:
932           check for some headers
933         * gst/elements/Makefile.am:
934         * gst/elements/gstelements.c:
935           don't compile fdsrc without sys/socket.h
936         * gst/indexers/Makefile.am:
937         * gst/indexers/gstindexers.c: (plugin_init):
938           don't compile fileindex without mmap
939
940 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
941
942         * configure.ac:
943           reorganize
944           clean up
945           document more
946           remove cruft
947         * check/Makefile.am:
948         * docs/gst/Makefile.am:
949         * examples/helloworld/Makefile.am:
950         * gst/Makefile.am:
951         * gst/base/Makefile.am:
952         * gst/check/Makefile.am:
953         * gst/elements/Makefile.am:
954         * gst/indexers/Makefile.am:
955         * gst/parse/Makefile.am:
956         * libs/gst/controller/Makefile.am:
957         * libs/gst/dataprotocol/Makefile.am:
958         * examples/helloworld/helloworld.c: (event_loop):
959           compile fixes, though it's not being compiled currently
960
961 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
962
963         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
964           Add some simple tests for the new taglist date API.
965
966 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
967
968         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
969         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
970           Beautify 'last-message' output: print 'none' for buffer timestamps
971           and durations if none is set; improve alignment with next messages.
972
973 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
974
975         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
976         * gst/gstpluginfeature.h:
977         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
978         * gst/gstregistry.h:
979         * docs/gst/gstreamer-sections.txt:
980           Add new API to check plugin feature version requirements.
981
982         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
983           Some basic tests for the above.         
984
985 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
986
987         * gst/gststructure.c: (gst_structure_to_string):
988           guard against NULL printf - happens when for example
989           a message structure with GstClock gets serialized
990
991 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
992
993         * gst/base/gstcollectpads.c: (gst_collectpads_event):
994           Fix presumable copy'n'pasto.
995
996 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
997
998         * gst/elements/gstfakesrc.h:
999         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
1000         * gst/elements/gsttypefindelement.c:
1001           fix some signedness
1002         * gst/elements/gstfilesink.c: (gst_file_sink_render):
1003           I wonder if this could actually write +2GB files before
1004
1005 2005-10-13  Andy Wingo  <wingo@pobox.com>
1006
1007         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
1008         Fix Timmeke Waymans bug.
1009         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
1010         string of the proper length to gst_caps_from_string. There's a
1011         potential for, before this fix, that this could cause someone
1012         connecting over the network to cause a segfault if the payload is
1013         not NUL-terminated.
1014
1015 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
1016
1017         * docs/design/draft-push-pull.txt:
1018         * docs/design/part-overview.txt:
1019         * docs/random/TODO-pre-0.9:
1020         * docs/random/old/ChangeLog.gstreamer:
1021         * gst/base/gstpushsrc.c:
1022         * gst/gstclock.c:
1023           fixed typos
1024
1025 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1026
1027         * gst/glib-compat.c: (gst_flags_get_first_value):
1028         * gst/glib-compat.h:
1029         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
1030         (gst_value_compare_double), (gst_value_serialize_flags):
1031           GLib 2.6 g_flags_get_first_value has a bug that triggers an
1032           infinite loop
1033
1034 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1035
1036         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1037         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
1038           fix up debugging
1039         * tools/gst-launch.c: (event_loop):
1040           print out clock nicely
1041
1042 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
1043
1044         * docs/gst/gstreamer-sections.txt:
1045         * gst/gsttaglist.h:
1046         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
1047         (gst_tag_list_get_date_index):
1048           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
1049           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
1050
1051 2005-10-13  Julien MOUTTE  <julien@moutte.net>
1052
1053         * gst/base/gstcollectpads.c: (gst_collectpads_event),
1054         (gst_collectpads_chain):
1055         * gst/base/gstcollectpads.h: Handle newsegment and store informations
1056         in CollectData.
1057
1058 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
1059
1060         * docs/gst/gstreamer-sections.txt:
1061         * gst/gst.c:
1062         * gst/gsterror.h:
1063         * tools/gst-inspect.c: (main):
1064         * tools/gst-launch.c: (main):
1065         * tools/gst-run.c: (main):
1066         * tools/gst-xmlinspect.c: (main):
1067           fix GOption context leaks
1068           doc fixes
1069
1070 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1071
1072         * gst/gstbus.c:
1073           use HAVE_UNISTD_H
1074         * win32/common/config.h:
1075           update config
1076         * win32/vs6/grammar.dsp:
1077         * win32/vs6/libgstelements.dsp:
1078         * win32/vs6/libgstreamer.dsp:
1079           update vs6 files
1080
1081 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1082
1083         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1084         * gst/base/gstbasesrc.c: (gst_base_src_query):
1085           fix more guint64<->gdouble conversions
1086
1087 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1088
1089         * Makefile.am:
1090           add win32-update target
1091         * win32/common/gstconfig.h:
1092         * win32/common/gstenumtypes.c:
1093         * win32/common/gstenumtypes.h:
1094         * win32/common/gstversion.h:
1095           add files that visual studio can't generate
1096
1097 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1098
1099         * Makefile.am:
1100           add a win32-update target
1101         * configure.ac:
1102
1103 2005-10-12  Wim Taymans  <wim@fluendo.com>
1104
1105         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1106         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
1107         * gst/gstelement.c: (gst_element_commit_state),
1108         (gst_element_set_state):
1109         Protect flags with proper lock.
1110         unref provided cached clock in dispose.
1111
1112 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
1113
1114         * gst/gst.c:
1115         * gst/gstminiobject.h:
1116         * gst/gstpad.h:
1117         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
1118           removed unused flags from miniobject
1119           doc fixes
1120
1121 2005-10-12  Wim Taymans  <wim@fluendo.com>
1122
1123         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
1124         (gst_file_sink_event), (gst_file_sink_render):
1125         Flush before seeking.
1126
1127 2005-10-12  Andy Wingo  <wingo@pobox.com>
1128
1129         * gst/gst.c (gst_init_check): Ignore unknown options, as has
1130         always been the case.
1131
1132 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
1133
1134         * check/gst/gstbin.c: (GST_START_TEST):
1135         * docs/gst/gstreamer-sections.txt:
1136         * gst/base/gstbasesink.c: (gst_base_sink_init):
1137         * gst/base/gstbasesrc.c: (gst_base_src_init),
1138         (gst_base_src_get_range), (gst_base_src_check_get_range),
1139         (gst_base_src_start), (gst_base_src_stop):
1140         * gst/base/gstbasesrc.h:
1141         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
1142         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1143         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
1144         (bin_bus_handler):
1145         * gst/gstbin.h:
1146         * gst/gstbuffer.h:
1147         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
1148         * gst/gstbus.h:
1149         * gst/gstelement.c: (gst_element_is_locked_state),
1150         (gst_element_set_locked_state), (gst_element_commit_state),
1151         (gst_element_set_state):
1152         * gst/gstelement.h:
1153         * gst/gstindex.c: (gst_index_init):
1154         * gst/gstindex.h:
1155         * gst/gstminiobject.h:
1156         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
1157         (gst_object_set_parent):
1158         * gst/gstobject.h:
1159         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
1160         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
1161         * gst/gstpad.h:
1162         * gst/gstpadtemplate.h:
1163         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
1164         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
1165         * gst/gstpipeline.h:
1166         * gst/indexers/gstfileindex.c: (gst_file_index_load),
1167         (gst_file_index_commit):
1168         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
1169         * testsuite/pad/link.c: (gst_test_src_init),
1170         (gst_test_filter_init), (gst_test_sink_init):
1171         * testsuite/states/locked.c: (main):
1172           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
1173           moved bitshift from macro to enum definition
1174
1175 2005-10-12  Wim Taymans  <wim@fluendo.com>
1176
1177         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
1178         * gst/elements/gstfilesink.c: (gst_file_sink_event),
1179         (gst_file_sink_render):
1180         Some more debugging info.
1181
1182 2005-10-12  Wim Taymans  <wim@fluendo.com>
1183
1184         * docs/design/part-states.txt:
1185         * tools/gst-launch.c: (main):
1186         Some doc updates.
1187         Revert non-intentional change.
1188
1189 2005-10-12  Wim Taymans  <wim@fluendo.com>
1190
1191         * check/gst/gstbin.c: (GST_START_TEST):
1192         * check/gst/gstelement.c: (GST_START_TEST):
1193         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
1194         * check/gst/gstghostpad.c: (GST_START_TEST):
1195         * check/gst/gstpipeline.c: (GST_START_TEST):
1196         * check/pipelines/simple_launch_lines.c: (run_pipeline):
1197         * check/states/sinks.c: (GST_START_TEST):
1198         * gst/elements/gsttypefindelement.c: (stop_typefinding):
1199         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1200         (gst_bin_remove_func), (gst_bin_get_state_func),
1201         (gst_bin_recalc_state), (gst_bin_change_state_func),
1202         (bin_bus_handler):
1203         * gst/gstelement.c: (gst_element_get_state_func),
1204         (gst_element_get_state), (gst_element_abort_state),
1205         (gst_element_commit_state), (gst_element_set_state),
1206         (gst_element_change_state), (gst_element_change_state_func):
1207         * gst/gstelement.h:
1208         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
1209         (gst_pipeline_provide_clock_func):
1210         * gst/gstutils.c: (gst_element_link_pads_filtered):
1211         * tools/gst-launch.c: (main):
1212         * tools/gst-typefind.c: (main):
1213         Use GstClockTime in _get_state() instead of GTimeVal.
1214         Remove old code in gstutils.c
1215
1216 2005-10-12  Andy Wingo  <wingo@pobox.com>
1217
1218         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
1219         removed.
1220
1221         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
1222         there is no task. Shouldn't affect any code, as nothing in our
1223         plugins checks this return value.
1224         (gst_pad_stop_task): Also take the stream lock if the pad has no
1225         task. Docs updated.
1226
1227 2005-10-12  Wim Taymans  <wim@fluendo.com>
1228
1229         * gst/gstpad.c: (pre_activate), (post_activate),
1230         (gst_pad_activate_pull), (gst_pad_activate_push):
1231         Cleanup activation code. Reset old state if
1232         activation failed.
1233
1234 2005-10-12  Wim Taymans  <wim@fluendo.com>
1235
1236         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1237         (gst_base_sink_change_state):
1238         No need to prerol after receiving EOS.
1239
1240         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
1241         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
1242         * gst/elements/gstidentity.c: (gst_identity_event):
1243         Print events more verbosely.
1244
1245 2005-10-12  Wim Taymans  <wim@fluendo.com>
1246
1247         * check/Makefile.am:
1248         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
1249         * check/states/sinks2.c:
1250         Moved sinks2 testcode in sinks check.
1251
1252         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
1253         (gst_bin_remove_func), (gst_bin_recalc_state),
1254         (gst_bin_change_state_func), (bin_bus_handler):
1255         Fix potential race condition when _get_state() iterated over an
1256         ASYNC element right before it posted a state completion.
1257
1258         * gst/gstclock.h:
1259         Do proper cast here.
1260
1261         * gst/gstevent.c: (gst_event_new_newsegment),
1262         (gst_event_parse_newsegment):
1263         A playback rate of 0.0 is not allowed.
1264
1265 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1266
1267         * win32/common/config.h:
1268         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
1269         (_trewinddir), (_ttelldir), (_tseekdir):
1270         * win32/common/dirent.h:
1271         * win32/common/gtchar.h:
1272         * win32/common/libgstbase.def:
1273         * win32/common/libgstreamer.def:
1274         * win32/vs6/grammar.dsp:
1275         * win32/vs6/gst_inspect.dsp:
1276         * win32/vs6/gst_launch.dsp:
1277         * win32/vs6/gstreamer.dsw:
1278         * win32/vs6/libgstbase.dsp:
1279         * win32/vs6/libgstelements.dsp:
1280         * win32/vs6/libgstreamer.dsp:
1281           Visual Studio 6 project files, and a new common directory.
1282           Phear.
1283
1284 2005-10-11  Wim Taymans  <wim@fluendo.com>
1285
1286         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1287         (gst_base_sink_do_sync), (gst_base_sink_query),
1288         (gst_base_sink_change_state):
1289         * gst/base/gstbasesink.h:
1290         Correctly parse newsegment info.
1291
1292 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1293
1294         * gst/gst.c: (init_post):
1295           split plugin paths correctly
1296
1297 2005-10-11  Wim Taymans  <wim@fluendo.com>
1298
1299         * check/gst/gstevent.c: (GST_START_TEST):
1300         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1301         (gst_base_sink_change_state):
1302         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
1303         * gst/base/gstbasetransform.c: (gst_base_transform_event):
1304         * gst/elements/gstfilesink.c: (gst_file_sink_event):
1305         * gst/gstevent.c: (gst_event_new_newsegment),
1306         (gst_event_parse_newsegment):
1307         * gst/gstevent.h:
1308         Added extra flag to newsegment for future API freeze.
1309         Updated check and base elements.
1310
1311 2005-10-11  Julien MOUTTE  <julien@moutte.net>
1312
1313         * gst/base/gstcollectpads.c: (gst_collectpads_init),
1314         (gst_collectpads_add_pad), (gst_collectpads_pop),
1315         (gst_collectpads_event), (gst_collectpads_chain):
1316         * gst/base/gstcollectpads.h: Handle EOS correctly.
1317
1318 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1319
1320         * tools/gst-launch.c: (main):
1321           more null protecting
1322
1323 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1324
1325         * gst/gst-i18n-lib.h:
1326           check for ENABLE_NLS, not GETTEXT_PACKAGE
1327         * gst/gstregistry.c: (gst_registry_add_plugin),
1328         (gst_registry_scan_path_level),
1329         (_gst_registry_remove_cache_plugins):
1330           protect possibly NULL strings
1331         * gst/parse/types.h:
1332           config.h already included before
1333         * tools/gst-inspect.c: (main):
1334           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
1335           check for ENABLE_NLS, not GETTEXT_PACKAGE
1336         * tools/gst-launch.c: (main):
1337           check for ENABLE_NLS, not GETTEXT_PACKAGE
1338
1339 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1340
1341         * configure.ac:
1342           if we don't have glib, fail before testing 2.8
1343         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
1344           fix a leak, should fix plugins-base testsuite
1345
1346 2005-10-11  Andy Wingo  <wingo@pobox.com>
1347
1348         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
1349         take the mode we're going to as an arg. Go head and set the mode
1350         and flushing flags now, so that if the activate function starts a
1351         thread all the flags will be in the right state.
1352         (post_activate): Renamed also. Just handle making sure streaming
1353         finishes for the deactivation case, and setting the deactivated
1354         mode.
1355         (gst_pad_set_active): Complain loudly if deactivation fails.
1356         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
1357         (gst_pad_activate_push): Adapt to pre/post_activate changes,
1358         remove the terrible hack.
1359
1360 2005-10-11  Wim Taymans  <wim@fluendo.com>
1361
1362         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
1363         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
1364         (gst_bin_recalc_state), (gst_bin_change_state_func),
1365         (gst_bin_dispose), (bin_bus_handler):
1366         * gst/gstbin.h:
1367         Prepare to make current EOS message queue more generic.
1368         Fix some typos.
1369
1370         * gst/gstevent.c: (gst_event_new_newsegment),
1371         (gst_event_parse_newsegment):
1372         * gst/gstevent.h:
1373         Rename base to stream_time.
1374
1375         * gst/gstmessage.h:
1376         Fix typo in docs.
1377
1378 2005-10-11  Wim Taymans  <wim@fluendo.com>
1379
1380         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
1381         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
1382         (gst_bin_change_state_func), (bin_bus_handler):
1383         * gst/gstbin.h:
1384         Work on proper clock selection.
1385
1386 2005-10-11  Edward Hervey  <edward@fluendo.com>
1387
1388         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
1389         * libs/gst/controller/gstcontroller.h:
1390         Added GList* version of _remove_properties() in order to be able to wrap
1391         it in bindings.
1392
1393 2005-10-11  Wim Taymans  <wim@fluendo.com>
1394
1395         * docs/design/part-states.txt:
1396         Some more docs.
1397
1398         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
1399         (gst_bin_change_state_func), (bin_bus_handler):
1400         Doc updates. Don't distribute the same clock over and over again.
1401
1402         * gst/gstclock.c:
1403         * gst/gstclock.h:
1404         Doc updates.
1405
1406         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
1407         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
1408         (gst_pad_send_event):
1409         * gst/gstpad.h:
1410         Make probe emission threadsafe again.
1411         Register quarks and move _get_name() from utils.
1412         Doc updates.
1413
1414         * gst/gstpipeline.c: (gst_pipeline_class_init),
1415         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
1416         Only redistribute the clock of it changed.
1417
1418         * gst/gstsystemclock.h:
1419         Doc updates. 
1420
1421         * gst/gstutils.c:
1422         * gst/gstutils.h:
1423         Moved the _flow_get_name() to GstPad.
1424
1425 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1426
1427         * check/gst-libs/gdp.c: (GST_START_TEST):
1428         * check/gst/gstcaps.c: (GST_START_TEST):
1429         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
1430         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
1431         (gst_dp_packet_from_caps):
1432           fix more valgrind warnings before turning up the heat
1433
1434 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
1435
1436         * gst/parse/grammar.y:
1437           some cleanup before the hacking
1438
1439 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1440
1441         * gst/base/gstbasesrc.c: (gst_base_src_query):
1442           use conversions
1443         * gst/gstutils.c: (gst_guint64_to_gdouble),
1444         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
1445         * gst/gstutils.h:
1446           externalize, basesrc uses it
1447           obviously the implementation needs testing
1448
1449 2005-10-10  Wim Taymans  <wim@fluendo.com>
1450
1451         * tests/sched/Makefile.am:
1452         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
1453         (make_pipeline3), (make_pipeline4), (print_elem), (main):
1454
1455 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1456
1457         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
1458           apparently converting from guint64 to double is not implemented
1459           on MSVC
1460
1461 2005-10-10  Wim Taymans  <wim@fluendo.com>
1462
1463         * check/Makefile.am:
1464         * check/generic/states.c: (GST_START_TEST):
1465         * check/gst/gstbin.c: (GST_START_TEST):
1466         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
1467         * check/states/sinks.c: (GST_START_TEST):
1468         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
1469         (main):
1470         Check fixes, use API as stated in design docs, remove hacks.
1471
1472         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1473         (gst_base_sink_change_state):
1474         Catch stopping our task while we're shutting down.
1475
1476         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
1477         (gst_bin_remove_func), (gst_bin_get_state_func),
1478         (gst_bin_recalc_state), (gst_bin_change_state_func),
1479         (bin_bus_handler):
1480         * gst/gstbin.h:
1481         * gst/gstelement.c: (gst_element_init),
1482         (gst_element_get_state_func), (gst_element_abort_state),
1483         (gst_element_commit_state), (gst_element_lost_state),
1484         (gst_element_set_state), (gst_element_change_state),
1485         (gst_element_change_state_func):
1486         * gst/gstelement.h:
1487         New state change algorithm (see #318116)
1488
1489         * gst/gstpipeline.c: (gst_pipeline_class_init),
1490         (gst_pipeline_init), (gst_pipeline_set_property),
1491         (gst_pipeline_get_property), (do_pipeline_seek),
1492         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
1493         * gst/gstpipeline.h:
1494         Remove crude state change hacks.
1495
1496         * gst/gstutils.h:
1497         Remove crude hacks.
1498
1499         * tools/gst-launch.c: (main):
1500         Fixes for state change. Needs some more work to fully use the
1501         new stuff.
1502
1503 2005-10-10  Andy Wingo  <wingo@pobox.com>
1504
1505         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
1506
1507         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
1508         this flag, but it's not even in GLib 2.6. Odd. Hack around the
1509         issue.
1510
1511 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
1512
1513         * gst/gstiterator.c: (gst_iterator_new):
1514           Fix my previous commit: GTypes passed to gst_iterator_new()
1515           can be fundamental types.
1516
1517 2005-10-10  Wim Taymans  <wim@fluendo.com>
1518
1519         * gst/gstelement.c: (gst_element_iterate_pad_list),
1520         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
1521         (gst_element_iterate_sink_pads):
1522         Use src/sink pads lists for the respective iterators instead
1523         of filtering.
1524
1525 2005-10-10  Andy Wingo  <wingo@pobox.com>
1526
1527         Merged in popt removal + GOption addition patch from Ronald, bug
1528         #169772.
1529
1530         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
1531         GstElement macros around, remove popt-related symbols, add goption
1532         stuff.
1533
1534         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
1535         
1536         * docs/gst/Makefile.am:
1537         * docs/libs/Makefile.am: No POPT_CFLAGS.
1538         
1539         * examples/manual/Makefile.am:
1540         * docs/manual/basics-init.xml: Doc updates with an example.
1541         
1542         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
1543         (gst_init), (parse_one_option), (parse_goption_arg):
1544         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
1545         bit of hand merging and debugging to get the GOption stuff working
1546         tho.
1547         
1548         * tests/Makefile.am:
1549         * tools/Makefile.am:
1550         * tools/gst-inspect.c: (main):
1551         * tools/gst-launch.c: (main):
1552         * tools/gst-run.c: (main):
1553         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
1554
1555 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
1556
1557         * gst/gstiterator.c: (gst_iterator_new):
1558           Add assertions to make sure passed GType is likely to really
1559           be a GType (as the compiler won't catch it if the size and
1560           GType arguments get mixed up, see #318447).
1561
1562 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
1563
1564         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1565
1566         * gst/gstbin.c: (gst_bin_iterate_sorted):
1567           Pass GType and size arguments to gst_iterator_new() in the right
1568           order (maybe we should make _new() take the GType as first argument
1569           just like _new_list()?) (#318447).
1570           
1571
1572 2005-10-10  Wim Taymans  <wim@fluendo.com>
1573
1574         * gst/gstelement.c: (gst_element_finalize):
1575         And free the GStaticRecMutex too
1576
1577 2005-10-10  Andy Wingo  <wingo@pobox.com>
1578
1579         * gst/gstelement.c (gst_element_init, gst_element_finalize):
1580         Allocate and free the mutex properly.
1581
1582         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
1583         New macros.
1584         (GstElement): The state_lock is now recursive. Rebuild your
1585         plugins, suckers. Old macros adapted.
1586
1587         * docs/gst/gstreamer-sections.txt: Doc updates.
1588
1589         * gst/gstutils.h:
1590         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
1591         (g_static_rec_cond_wait): Ported from state changes patch, while
1592         we wait on bug #317802 to be solved in a well-distributed GLib.
1593
1594         * gst/gstelement.c (gst_element_change_state_func): Renamed from
1595         gst_element_change_state, variable name changes.
1596         (gst_element_change_state): Split out of gst_element_set_state in
1597         preparation for the state change merge. Doesn't pay attention to
1598         the 'transition' argument.
1599         (gst_element_set_state): Updates, hopefully purely cosmetic.
1600         (gst_element_sync_state_with_parent): MT-safety. Ported from the
1601         state change patch.
1602         (gst_element_get_state_func): Renamed from get_state, cosmetic
1603         changes.
1604
1605 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1606
1607         * gst/elements/gstelements.c:
1608         * win32/GStreamer.vcproj:
1609         * win32/config.h:
1610         * win32/dirent.c: (_tseekdir):
1611         * win32/gst-inspect.vcproj:
1612         * win32/gst-launch.vcproj:
1613         * win32/gstconfig.h:
1614         * win32/gstelements.vcproj:
1615         * win32/gstenumtypes.c: (gst_object_flags_get_type):
1616         * win32/gstreamer.def:
1617         * win32/msvc71.sln:
1618           updates for the win32 build (patch from Sebastien Moutte)
1619
1620 2005-10-10  Andy Wingo  <wingo@pobox.com>
1621
1622         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
1623         gst_bin_get_state, cleaned up (but no logic changes).
1624         (bin_element_is_sink): Comment updates.
1625         (sink_iterator_filter): Remove needless cast.
1626         (gst_bin_iterate_sinks): Doc update.
1627         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
1628         cleaned up (but no logic changes).
1629
1630         * check/states/sinks.c (test_src_sink): Cleanups from the state
1631         change patch.
1632         (test_livesrc_sink): Sync on the state.
1633
1634         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
1635         the state change patch.
1636
1637         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
1638         change patch.
1639
1640         * check/gst/gstbin.c: Merge in some style fixes and additional
1641         checks from Wim's state change patch.
1642
1643 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
1644
1645         * gst/base/gsttypefindhelper.c: (helper_find_peek),
1646         (gst_type_find_helper):
1647           Check whether we have the requested data already in our list of
1648           cached buffers before pulling a new buffer; also make the buffer
1649           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
1650
1651 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1652
1653         * gst/gstcaps.c:
1654         * gst/gstevent.c:
1655           doc updates
1656         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
1657           don't use long long, it's not portable.  Replacing with
1658           gint64 seems to work; let's hope no skeletons fall out of the closet.
1659
1660 2005-10-10  Andy Wingo  <wingo@pobox.com>
1661
1662         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
1663
1664 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
1665
1666         * docs/gst/gstreamer-sections.txt:
1667         * gst/gstevent.c:
1668         * gst/gstevent.h:
1669         * gst/gstinfo.c:
1670         * gst/gstinfo.h:
1671         * gst/gstmessage.c: (gst_message_parse_state_changed):
1672         * gst/gstpad.c:
1673         * gst/gstpad.h:
1674           more docs, fix compilation
1675
1676 2005-10-09  Philippe Khalaf <burger@speedy.org>
1677         * gst/gstmessage.c:
1678           Fixed a few forgotten variables on previous commit
1679
1680 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
1681
1682         * gst/base/gsttypefindhelper.c: (helper_find_peek):
1683           Fix evil typefind crasher: getrange() might return a short
1684           buffer at the end of a file, but gst_type_find_peek() must
1685           either return the full data as requested or NULL, but
1686           never a short buffer.
1687
1688 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
1689
1690         * gst/gstmessage.c: (gst_message_new_state_changed),
1691         (gst_message_parse_state_changed):
1692         * gst/gstmessage.h:
1693           don't use "new", it's a C++ keyword
1694
1695 2005-10-08  Wim Taymans  <wim@fluendo.com>
1696
1697         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
1698         * gst/gstelement.c: (gst_element_post_message):
1699         * gst/gstpipeline.c: (gst_pipeline_change_state):
1700         Small docs and debug updates.
1701
1702 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
1703
1704         * docs/gst/gstreamer-sections.txt:
1705         * gst/gstelementfactory.c:
1706         * gst/gstevent.c:
1707         * gst/gsttaglist.c:
1708           more docs
1709
1710 2005-10-08  Wim Taymans  <wim@fluendo.com>
1711
1712         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
1713         (gst_bin_dispose), (bin_bus_handler):
1714         Fix typos, add comments.
1715         Clear EOS list when going to PAUSED from any direction and do it
1716         in a threadsafe way.
1717         Get base time in a threadsafe way too.
1718         Fix confusing debug in the change_state function.
1719         Various other small cleanups.
1720         
1721         * gst/gstelement.c: (gst_element_post_message):
1722         Fix very verbose bus posting code.
1723
1724         * gst/gstpipeline.c: (gst_pipeline_class_init),
1725         (gst_pipeline_set_property), (gst_pipeline_get_property),
1726         (gst_pipeline_change_state):
1727         Small ARG_ -> PROP_ cleanup
1728
1729 2005-10-08  Wim Taymans  <wim@fluendo.com>
1730
1731         * gst/gstbin.c: (is_eos), (bin_bus_handler):
1732         Do a less CPU demanding EOS check because we can.
1733
1734 2005-10-08  Wim Taymans  <wim@fluendo.com>
1735
1736         * libs/gst/dataprotocol/dataprotocol.c:
1737         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
1738         (gst_dp_packet_from_event):
1739         * libs/gst/dataprotocol/dataprotocol.h:
1740         * libs/gst/dataprotocol/dp-private.h:
1741         It's about time we bump the version number.
1742         Since event types don't fit in the guint8 anymore describing
1743         the payload type, make payload type 16 bits wide.
1744
1745 2005-10-08  Wim Taymans  <wim@fluendo.com>
1746
1747         * docs/design/part-TODO.txt:
1748         * docs/design/part-clocks.txt:
1749         * docs/design/part-events.txt:
1750         * docs/design/part-gstbin.txt:
1751         * docs/design/part-gstelement.txt:
1752         * docs/design/part-gstpipeline.txt:
1753         * docs/design/part-live-source.txt:
1754         * docs/design/part-messages.txt:
1755         * docs/design/part-overview.txt:
1756         * docs/design/part-states.txt:
1757         Many doc updates.
1758
1759 2005-10-08  Wim Taymans  <wim@fluendo.com>
1760
1761         * gst/gstevent.c:
1762         * gst/gstevent.h:
1763         Fix event quark registration.
1764         Add some space between events so we can insert them in the
1765         right groups.
1766
1767 2005-10-08  Wim Taymans  <wim@fluendo.com>
1768
1769         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1770         (gst_base_sink_handle_buffer):
1771         Better log message.
1772
1773         * gst/gstbus.h:
1774         * gst/gstelement.h:
1775         More docs.
1776
1777         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
1778         (gst_queue_set_property), (gst_queue_get_property):
1779         * gst/gstqueue.h:
1780         Remove old unused properties.
1781
1782 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
1783         * docs/gst/gstreamer-sections.txt:
1784         * gst/gstmessage.c:
1785         * gst/gstmessage.h:
1786         * gst/gstminiobject.c:
1787         * gst/gstminiobject.h:
1788         * gst/gstobject.h:
1789         * gst/gstpad.h:
1790         * gst/gstutils.h:
1791           lots of new docs and doc fixes
1792
1793 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1794
1795         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
1796         * gst/gstplugin.h:
1797         * gst/gstregistry.c: (gst_registry_lookup_locked),
1798         (gst_registry_scan_path_level):
1799         * gst/gstregistryxml.c: (load_plugin):
1800           Only ever load one plugin for a given plugin basename.
1801           This ensures correct overriding of GST_PLUGIN_PATH over
1802           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
1803           system installed plugins.
1804
1805 2005-10-08  Wim Taymans  <wim@fluendo.com>
1806
1807         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1808         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
1809         Prepare for doing QOS.
1810
1811 2005-10-08  Wim Taymans  <wim@fluendo.com>
1812
1813         * check/gst/gstbin.c: (GST_START_TEST):
1814         * check/pipelines/cleanup.c: (GST_START_TEST):
1815         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
1816         Allow new clock message too.
1817
1818 2005-10-08  Wim Taymans  <wim@fluendo.com>
1819
1820         * gst/gstmessage.c: (gst_message_new_error),
1821         (gst_message_new_warning), (gst_message_new_tag),
1822         (gst_message_new_state_changed), (gst_message_new_clock_provide),
1823         (gst_message_new_clock_lost), (gst_message_new_new_clock),
1824         (gst_message_new_segment_start), (gst_message_new_segment_done),
1825         (gst_message_parse_state_changed),
1826         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
1827         (gst_message_parse_new_clock):
1828         * gst/gstmessage.h:
1829         Also carry the clock in question.
1830
1831 2005-10-08  Wim Taymans  <wim@fluendo.com>
1832
1833         * gst/gstmessage.c: (gst_message_new_custom),
1834         (gst_message_new_eos), (gst_message_new_error),
1835         (gst_message_new_warning), (gst_message_new_tag),
1836         (gst_message_new_state_changed), (gst_message_new_clock_provide),
1837         (gst_message_new_new_clock), (gst_message_new_segment_start),
1838         (gst_message_new_segment_done), (gst_message_parse_state_changed),
1839         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
1840         * gst/gstmessage.h:
1841         Clean up.
1842         Added clock related messages.
1843
1844         * gst/gstpipeline.c: (gst_pipeline_change_state):
1845         Post message when the clock changed.
1846
1847         * tools/gst-launch.c: (event_loop):
1848         Print new clock.
1849
1850 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
1851
1852         * tools/gst-inspect.c: (print_element_properties_info):
1853           Can't pass NULL strings to g_print() on windows.
1854
1855 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1856
1857         * docs/Makefile.am:
1858         * docs/gst/Makefile.am:
1859         * docs/gst/gstreamer-docs.sgml:
1860         * docs/gst/running.xml:
1861         * docs/version.entities.in:
1862           add a chapter on running GStreamer.
1863           document GST_DEBUG and GST_PLUGIN* env vars
1864
1865 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1866
1867         * Makefile.am:
1868           remove include dir
1869         * configure.ac:
1870           remove PLUGINS_BUILDDIR stuff
1871         * gst/gst.c: (init_post):
1872           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
1873         * idiottest.mak:
1874           remove, it was condescending and not needed
1875
1876 2005-10-08  Wim Taymans  <wim@fluendo.com>
1877
1878         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
1879         (gst_base_sink_handle_object), (gst_base_sink_event),
1880         (gst_base_sink_wait), (gst_base_sink_handle_event),
1881         (gst_base_sink_change_state):
1882         * gst/base/gstbasesink.h:
1883         Repost EOS message while going to PLAYING if still EOS.
1884         Make sure that when receiving a FLUSH_START we don't attempt
1885         to sync on the clock anymore.
1886
1887 2005-10-08  Wim Taymans  <wim@fluendo.com>
1888
1889         * tools/gst-launch.c: (event_loop):
1890         Better message printout.
1891
1892 2005-10-08  Wim Taymans  <wim@fluendo.com>
1893
1894         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
1895         (gst_bin_child_proxy_get_children_count):
1896         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
1897         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
1898         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
1899         (gst_child_proxy_set_valist):
1900         * gst/parse/grammar.y:
1901         Make ChildProxy threadsafe and fix mem leaks.
1902
1903 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1904
1905         * gst/gst.c: (init_post):
1906           debug the GST_PLUGIN_ env vars
1907
1908 2005-10-08  Wim Taymans  <wim@fluendo.com>
1909
1910         * check/gst/gstbin.c: (GST_START_TEST):
1911         * check/gst/gstmessage.c: (GST_START_TEST):
1912         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
1913         * gst/gstelement.c: (gst_element_commit_state),
1914         (gst_element_lost_state):
1915         * gst/gstmessage.c: (gst_message_new_state_changed),
1916         (gst_message_parse_state_changed):
1917         * gst/gstmessage.h:
1918         * tools/gst-launch.c: (event_loop):
1919         Added extra field to STATE_CHANGE message with the pending
1920         state, which will be different from the new state soon.
1921
1922 2005-10-08  Wim Taymans  <wim@fluendo.com>
1923
1924         * gst/gstbus.c: (gst_bus_pop):
1925         * gst/gstclock.c:
1926         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
1927         Small cleanups and doc updates.
1928
1929 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1930
1931         * gst/gst.c: (init_pre):
1932         * gst/gstbin.c: (gst_bin_add_func):
1933           log distributing clocks and base time
1934         * gst/gstregistry.c: (gst_registry_add_plugin),
1935         (gst_registry_scan_path_level), (gst_registry_scan_path):
1936           clean up the debugging output a little
1937         * gst/gstutils.c: (gst_element_state_get_name):
1938           warn about a memleak (I've actually seen this be used, though
1939           it was probably a bug)
1940
1941 2005-10-07  Wim Taymans  <wim@fluendo.com>
1942
1943         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
1944         (gst_base_src_init), (gst_base_src_default_newsegment),
1945         (gst_base_src_newsegment), (gst_base_src_do_seek),
1946         (gst_base_src_loop), (gst_base_src_start):
1947         * gst/base/gstbasesrc.h:
1948         Make the newsegment event customizable by subclasses.
1949
1950 2005-10-07  Wim Taymans  <wim@fluendo.com>
1951
1952         * gst/gstevent.c: (gst_event_new_buffersize),
1953         (gst_event_parse_buffersize):
1954         * gst/gstevent.h:
1955         New event for future idea.
1956
1957 2005-10-07  Andy Wingo  <wingo@pobox.com>
1958
1959         * gst/gstelement.c (gst_element_post_message): Doc update.
1960
1961         * docs/gst/gstreamer-sections.txt: Update.
1962
1963         * gst/gstmessage.c (gst_message_new_application): Made into a
1964         function like honest API calls.
1965         (gst_message_new_element): New message type.
1966
1967         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
1968
1969         * check/elements/fakesrc.c (test_no_preroll): New check, checks
1970         that setting a live fakesrc to PAUSED returns NO_PREROLL both
1971         times.
1972
1973         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
1974         NO_PREROLL from gst_element_change_state to fall through.
1975
1976 2005-10-07  Wim Taymans  <wim@fluendo.com>
1977
1978         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
1979         (gst_ghost_pad_do_activate_push):
1980         Activating a ghostpad with no internal pad in push mode
1981         is ok.
1982
1983 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1984
1985         * gst/gstobject.h:
1986           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
1987           Fixes compilation on Windows.
1988
1989 2005-10-07  Michael Smith <msmith@fluendo.com>
1990
1991         * tools/gst-inspect.c:
1992           Print out feature and plugin count at the end when printing out
1993           all features.
1994
1995 2005-10-04  Michael Smith <msmith@fluendo.com>
1996
1997         * gst/gsterror.c: (_gst_stream_errors_init):
1998           Add another error string used in a few existing plugins.
1999
2000         * gst/gstplugin.c:
2001         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2002         * tools/gst-inspect.c: (print_element_info):
2003           When a feature disappears from a plugin (and the feature exists in
2004           the cached registry file), things went horribly wrong. This isn't a
2005           complete fix, we should actually be removing the 'missing' features
2006           from the features list when we load the actual plugin. That's not
2007           yet implemented. 
2008
2009 2005-10-04  Johan Dahlin  <johan@gnome.org>
2010
2011         * check/gst/gstiterator.c: (GST_START_TEST):
2012         * gst/gstbin.c: (gst_bin_iterate_elements),
2013         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
2014         * gst/gstelement.c: (gst_element_iterate_pads):
2015         * gst/gstformat.c: (gst_format_iterate_definitions):
2016         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
2017         (gst_iterator_new_list), (gst_iterator_filter):
2018         * gst/gstiterator.h:
2019         * gst/gstquery.c: (gst_query_type_iterate_definitions):
2020         Add a GType to GstIterator, update callsites and tests.
2021
2022 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2023
2024         * gst/gstpad.c: (gst_pad_event_default_dispatch):
2025           give events a chance to be handled by event probes when the pad
2026           is not linked
2027
2028 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2029
2030         * gst/gstevent.c: (gst_event_type_get_name),
2031         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
2032         * gst/gstevent.h:
2033           add string representations for event types
2034
2035 2005-10-06  Wim Taymans  <wim@fluendo.com>
2036
2037         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
2038         Don't use NULL pointers.
2039
2040 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2041
2042         * gst/gst_private.h:
2043         * gst/gstbus.c:
2044         * gst/gstelement.c:
2045         * gst/gstinfo.c:
2046         * gst/gstpluginfeature.c:
2047           widen the debug category in output to fit the biggest one we have
2048           add a bus category and use it
2049           play with the colors
2050           fix up some categories
2051
2052 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2053
2054         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
2055           add push activation of sink ghost pads.
2056           Andye, please verify
2057
2058 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2059
2060         * gst/gstutils.c: (gst_element_link_pads):
2061           fix a bug in the case where neither element has a pad
2062         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
2063           add a test for that case
2064
2065 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
2066
2067         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
2068           emit have-data before checking for peers.  This allows
2069           for probe handlers to connect elements.  This helps autopluggers.
2070         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
2071         (gst_pad_suite):
2072           add six checks, linked/unlinked with no/true/false probe
2073
2074 2005-10-04  Wim Taymans  <wim@fluendo.com>
2075
2076         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
2077         (gst_fake_sink_event), (gst_fake_sink_preroll),
2078         (gst_fake_sink_render), (gst_fake_sink_change_state):
2079         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
2080         (gst_fake_src_get_property), (gst_fake_src_create),
2081         (gst_fake_src_stop):
2082         * gst/elements/gstidentity.c: (gst_identity_stop):
2083         Protect last_message with lock.
2084
2085 2005-10-04  Edward Hervey  <edward@fluendo.com>
2086
2087         * gst/gstformat.h: 
2088         Added precision in the comments for GST_FORMAT_DEFAULT
2089
2090 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
2091
2092         * tools/gst-launch.c: (main):
2093           Don't try to run erroneous pipelines.
2094
2095 2005-10-04  Julien MOUTTE  <julien@moutte.net>
2096
2097         * gst/gstbus.c: We don't need this header.
2098
2099 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2100
2101         * configure.ac:
2102           back to development
2103
2104 === release 0.9.3 ===
2105
2106 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2107
2108         * README:
2109         * configure.ac:
2110           Releasing 0.9.3, "Unregistered"
2111
2112 2005-10-03  Andy Wingo  <wingo@pobox.com>
2113
2114         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
2115         whereby calling a pad's activatepush() function can start a thread
2116         that starts to push or pull before the pad gets the FLUSHING flag
2117         unset. Hack around it by holding the stream lock until the flag is
2118         set. Need to replace this with a proper solution. Together with
2119         the ghost pad fixes, this fixes mp3 playing/tagreading.
2120
2121         * docs/design/part-gstghostpad.txt: Add a note about activation of
2122         proxy pads outside of ghost pads.
2123
2124         * gst/gstghostpad.c: Implement the ghost pad activation design.
2125
2126 2005-10-02  Andy Wingo  <wingo@pobox.com>
2127
2128         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
2129         It is volatile, after all.
2130
2131         * docs/design/part-gstghostpad.txt: Flesh out activation with
2132         ghost pads.
2133
2134         * gst/base/gstbasesrc.c (gst_base_src_init): Use
2135         GST_DEBUG_FUNCPTR.
2136
2137 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
2138
2139         * configure.ac:
2140           Fix (unused) AM_CONDITIONAL tests.
2141
2142 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
2143
2144         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2145
2146         * gst/gstutils.c: (gst_pad_query_convert):
2147           Add assertion that makes sure src_val is >=0, just like
2148           gst_query_new_convert() has. (#315895)
2149
2150 2005-09-30  Edward Hervey  <edward@fluendo.com>
2151
2152         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
2153         Let's not iterate pads we're not interested in, it avoids getting 
2154         sky-high refcounts on sinkpad.
2155
2156 2005-09-30  Wim Taymans  <wim@fluendo.com>
2157
2158         * gst/gstelement.c: (gst_element_set_state),
2159         (gst_element_change_state):
2160         Small tweak, element in ASYNC remains ASYNC.
2161
2162 2005-09-30  Wim Taymans  <wim@fluendo.com>
2163
2164         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2165         Only error is an error.
2166
2167         * gst/gstbin.c: (gst_bin_change_state):
2168         Better debugging.
2169
2170         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
2171         Also call pad_block in pad alloc.
2172
2173         * gst/gstutils.c: (gst_flow_get_name):
2174         Better debugging.
2175
2176 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
2177
2178         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
2179         (gst_base_src_get_range):
2180           Fix documentation typos. Add some more debug info.
2181
2182 2005-09-29  David Schleef  <ds@schleef.org>
2183
2184         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
2185           more end-user friendly.
2186         * tools/gst-inspect.c: (main): Check if command-line argument is
2187           a file and attempt to load that file as a plugin.
2188
2189 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2190
2191         * check/gst/gstbin.c:
2192         * check/states/sinks.c:
2193           fix tests for the new warning
2194         * check/gst/gstpipeline.c:
2195           add a test for pipeline and bus interaction
2196         * gst/gstelement.c:
2197           elements should be NULL if they get disposed; add a warning if not
2198
2199 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2200
2201         * gst/gstobject.c:
2202           for 2.6 refcounting, make debug log more correct by printing
2203           the actual refcounts at the time of swap (Wim)
2204
2205 2005-09-29  Andy Wingo  <wingo@pobox.com>
2206
2207         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
2208         removes signal watches previously added via
2209         gst_bus_add_signal_watch.
2210         (gst_bus_add_signal_watch): Don't return the source id, just store
2211         it on the bus if there wasn't an id already.
2212
2213         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
2214         add_signal_watch and remove_signal_watch.
2215
2216 2005-09-29  Edward Hervey  <edward@fluendo.com>
2217
2218         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
2219         Better if we actually iterate the list :)
2220
2221 2005-09-29  Wim Taymans  <wim@fluendo.com>
2222
2223         * check/gst/gstbin.c: (GST_START_TEST):
2224         Change for new bus API.
2225
2226         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
2227         (send_messages), (GST_START_TEST), (gstbus_suite):
2228         Change for new bus signal API.
2229
2230         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
2231         (gst_bus_source_prepare), (gst_bus_source_check),
2232         (gst_bus_create_watch), (gst_bus_add_watch_full),
2233         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
2234         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
2235         * gst/gstbus.h:
2236         Remove support for multiple GSources operating on different
2237         message types as it is too complex and unneeded when using
2238         signals.
2239         Added support for receiving signals from the bus.
2240
2241 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2242
2243         * docs/libs/tmpl/gstdataprotocol.sgml:
2244         * docs/manual/advanced-dataaccess.xml:
2245         * gst/elements/gstcapsfilter.c:
2246         * gst/gstutils.c:
2247           rename filter-caps to caps property
2248
2249 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
2250
2251         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2252           More robust fraction string parsing.
2253
2254         * docs/pwg/appendix-porting.xml:
2255           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
2256
2257 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
2258
2259         * gst/gstcaps.c: (gst_caps_do_simplify):
2260           Thou shalt not free a structure and then continue using it
2261           in the next loop iteration.
2262
2263         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
2264         (gst_caps_suite):
2265           Add test case for caps simplification.
2266
2267 2005-09-29  Wim Taymans  <wim@fluendo.com>
2268
2269         * check/gst/gstbin.c: (GST_START_TEST):
2270         Oops.
2271
2272 2005-09-29  Wim Taymans  <wim@fluendo.com>
2273
2274         * check/gst/gstbin.c: (GST_START_TEST):
2275         Add bus to bin.
2276
2277         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2278         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
2279         (find_element), (gst_bin_sort_iterator_next),
2280         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
2281         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
2282         (gst_bin_change_state), (gst_bin_dispose):
2283         A bin does not have a bus, it gets the bus from the parent.
2284
2285         * gst/gstelement.c: (gst_element_requires_clock),
2286         (gst_element_provides_clock), (gst_element_is_indexable),
2287         (gst_element_is_locked_state), (gst_element_change_state),
2288         (gst_element_set_bus_func):
2289         Small cleanups.
2290
2291         * gst/gstpipeline.c: (gst_pipeline_class_init),
2292         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
2293         The pipeline provides a bus.
2294
2295 2005-09-28  Johan Dahlin  <johan@gnome.org>
2296
2297         * gst/gstmessage.c (gst_message_parse_state_changed): Use
2298         gst_structure_get_enum instead of gst_structure_get_int
2299
2300         * gst/gststructure.c (gst_structure_get_enum): Impl.
2301
2302         * gst/gststructure.h (gst_structure_get_enum): Add
2303
2304         * docs/gst/gstreamer-sections.txt: Ditto
2305
2306         * gst/gstmessage.c (gst_message_new_state_changed): Use
2307         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
2308         which does introspection.
2309         Reviewed by Christian Schaller
2310
2311 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
2312
2313         * gst/gstinfo.c: (gst_debug_log_default):
2314           don't do dummy g_strdup()s
2315         * libs/gst/controller/gstcontroller.c:
2316         (on_object_controlled_property_changed),
2317         (gst_controlled_property_new), (gst_controller_new_valist),
2318         (gst_controller_new_list),
2319         (gst_controller_remove_properties_valist), (gst_controller_set),
2320         (gst_controller_get), (gst_controller_sync_values),
2321         (gst_controller_get_value_array), (_gst_controller_class_init),
2322         (gst_controller_get_type):
2323         * libs/gst/controller/gstcontroller.h:
2324         * libs/gst/controller/gstinterpolation.c:
2325         (gst_controlled_property_find_timed_value_node):
2326           convert // to /**/ comments
2327
2328 2005-09-28  Wim Taymans  <wim@fluendo.com>
2329
2330         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
2331         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
2332         (gst_bus_sync_signal_handler):
2333         * gst/gstbus.h:
2334         Added async-message and sync-message signals to the bus.
2335         Added helper BusFunc to emit signals for all posted messages.
2336
2337         * gst/gstmessage.c: (gst_message_type_get_name),
2338         (gst_message_type_to_quark), (gst_message_get_type):
2339         * gst/gstmessage.h:
2340         Register quarks for message names.
2341
2342 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
2343
2344         * docs/libs/gstreamer-libs-sections.txt:
2345         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2346         (gst_controller_new_list):
2347         * libs/gst/controller/gstcontroller.h:
2348           added another constructor for language bindings
2349
2350 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2351
2352         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
2353           add another check
2354         * gst/gstbus.c:
2355           add some doc
2356         * gst/gstinfo.c: (_gst_debug_init):
2357           slightly more readable color for refcount debugging
2358
2359 2005-09-28  Wim Taymans  <wim@fluendo.com>
2360
2361         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2362         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
2363         (find_element), (gst_bin_sort_iterator_next),
2364         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
2365         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
2366         (gst_bin_change_state), (gst_bin_dispose):
2367         Small doc fixes. get_clock -> provide_clock.
2368
2369         * gst/gstelement.c: (gst_element_class_init),
2370         (gst_element_provides_clock), (gst_element_provide_clock),
2371         (gst_element_get_clock), (gst_element_commit_state),
2372         (gst_element_lost_state):
2373         * gst/gstelement.h:
2374         Make get/set_clock() symetric. Add provide_clock vmethod since
2375         that is actually what this function does.
2376
2377         * gst/gstpipeline.c: (gst_pipeline_class_init),
2378         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
2379         (gst_pipeline_get_clock):
2380         get_clock -> provide_clock.
2381
2382 2005-09-28  Andy Wingo  <wingo@pobox.com>
2383
2384         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
2385         lieu of real docs...
2386
2387         * gst/elements/gstfdsrc.c: Cleaned up a bit.
2388
2389 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
2390
2391         * gst/elements/gstcapsfilter.c:
2392         * gst/elements/gstfakesink.c:
2393         * gst/elements/gstfakesrc.c:
2394         * gst/elements/gstfdsink.c:
2395         * gst/elements/gstfdsrc.c:
2396         * gst/elements/gstfilesink.c:
2397         * gst/elements/gstfilesrc.c:
2398         * gst/elements/gstidentity.c:
2399         * gst/elements/gsttee.c:
2400         * gst/elements/gsttypefindelement.c:
2401           Make element details static.
2402
2403 2005-09-28  Wim Taymans  <wim@fluendo.com>
2404
2405         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
2406         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
2407         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
2408         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
2409         (gst_bin_change_state), (gst_bin_dispose):
2410         Some documentation updates.
2411         Clean up dispose handlers.
2412
2413         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
2414         * gst/gstpad.c: (gst_pad_dispose):
2415         Clean up dispose handler.
2416
2417         * gst/gstpipeline.c: (gst_pipeline_change_state):
2418         Removed spurious UNLOCK.
2419
2420 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
2421
2422         * docs/gst/gstreamer-sections.txt:
2423         * gst/base/gstbasesrc.h:
2424         * gst/gstelement.h:
2425         * gst/gstevent.h:
2426         * gst/gstobject.h:
2427         * gst/gstpad.h:
2428         * gst/gstpipeline.c:
2429         * gst/gstpipeline.h:
2430         * gst/gstutils.h:
2431         * gst/gstxml.h:
2432           added two new functions to the docs
2433                 documents all undocumented GstXXXFlags
2434                 completed some incomplete docs 
2435
2436 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2437
2438         * gst/gstbin.c: (gst_bin_dispose):
2439         * gst/gstelement.c: (gst_element_dispose):
2440           remove now useless and leaky resurrection code in dispose
2441         * gst/base/gstbasesrc.c: (gst_base_src_init):
2442         * gst/gstelementfactory.c: (gst_element_factory_create):
2443         * gst/gstobject.c: (gst_object_set_parent):
2444           add some debugging
2445
2446 2005-09-27  Wim Taymans  <wim@fluendo.com>
2447
2448         * docs/design/part-TODO.txt:
2449         Update TODO.
2450
2451         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
2452         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
2453         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
2454         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
2455         (gst_bin_change_state):
2456         * gst/gstelement.h:
2457         Remove element variable, we keep element info in the iterator now.
2458
2459 2005-09-27  Andy Wingo  <wingo@pobox.com>
2460
2461         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
2462         values.
2463
2464 2005-09-27  Wim Taymans  <wim@fluendo.com>
2465
2466         * check/gst/gstbin.c: (GST_START_TEST):
2467         Enable check that works now.
2468
2469         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
2470         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
2471         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
2472         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
2473         (gst_bin_change_state):
2474         * gst/gstbin.h:
2475         Redid the state change algorithm using a topological sort algo.
2476         Handles all cases correctly.
2477         Exposed iterator for state change order.
2478
2479         * gst/gstelement.h:
2480         Temp storage for state changes. Need to get rid of this soon.
2481
2482 2005-09-27  Wim Taymans  <wim@fluendo.com>
2483
2484         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
2485         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
2486         (link_fold_func), (gst_pad_proxy_setcaps):
2487         Leak fixes, the fold functions need to unref the passed object and
2488         _get_parent_*() returns ref to parent.
2489
2490 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
2491
2492         * check/gst/gstbuffer.c: (test_make_writable):
2493           Plug leak in test case and fix 'make check-valgrind'
2494
2495 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
2496
2497         * gst/gstbuffer.c: (gst_subbuffer_init):
2498           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
2499           works correctly in all circumstances (we could have just copied
2500           the parent buffer's readonly flag, but conceptually it seems
2501           cleaner to mark all subbuffers as read-only). (based on patch
2502           by Alessandro Decina, #314710).
2503         
2504         * check/gst/gstbuffer.c: (create_read_only_buffer),
2505         (test_make_writable), (test_subbuffer_make_writable),
2506         (gst_test_suite):
2507           Add some tests for gst_buffer_make_writable().
2508
2509 2005-09-27  Wim Taymans  <wim@fluendo.com>
2510
2511         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
2512         use gst_object_has_ancestor().
2513
2514         * gst/gstobject.c: (gst_object_has_ancestor):
2515         * gst/gstobject.h:
2516         gst_object_has_ancestor() copied from gstbin.c as it is a
2517         usefull function.
2518
2519         * tests/instantiate/create.c: (create_all_elements):
2520         * tests/lat.c: (handoff_src), (handoff_sink):
2521         * tests/sched/runxml.c: (main):
2522         * tests/seeking/seeking1.c: (main):
2523         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
2524         (main):
2525         Fix compilation of some tests.
2526
2527 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
2528
2529         * gst/gsterror.h:
2530           Remove comment. GST_TYPE_G_ERROR is here to stay,
2531           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
2532           (#316961, #300610).
2533
2534 2005-09-26  Wim Taymans  <wim@fluendo.com>
2535
2536         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
2537         Added check that shows error in state change order.
2538
2539 2005-09-26  Wim Taymans  <wim@fluendo.com>
2540
2541         * gst/gstbin.c: (gst_bin_change_state):
2542         Make state change function use 3 queues again, we were
2543         adding elements in the wrong order.
2544
2545         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
2546         Some debug info,
2547
2548         * gst/gstpad.c: (gst_pad_dispose):
2549         Added some debug info first.
2550
2551 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
2552
2553         * docs/design/draft-push-pull.txt:
2554         * docs/design/part-events.txt:
2555         * docs/design/part-overview.txt:
2556         * docs/design/part-scheduling.txt:
2557           Replace all _pull_region() with _pull_range()
2558           
2559 2005-09-26  Andy Wingo  <wingo@pobox.com>
2560
2561         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
2562
2563         * check/gst-libs/controller.c: Update for controller api change.
2564
2565         * configure.ac: 
2566         * tests/Makefile.am:
2567         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
2568         over by GLib bug 118439.
2569         
2570         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
2571         routines to a function.
2572
2573         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
2574
2575         * libs/gst/controller/gsthelper.c:
2576         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
2577         (gst_object_sync_values): Renamed from sink_values. Ugh.
2578
2579         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
2580
2581         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
2582         Renamed from controller_key, as it is exported.
2583
2584         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
2585
2586 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
2587
2588         * gst/Makefile.am:
2589         * gst/gst.h:
2590         * gst/gstpad.h:
2591         * gst/gstpadtemplate.h:
2592         * gst/gstquery.c:
2593         * gst/gstquery.h:
2594         * gst/gstqueryutils.c:
2595         * gst/gstqueryutils.h:
2596           remove queryutils headers after moving the two used functions
2597           to gstquery.  also fixes build problem for gstsiddec
2598
2599 2005-09-26  Michael Smith <msmith@fluendo.com>
2600
2601         * tools/gst-launch.1.in:
2602         Correct documentation in manpage of debug syntax
2603
2604 2005-09-26  Wim Taymans  <wim@fluendo.com>
2605
2606         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
2607         (gst_base_src_is_seekable), (gst_base_src_change_state):
2608         Some more debugging info.
2609
2610 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
2611
2612         * docs/gst/gstreamer-sections.txt:
2613         * gst/base/gstbasetransform.h:
2614         * gst/gstindex.h:
2615           added more docs
2616
2617 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
2618
2619         * docs/gst/.cvsignore:
2620         * docs/gst/tmpl/.cvsignore:
2621         * docs/gst/tmpl/gstpipeline.sgml:
2622         * docs/gst/tmpl/gstplugin.sgml:
2623         * gst/gstpipeline.c:
2624         * gst/gstplugin.c:
2625         * gst/gstplugin.h:
2626           inlined the last two docs files
2627           removed the tmpl directory from cvs (no more conflicts here!)
2628
2629 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
2630
2631         * docs/gst/gstreamer-sections.txt:
2632         * docs/gst/tmpl/.cvsignore:
2633         * docs/gst/tmpl/gstpad.sgml:
2634         * docs/gst/tmpl/gstpadtemplate.sgml:
2635         * gst/Makefile.am:
2636         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
2637         (gst_pad_finalize), (gst_pad_set_pad_template):
2638         * gst/gstpad.h:
2639         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
2640         (gst_pad_template_class_init), (gst_pad_template_init),
2641         (gst_pad_template_dispose), (name_is_valid),
2642         (gst_static_pad_template_get), (gst_pad_template_new),
2643         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
2644         (gst_pad_template_pad_created):
2645         * gst/gstpadtemplate.h:
2646           inlined two more docs
2647           factored gstpadtemplate out of gstpad
2648
2649 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
2650
2651         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
2652         (test_children_state_change_order_semi_sink):
2653           Fix test case: we can't rely on a fixed state change order when
2654           going from READY => PAUSED because the sink might commit its 
2655           new state first when the first buffer created by the source 
2656           reaches the sink before the source has finished its change state.
2657           (Test case still fails at times, see #316856, comment 5 onwards)
2658
2659 2005-09-24  Wim Taymans  <wim@fluendo.com>
2660
2661         * docs/design/part-events.txt:
2662         * docs/design/part-gstbus.txt:
2663         * docs/design/part-gstpipeline.txt:
2664         * docs/design/part-messages.txt:
2665         * docs/design/part-overview.txt:
2666         * docs/design/part-segments.txt:
2667         * gst/gstbin.c:
2668         * gst/gstbuffer.c:
2669         * gst/gstclock.c:
2670         * gst/gstelement.c:
2671         * gst/gstevent.c:
2672         * gst/gstfilter.c:
2673         * gst/gstiterator.c:
2674         Various documentation updates.
2675
2676 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2677
2678         * gst/gstclock.h:
2679           Well, that's embarassing.  Luckily we weren't using
2680           GST_CLOCK_DIFF anywhere.
2681
2682 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2683
2684         * common/gtk-doc.mak:
2685           don't fail on building XML, FC4 slave shows a bunch of doc
2686           missing bits that I don't get
2687         * gst/gstpad.c:
2688         * gst/gstpipeline.c:
2689         * gst/gststructure.c:
2690           some doc updates
2691
2692 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
2693
2694         * docs/design/part-gstbin.txt:
2695         * docs/design/part-gstbus.txt:
2696         * gst/gstbus.c:
2697           Add blurb about how the bus goes into flushing mode and
2698           drops all messages when its bin goes from READY into NULL 
2699           state.
2700
2701 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2702
2703         * docs/gst/gstreamer-sections.txt:
2704         * gst/gststructure.c: (gst_structure_get_clock_time):
2705         * gst/gststructure.h:
2706           add a method to get a GstClockTime out of a structure
2707
2708 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
2709
2710         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
2711         (test_children_state_change_order_semi_sink), (gst_bin_suite):
2712           Added test to check state change order in bins (can still be made
2713           to fail here under heavy disk load; bails out with 'Push on pad
2714           fakesink:sink0, but it was not activated in push mode').
2715
2716         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
2717           Fix state change order when there is only a semi sink (#316856)
2718
2719         * gst/gstbus.c: (gst_bus_class_init):
2720           Use _class_peek_parent(), not _class_ref(); fix docs to say
2721           'default main context' instead of 'mainloop' where that is
2722           what's meant.
2723
2724         * gst/gstelement.c: (gst_element_commit_state),
2725         (gst_element_set_state):
2726           Fix typos in debug messages
2727
2728 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2729
2730         * docs/README:
2731         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
2732         * gst/gstpluginfeature.c:
2733         * gst/gstutils.c:
2734           various doc updates
2735         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2736           change an assert into an error until it gets fixed properly
2737
2738 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
2739
2740         * docs/gst/gstreamer-sections.txt:
2741         * docs/gst/tmpl/.cvsignore:
2742         * docs/gst/tmpl/gstelement.sgml:
2743         * docs/gst/tmpl/gstinfo.sgml:
2744         * docs/gst/tmpl/gstobject.sgml:
2745         * gst/gstelement.c:
2746         * gst/gstelement.h:
2747         * gst/gstinfo.c:
2748         * gst/gstinfo.h:
2749         * gst/gstobject.c: (gst_object_class_init):
2750         * gst/gstobject.h:
2751           inlined 3 more biiiig doc files and added some missing docs on the fly
2752
2753 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2754
2755         * check/gst/.cvsignore:
2756         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
2757         * gst/gstregistryxml.c: (load_plugin),
2758         (gst_registry_xml_save_plugin):
2759           put back source in registry.  add checks for find_plugin.
2760         * testsuite/states/bin.c: (assert_state), (empty_bin),
2761         (test_adding_one_element), (main):
2762         * testsuite/states/locked.c: (main):
2763           some compile/run fixes
2764
2765 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2766
2767         * check/gst/gstvalue.c: (GST_START_TEST):
2768           fix leaks in the test itself
2769
2770 2005-09-22  Wim Taymans  <wim@fluendo.com>
2771
2772         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2773         (gst_base_sink_send_event), (gst_base_sink_peer_query),
2774         (gst_base_sink_query):
2775         Prepare for more accurate position reporting and query
2776         handling.
2777
2778         * gst/gstelement.c: (gst_element_send_event),
2779         (gst_element_set_state):
2780         Add some comment.
2781
2782 2005-09-22  Wim Taymans  <wim@fluendo.com>
2783
2784         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
2785         (gst_query_parse_segment):
2786         * gst/gstquery.h:
2787         More documentation.
2788         Add segment query for future use.
2789
2790 2005-09-22  Wim Taymans  <wim@fluendo.com>
2791
2792         * gst/gstbin.c: (gst_bin_add_func):
2793         Some more debug info.
2794
2795         * gst/gstelement.c: (gst_element_send_event):
2796         Simplify send_event
2797
2798         * gst/gstelement.h:
2799         Don't know how flags got broken.
2800
2801         * gst/gstquery.h:
2802         Added new query.
2803
2804 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
2805
2806         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
2807           Add simplistic test suite for GST_TYPE_DATE serialisation and
2808           deserialisation.
2809
2810 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
2811
2812         * docs/gst/gstreamer-sections.txt:
2813         * gst/gststructure.c: (gst_structure_set_valist),
2814         (gst_structure_get_date):
2815         * gst/gststructure.h:
2816         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
2817         (gst_date_copy), (gst_value_compare_date),
2818         (gst_value_serialize_date), (gst_value_deserialize_date),
2819         (gst_value_transform_date_string),
2820         (gst_value_transform_string_date), (_gst_value_initialize):
2821         * gst/gstvalue.h:
2822           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
2823           bunch of utility functions along with a hack that checks that
2824           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
2825           is required. Part of the grand scheme in #170777.
2826
2827 2005-09-22  Andy Wingo  <wingo@pobox.com>
2828
2829         * gst/gstconfig.h.in: Psych out gtk-doc.
2830
2831         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
2832
2833         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
2834
2835         * tools/gst-inspect.c (print_element_list): Plug some
2836         inconsequential leaks.
2837
2838         * gst/gstregistry.c (gst_registry_get_default): Doc.
2839
2840         * check/gst/gstplugin.c: 
2841         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
2842         * gst/gstelementfactory.c (gst_element_factory_create): 
2843         * gst/gstindexfactory.c (gst_index_factory_create): Update for
2844         refcount changes.
2845
2846         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
2847         (gst_plugin_feature_load): Doc, don't eat refs.
2848
2849         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
2850         (gst_plugin_list_free): Doc.
2851         (gst_plugin_load_file): Doc updates.
2852
2853         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
2854         accessors returning refcounted objects, return a ref.
2855
2856         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
2857         accessor for caps. IDEMPOTENCE. Oh yes.
2858
2859 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
2860
2861         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2862
2863         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
2864         (_gst_debug_register_funcptr):
2865           Add mutex to serialise access to the hash table with
2866           the function pointer => function name string mapping;
2867           make that hash table static scope (#316809).
2868
2869         * gst/registries/.cvsignore:
2870           Remove left-over file.
2871
2872 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
2873
2874         * docs/pwg/appendix-porting.xml:
2875           And something about newsegment events and caps-on-buffers to
2876           the porting guide (feel free to improve).
2877
2878 2005-09-21  Andy Wingo  <wingo@pobox.com>
2879
2880         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
2881         data and event probes on the same pad.
2882         (test_buffer_probe_once): Test that removing probes from within
2883         the probe functions works.
2884
2885 2005-09-21  Andy Wingo  <wingo@pobox.com>
2886
2887         * check/gst/gstutils.c: New file.
2888         (test_buffer_probe_n_times): A simple buffer probe test. More to
2889         come, foolios.
2890
2891         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
2892         have-data::buffer, not have-data.
2893         (gst_pad_add_event_probe): Likewise for have-data::event.
2894         (gst_pad_add_data_probe): More docs. The part about 'resolving the
2895         peer' isn't quite right yet though.
2896         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
2897         (gst_pad_remove_data_probe): Change to take the guint handler_id
2898         as their arg, not the function+data, which is more glib-like.
2899
2900         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
2901         the signal emission to indicate if the data is a buffer or an
2902         event.
2903         (gst_pad_get_type): Initialize buffer and event quarks.
2904         (gst_pad_class_init): have-data is now a detailed signal, yes it
2905         is.
2906
2907 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
2908
2909         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
2910         * gst/gstutils.c: (gst_util_set_value_from_string),
2911         (gst_util_set_object_arg):
2912           Don't put functional code in g_return_if_fail() or
2913           g_return_val_if_fail() statements, otherwise things will 
2914           break when G_DISABLE_CHECKS is defined during compilation.
2915
2916 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
2917
2918         * docs/gst/tmpl/.cvsignore:
2919         * docs/gst/tmpl/gstvalue.sgml:
2920         * gst/gstvalue.c:
2921         * gst/gstvalue.h:
2922           inlied another one and added  some obvious docs
2923
2924 2005-09-21  Wim Taymans  <wim@fluendo.com>
2925
2926         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
2927         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
2928         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
2929         (gst_fdsrc_get_property), (gst_fdsrc_create):
2930         * gst/elements/gstfdsrc.h:
2931         Properly implement fdsrc. Removed signal and timeout,
2932         better implemented somewhere else.
2933
2934 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
2935
2936         * docs/gst/tmpl/.cvsignore:
2937         * docs/gst/tmpl/gstimplementsinterface.sgml:
2938         * gst/gstinterface.c:
2939           inlined more docs
2940
2941 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
2942
2943         * docs/gst/gstreamer-sections.txt:
2944         * docs/gst/tmpl/.cvsignore:
2945         * docs/gst/tmpl/gstenumtypes.sgml:
2946           remove obsolete doc file
2947
2948 2005-09-21  David Schleef  <ds@schleef.org>
2949
2950         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
2951         little beer, fix a little leak.
2952
2953 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
2954
2955         * docs/gst/gstreamer-docs.sgml:
2956         * docs/gst/gstreamer-sections.txt:
2957         * docs/gst/tmpl/.cvsignore:
2958         * gst/Makefile.am:
2959         * gst/gst.h:
2960         * gst/gstbin.c:
2961         * gst/gstelement.h:
2962         * gst/gstindex.c: (gst_index_class_init):
2963         * gst/gstindex.h:
2964         * gst/gstindexfactory.c: (gst_index_factory_get_type),
2965         (gst_index_factory_class_init), (gst_index_factory_init),
2966         (gst_index_factory_finalize), (gst_index_factory_new),
2967         (gst_index_factory_destroy), (gst_index_factory_find),
2968         (gst_index_factory_create), (gst_index_factory_make):
2969         * gst/gstindexfactory.h:
2970         * gst/gstpluginfeature.c:
2971         * gst/gstpluginfeature.h:
2972         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
2973           more docs inlined, splitted gstindex.{c,h}
2974
2975 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2976
2977         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
2978           fix a leak
2979
2980 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
2981
2982         * gst/elements/gstfilesink.c: (gst_file_sink_init):
2983           Set sync to FALSE by default.
2984
2985 2005-09-20  Wim Taymans  <wim@fluendo.com>
2986
2987         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
2988         (gst_base_sink_init):
2989         Make sync property settable from subclass.
2990
2991         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
2992         (gst_fake_sink_change_state):
2993         Set sync to FALSE by default.
2994
2995 2005-09-20  Wim Taymans  <wim@fluendo.com>
2996
2997         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
2998         * tools/gst-launch.c: (main):
2999         The timeout handler should have lower priority than the source
3000         so we don't timeout before popping a message with 0 timeout.
3001         Dump error messages after failed state change.
3002
3003 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
3004
3005         * tools/gst-inspect.c: (print_element_properties_info):
3006           Fix two typos.
3007
3008 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3009
3010         * check/gst/gstevent.c:
3011         * gst/elements/gstfakesink.c:
3012         * gst/elements/gstfakesink.h:
3013           remove the sync property from fakesink.
3014           has the side effect of setting sync TRUE
3015           for fakesink, which is a change.  Anyone who knows how
3016           to fix this nicely in a GObject-y way, feel free.
3017
3018 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
3019
3020         * docs/gst/gstreamer-docs.sgml:
3021           remove probe refsection
3022
3023 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
3024
3025         * check/Makefile.am:
3026           disable valgrinding the controller test again
3027         * docs/gst/gstreamer-sections.txt:
3028           update for api-changes
3029
3030 2005-09-20  Wim Taymans  <wim@fluendo.com>
3031
3032         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
3033         (gst_base_sink_set_property), (gst_base_sink_get_property),
3034         (gst_base_sink_do_sync):
3035         * gst/base/gstbasesink.h:
3036         Added sync property to basesink to disable clock sync.
3037
3038 2005-09-20  Andy Wingo  <wingo@pobox.com>
3039
3040         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
3041         eating the caller's refcount.
3042
3043         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
3044         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
3045         refcount.
3046
3047         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
3048         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
3049         of GLib 2.8 public, so we can know which refcount to check in
3050         tests.
3051
3052         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
3053         (gst_object_init): Only set the gst refcount if we're going ahead
3054         with the refcount hack.
3055
3056 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
3057
3058         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
3059         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
3060           more leaks plumbed, added more debug-logging
3061         * gst/gstmacros.h:
3062           whitespace fix
3063
3064 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3065
3066         * gst/gstmessage.c:
3067           remove include of gstmemchunk.h
3068
3069 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3070
3071         * gst/gstclock.c: (_gst_clock_id_free):
3072           Commit from the Political Party For More Atomic CVS Commits,
3073           so that people don't waste too much of their day fishing
3074           out obvious leaks out of massive commits.
3075           Oh, and fix a pretty damn obvious leak in the memchunk
3076           removal code.
3077
3078 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
3079
3080         * check/Makefile.am:
3081         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
3082           plug mem-leak, re-add to valgrindable tests
3083
3084 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3085
3086         * gst/gstplugin.h:
3087           unbreak the build for those who have chronic arthritis
3088           and typing "make check" is just too taxing on the hands
3089
3090 2005-09-20  Andy Wingo  <wingo@pobox.com>
3091
3092         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
3093         really want it out, you should fix plugins at the same time.
3094
3095 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
3096
3097         * configure.ac:
3098         * docs/gst/gstreamer-sections.txt:
3099         * gst/gstobject.c:
3100           added missing symbols to api docs
3101           disable ref-count hack if we have glib >= 2.8
3102
3103 2005-09-19  David Schleef  <ds@schleef.org>
3104
3105         * docs/gst/Makefile.am: Ignore a few more internal headers
3106         * docs/gst/gstreamer-docs.sgml: Remove old sections
3107         * docs/gst/gstreamer-sections.txt: Remove old sections
3108         * docs/gst/tmpl/gstobject.sgml: update
3109         * docs/gst/tmpl/gstplugin.sgml: update
3110         * docs/gst/tmpl/gstpluginfeature.sgml: update
3111         * docs/random/ds/0.9-suggested-changes: update.
3112         * gst/Makefile.am: remove memchunk and trashstack, since they're
3113           not used.
3114         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
3115         * gst/gst.h: don't include some headers
3116         * gst/gstchildproxy.c: add gstmarshal.h
3117         * gst/gstclock.c: Don't use memchunks
3118         * gst/gstminiobject.c: Add some docs
3119         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
3120         * gst/gstobject.h: same
3121         * gst/gstplugin.c: include gstmacros.h
3122         * gst/gstplugin.h: don't include gstmacros.h, since it's private
3123         * gst/gstquery.c: don't use memchunks
3124         * gst/gstregistry.c: rename gst_registry_deinit()
3125         * gst/gstregistry.h: same
3126
3127 2005-09-19  David Schleef  <ds@schleef.org>
3128
3129         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
3130         * docs/libs/gstreamer-libs-sections.txt:
3131         * docs/libs/tmpl/gstgetbits.sgml:
3132         * docs/libs/tmpl/gstputbits.sgml:
3133
3134 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
3135
3136         * win32/gstenumtypes.c:
3137         * win32/gstenumtypes.h:
3138           Update.
3139
3140 2005-09-19  Wim Taymans  <wim@fluendo.com>
3141
3142         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
3143         Automatically PAUSE and RESUME a pipeline when a flushing seek
3144         is performed.
3145
3146 2005-09-19  Andy Wingo  <wingo@pobox.com>
3147
3148         * gst/gstregistry.h: Spacing fixen.
3149
3150 2005-09-19  Wim Taymans  <wim@fluendo.com>
3151
3152         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
3153         Handle state change failure more correctly.
3154
3155 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3156
3157         * check/Makefile.am:
3158         * check/pipelines/cleanup.c: (run_pipeline):
3159         * check/pipelines/simple_launch_lines.c: (run_pipeline),
3160         (GST_START_TEST):
3161           enable cleanup again after fixing the leak
3162         * docs/README:
3163           some more info on docs
3164
3165 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3166
3167         * check/Makefile.am:
3168           re-enable tests now that leaks are plugged
3169         * check/gst/gst.c:
3170         * check/gst/gstbin.c:
3171         * check/gst/gstpipeline.c:
3172           add some more tests while fixing leaks
3173         * common/check.mak:
3174           make sure binaries are uptodate when valgrinding/gdbing
3175         * gst/gst.c:
3176         * gst/gstelementfactory.c:
3177           remove a ref too many, and add a FIXME for when we get
3178           round to disposing of classes
3179         * gst/gstplugin.c:
3180           fix the refcounting when loading a plugin from a file and
3181           the code pretends that the pointer is the same even though
3182           of course it can change
3183         * gst/gstpluginfeature.c:
3184           unref plugins marked cached (a bit confusing as a name)
3185           as the docs state should be done
3186           various doc additions to explain refcounting
3187         * gst/gstregistry.c:
3188         * gst/gstregistryxml.c:
3189           debugging
3190
3191 2005-09-19  Wim Taymans  <wim@fluendo.com>
3192
3193         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
3194         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
3195         (send_messages), (GST_START_TEST), (gstbus_suite):
3196         * check/gst/gstpipeline.c: (GST_START_TEST):
3197         * check/pipelines/cleanup.c: (run_pipeline):
3198         * check/pipelines/simple_launch_lines.c: (run_pipeline),
3199         (GST_START_TEST):
3200         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
3201         (gst_bus_source_check), (gst_bus_source_dispatch),
3202         (gst_bus_create_watch), (gst_bus_add_watch_full),
3203         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
3204         * gst/gstbus.h:
3205         * tools/gst-launch.c: (event_loop):
3206         * tools/gst-md5sum.c: (event_loop):
3207         GstBusHandler -> GstBusFunc, return value has the same meaning as
3208         any other GSource (FALSE == remove source).
3209         _add_watch() and _add_watch_full() now take a MessageType mask to
3210         only handle specific types of messages.
3211         _poll() returns the GstMessage instead of the message type to avoid
3212         race conditions.
3213         _have_pending() takes a MessageType mask now too.
3214         Added testsuite for multiple bus watches.
3215         Fix testsuites and applications for new bus API.
3216
3217 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
3218
3219         * check/Makefile.am:
3220           mark a bunch of the tests as to fix until we fix them
3221
3222 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3223
3224         * common/check.mak:
3225           use GST_PLUGIN settings for valgrind tests as well, so we're
3226           valgrinding the correct thing
3227         * gst/gst.c: (init_post):
3228           plug another leak
3229
3230 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3231
3232         * gst/gst.c: (init_post), (gst_deinit):
3233         * gst/gstelementfactory.c: (gst_element_factory_class_init),
3234         (gst_element_factory_finalize), (gst_element_factory_cleanup):
3235         * gst/gstindex.c: (gst_index_factory_class_init),
3236         (gst_index_factory_finalize):
3237         * gst/gstobject.c: (gst_object_dispose):
3238         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
3239         (gst_plugin_load_file), (gst_plugin_desc_free):
3240         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
3241         (gst_plugin_feature_finalize):
3242         * gst/gstregistry.c: (gst_registry_class_init),
3243         (gst_registry_init), (gst_registry_finalize),
3244         (gst_registry_get_default), (gst_registry_deinit):
3245         * gst/gstregistry.h:
3246         * gst/gstregistryxml.c: (load_feature), (load_plugin):
3247           various cleanups and memleak plugging.  make valgrind is happy now.
3248
3249 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3250
3251         * common/check.mak:
3252           add a check-valgrind target
3253
3254 2005-09-18  David Schleef  <ds@schleef.org>
3255
3256         * tools/gst-inspect.c: Revert the GOption code.
3257
3258 2005-09-17  David Schleef  <ds@schleef.org>
3259
3260         * check/Makefile.am: Fix environment variables.
3261         * check/gst/gstplugin.c: Fix for API changes.
3262         * tools/gst-inspect.c: Fix for API changes.
3263         * tools/gst-xmlinspect.c: Fix for API changes.
3264         * gst/gstelementfactory.c:
3265         * gst/gstplugin.c:
3266         * gst/gstplugin.h:
3267         * gst/gstpluginfeature.c:
3268         * gst/gstpluginfeature.h:
3269         * gst/gstregistry.c:
3270         * gst/gstregistry.h:
3271         * gst/gstregistryxml.c:
3272         * gst/gsttypefind.c:
3273         * gst/gsttypefindfactory.c:
3274         * gst/indexers/gstfileindex.c:
3275         * gst/indexers/gstmemindex.c:
3276         * gst/schedulers/Makefile.am:
3277           Change registry to keep track of both plugins and features,
3278           removing the feature tracking from plugins themselves.
3279
3280 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3281
3282         * check/Makefile.am:
3283         * tools/gst-register.1.in:
3284           remove gst-register
3285
3286 2005-09-15  David Schleef  <ds@schleef.org>
3287
3288         * check/gst/gstplugin.c:
3289         * gst/gstelementfactory.c:
3290         * gst/gstplugin.c:
3291         * gst/gstpluginfeature.c:
3292         * gst/gstregistry.c:
3293           Getting tired of debugging.  Disabled all the unreffing of
3294           plugins and features, which fixes the segfaults, but of
3295           course leaks like crazy.  At least playbin works.
3296
3297 2005-09-15  David Schleef  <ds@schleef.org>
3298
3299         * check/gst/gstplugin.c: (register_check_elements),
3300         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
3301         More testing
3302         * gst/elements/gsttypefindelement.c: Fix refcounting.
3303         * gst/gsttypefind.c:
3304         * gst/gsttypefindfactory.c:
3305         * gst/gsttypefindfactory.h:
3306
3307 2005-09-15  David Schleef  <ds@schleef.org>
3308
3309         * gst/gstindex.c: get refcounting correct.
3310         * gst/gstregistry.c: Handle the case where a feature/plugin is
3311           not found.
3312
3313 2005-09-15  David Schleef  <ds@schleef.org>
3314
3315         * check/Makefile.am:
3316         * check/gst/gstplugin.c: Add test
3317         * gst/gstplugin.c: Fix problems noticed by testsuite
3318         * gst/gstplugin.h:
3319         * gst/gstregistry.c: 
3320         * gst/gstregistry.h:
3321
3322 2005-09-15  David Schleef  <ds@schleef.org>
3323
3324         * gst/gstplugin.c: Implement semi-decent recounting and locking
3325           in plugins and plugin features.
3326         * gst/gstplugin.h:
3327         * gst/gstpluginfeature.c:
3328         * gst/gstpluginfeature.h:
3329         * gst/gstregistry.c:
3330
3331 2005-09-15  Michael Smith <msmith@fluendo.com>
3332
3333         * gst/gstregistry.c: (gst_registry_get_feature_list):
3334           Implement this. Makes oggdemux work; decodebin still broken.
3335
3336 2005-09-14  David Schleef  <ds@schleef.org>
3337
3338         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
3339           #316076)
3340         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
3341         * gst/check/Makefile.am:
3342         * libs/gst/controller/Makefile.am:
3343         * libs/gst/dataprotocol/Makefile.am:
3344
3345 2005-09-14  David Schleef  <ds@schleef.org>
3346
3347         * configure.ac: Remove getbits library.  Nothing uses it, and
3348           it should be in something like liboil if someone did want
3349           to use it.
3350         * libs/gst/Makefile.am:
3351         * libs/gst/getbits/Makefile.am:
3352         * libs/gst/getbits/gbtest.c:
3353         * libs/gst/getbits/getbits.c:
3354         * libs/gst/getbits/getbits.h:
3355         * libs/gst/getbits/gstgetbits_generic.c:
3356         * libs/gst/getbits/gstgetbits_i386.s:
3357         * libs/gst/getbits/gstgetbits_inl.h:
3358
3359 2005-09-14  David Schleef  <ds@schleef.org>
3360
3361         * gst/Makefile.am: Dist glib-compat.h
3362
3363 2005-09-14  David Schleef  <ds@schleef.org>
3364
3365         * configure.ac: Remove gst/registries, since it's no longer used.
3366         * gst/registries/Makefile.am:
3367         * gst/registries/gstlibxmlregistry.c:
3368         * gst/registries/gstlibxmlregistry.h:
3369         * gst/registries/gstxmlregistry.c:
3370         * gst/registries/gstxmlregistry.h:
3371         * gst/registries/registrytest.c:
3372
3373 2005-09-14  David Schleef  <ds@schleef.org>
3374
3375         * gst/glib-compat.h:
3376         * gst/gstregistryxml.c:
3377           Convergence is near.  Seriously.
3378
3379 2005-09-14  David Schleef  <ds@schleef.org>
3380
3381         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
3382         * gst/glib-compat.h:
3383           Attempt #4 to appease the buildbots.
3384
3385 2005-09-14  David Schleef  <ds@schleef.org>
3386
3387         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
3388           Attempt #3.
3389
3390 2005-09-14  David Schleef  <ds@schleef.org>
3391
3392         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
3393         Attempt #2.
3394
3395 2005-09-14  David Schleef  <ds@schleef.org>
3396
3397         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
3398           the new functions.
3399
3400 2005-09-14  David Schleef  <ds@schleef.org>
3401
3402         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
3403         * gst/glib-compat.h: Add some functions that are in newer versions
3404           of glib than we care to require.
3405         * gst/gstregistryxml.c: Use them.
3406
3407 2005-09-14  David Schleef  <ds@schleef.org>
3408
3409         * po/POTFILES.in: remove gst-register.c
3410
3411 2005-09-14  David Schleef  <ds@schleef.org>
3412
3413         * docs/gst/gstreamer-docs.sgml:
3414         * docs/gst/gstreamer-sections.txt:
3415         * docs/gst/gstreamer.types:
3416         * docs/gst/tmpl/gstelement.sgml:
3417         * docs/gst/tmpl/gstplugin.sgml:
3418         * docs/gst/tmpl/gstpluginfeature.sgml:
3419           Documentation updates for registry changes.
3420
3421 2005-09-14  David Schleef  <ds@schleef.org>
3422
3423         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
3424           because we don't require glib-2.8.
3425
3426 2005-09-14  David Schleef  <ds@schleef.org>
3427
3428         * gst/gstregistryxml.c: Added.  Essentially moved out of the
3429           registries directory.
3430
3431 2005-09-14  David Schleef  <ds@schleef.org>
3432
3433         * check/Makefile.am:
3434         * check/generic/states.c:
3435         * gst/Makefile.am:
3436         * gst/gst.c:
3437         * gst/gst.h:
3438         * gst/gst_private.h:
3439         * gst/gstelementfactory.c:
3440         * gst/gstindex.c:
3441         * gst/gstinfo.c:
3442         * gst/gstplugin.c:
3443         * gst/gstplugin.h:
3444         * gst/gstpluginfeature.c:
3445         * gst/gstpluginfeature.h:
3446         * gst/gstregistry.c:
3447         * gst/gstregistry.h:
3448         * gst/gstregistrypool.c: remove
3449         * gst/gstregistrypool.h: remove
3450         * gst/gsttypefind.c:
3451         * gst/gsttypefindfactory.c:
3452         * gst/gsturi.c:
3453         * tools/Makefile.am:
3454         * tools/gst-compprep.c:
3455         * tools/gst-inspect.c:
3456         * tools/gst-register.c: remove
3457         * tools/gst-xmlinspect.c:
3458           Registry rewrite.  Changes registry from being a file created
3459           by a tool into a simple cache file created automatically by 
3460           libgstreamer.  Removed gst-register (because it's no longer
3461           needed).  Remove registry pools, because we only have one
3462           registry implementation (XML).  Fix up other subsystems as
3463           necessary.
3464
3465 2005-09-13  Michael Smith <msmith@fluendo.com>
3466
3467         * gst/gstconfig.h.in:
3468           Don't Use windows linking attributes for MinGW. Fixes #316157
3469
3470 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3471
3472         * gst/gstutils.c: (set_state_async_thread_func),
3473         (gst_element_set_state_async):
3474           Apparently people think it's better if this function doesn't
3475           try to set the state to whatever state was asked for on the first
3476           call to this function for any object.  Seriously.
3477
3478 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3479
3480         * check/gst/gstpipeline.c: (GST_START_TEST):
3481         * docs/gst/gstreamer-sections.txt:
3482         * gst/gstutils.c: (set_state_async_thread_func),
3483         (gst_element_set_state_async):
3484         * gst/gstutils.h:
3485           add a "gst_element_set_state_async" method that
3486           sets the state and starts a thread to make sure the state
3487           change completes as best as it can
3488
3489 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3490
3491         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
3492           codify design+behaviour in testsuite after discussion
3493
3494 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3495
3496         * docs/gst/tmpl/gstelement.sgml:
3497         * docs/manual/appendix-quotes.xml:
3498           add a quote
3499         * gst/gstelement.c: (gst_element_set_state):
3500           add some debug
3501
3502 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
3503
3504         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3505         (gst_base_transform_prepare_output_buf),
3506         (gst_base_transform_handle_buffer):
3507         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
3508         (gst_capsfilter_prepare_buf):
3509           Remove the requirement for sub-classes to call the parent
3510           implementation of prepare_output_buffer with a wrapper function.
3511           
3512         * gst/gsttaglist.h:
3513         * gst/gsttagsetter.h:
3514           Fix #define wrapper
3515
3516 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
3517
3518         * docs/gst/gstreamer-sections.txt:
3519           more doc cleanups
3520
3521 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3522
3523         * docs/gst/gstreamer-sections.txt:
3524         * docs/gst/tmpl/gstelement.sgml:
3525         * docs/gst/tmpl/gstplugin.sgml:
3526         * gst/gstminiobject.c:
3527         * gst/gstvalue.h:
3528           docs now stop throwing warnings
3529
3530 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3531
3532         * docs/gst/gstreamer-sections.txt:
3533         * docs/gst/gstreamer.types:
3534         * docs/gst/tmpl/gstpad.sgml:
3535         * docs/gst/tmpl/gsttypes.sgml:
3536         * gst/base/gstadapter.h:
3537         * gst/base/gstbasesink.h:
3538         * gst/base/gstbasesrc.h:
3539         * gst/gstbin.h:
3540         * gst/gstbuffer.h:
3541         * gst/gstbus.h:
3542         * gst/gstcaps.h:
3543         * gst/gstclock.h:
3544         * gst/gstelement.h:
3545         * gst/gstevent.h:
3546         * gst/gstmessage.h:
3547         * gst/gstpad.h:
3548         * gst/gststructure.c:
3549         * gst/registries/gstlibxmlregistry.h:
3550           various documentation fixes
3551
3552 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3553
3554         * docs/gst/gstreamer-sections.txt:
3555         * docs/gst/tmpl/gstvalue.sgml:
3556           rearrange gstvalue section
3557         * gst/gstutils.c: (gst_element_state_get_name):
3558           NONE -> VOID
3559         * gst/gstvalue.c: (_gst_value_initialize):
3560         * gst/gstvalue.h:
3561           doc updates
3562
3563 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
3564
3565         * check/gst-libs/controller.c:
3566           Header include fix.
3567         * gst/base/gstbasetransform.c:
3568         (gst_base_transform_default_prepare_buf),
3569         (gst_base_transform_handle_buffer):
3570         * gst/base/gstbasetransform.h:
3571           Some more basetransform changes and fixes to enable sub-classes
3572           that modify buffer metadata only.
3573         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3574         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
3575         (gst_capsfilter_prepare_buf):
3576           If the output pad has fixed allowed caps and input buffers 
3577           don't have any, set the fixed caps on outgoing buffers.
3578
3579 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
3580         * check/elements/identity.c: (GST_START_TEST):
3581           Make the error a little clearer when the test fails because
3582           identity made a copy of the buffer.
3583         * docs/gst/gstreamer-sections.txt:
3584           New symbols in gstbasetransform.h
3585         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3586         (gst_base_transform_init), (gst_base_transform_transform_size),
3587         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
3588         (gst_base_transform_default_prepare_buf),
3589         (gst_base_transform_get_unit_size),
3590         (gst_base_transform_buffer_alloc),
3591         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
3592         (gst_base_transform_change_state),
3593         (gst_base_transform_set_passthrough),
3594         (gst_base_transform_set_in_place),
3595         (gst_base_transform_is_in_place):
3596         * gst/base/gstbasetransform.h:
3597           Change BaseTransform to separate in_place operate from same_caps
3598           output. in_place implies that the element can perform the transform
3599           on incoming buffers in-place, even if the caps on the output are
3600           different.
3601           Sub-class elements can now implement special buffer allocation
3602           methods for outgoing buffers if they wish to.
3603           Big documentation addition.
3604         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
3605         * gst/elements/gstelements.c:
3606           Changes for basetransform modifications.
3607         * gst/elements/Makefile.am:
3608         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
3609           Compile fix. Extra debug output.
3610
3611 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3612
3613         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
3614         (gst_pad_suite):
3615           add tests for valid pad naming
3616         * gst/check/gstcheck.c: (gst_check_log_message_func),
3617         (gst_check_log_critical_func):
3618           add ASSERT_WARNING
3619           remove printing of code, it is fragile when the code contains
3620           % and the line number is enough info
3621         * gst/check/gstcheck.h:
3622         * gst/gstpad.c: (gst_pad_template_new):
3623           fix memleaks
3624
3625 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3626
3627         * configure.ac:
3628           say what CHECK flags we use
3629         * docs/libs/gstreamer-libs.types:
3630         * libs/gst/controller/Makefile.am:
3631         * libs/gst/controller/gst-controller.c:
3632         * libs/gst/controller/gst-controller.h:
3633         * libs/gst/controller/gst-helper.c:
3634         * libs/gst/controller/gst-interpolation.c:
3635         * libs/gst/controller/gstcontroller.c:
3636         * libs/gst/controller/gsthelper.c:
3637         * libs/gst/controller/gstinterpolation.c:
3638         * tools/gst-inspect.c: (print_plugin_info):
3639           we don't use dashes in header names
3640
3641 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3642
3643         * check/Makefile.am:
3644         * check/gst/.cvsignore:
3645         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
3646         (gst_pipeline_suite), (main):
3647           adding a test for pipelines and state changes
3648         * gst/gstutils.c: (get_state_func):
3649           add some debugging
3650         * gstreamer.spec.in:
3651           fix up spec file
3652
3653 2005-09-08  Michael Smith <msmith@fluendo.com>
3654
3655         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
3656         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
3657         (gst_file_src_is_seekable), (gst_file_src_get_size),
3658         (gst_file_src_start):
3659         * gst/elements/gstfilesrc.h:
3660           Various fixes for unseekable, unmmapable, and non-normal files, so
3661           that fallback to read() rather than mmap() works.
3662         * gst/gstevent.c: (gst_event_new_newsegment):
3663           Allow newsegment events with segment_start == segment_end, as will
3664           correctly happen if you use filesrc on a zero-size file, for
3665           example.
3666
3667 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
3668
3669         * gst/gstplugin.c: (gst_plugin_load_file):
3670           Call g_module_close when we don't load the module
3671
3672         * gst/registries/gstlibxmlregistry.c:
3673         (gst_xml_registry_get_property):
3674           Port leak fix from 0.8
3675
3676 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
3677
3678         * docs/gst/gstreamer-docs.sgml:
3679         * docs/gst/tmpl/.cvsignore:
3680         * docs/gst/tmpl/gsttrace.sgml:
3681         * docs/gst/tmpl/gsttrashstack.sgml:
3682         * gst/Makefile.am:
3683         * gst/gst.h:
3684         * gst/gstelement.h:
3685         * gst/gstevent.h:
3686         * gst/gstmessage.c:
3687         * gst/gstmessage.h:
3688         * gst/gsttag.c:
3689         * gst/gsttag.h:
3690         * gst/gsttaginterface.c:
3691         * gst/gsttaginterface.h:
3692         * gst/gsttaglist.c:
3693         * gst/gsttaglist.h:
3694         * gst/gsttagsetter.c:
3695         * gst/gsttagsetter.h:
3696         * gst/gsttrace.c:
3697         * gst/gsttrace.h:
3698         * gst/gsttrashstack.c:
3699           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
3700           inlined docs for gsttrace, gsttrashstack
3701
3702 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
3703
3704         * gst/Makefile.am:
3705         * gst/elements/gstbufferstore.h:
3706         * gst/elements/gsttypefindelement.c:
3707         * gst/elements/gsttypefindelement.h:
3708         * gst/gst.h:
3709         * gst/gsttypefind.c:
3710         * gst/gsttypefind.h:
3711         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
3712         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
3713         (gst_type_find_factory_dispose),
3714         (gst_type_find_factory_unload_thyself),
3715         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
3716         (gst_type_find_factory_get_caps),
3717         (gst_type_find_factory_get_extensions),
3718         (gst_type_find_factory_call_function):
3719         * gst/gsttypefindfactory.h:
3720         * gst/registries/gstlibxmlregistry.c:
3721         * gst/registries/gstxmlregistry.c:
3722           splitted gsttypefind into gsttypefind, gsttypefindfactory
3723
3724 2005-09-07  Andy Wingo  <wingo@pobox.com>
3725
3726         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
3727         condition whereby the pad's task function is entered before the
3728         pad_mode variable was set.
3729
3730 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
3731
3732         * gst/gstpad.c: (gst_pad_alloc_buffer):
3733           Catch misbehaving pad_alloc functions that don't
3734           set up caps and do it for them.
3735
3736 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
3737
3738         * check/pipelines/simple_launch_lines.c: (run_pipeline):
3739           test for pipe!=NULL
3740         * docs/gst/tmpl/.cvsignore:
3741         * docs/gst/tmpl/gstmemchunk.sgml:
3742         * docs/gst/tmpl/gstparse.sgml:
3743         * docs/gst/tmpl/gsttaglist.sgml:
3744         * docs/gst/tmpl/gsttagsetter.sgml:
3745         * docs/gst/tmpl/gsttypefind.sgml:
3746         * docs/gst/tmpl/gsttypefindfactory.sgml:
3747         * gst/gstmemchunk.c:
3748         * gst/gstparse.c:
3749         * gst/gsttag.c:
3750         * gst/gsttaginterface.c:
3751         * gst/gsttypefind.c:
3752         * gst/gsttypefind.h:
3753           inlined more docs
3754
3755 === release 0.9.2 ===
3756
3757 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3758
3759         * NEWS:
3760         * RELEASE:
3761         * configure.ac:
3762           releasing 0.9.2, "South"
3763
3764 2005-09-05  Andy Wingo  <wingo@pobox.com>
3765
3766         * gst/registries/gstxmlregistry.h:
3767         * gst/registries/gstxmlregistry.c: Um... resurrect...
3768         
3769         * gst/registries/gstxmlregistry.h:
3770         * gst/registries/gstxmlregistry.c: and update to newer API.
3771         Incidentally they should be a bit faster now that they don't have
3772         to parse the caps.
3773         
3774 2005-09-05  Andy Wingo  <wingo@pobox.com>
3775
3776         * gst/registries/gstxmlregistry.h:
3777         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
3778         replaced by the libxml registry a while back
3779
3780 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3781
3782         * docs/gst/tmpl/gstplugin.sgml:
3783         * gst/elements/gstelements.c:
3784         * gst/gst.c:
3785         * gst/gstplugin.c: (gst_plugin_register_func),
3786         (gst_plugin_desc_copy), (gst_plugin_desc_free),
3787         (gst_plugin_get_source):
3788         * gst/gstplugin.h:
3789         * gst/registries/gstlibxmlregistry.c: (load_plugin),
3790         (gst_xml_registry_save_plugin):
3791         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
3792         (gst_xml_registry_save_plugin):
3793         * tools/gst-inspect.c: (print_plugin_info):
3794           add a "source" plugin description field, to represent the source
3795           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
3796           will set it to PACKAGE, which is automake's idea of the name of
3797           the source project.
3798
3799 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3800
3801         * Makefile.am:
3802         * autogen.sh:
3803         * configure.ac:
3804         * docs/Makefile.am:
3805         * docs/faq/Makefile.am:
3806         * docs/gst/tmpl/gstelement.sgml:
3807         * docs/gst/tmpl/gsttypes.sgml:
3808         * docs/htmlinstall.mak:
3809         * docs/manual/Makefile.am:
3810         * docs/pwg/Makefile.am:
3811           reorganize doc build a little
3812           split out docbook and gtk-doc stuff
3813           have two separate --enable's and enable them through autogen
3814           but disable by default in configure (to be similar to other
3815           projects)
3816         * gstreamer.spec.in:
3817           clean up docs install
3818         * po/af.po:
3819         * po/az.po:
3820         * po/ca.po:
3821         * po/cs.po:
3822         * po/de.po:
3823         * po/en_GB.po:
3824         * po/fr.po:
3825         * po/it.po:
3826         * po/nb.po:
3827         * po/nl.po:
3828         * po/ru.po:
3829         * po/sq.po:
3830         * po/sr.po:
3831         * po/sv.po:
3832         * po/tr.po:
3833         * po/uk.po:
3834         * po/vi.po:
3835           translation updates
3836
3837 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3838
3839         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
3840           Add comment.
3841           
3842         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
3843         (gst_fake_sink_change_state):
3844           Make state change function thread-safe.
3845           
3846         * gst/gstpad.c: (gst_pad_alloc_buffer):
3847           Set offset on generic buffer allocated by fallback.
3848
3849 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
3850
3851         * docs/gst/gstreamer-sections.txt:
3852         * docs/gst/tmpl/gstelement.sgml:
3853         * gst/gstpad.c:
3854         * libs/gst/controller/gst-controller.c:
3855         (gst_controlled_property_set_interpolation_mode),
3856         (gst_controlled_property_new),
3857         (gst_controller_find_controlled_property):
3858          run the wingo-magic script against the docs
3859
3860 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
3861
3862         * docs/gst/gstreamer-docs.sgml:
3863         * docs/gst/gstreamer-sections.txt:
3864         * docs/gst/tmpl/.cvsignore:
3865         * docs/gst/tmpl/gstelementdetails.sgml:
3866         * docs/gst/tmpl/gstelementfactory.sgml:
3867         * gst/gst.c:
3868         * gst/gstbus.c:
3869         * gst/gstelementfactory.c:
3870         * gst/gstelementfactory.h:
3871           merged elementdetails docs into elementfactory docs
3872           inlined both
3873
3874 2005-09-02  Andy Wingo  <wingo@pobox.com>
3875
3876         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
3877         consider this enum an enum and not a flags.
3878
3879 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
3880
3881         * docs/gst/gstreamer-docs.sgml:
3882         * docs/gst/tmpl/.cvsignore:
3883         * docs/gst/tmpl/gstghostpad.sgml:
3884         * docs/gst/tmpl/gstiterator.sgml:
3885         * docs/gst/tmpl/gstmacros.sgml:
3886         * docs/gst/tmpl/gstrealpad.sgml:
3887         * docs/gst/tmpl/gstregistry.sgml:
3888         * docs/gst/tmpl/gstregistrypool.sgml:
3889         * docs/gst/tmpl/gststructure.sgml:
3890         * docs/gst/tmpl/gstsystemclock.sgml:
3891         * docs/gst/tmpl/gsttrace.sgml:
3892         * gst/gstghostpad.c:
3893         * gst/gstmacros.h:
3894         * gst/gstmemchunk.c:
3895         * gst/gstmemchunk.h:
3896         * gst/gstqueue.c:
3897         * gst/gstregistry.c:
3898         * gst/gstregistrypool.c:
3899         * gst/gststructure.c:
3900         * gst/gstsystemclock.c:
3901           more docs inlined
3902
3903 2005-09-02  Andy Wingo  <wingo@pobox.com>
3904
3905         * gst/gstelement.h (GstState): Renamed from GstElementState,
3906         changed to be a normal enum instead of flags.
3907         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
3908         munged to be GST_STATE_CHANGE_*.
3909         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
3910         work with the new state representation.
3911         (GstStateChange): New enumeration of possible state transitions.
3912         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
3913         (GstElementClass::change_state): Pass the GstStateChange along as
3914         an argument. Helps language bindings, so they don't have to use
3915         tricky lock-needing macros like GST_STATE_CHANGE ().
3916
3917         * scripts/update-states (file): New script. Run it on a file to
3918         update it for state naming and API changes. Updates files in
3919         place.
3920
3921         * All files updated for the new API.
3922
3923 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3924
3925         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
3926         * gst/gstutils.c: (gst_util_set_value_from_string),
3927         (gst_util_set_object_arg):
3928           fix a bunch of unchecked return values
3929         * tools/gst-complete.c: (main):
3930         * gstreamer.spec.in:
3931           clean up a little
3932
3933 2005-09-01  Wim Taymans  <wim@fluendo.com>
3934
3935         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3936         (gst_base_sink_event), (gst_base_sink_do_sync),
3937         (gst_base_sink_handle_event):
3938         * gst/base/gstbasesink.h:
3939         Handle newsegments more correctly.
3940
3941         * gst/gstbus.c:
3942         Fix docs.
3943
3944         * gst/gstevent.c: (gst_event_new_newsegment):
3945         A newsegment cannot have a start_time of -1
3946
3947 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
3948
3949         * win32/gstenumtypes.c:
3950         * win32/gstenumtypes.h:
3951           Update
3952
3953 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
3954
3955         * libs/gst/controller/gst-controller.c:
3956         (gst_controlled_property_set_interpolation_mode),
3957         (gst_controlled_property_new):
3958          fixed boolean again
3959
3960 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
3961
3962         * docs/faq/gst-uninstalled:
3963           add -good
3964         * gst/gstevent.c:
3965         * gst/gstevent.h:
3966           remove wrong docs
3967         * gst/gstutils.c: (gst_element_link_filtered):
3968         * gst/gstutils.h:
3969           add gst_element_link_filtered
3970
3971 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
3972
3973         * docs/gst/gstreamer-docs.sgml:
3974         * docs/gst/gstreamer-sections.txt:
3975         * docs/gst/tmpl/.cvsignore:
3976         * docs/gst/tmpl/gsterror.sgml:
3977         * docs/gst/tmpl/gstfilter.sgml:
3978         * docs/gst/tmpl/gsturihandler.sgml:
3979         * docs/gst/tmpl/gsturitype.sgml:
3980         * docs/gst/tmpl/gstutils.sgml:
3981         * docs/gst/tmpl/gstxml.sgml:
3982         * gst/gsterror.c:
3983         * gst/gsterror.h:
3984         * gst/gstfilter.c:
3985         * gst/gsturi.c:
3986         * gst/gsturitype.c:
3987         * gst/gstutils.c:
3988         * gst/gstxml.c:
3989           inlined more docs, fixed double id-ref
3990
3991 2005-08-31  Wim Taymans  <wim@fluendo.com>
3992
3993         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
3994         (gst_base_transform_handle_buffer):
3995         Passthrough elements don't need the caps as they don't care.
3996
3997 2005-08-31  Wim Taymans  <wim@fluendo.com>
3998
3999         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
4000         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
4001         Don't leak refcounts on buffers.
4002
4003 2005-08-31  Wim Taymans  <wim@fluendo.com>
4004
4005         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
4006         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
4007         (gst_base_transform_chain), (gst_base_transform_change_state):
4008         * gst/base/gstbasetransform.h:
4009         Handle the case where we are not negotiated more gracefully.
4010
4011 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
4012
4013         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
4014         (gst_file_src_map_region):
4015           Set READONLY flag on mmap'ed buffers, otherwise
4016           gst_buffer_make_writable() won't work properly (#314708).
4017
4018 2005-08-31  Wim Taymans  <wim@fluendo.com>
4019
4020         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
4021         passthrough elements can even do inplace on non writable
4022         buffers (as they don't touch them).
4023
4024 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
4025
4026         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
4027         (gst_test_mono_source_set_property),
4028         (gst_test_mono_source_class_init), (GST_START_TEST),
4029         (gst_controller_suite):
4030           more tests (hehe I have the most)
4031         * gst/gstbus.c:
4032           describe popping messages whenusing mulltiple sources
4033         * libs/gst/controller/gst-controller.c:
4034         (gst_controlled_property_set_interpolation_mode),
4035         (gst_controlled_property_new):
4036         * libs/gst/controller/gst-controller.h:
4037         * libs/gst/controller/gst-interpolation.c:
4038           implement boolean properties
4039
4040 2005-08-31  Wim Taymans  <wim@fluendo.com>
4041
4042         * gst/gstminiobject.c: (gst_mini_object_ref):
4043         Cannot assert that the refcount has to be positive
4044         since a disposed object can be resurrected.
4045
4046 2005-08-31  Wim Taymans  <wim@fluendo.com>
4047
4048         * gst/gstpad.c: (gst_pad_init):
4049         Revert change, need to first fix badly behaving 
4050         apps.
4051
4052 2005-08-30  Wim Taymans  <wim@fluendo.com>
4053
4054         * check/elements/fakesrc.c: (setup_fakesrc):
4055         * check/elements/identity.c: (setup_identity):
4056         Activate pads before using them.
4057
4058 2005-08-30  Wim Taymans  <wim@fluendo.com>
4059
4060         * gst/base/gstadapter.c: (gst_adapter_flush):
4061         Flushing out 0 bytes is ok for this function.
4062
4063         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4064         no newsegment gives a warning and sets the start/stop to 
4065         invalid.
4066
4067         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
4068         (gst_base_transform_set_passthrough):
4069         Some debug info.
4070
4071         * gst/gstminiobject.c: (gst_mini_object_ref):
4072         Check refcount here too.
4073
4074         * gst/gstpad.c: (gst_pad_init):
4075         Pads are initially flushing and refusing data.
4076
4077         * gst/gstutils.c: (gst_element_link_pads_filtered):
4078         When adding a capsfilter element make sure it has the
4079         same state as the parent bin.
4080
4081 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
4082
4083         * docs/gst/tmpl/.cvsignore:
4084         * docs/gst/tmpl/gstformat.sgml:
4085         * docs/gst/tmpl/gstversion.sgml:
4086         * gst/gstbus.h:
4087         * gst/gstformat.c:
4088         * gst/gstformat.h:
4089         * gst/gstversion.h.in:
4090           more docs and two more inlined
4091
4092 2005-08-30  Wim Taymans  <wim@fluendo.com>
4093
4094         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
4095         Don't sync to clock.
4096
4097 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
4098
4099         * docs/gst/gstreamer-sections.txt:
4100           ultral33t func10ns deserve to appear in the docs actually
4101         * docs/gst/tmpl/.cvsignore:
4102         * docs/gst/tmpl/gstcompat.sgml:
4103         * docs/gst/tmpl/gstconfig.sgml:
4104         * gst/check/gstcheck.c:
4105         * gst/gstcompat.h:
4106         * gst/gstconfig.h.in:
4107           inlined more docs
4108
4109 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
4110
4111         * docs/gst/tmpl/.cvsignore:
4112         * docs/gst/tmpl/gstquery.sgml:
4113         * docs/gst/tmpl/gstutils.sgml:
4114         * gst/gstquery.c:
4115         * gst/gstquery.h:
4116           inlined and extended docs
4117
4118 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
4119
4120         * check/gst-libs/controller.c: (GST_START_TEST),
4121         (gst_controller_suite):
4122           more tests
4123         * docs/gst/tmpl/gstutils.sgml:
4124         * docs/libs/gstreamer-libs-sections.txt:
4125         * docs/libs/tmpl/gstdataprotocol.sgml:
4126           include path fixes
4127         * examples/controller/audio-example.c: (main):
4128           controller example works now
4129         * gst/gstclock.h:
4130           doc fixes
4131         * tools/gst-inspect.c: (print_element_properties_info):
4132           show param spec flags
4133
4134 2005-08-29  Andy Wingo  <wingo@pobox.com>
4135
4136         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
4137
4138 2005-08-28  Andy Wingo  <wingo@pobox.com>
4139
4140         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
4141         as having two arguments instead of just one. Allows superclasses
4142         to access information on subclasses -- see the terrible for() loop
4143         in gtype.c:g_type_create_instance for the reason why. All callers
4144         changed.
4145
4146 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
4147
4148         * docs/design/part-messages.txt:
4149           update info
4150         * docs/gst/tmpl/.cvsignore:
4151         * docs/gst/tmpl/gstcaps.sgml:
4152         * docs/gst/tmpl/gstclock.sgml:
4153         * gst/gstbus.c:
4154         * gst/gstcaps.c:
4155         * gst/gstcaps.h:
4156         * gst/gstclock.c:
4157         * gst/gstclock.h:
4158         * gst/gstmessage.c:
4159           added descriptions for bus and message
4160           inline caps and clock docs
4161
4162 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
4163
4164         * gst/gstmessage.c:
4165         * gst/gstmessage.h:
4166           doc fixes
4167
4168 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
4169
4170         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
4171           fix div-by-zero
4172
4173 2005-08-26  Andy Wingo  <wingo@pobox.com>
4174
4175         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
4176         element_set_state's return val.
4177         (test_2_elements): Add test that's been disabled for months.
4178
4179         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
4180         can-activate-pull properties.
4181
4182         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
4183         can-activate-pull properties. Implement is_seekable so fakesrc can
4184         operate in pull mode.
4185
4186         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
4187         properties.
4188         (gst_base_sink_activate, gst_base_sink_activate_pull)
4189         (gst_base_sink_activate_push): Make activation mode choosing work.
4190         Cleanups.
4191         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
4192         is right. Make pull mode work. Post an eos before pausing in pull
4193         mode.
4194         (gst_base_sink_change_state): Pay attention to the core's
4195         change_state() return val.
4196         
4197         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
4198         has-getrange properties. Cleanups.
4199         
4200         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
4201         has_getrange and replace with can_activate_pull and
4202         can_activate_push.
4203
4204         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
4205         locking comments. Remove has_loop, has_chain and replace with
4206         can_activate_pull and can_activate_push.
4207
4208 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
4209
4210         * configure.ac:
4211         * examples/Makefile.am:
4212         * examples/metadata/Makefile.am:
4213         * examples/metadata/read-metadata.c: (message_loop),
4214         (have_pad_handler), (make_pipeline), (print_tag), (main):
4215           Add metadata reading example that loops over a list of filenames,
4216           dumping any tags found.
4217
4218         * gst/gstbus.c: (gst_bus_dispose):
4219         * gst/gstelement.c: (gst_element_dispose):
4220           Release a few potentially-held references in dispose.
4221
4222 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
4223
4224         * docs/gst/tmpl/gstminiobject.sgml:
4225           do *not* add tmpl/*.sgml files to CVS!
4226
4227 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
4228
4229         * libs/gst/bytestream/.cvsignore:
4230         * libs/gst/bytestream/Makefile.am:
4231         * libs/gst/bytestream/adapter.c:
4232         * libs/gst/bytestream/adapter.h:
4233         * libs/gst/bytestream/bytestream.c:
4234         * libs/gst/bytestream/bytestream.h:
4235         * libs/gst/bytestream/filepad.c:
4236         * libs/gst/bytestream/filepad.h:
4237           removing obsolete files
4238
4239 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
4240
4241         * docs/gst/gstreamer-docs.sgml:
4242         * docs/libs/gstreamer-libs-docs.sgml:
4243           disabed additional index entries again, as this makes docs-gen just
4244           slow and they aren't useful yet
4245         * docs/libs/gstreamer-libs-sections.txt:
4246           little -section.txt cleanup for libs
4247
4248 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
4249
4250         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4251         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
4252           fix up some debugging
4253         (gst_base_transform_get_unit_size),
4254         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
4255         (gst_base_transform_handle_buffer):
4256         * gst/base/gstbasetransform.h:
4257           handle and store timed NEWSEGMENT events so that subclasses that
4258           calculate time by counting samples have a segment_start time they
4259           need to add to their timestamps - see audioresample
4260
4261 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
4262
4263         * gst/gstbin.h:
4264           removed ';' from the end of macro defs
4265         * docs/gst/gstreamer-docs.sgml:
4266         * docs/gst/gstreamer-sections.txt:
4267         * docs/gst/tmpl/.cvsignore:
4268         * gst/gstbus.h:
4269         * gst/gstelement.c: (gst_element_class_init),
4270         (gst_element_set_state), (activate_pads),
4271         (gst_element_save_thyself):
4272         * gst/gstevent.c: (gst_event_new_newsegment):
4273         * gst/gstevent.h:
4274         * gst/gstiterator.c:
4275         * gst/gstiterator.h:
4276         * gst/gstpad.c:
4277         * gst/gstprobe.h:
4278         * gst/gstutils.c: (gst_pad_query_convert):
4279         * gst/gstutils.h:
4280           fixed parameter name mismatches between source, header and docs
4281           added some more docs, resolved the last batch of unused elements in
4282           docs (now someone needs to doc them)
4283
4284 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4285
4286         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
4287         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
4288           don't walk through the plugins backwards.  Where is all this
4289           reversed logic coming from ?
4290
4291 2005-08-25  Wim Taymans  <wim@fluendo.com>
4292
4293         * gst/base/gstbasetransform.c: (gst_base_transform_init),
4294         (gst_base_transform_transform_size),
4295         (gst_base_transform_configure_caps),
4296         (gst_base_transform_get_unit_size),
4297         (gst_base_transform_buffer_alloc),
4298         (gst_base_transform_change_state):
4299         * gst/base/gstbasetransform.h:
4300         Cache caps unit_size.
4301         Make sure we cannot negotiate up and downstream at the
4302         same time.
4303
4304 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4305
4306         * gst/gst.c: (init_pre), (init_post):
4307           register the installed plugin path after the env var
4308         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
4309         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
4310           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
4311           directories, so the tests can prefer uninstalled over installed
4312
4313 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
4314
4315         * gst/base/gstbasetransform.h:
4316           comment
4317         * gst/gstpad.c:
4318           add to docs
4319
4320 2005-08-25  Wim Taymans  <wim@fluendo.com>
4321
4322         * gst/gstbin.c: (bin_bus_handler):
4323         Be a bit more conservative about the posted message.
4324         
4325         * gst/gstbus.c: (gst_bus_post):
4326         Some cleanups, warn wrong return values.
4327
4328 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
4329
4330         * check/gst/gstbin.c: (GST_START_TEST):
4331         * gst/gstbin.c: (bin_bus_handler):
4332         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
4333         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
4334         (gst_message_new_warning), (gst_message_new_tag),
4335         (gst_message_new_state_changed), (gst_message_new_segment_start),
4336         (gst_message_new_segment_done), (gst_message_new_custom):
4337         * gst/gstmessage.h:
4338         * tools/gst-launch.c: (event_loop):
4339         * tools/gst-md5sum.c: (event_loop):
4340           Revert unpopular change for GST_MESSAGE_SRC to GObject.
4341
4342 2005-08-25  Wim Taymans  <wim@fluendo.com>
4343
4344         * check/generic/states.c: (GST_START_TEST):
4345         Cleanup can be done at the end.
4346
4347         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
4348         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
4349         (gst_task_get_state), (gst_task_start), (gst_task_pause):
4350         Oh boy.. Thanks for finding this, Thomas. 
4351
4352 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
4353
4354         * docs/gst/gstreamer.types:
4355           added missing types
4356
4357 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
4358
4359         * docs/gst/gstreamer-docs.sgml:
4360         * docs/gst/gstreamer-sections.txt:
4361         * docs/gst/tmpl/.cvsignore:
4362         * gst/gstbin.c:
4363         * gst/gstiterator.c:
4364         * gst/gstutils.c:
4365         * gst/registries/gstxmlregistry.h:
4366           added missing classes and symbols (123 more to go)
4367           removed removed symbols from section file
4368           fixed many doc-comments
4369
4370 2005-08-24  Wim Taymans  <wim@fluendo.com>
4371
4372         * check/generic/states.c: (GST_START_TEST):
4373         Make sure all tasks are stopped.
4374
4375         * check/gst/gstbin.c: (GST_START_TEST):
4376         Unref after usage for proper valgrinding.
4377
4378         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
4379         Really wait for the task to stop before destroying the
4380         mutex.
4381
4382         * gst/gstqueue.c: (gst_queue_sink_activate_push),
4383         (gst_queue_src_activate_push):
4384         Small cleanups. Don't stop the task when we did not start
4385         it.
4386
4387         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
4388         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
4389         (gst_task_get_state), (gst_task_start), (gst_task_pause),
4390         (gst_task_join):
4391         * gst/gsttask.h:
4392         Protect the stream lock with the object lock.
4393         Disallow setting the stream lock when running.
4394         Add cleanup_all to wait for the threadpool to finish.
4395         Remove code to autoallocate a mutex if none was provided.
4396         Add _join() to wait for a task to stop.
4397         Protect the thread pool with a global lock.
4398
4399 2005-08-24  Wim Taymans  <wim@fluendo.com>
4400
4401         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4402         (gst_base_sink_get_times), (gst_base_sink_do_sync),
4403         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
4404         * gst/base/gstbasesink.h:
4405         Handle newsegment events correctly.
4406         Drop buffers out of the segment range.
4407
4408 2005-08-22  Andy Wingo  <wingo@pobox.com>
4409
4410         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
4411         macro, implements an interface and gstimplementsinterface for a
4412         new type.
4413
4414 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4415
4416         * check/Makefile.am:
4417         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
4418           add a test that does a bunch of state changes on elements
4419           needs some fixing for valgrind
4420         * check/states/sinks.c: (gst_object_suite):
4421           whitespace
4422         * gst/gstcaps.h:
4423           add prototype for gst_caps_is_equal_fixed
4424         * gst/gstplugin.c:
4425         * gst/gstregistrypool.c:
4426           doc fixes
4427
4428 2005-08-24  Andy Wingo  <wingo@pobox.com>
4429
4430         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
4431         convert a negative value. Doesn't make much sense. Mostly this is
4432         here to force callers to ensure -1 maps to -1.
4433
4434 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
4435
4436         * docs/pwg/advanced-types.xml:
4437           Well done to Michael for catching my deliberate introduction
4438           of this spelling mistake. 
4439         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
4440         * gst/gstelement.h:
4441           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
4442           unlink pads before removing the element from the bin.
4443
4444 2005-08-24  Andy Wingo  <wingo@pobox.com>
4445
4446         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
4447         the same thing as GST_DEBUG=*:4.
4448         (parse_debug_level, parse_debug_category): New helper parsers.
4449
4450 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4451
4452         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
4453         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
4454         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
4455         (gst_base_transform_buffer_alloc),
4456         (gst_base_transform_handle_buffer):
4457           use gboolean return values and pointers to size so we can use the
4458           full GST_BUFFER_SIZE range (guint) for buffer sizes
4459           use GstPadDirection for transform_caps
4460         * gst/base/gstbasetransform.h:
4461           rename get_size to get_unit_size since that's what it is
4462         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
4463           use GstPadDirection for transform_caps
4464         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
4465         * gst/gstutils.h:
4466           cleanup and debugging
4467
4468 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
4469
4470         * gst/gstelement.c: (gst_element_class_init),
4471         (gst_element_set_state), (activate_pads),
4472         (gst_element_save_thyself):
4473         * tools/gst-compprep.c: (main):
4474         * tools/gst-inspect.c: (print_element_properties_info):
4475         * tools/gst-xmlinspect.c: (print_element_properties):
4476           Fixed long standing mem-leak
4477
4478 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
4479
4480         * check/gst/gstbin.c: (GST_START_TEST):
4481         * gst/gstbin.c: (bin_bus_handler):
4482         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
4483         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
4484         (gst_message_new_warning), (gst_message_new_tag),
4485         (gst_message_new_state_changed), (gst_message_new_segment_start),
4486         (gst_message_new_segment_done), (gst_message_new_custom):
4487         * gst/gstmessage.h:
4488         * tools/gst-launch.c: (event_loop):
4489         * tools/gst-md5sum.c: (event_loop):
4490           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
4491           that applications can sensibly post custom messages with references
4492           to their own objects.
4493
4494 2005-08-24  Andy Wingo  <wingo@pobox.com>
4495
4496         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
4497         already.
4498
4499 2005-08-24  Wim Taymans  <wim@fluendo.com>
4500
4501         * gst/base/gstbasetransform.c: (gst_base_transform_init),
4502         (gst_base_transform_transform_caps),
4503         (gst_base_transform_transform_size),
4504         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
4505         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
4506         (gst_base_transform_handle_buffer):
4507         * gst/base/gstbasetransform.h:
4508         Many fixes and new features added by Thomas. Can now also do
4509         transforms with variable sizes and a custom fixate_caps function.
4510
4511 2005-08-24  Wim Taymans  <wim@fluendo.com>
4512
4513         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
4514         Some debugging.
4515
4516         * gst/gstclock.h:
4517         Cast to ClockTime before formatting to time.
4518
4519         * gst/gstutils.h:
4520         Cleanups.
4521
4522 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
4523
4524         * check/gst-libs/controller.c: (GST_START_TEST),
4525         (gst_controller_suite):
4526         * docs/gst/tmpl/gstcaps.sgml:
4527         * docs/gst/tmpl/gstghostpad.sgml:
4528         * docs/gst/tmpl/gstquery.sgml:
4529         * docs/gst/tmpl/gstutils.sgml:
4530         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
4531         (gst_object_sink_values), (gst_object_get_value_arrays),
4532         (gst_object_get_value_array):
4533           gracefully handle helper method calls to objects that are not beeing
4534           controlled, added test case for that          
4535
4536 2005-08-23  Wim Taymans  <wim@fluendo.com>
4537
4538         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
4539         (gst_event_new_newsegment), (gst_event_parse_newsegment),
4540         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
4541         (gst_event_parse_qos), (gst_event_new_seek),
4542         (gst_event_parse_seek):
4543         * gst/gstevent.h:
4544         Some more debugging output and doc cleanups.
4545
4546         * gst/gstqueue.c: (gst_queue_handle_sink_event):
4547         Fix possible deadlock.
4548
4549 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
4550
4551         * docs/gst/gstreamer-docs.sgml:
4552         * docs/gst/gstreamer-sections.txt:
4553         * docs/gst/gstreamer.types:
4554         * docs/gst/tmpl/.cvsignore:
4555         * gst/gstbin.h:
4556         * gst/gstbus.c:
4557         * gst/gstelement.c:
4558         * gst/gstevent.h:
4559           added 100 symbols from gstreamer-unused.txt to the right sections
4560           fixed more broken comments
4561           added GstBus to docs
4562
4563 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
4564
4565         * docs/gst/gstreamer-sections.txt:
4566         * docs/gst/tmpl/.cvsignore:
4567         * docs/gst/tmpl/gstbin.sgml:
4568         * docs/gst/tmpl/gstbuffer.sgml:
4569         * gst/base/gstbasesrc.c:
4570         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4571         * gst/gstbuffer.c:
4572         * gst/gstbuffer.h:
4573         * tools/gst-launch.1.in:
4574           inlined more doc comments, added missing comments and fixed comments
4575           fixed typos
4576
4577 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4578
4579         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
4580           some debugging
4581         * gst/gstcaps.h:
4582           whitespace fixes
4583         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
4584           more debugging
4585         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
4586         * gst/gststructure.h:
4587           add a fixate function for booleans; add a FIXME that these func
4588           names should probably be gst_structure_fixate_*
4589
4590 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
4591
4592         * docs/gst/gstreamer-docs.sgml:
4593         * docs/gst/gstreamer-sections.txt:
4594         * gst/Makefile.am:
4595         * gst/gstbin.c: (gst_bin_get_type),
4596         (gst_bin_child_proxy_get_child_by_index),
4597         (gst_bin_child_proxy_get_children_count),
4598         (gst_bin_child_proxy_init):
4599         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
4600         (gst_child_proxy_get_child_by_index),
4601         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
4602         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
4603         (gst_child_proxy_get), (gst_child_proxy_set_property),
4604         (gst_child_proxy_set_valist), (gst_child_proxy_set),
4605         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
4606         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
4607         * gst/gstchildproxy.h:
4608         * gst/parse/grammar.y:
4609         * tools/gst-inspect.c: (print_interfaces),
4610         (print_element_properties_info), (print_element_info):
4611           ported gstchildproxy over from 0.8
4612           ported gst-inspect fixes and enhancements over from 0.8
4613
4614 2005-08-22  Wim Taymans  <wim@fluendo.com>
4615
4616         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
4617         (gst_base_transform_handle_buffer):
4618         Also call the transform function if we have ANY caps.
4619
4620         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
4621         Fix debug info.
4622
4623 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
4624
4625         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
4626           Don't pretend to handle seek events if the source is not seekable
4627
4628 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
4629
4630         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4631           Remove extra parameter to debug output
4632
4633         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
4634         (gst_base_src_do_seek), (gst_base_src_activate_push):
4635           Fix seek event handling.
4636
4637         * gst/gstpipeline.c: (gst_pipeline_change_state):
4638         * gst/gstqueue.c: (gst_queue_handle_sink_event),
4639         (gst_queue_src_activate_push):
4640           Don't start the src pad task on FLUSH_STOP if the pad
4641           isn't linked.
4642           Debug changes.
4643
4644 2005-08-22  Wim Taymans  <wim@fluendo.com>
4645
4646         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
4647         Added check for gst_static_caps_get() refcounting.
4648
4649 2005-08-22  Wim Taymans  <wim@fluendo.com>
4650
4651         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
4652         Make _static_caps_get() refcounting sane.
4653         
4654         * gst/gstelement.c: (gst_element_set_state):
4655         Add g_return_val_if_fail() to protect against segfaults.
4656
4657 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
4658
4659         * docs/gst/tmpl/gstevent.sgml:
4660         * gst/gstevent.c:
4661         * gst/gstevent.h:
4662           inlined remaining docs, added missing doc comments
4663
4664 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4665
4666         * check/gst/gstbin.c: (GST_START_TEST):
4667           since we don't know when preroll is done, use refcount range
4668           check for the sink
4669         * gst/check/gstcheck.h:
4670           add macro for checking refcount range
4671
4672 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4673
4674         * check/Makefile.am:
4675           clean up environment for when registry gets built versus
4676           when actual tests are run; valgrind seems to not report
4677           leaks if GST_PLUGIN_PATH is set to some specific values
4678         * check/gst/gstbin.c: (GST_START_TEST):
4679           add more refcounting checks; maybe this exposes a
4680           preroll lock bug ?
4681         * common/check.mak:
4682         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4683         * gst/check/gstcheck.h:
4684         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
4685         (gst_bin_change_state):
4686         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
4687           add/fix debugging/whitespace
4688
4689 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
4690
4691         * check/gst/gstevent.c: (event_probe), (test_event),
4692         (GST_START_TEST):
4693          Er, don't call gst_bin_watch_for_state_change you idiot.
4694
4695 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
4696
4697         * check/Makefile.am:
4698           Use CHECK_CFLAGS and CHECK_LIBS
4699         * check/gst/gstevent.c: (event_probe), (test_event),
4700         (GST_START_TEST):
4701           Don't leak events.
4702         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
4703         (gst_base_src_start), (gst_base_src_stop),
4704         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4705         (gst_base_src_change_state):
4706           Sprinkle gst_base_src_stop liberally around error paths to fix
4707           problems reusing a source after failed state changes.
4708         * gst/base/gsttypefindhelper.c: (helper_find_peek),
4709         (helper_find_suggest), (gst_type_find_helper):
4710           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
4711         * gst/gstevent.h:
4712         * docs/gst/tmpl/gstevent.sgml:
4713           Migrate part of the docs from the SGML file. Wait for ensonic to
4714           tell me how I did it wrong ;)
4715         * tools/gst-typefind.c: (main):
4716           Extra robustness to state changes between files.
4717
4718 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4719
4720         * check/Makefile.am:
4721           don't valgrind the controller test - it's leaking - Stefan, HELP
4722         * gst/check/gstcheck.c: (gst_check_message_error),
4723         (gst_check_chain_func), (gst_check_setup_element),
4724         (gst_check_teardown_element), (gst_check_setup_src_pad),
4725         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
4726         (gst_check_teardown_sink_pad):
4727         * gst/check/gstcheck.h:
4728           add a bunch of methods to set up elements, and src and sink pads
4729         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
4730         * check/elements/identity.c: (setup_identity), (cleanup_identity),
4731         (GST_START_TEST):
4732           use them
4733         * gst/gstmessage.c:
4734         * gst/gsttag.h:
4735           whitespace/doc fixes
4736
4737 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4738
4739         * gst/gstelement.h:
4740           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
4741           be handled by the application and not always printed as well
4742
4743 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4744
4745         * check/Makefile.am:
4746           set GST_TOOLS_DIR
4747         * gst/check/gstcheck.c: (gst_check_message_error):
4748         * gst/check/gstcheck.h:
4749           add a fail_unless_equals_int
4750           add fail_unless for error messages
4751
4752 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4753
4754         * check/Makefile.am:
4755         * check/gst.supp:
4756         * common/Makefile.am:
4757         * common/check.mak:
4758         * common/gst.supp:
4759           factor out some of the common stuff so we can use it
4760
4761 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4762
4763         * check/Makefile.am:
4764         * check/gst/gstiterator.c: (GST_START_TEST):
4765         * check/gst/gstsystemclock.c: (GST_START_TEST),
4766         (gst_systemclock_suite):
4767         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
4768         * gst/gstclock.c:
4769           valgrind more tests
4770
4771 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4772
4773         * check/elements/.cvsignore:
4774         * check/elements/gstfakesrc.c:
4775           rename to name of element
4776         * check/elements/identity.c: (chain_func), (event_func),
4777         (setup_identity), (cleanup_identity), (GST_START_TEST),
4778         (identity_suite), (main):
4779           add a test for identity
4780         * check/Makefile.am:
4781         * pkgconfig/Makefile.am:
4782         * pkgconfig/gstreamer-check.pc.in:
4783         * pkgconfig/gstreamer-check-uninstalled.pc.in:
4784         * gst/check:
4785         * gst/Makefile.am:
4786         * configure.ac:
4787           move the check stuff to a library that gets installed
4788         * check/gst-libs/controller.c: (GST_START_TEST):
4789         * check/gst-libs/gdp.c:
4790         * check/gst/gst.c: (GST_START_TEST):
4791         * check/gst/gstbin.c:
4792         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4793         * check/gst/gstbus.c:
4794         * check/gst/gstcaps.c: (GST_START_TEST):
4795         * check/gst/gstelement.c:
4796         * check/gst/gstghostpad.c:
4797         * check/gst/gstiterator.c:
4798         * check/gst/gstmessage.c:
4799         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
4800         * check/gst/gstobject.c:
4801         * check/gst/gstpad.c: (GST_START_TEST):
4802         * check/gst/gststructure.c: (GST_START_TEST):
4803         * check/gst/gstsystemclock.c: (GST_START_TEST),
4804         (gst_systemclock_suite):
4805         * check/gst/gsttag.c: (gst_tag_suite):
4806         * check/gst/gstvalue.c:
4807         * check/pipelines/cleanup.c:
4808         * check/pipelines/simple_launch_lines.c:
4809         * check/states/sinks.c:
4810           change include statement
4811
4812         * docs/gst/gstreamer-sections.txt:
4813         * docs/gst/tmpl/gstpad.sgml:
4814           document more pad stuff
4815         * gst/gstminiobject.c: (gst_mini_object_ref),
4816         (gst_mini_object_unref):
4817           debug refcounting
4818
4819 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
4820
4821         * docs/gst/tmpl/gst.sgml:
4822         * gst/gst.c:
4823           eliminate another tmpl file, fix spelling in the long-description
4824
4825 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
4826
4827         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
4828         (test_event), (timediff), (gstevents_suite):
4829           Should fix build on 64-bit arch's
4830
4831 2005-08-18  Andy Wingo  <wingo@pobox.com>
4832
4833         Make sure that when a pipeline goes to PLAYING, that data has
4834         actually hit the sink.
4835
4836         * check/states/sinks.c (test_sink): A sink that doesn't get any
4837         data shouldn't return SUCCESS for going to either PLAYING or
4838         PAUSED. Test also the return values on the way back down.
4839
4840         * gst/gstelement.c (gst_element_set_state): When changing the
4841         state of an element currently changing state asynchronously, go to
4842         lost-state after commiting the pending state. Makes future calls
4843         to get_state continue to return ASYNC.
4844
4845         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
4846         ASYNC when going to PLAYING if we still don't have preroll, as can
4847         happen with live sources.
4848
4849 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
4850
4851         * docs/pwg/advanced-types.xml:
4852           Hack long paragraph into 2 chunks as a workaround for buggy
4853           jadetex version in sid and breezy that loops infinitely and
4854           eats all RAM.
4855
4856 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
4857
4858         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
4859         (test_event), (timediff), (gstevents_suite):
4860           Provide more error margin in clock measurements to allow for 
4861           g_get_current_time inaccuracies.
4862
4863 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
4864
4865         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
4866         (test_event), (timediff), (gstevents_suite):
4867            Fix error message output so I might be able to tell why the
4868            test works here but fails on the build farm.
4869
4870 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
4871
4872         * check/Makefile.am:
4873         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
4874         (test_event), (timediff), (gstevents_suite), (main):
4875           I wrote a test!
4876
4877         * docs/design/part-seeking.txt:
4878           Spelling correction
4879
4880         * docs/gst/tmpl/gstevent.sgml:
4881         * docs/gst/tmpl/gstfakesrc.sgml:
4882           Docs updates.
4883
4884         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4885           Treat a buffer-without-newsegment the same as a receiving 
4886           a newsegment not in time format, and disable syncing to the clock
4887           with a warning.
4888
4889         * gst/gstbus.c: (gst_bus_set_sync_handler):
4890           Assert if anyone tries to replace the existing sync_handler for bus, 
4891           as only the owner should be setting it.
4892
4893         * gst/gstevent.h:
4894           Have a fixed set of custom event enums with events identified by
4895           their structure name (as in 0.8), rather than a free-for-all
4896           allowing collisions between enum values from different plugins.
4897
4898         * gst/gstpad.c: (gst_pad_class_init):
4899           Docs change.
4900           
4901         * gst/gstqueue.c: (gst_queue_handle_sink_event):
4902           Handle out-of-band downstream events from the sending thread.
4903
4904 2005-08-17  Andy Wingo  <wingo@pobox.com>
4905
4906         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
4907         play-timeout==0 to mean no timeout at all. In that case, don't
4908         bother with a get_state or a warning, just return directly, even
4909         if it's ASYNC.
4910
4911         * gst/base/gstbasetransform.c: Debug changes.
4912
4913         * gst/gstutils.h:
4914         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
4915         ensure bins post state change messages. A bit of a hack but I can't
4916         think of a way to avoid it.
4917
4918         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
4919
4920 2005-08-16  Andy Wingo  <wingo@pobox.com>
4921
4922         * gst/base/gstadapter.h:
4923         * gst/base/gstadapter.c (gst_adapter_take): New function, like
4924         peek() but you own the data. Not terribly efficient atm.
4925
4926 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4927
4928         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
4929         (gst_element_found_tags):
4930         * gst/gstutils.h:
4931           Add two utility functions for tag handling.
4932
4933 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
4934
4935         * docs/manual/advanced-dataaccess.xml:
4936         * docs/manual/basics-helloworld.xml:
4937           Fix docs to use _bin_add() before _link(), which fixes the examples
4938           with recent core versions (reported by Madhan Raj M
4939           <raj_madan@rediffmail.com>, #313199).
4940
4941 2005-08-16  Wim Taymans  <wim@fluendo.com>
4942
4943         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4944         Added subtract checks.
4945
4946         * docs/design/part-events.txt:
4947         Some more docs about newsegment
4948
4949         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
4950         Fix FIXME
4951
4952         * gst/gstcaps.c: (gst_caps_to_string):
4953         Add comments, cleanups.
4954         
4955         * gst/gstelement.c: (gst_element_save_thyself):
4956         cleanups
4957         
4958         * gst/gstvalue.c: (gst_value_collect_int_range),
4959         (gst_string_unwrap), (gst_value_union_int_int_range),
4960         (gst_value_union_int_range_int_range),
4961         (gst_value_intersect_int_int_range),
4962         (gst_value_intersect_int_range_int_range),
4963         (gst_value_intersect_double_double_range),
4964         (gst_value_intersect_double_range_double_range),
4965         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
4966         (gst_value_subtract_int_range_int),
4967         (gst_value_subtract_double_range_double),
4968         (gst_value_subtract_double_range_double_range),
4969         (gst_value_subtract_from_list), (gst_value_subtract_list),
4970         (gst_value_can_compare), (gst_value_compare_fraction):
4971         Cleanups, add comments, remove unneeded asserts.
4972
4973 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4974
4975         * tools/gst-launch.c: (event_loop):
4976           don't convert NULL structures to strings
4977
4978 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
4979
4980         * docs/gst/gstreamer-sections.txt:
4981           made some defines private
4982         * docs/gst/tmpl/gstconfig.sgml:
4983         * docs/gst/tmpl/gstqueue.sgml:
4984         * docs/gst/tmpl/gsttaglist.sgml:
4985         * docs/gst/tmpl/gsttypes.sgml:
4986         * docs/gst/tmpl/gstutils.sgml:
4987         * docs/pwg/appendix-porting.xml:
4988         * gst/base/gstbasesink.h:
4989         * gst/base/gstbasesrc.c:
4990         * gst/base/gstbasesrc.h:
4991         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
4992         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
4993         * gst/gstelement.c: (gst_element_class_init):
4994         * gst/gstpad.c: (gst_pad_class_init):
4995         * gst/gstqueue.c: (gst_queue_class_init):
4996         * gst/gstxml.c: (gst_xml_class_init):
4997           documented all undocumented signal inline
4998         * libs/gst/controller/gst-controller.h:
4999           added padding
5000
5001 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5002
5003         * docs/pwg/appendix-porting.xml:
5004           Document _set_link_function -> _set_setcaps_function.
5005
5006 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5007
5008         * check/Makefile.am:
5009           add a .check target for running the check
5010         * check/gst-libs/controller.c: (GST_START_TEST):
5011           cosmetic fixups
5012         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
5013           complete checks for gstbuffer; would be nice if I could get the
5014           gcov stuff to work so I can see if I actually completed gstbuffer.c
5015         * check/gstcheck.h:
5016           add ASSERT_BUFFER_REFCOUNT
5017
5018 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
5019
5020         * docs/gst/gstreamer-sections.txt:
5021         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
5022         * gst/gsttag.h:
5023           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
5024           spew out a warning if a tag that is already registered
5025           is re-registered, unless it is re-registered with a 
5026           different type (#308438).
5027
5028 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
5029
5030         * docs/pwg/appendix-porting.xml:
5031         * docs/pwg/building-state.xml:
5032           Add some paragraphs about state changes in 0.9 to the PWG
5033           and the porting guide, in particular about the new meaning
5034           of GST_STATE_PAUSED and how to write state change functions
5035           with concurrent access by multiple threads in mind.
5036
5037 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
5038
5039         * docs/gst/gstreamer-docs.sgml:
5040         * docs/libs/gstreamer-libs-docs.sgml:
5041           added deprecation and since indexes
5042         * libs/gst/controller/gst-controller.c:
5043         * libs/gst/controller/gst-helper.c:
5044           added since tags
5045
5046
5047 2005-08-11  Wim Taymans  <wim@fluendo.com>
5048
5049         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
5050         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
5051         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
5052         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
5053         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
5054         (gst_ghost_pad_set_target):
5055         Actually implement (re)setting the target on a ghostpad
5056         as described in the docs.
5057
5058 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
5059
5060         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
5061           Check whether GST_DEBUG_NO_COLOR environment variable is
5062           set and disable coloured debug output if that is the case.
5063
5064 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
5065
5066         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5067         (gst_type_find_helper):
5068           The memory returned by gst_type_find_peek() needs to
5069           stay valid until the end of a typefind function, and
5070           typefind functions may keep results from different 
5071           offsets around, so we can't just unref the buffer from
5072           the previous _peek(), but have to save all buffers 
5073           returned by _peek() until typefinding is done and only
5074           free them then.
5075
5076 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
5077
5078         * docs/gst/gstreamer-sections.txt:
5079         * gst/gstutils.h:
5080           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
5081
5082 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5083
5084         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
5085           Fix a pretty good memleak.
5086
5087 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
5088
5089         * gst/gstiterator.h:
5090           Fix wrong include and 'make distcheck'.
5091
5092 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5093
5094         * gst/gstbin.c: (bin_bus_handler):
5095           Use gst_element_post_message() instead.
5096
5097 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
5098
5099         * gst/base/gstadapter.h:
5100         * gst/base/gstbasesink.h:
5101         * gst/base/gstbasesrc.h:
5102         * gst/base/gstbasetransform.h:
5103         * gst/base/gstcollectpads.h:
5104         * gst/base/gstpushsrc.h:
5105         * gst/gstiterator.h:
5106           Add padding to our base elements' class and instance structs and
5107           to GstIterator (you will need to rebuild all plugins and apps!)
5108
5109 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5110
5111         * gst/gstbin.c: (bin_bus_handler):
5112           Make default message forwarding from child->bus to bin->bus
5113           threadsafe and make it not emit warnings if the parent has no bus.
5114
5115 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5116
5117         * gst/gstelement.c: (activate_pads):
5118           On paused->ready, set pad->caps to NULL, as is the documented
5119           behaviour in this state change. Fixes playback of series of
5120           media files when visualization is enabled in Totem.
5121
5122 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5123
5124         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
5125           Allow NULL as filter-caps (which means "any").
5126
5127 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
5128
5129         * docs/libs/gstreamer-libs-sections.txt:
5130         * libs/gst/controller/gst-controller.c:
5131         * libs/gst/controller/gst-controller.h:
5132         * libs/gst/controller/gst-helper.c:
5133           adding more entries to the docs and fix small doc-bugs
5134
5135 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
5136
5137         * docs/gst/gstreamer-docs.sgml:
5138         * docs/gst/gstreamer-sections.txt:
5139         * docs/gst/gstreamer.types:
5140         * docs/gst/tmpl/gstbasesink.sgml:
5141         * docs/gst/tmpl/gstbasesrc.sgml:
5142         * docs/gst/tmpl/gstbasetransform.sgml:
5143         * docs/gst/tmpl/gstfakesrc.sgml:
5144         * gst/base/gstcollectpads.c:
5145         * gst/base/gstcollectpads.h:
5146         * libs/gst/controller/gst-controller.c:
5147         * libs/gst/controller/gst-controller.h:
5148         * libs/gst/controller/gst-helper.c:
5149         * libs/gst/controller/gst-interpolation.c:
5150         * libs/gst/controller/lib.c:
5151           added long/short desc for controller docs
5152           added collectpads base class docs
5153           added correct includes to base-class docs
5154
5155 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
5156
5157         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
5158         (gst_test_mono_source_set_property),
5159         (gst_test_mono_source_class_init), (GST_START_TEST),
5160         (gst_controller_suite):
5161         * docs/gst/gstreamer-docs.sgml:
5162         * docs/gst/gstreamer-sections.txt:
5163         * docs/gst/gstreamer.types:
5164         * docs/libs/gstreamer-libs-docs.sgml:
5165         * docs/libs/gstreamer-libs-sections.txt:
5166         * gst/base/gstadapter.c:
5167         * libs/gst/controller/gst-controller.c:
5168         (gst_controlled_property_new), (gst_controlled_property_free),
5169         (gst_controller_new_valist),
5170         (gst_controller_remove_properties_valist),
5171         (gst_controller_sink_values), (_gst_controller_finalize):
5172         * libs/gst/controller/gst-controller.h:
5173         * libs/gst/controller/gst-helper.c:
5174         (gst_object_control_properties), (gst_object_uncontrol_properties),
5175         (gst_object_get_controller), (gst_object_set_controller),
5176         (gst_object_sink_values), (gst_object_get_value_arrays),
5177         (gst_object_get_value_array):
5178           more tests (and fixes) for the controller
5179           more docs for the controller
5180           integrated companies docs for the adapter 
5181
5182 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5183
5184         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
5185         (GST_START_TEST), (fakesrc_suite):
5186           add tests for sizetype
5187
5188 2005-08-04  Andy Wingo  <wingo@pobox.com>
5189
5190         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
5191         fixes buffer_alloc proxying among other things.
5192
5193         * gst/base/gstbasetransform.c:
5194         * gst/base/gstbasetransform.h:
5195         Revert patch to gstbasetransform from 7-28 removing
5196         delay_configure.
5197
5198         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
5199         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
5200         Semantics changed, should return not the size of the output buffer
5201         but the byte size of a buffer with a given caps.
5202
5203         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
5204         debug object.
5205         (gst_base_transform_configure_caps): Don't set out_size here: (in,
5206         out) are not the pad caps until setcaps finishes.
5207         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
5208         not-in-place case as well. Deal with changing from in-place to
5209         not-in-place within calling pad_alloc_buffer. Still a bit
5210         concerned about the overhead here...
5211
5212 2005-08-03  Andy Wingo  <wingo@pobox.com>
5213
5214         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
5215         fixating is an error.
5216
5217 2005-08-04  Edward Hervey  <edward@fluendo.com>
5218
5219         * gst/base/gstadapter.h: 
5220         Added gst_adapter_get_type() to the header
5221
5222 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
5223
5224         * check/Makefile.am:
5225         * check/gst-libs/controller.c:
5226         * libs/gst/controller/gst-controller.c:
5227         (gst_controller_new_valist):
5228           added check test suite for the controller
5229         * gst/base/gstpushsrc.c:
5230           fixed a doc typo
5231
5232 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
5233
5234         * docs/gst/Makefile.am:
5235         * docs/gst/gstreamer-docs.sgml:
5236         * docs/gst/gstreamer-sections.txt:
5237         * docs/gst/gstreamer.types:
5238         * docs/gst/tmpl/gstfakesrc.sgml:
5239         * gst/base/README:
5240         * gst/base/gstbasesink.c:
5241         * gst/base/gstbasesink.h:
5242         * gst/base/gstbasesrc.c:
5243         * gst/base/gstbasesrc.h:
5244         * gst/base/gstbasetransform.c:
5245         * gst/base/gstpushsrc.c:
5246         * gst/base/gstpushsrc.h:
5247           add short/long description docs to base classes
5248           add pushsrc to the docs
5249           remove consolidated doc fragments
5250
5251 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
5252
5253         * configure.ac:
5254         * docs/libs/Makefile.am:
5255         * docs/libs/gstreamer-libs-docs.sgml:
5256         * docs/libs/gstreamer-libs-sections.txt:
5257         * docs/libs/gstreamer-libs.types:
5258         * examples/Makefile.am:
5259         * examples/controller/.cvsignore:
5260         * examples/controller/Makefile.am:
5261         * examples/controller/audio-example.c: (main):
5262         * libs/gst/Makefile.am:
5263         * libs/gst/controller/.cvsignore:
5264         * libs/gst/controller/Makefile.am:
5265         * libs/gst/controller/gst-controller.c:
5266         (on_object_controlled_property_changed), (gst_timed_value_compare),
5267         (gst_timed_value_find),
5268         (gst_controlled_property_set_interpolation_mode),
5269         (gst_controlled_property_new), (gst_controlled_property_free),
5270         (gst_controller_find_controlled_property),
5271         (gst_controller_new_valist), (gst_controller_new),
5272         (gst_controller_remove_properties_valist),
5273         (gst_controller_remove_properties), (gst_controller_set),
5274         (gst_controller_set_from_list), (gst_controller_unset),
5275         (gst_controller_get), (gst_controller_get_all),
5276         (gst_controller_sink_values), (gst_controller_get_value_arrays),
5277         (gst_controller_get_value_array),
5278         (gst_controller_set_interpolation_mode),
5279         (_gst_controller_finalize), (_gst_controller_init),
5280         (_gst_controller_class_init), (gst_controller_get_type):
5281         * libs/gst/controller/gst-controller.h:
5282         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
5283         (g_object_uncontrol_properties), (g_object_get_controller),
5284         (g_object_set_controller), (g_object_sink_values),
5285         (g_object_get_value_arrays), (g_object_get_value_array):
5286         * libs/gst/controller/gst-interpolation.c:
5287         (gst_controlled_property_find_timed_value_node),
5288         (interpolate_none_get), (interpolate_trigger_get),
5289         (interpolate_trigger_get_value_array):
5290         * libs/gst/controller/lib.c: (gst_controller_init):
5291         * pkgconfig/Makefile.am:
5292         * pkgconfig/gstreamer-control-uninstalled.pc.in:
5293         * pkgconfig/gstreamer-control.pc.in:
5294         * testsuite/Makefile.am:
5295         * testsuite/controller/.cvsignore:
5296         * testsuite/controller/Makefile.am:
5297         * testsuite/controller/interpolator.c: (main):
5298           added controller code
5299           removed dparam pc files
5300
5301 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
5302         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
5303         (gst_collectpads_stop):
5304           Broadcast the condition when shutting down, to make sure we wake all
5305           threads up. Shut down pads on finalize, for safety.
5306
5307 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
5308         * gst/base/gstbasetransform.c: (gst_base_transform_init),
5309         (gst_base_transform_handle_buffer),
5310         (gst_base_transform_change_state):
5311           Handle PAUSED->READY->PAUSED transition after negotiation
5312           occurred already.
5313         * gst/gstmessage.c: (gst_message_init):
5314           Extra piece of debug for new messages.
5315
5316 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
5317
5318         * configure.ac:
5319         * docs/gst/tmpl/gstbasesrc.sgml:
5320         * docs/gst/tmpl/gstelement.sgml:
5321         * docs/gst/tmpl/gstevent.sgml:
5322         * docs/gst/tmpl/gstfakesrc.sgml:
5323         * docs/gst/tmpl/gstformat.sgml:
5324         * docs/gst/tmpl/gstghostpad.sgml:
5325         * docs/gst/tmpl/gstpad.sgml:
5326         * docs/gst/tmpl/gstquery.sgml:
5327         * docs/gst/tmpl/gststructure.sgml:
5328         * docs/gst/tmpl/gsttaglist.sgml:
5329         * docs/gst/tmpl/gstvalue.sgml:
5330         * docs/libs/gstreamer-libs-docs.sgml:
5331         * docs/libs/gstreamer-libs-sections.txt:
5332         * docs/libs/gstreamer-libs.types:
5333         * libs/gst/Makefile.am:
5334         * libs/gst/control/.cvsignore:
5335         * libs/gst/control/Makefile.am:
5336         * libs/gst/control/control.c:
5337         * libs/gst/control/control.h:
5338         * libs/gst/control/dparam.c:
5339         * libs/gst/control/dparam.h:
5340         * libs/gst/control/dparam_smooth.c:
5341         * libs/gst/control/dparam_smooth.h:
5342         * libs/gst/control/dparamcommon.h:
5343         * libs/gst/control/dparammanager.c:
5344         * libs/gst/control/dparammanager.h:
5345         * libs/gst/control/dplinearinterp.c:
5346         * libs/gst/control/dplinearinterp.h:
5347         * libs/gst/control/unitconvert.c:
5348         * libs/gst/control/unitconvert.h:
5349         * testsuite/Makefile.am:
5350         * testsuite/dynparams/.cvsignore:
5351         * testsuite/dynparams/Makefile.am:
5352         * testsuite/dynparams/dparamstest.c:
5353         * tools/Makefile.am:
5354         * tools/gst-inspect.c: (print_element_info), (main):
5355         * tools/gst-xmlinspect.c: (print_element_info), (main):
5356           deactivate and remove dparams (libgstcontrol)
5357
5358 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
5359
5360         * gst/elements/gsttypefindelement.c:
5361         (gst_type_find_element_have_type), (gst_type_find_element_init),
5362         (stop_typefinding), (gst_type_find_element_handle_event),
5363         (gst_type_find_element_chain), (gst_type_find_element_getrange):
5364         * gst/elements/gsttypefindelement.h:
5365           Set caps on all outgoing buffers, not just the first one.
5366
5367 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
5368
5369         * gst/elements/gsttypefindelement.c:
5370         (gst_type_find_element_have_type),
5371         (gst_type_find_element_check_set_buffer_caps),
5372         (gst_type_find_element_init), (stop_typefinding),
5373         (gst_type_find_element_handle_event),
5374         (gst_type_find_element_chain), (gst_type_find_element_getrange):
5375         * gst/elements/gsttypefindelement.h:
5376           Set caps on first outgoing buffer when we've found the type.
5377
5378 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
5379
5380         * docs/gst/gstreamer-docs.sgml:
5381         * docs/gst/gstreamer-sections.txt:
5382         * docs/gst/tmpl/gstscheduler.sgml:
5383         * docs/gst/tmpl/gstschedulerfactory.sgml:
5384           Remove some old cruft from docs.
5385
5386 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
5387
5388         * gst/gstpad.h:
5389           Fix inline docs for GstPadLinkReturn.
5390           
5391         * gst/gststructure.c: (gst_structure_has_name):
5392         * gst/gststructure.h:
5393         * docs/gst/gstreamer-sections.txt:
5394           New API: gst_structure_has_name().
5395
5396 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
5397
5398         * configure.ac:
5399           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
5400           and _LARGEFILE_SOURCE in config.h as required. Do not 
5401           export those flags in our .pc files any longer (#142209).
5402
5403           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
5404
5405         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
5406         (gst_file_sink_do_seek), (gst_file_sink_event),
5407         (gst_file_sink_get_current_offset), (gst_file_sink_render):
5408           Redo seek/tell calls with large file support in mind; add some
5409           debugging messages; add log message that tells us when large
5410           file support is unavailable or not enabled for some reason.
5411
5412         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
5413           Add log message that tells us when large file support 
5414           is unavailable or not enabled for some reason.
5415
5416 2005-07-29  Wim Taymans  <wim@fluendo.com>
5417
5418         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
5419         Added test for removing an element with ghostpad from a bin.
5420         Fixed test as current implementation does the right thing.
5421
5422         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
5423         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
5424         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
5425         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
5426         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
5427         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
5428         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
5429         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
5430         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
5431         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
5432         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
5433         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
5434         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
5435         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
5436         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
5437         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
5438         * gst/gstghostpad.h:
5439         Clean up ghostpads, remove properties for internal stuff.
5440         Make threadsafe.
5441         Fix refcounting.
5442         Prepare for switching targets, not all use cases work yet.
5443
5444 2005-07-29  Wim Taymans  <wim@fluendo.com>
5445
5446         * docs/design/part-gstghostpad.txt:
5447         Small update.
5448
5449         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
5450         (gst_bin_remove_func):
5451         Unlinking pads while holding the bin LOCK is not a good
5452         idea.
5453
5454         * gst/gstpad.c: (gst_pad_class_init),
5455         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
5456         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
5457         No prob setting template after creating the pad.
5458
5459 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
5460
5461         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
5462         (gst_bus_peek), (gst_bus_source_dispatch),
5463         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
5464         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
5465           gst_bus_poll may be called from other threads. Handle
5466           this nicely by not making poll_data disappear off the
5467           stack once gst_bus_poll returns.
5468           gst_bus_peek now increments the refcount on the returned
5469           message.
5470
5471 2005-07-29  Wim Taymans  <wim@fluendo.com>
5472
5473         * docs/design/part-gstghostpad.txt:
5474         Overview of current GhostPad datastructures and use
5475         cases for changing the target.
5476
5477 2005-07-28  Wim Taymans  <wim@fluendo.com>
5478
5479         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5480         Added checks for hierarchy consistency whan adding linked
5481         elements to bins.
5482
5483         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5484         Added check to test element scheduling without bin/pipeline.
5485
5486         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5487         First add elements to bin, then link.
5488         
5489         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
5490         (gst_bin_remove_func):
5491         Unlink pads from elements added/removed from bin to maintain
5492         hierarchy consistency.
5493
5494 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5495
5496         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
5497         (gst_base_transform_handle_buffer):
5498         * gst/base/gstbasetransform.h:
5499           Remove broken delay_configure (fixes renegotiation of software
5500           scaling pipelines); remove some leftover printf()s.
5501
5502 2005-07-28  Wim Taymans  <wim@fluendo.com>
5503
5504         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
5505         Added some more tests for wrong hierarchy
5506
5507         * docs/design/part-overview.txt:
5508         Some updates.
5509
5510         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
5511         Cleanups.
5512
5513         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
5514         (gst_element_dispose):
5515         Some more cleanups.
5516
5517         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
5518         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
5519         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
5520         (gst_pad_set_caps), (gst_pad_send_event):
5521         Check for correct hierarchy when linking pads. Moving to
5522         strict requirement for ghostpads when linking elements in
5523         different bins.
5524
5525         * gst/gstpad.h:
5526         Clean ups. Added WRONG_HIERARCHY return value.
5527
5528 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5529
5530         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
5531           Better debug if no transform is possible.
5532
5533 2005-07-27  Wim Taymans  <wim@fluendo.com>
5534
5535         * docs/random/wtay/network-transp:
5536         Some old doc I had.
5537
5538 2005-07-27  Wim Taymans  <wim@fluendo.com>
5539
5540         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
5541         (gst_dp_event_from_packet):
5542         Fix serialization of seek events.
5543
5544 2005-07-27  Wim Taymans  <wim@fluendo.com>
5545
5546         * check/gst-libs/gdp.c: (GST_START_TEST):
5547         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
5548         Fix compilation and fix event serialization.
5549
5550 2005-07-27  Wim Taymans  <wim@fluendo.com>
5551
5552         * CHANGES-0.9:
5553         * docs/design/part-TODO.txt:
5554         * docs/design/part-events.txt:
5555         Some docs updates
5556
5557         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5558         (gst_base_sink_event), (gst_base_sink_do_sync),
5559         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
5560         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
5561         (gst_base_src_do_seek), (gst_base_src_event_handler),
5562         (gst_base_src_loop):
5563         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
5564         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5565         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
5566         (gst_base_transform_event), (gst_base_transform_handle_buffer),
5567         (gst_base_transform_set_passthrough),
5568         (gst_base_transform_is_passthrough):
5569         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
5570         * gst/elements/gstfilesink.c: (gst_file_sink_event):
5571         Event updates.
5572
5573         * gst/gstbuffer.h:
5574         Use faster casts.
5575
5576         * gst/gstelement.c: (gst_element_seek):
5577         * gst/gstelement.h:
5578         Update gst_element_seek.
5579
5580         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
5581         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
5582         (gst_event_new_flush_start), (gst_event_new_flush_stop),
5583         (gst_event_new_eos), (gst_event_new_newsegment),
5584         (gst_event_parse_newsegment), (gst_event_new_tag),
5585         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
5586         (gst_event_parse_qos), (gst_event_new_seek),
5587         (gst_event_parse_seek), (gst_event_new_navigation):
5588         * gst/gstevent.h:
5589         Make GstEvent use GstStructure. Add parsing code, make sure the
5590         API is sufficiently generic.
5591         Mark possible directions of events and serialization.
5592
5593         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
5594         (_gst_message_copy), (gst_message_new_segment_start),
5595         (gst_message_new_segment_done), (gst_message_new_custom),
5596         (gst_message_parse_segment_start),
5597         (gst_message_parse_segment_done):
5598         Small cleanups.
5599
5600         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
5601         (gst_pad_set_caps), (gst_pad_send_event):
5602         Update for new events. 
5603         Catch events sent in wrong directions.
5604
5605         * gst/gstqueue.c: (gst_queue_link_src),
5606         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
5607         (gst_queue_handle_src_query):
5608         Event updates.
5609
5610         * gst/gsttag.c:
5611         * gst/gsttag.h:
5612         Remove event code from this file.
5613
5614         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
5615         (gst_dp_event_from_packet):
5616         Event updates.
5617
5618 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5619
5620         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
5621         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
5622         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
5623           Make debugging actually useful.
5624
5625 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5626
5627         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
5628         (gst_pad_fixate_caps):
5629           Implement default fixation once again, so that gst_pad_fixate()
5630           actually does anything at all. This probably needs to be some
5631           sort of a last resort, and use profile-based fixation first, but
5632           since that doesn't exist yet, this is the best we have. Fixes
5633           visualization in Totem.
5634
5635 2005-07-22  Wim Taymans  <wim@fluendo.com>
5636
5637         * docs/design/part-events.txt:
5638         Small update.
5639
5640         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5641         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
5642         (gst_base_sink_activate_pull):
5643         Some more comments.
5644
5645         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
5646         (gst_fake_src_create):
5647         Fix handoff marshall.
5648
5649         * gst/elements/gstidentity.c: (gst_identity_class_init),
5650         (gst_identity_transform_ip):
5651         We're a real inplace element.
5652
5653         * gst/gstbus.c: (gst_bus_post):
5654         Added some comments.
5655
5656         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
5657         * tests/muxing/case1.c: (main):
5658         * tests/sched/dynamic-pipeline.c: (main):
5659         * tests/sched/interrupt1.c: (main):
5660         * tests/sched/interrupt2.c: (main):
5661         * tests/sched/interrupt3.c: (main):
5662         * tests/sched/runxml.c: (main):
5663         * tests/sched/sched-stress.c: (main):
5664         * tests/seeking/seeking1.c: (event_received), (main):
5665         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
5666         (main):
5667         * tests/threadstate/threadstate3.c: (main):
5668         * tests/threadstate/threadstate4.c: (main):
5669         * tests/threadstate/threadstate5.c: (main):
5670         Fix the tests.
5671
5672 2005-07-21  Wim Taymans  <wim@fluendo.com>
5673
5674         * docs/design/part-seeking.txt:
5675         Some small additions.
5676
5677         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5678         (gst_base_sink_get_times), (gst_base_sink_do_sync),
5679         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
5680         * gst/base/gstbasesink.h:
5681         discont values are gint64, handle the math correctly.
5682
5683         * gst/base/gstbasesrc.c: (gst_base_src_loop):
5684         Make the basesrc report error if the source pad is not linked.
5685
5686         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
5687         (gst_queue_loop), (gst_queue_handle_src_query),
5688         (gst_queue_src_activate_push):
5689         Make queue collect data even if the srcpad is not linked.
5690         Start pushing out data as soon as it is linked.
5691
5692         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
5693         * gst/gstutils.h:
5694         Added gst_flow_get_name() to ease error reporting.
5695
5696 2005-07-20  Wim Taymans  <wim@fluendo.com>
5697
5698         * gst/gstmessage.c: (gst_message_new_segment_start),
5699         (gst_message_new_segment_done), (gst_message_parse_segment_start),
5700         (gst_message_parse_segment_done):
5701         * gst/gstmessage.h:
5702         Added a bunch of messages for advanced seeking.
5703
5704         * gst/parse/grammar.y:
5705         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
5706         (gst_dpman_state_changed):
5707         Fix some new-pad -> pad-added signals
5708
5709 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5710
5711         * docs/manual/appendix-porting.xml:
5712         * docs/pwg/appendix-porting.xml:
5713           Document new-pad/state-change signal renames and the FixedList
5714           type rename.
5715
5716 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5717
5718         * docs/manual/advanced-autoplugging.xml:
5719         * docs/manual/basics-helloworld.xml:
5720         * docs/manual/basics-pads.xml:
5721         * docs/random/ds/0.9-suggested-changes:
5722         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
5723         * gst/gstelement.h:
5724         * gst/gstevent.h:
5725         * gst/gstformat.h:
5726         * gst/gstquery.h:
5727         * gst/gststructure.c: (gst_structure_value_get_generic_type),
5728         (gst_structure_parse_array), (gst_structure_parse_value):
5729         * gst/gstvalue.c: (gst_type_is_fixed),
5730         (gst_value_list_prepend_value), (gst_value_list_append_value),
5731         (gst_value_list_get_size), (gst_value_list_get_value),
5732         (gst_value_transform_array_string), (gst_value_serialize_array),
5733         (gst_value_deserialize_array), (gst_value_intersect_array),
5734         (gst_value_is_fixed), (_gst_value_initialize):
5735         * gst/gstvalue.h:
5736           GstElement::new-pad -> pad-added, GstElement::state-change ->
5737           state-changed, GstValueFixedList -> GstValueArray, add format and
5738           flags as their own arguments in gst_element_seek() (should improve
5739           "bindeability"), remove function generators since they don't work
5740           under a whole bunch of compilers (they were deprecated already
5741           anyway).
5742
5743 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5744
5745         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
5746         (_gst_debug_register_funcptr):
5747         * gst/gstinfo.h:
5748           Fix illegal cast on some platforms (#309253).
5749
5750 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5751
5752         * gst/gstmessage.c: (gst_message_new_custom):
5753         * gst/gstmessage.h:
5754           Add _new_custom, make _new_application a macro to _new_custom.
5755
5756 2005-07-20  Wim Taymans  <wim@fluendo.com>
5757
5758         * gst/base/gstbasesrc.c: (gst_base_src_init),
5759         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
5760         * gst/base/gstbasesrc.h:
5761         Add a gboolean to decide when to push out a discont.
5762
5763         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
5764         (gst_queue_loop), (gst_queue_handle_src_query),
5765         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
5766         (gst_queue_set_property), (gst_queue_get_property):
5767         Some cleanups.
5768
5769         * tests/threadstate/threadstate1.c: (main):
5770         Make a thread test compile and run... very silly..
5771
5772
5773 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5774
5775         * docs/manual/appendix-porting.xml:
5776           Mention removal of libgstgconf-0.9.la and existence of gconf
5777           elements.
5778
5779 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
5780
5781         * docs/pwg/advanced-clock.xml:
5782         * docs/pwg/appendix-porting.xml:
5783         * docs/pwg/intro-preface.xml:
5784         * docs/pwg/other-base.xml:
5785         * docs/pwg/other-manager.xml:
5786         * docs/pwg/other-nton.xml:
5787         * docs/pwg/other-ntoone.xml:
5788         * docs/pwg/other-oneton.xml:
5789         * docs/pwg/pwg.xml:
5790           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
5791           demuxer), remove n-to-n (was never written), fix some code examples
5792           and links and update the porting section to include all this.
5793
5794 2005-07-19  Wim Taymans  <wim@fluendo.com>
5795
5796         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
5797         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
5798         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
5799         (gst_queue_src_activate_push), (gst_queue_change_state),
5800         (gst_queue_get_property):
5801         * gst/gstqueue.h:
5802         Propagate GstFlowReturn more intelligently upstream and output
5803         an ERROR/EOS when streaming stopped due to fatal error.
5804
5805 2005-07-19  Wim Taymans  <wim@fluendo.com>
5806
5807         * tools/gst-launch.c: (check_intr), (event_loop), (main):
5808         Don't block forever for the state change to complete, the
5809         pipeline already did with a sensible timeout.
5810
5811 2005-07-19  Wim Taymans  <wim@fluendo.com>
5812
5813         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5814         Make sure we never call the create function is we
5815         got deactivated.
5816
5817 2005-07-19  Andy Wingo  <wingo@pobox.com>
5818
5819         * gst/parse/parse.l: Attempt to solve bug #172815.
5820
5821 2005-07-19  Wim Taymans  <wim@fluendo.com>
5822
5823         * docs/design/part-clocks.txt:
5824         * docs/design/part-events.txt:
5825         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
5826         Small docs updates.
5827         Only update the seeking values when we are not
5828         busy streaming.
5829
5830 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
5831
5832         * gst/base/gstbasesrc.c: (gst_base_src_loop):
5833           Oops, ignore the result of gst_pad_push_event here.
5834
5835 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
5836
5837         * gst/base/gstbasesrc.c: (gst_base_src_loop),
5838         (gst_base_src_activate_push):
5839           Send discont event from the loop function, as pads
5840           aren't activated yet in the activate_push handler.
5841
5842         * gst/gstbin.c: (bin_bus_handler):
5843           Don't leak element name.
5844
5845 2005-07-18  Andy Wingo  <wingo@pobox.com>
5846
5847         * configure.ac: Use AS_LIBTOOL_TAGS.
5848
5849 2005-07-18  Wim Taymans  <wim@fluendo.com>
5850
5851         * docs/gst/gstreamer.types:
5852         Remove deleted types.
5853
5854 2005-07-18  Wim Taymans  <wim@fluendo.com>
5855
5856         * check/elements/gstfakesrc.c: (GST_START_TEST):
5857         * configure.ac:
5858         * gst/Makefile.am:
5859         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
5860         (init_popt_callback):
5861         * gst/gst.h:
5862         * gst/gst_private.h:
5863         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
5864         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
5865         * gst/gstbin.h:
5866         * gst/gstbus.h:
5867         * gst/gstconfig.h.in:
5868         * gst/gstelement.c: (gst_element_class_init),
5869         (gst_element_set_base_time), (gst_element_get_base_time),
5870         (iterator_fold_with_resync), (gst_element_change_state),
5871         (gst_element_dispose), (gst_element_get_bus):
5872         * gst/gstelement.h:
5873         * gst/gstelementfactory.h:
5874         * gst/gsterror.c: (_gst_core_errors_init):
5875         * gst/gsterror.h:
5876         * gst/gstevent.h:
5877         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
5878         * gst/gstindex.c:
5879         * gst/gstinfo.c: (_gst_debug_init):
5880         * gst/gstmessage.c: (_gst_message_copy):
5881         * gst/gstmessage.h:
5882         * gst/gstminiobject.h:
5883         * gst/gstobject.c:
5884         * gst/gstobject.h:
5885         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
5886         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
5887         * gst/gstpad.h:
5888         * gst/gstparse.h:
5889         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
5890         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
5891         (gst_pipeline_get_last_stream_time):
5892         * gst/gstpipeline.h:
5893         * gst/gstpluginfeature.h:
5894         * gst/gstquery.h:
5895         * gst/gstscheduler.c:
5896         * gst/gstscheduler.h:
5897         * gst/gststructure.h:
5898         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
5899         (gst_task_finalize), (gst_task_func), (gst_task_create),
5900         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
5901         (gst_task_stop), (gst_task_pause):
5902         * gst/gsttask.h:
5903         * gst/gsttypefind.h:
5904         * gst/gsttypes.h:
5905         * gst/registries/gstlibxmlregistry.c: (load_feature),
5906         (gst_xml_registry_load), (gst_xml_registry_save_feature):
5907         * gst/registries/gstxmlregistry.c:
5908         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
5909         * gst/schedulers/threadscheduler.c:
5910         * libs/gst/control/dparammanager.h:
5911         * tools/gst-inspect.c: (print_element_list),
5912         (print_plugin_features), (print_element_features):
5913         * tools/gst-xmlinspect.c: (print_element_list),
5914         (print_plugin_info), (main):
5915         Removed plugable schedulers.
5916         Removed Scheduler/Manager from elements.
5917         Removed gsttypes.h, rearranged includes.
5918         Removed dependency pad<->element, element<>pipeline, and
5919         various others,  fix includes.
5920         implement gst_pad_get_parent() with gst_object_get_parent()
5921         Make GstTask sefcontained.
5922         Fix _get_state() on GstBin, it did not return ASYNC with a 0
5923         timeout.
5924         Fix endless loop in iterator_fold_with_resync.
5925
5926
5927 2005-07-18  Wim Taymans  <wim@fluendo.com>
5928
5929         * gst/Makefile.am:
5930         * gst/gstarch.h:
5931         Remove old file.
5932
5933 2005-07-18  Wim Taymans  <wim@fluendo.com>
5934
5935         * gst/Makefile.am:
5936         No more cothreads.h
5937
5938 2005-07-18  Wim Taymans  <wim@fluendo.com>
5939
5940         * gst/cothreads.c:
5941         * gst/cothreads.h:
5942         Let's remove these.
5943
5944 2005-07-18  Wim Taymans  <wim@fluendo.com>
5945
5946         * docs/design/part-dynamic.txt:
5947         * docs/design/part-events.txt:
5948         * docs/design/part-seeking.txt:
5949         Some more docs in the works.
5950
5951         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
5952         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
5953         (gst_base_transform_setcaps), (gst_base_transform_get_size),
5954         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
5955         (gst_base_transform_handle_buffer),
5956         (gst_base_transform_sink_activate_push),
5957         (gst_base_transform_src_activate_pull),
5958         (gst_base_transform_set_passthrough),
5959         (gst_base_transform_is_passthrough):
5960         Refcounting fixes.
5961
5962         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
5963         Cleanups.
5964
5965         * gst/gstevent.c: (gst_event_finalize):
5966         Set SRC to NULL.
5967
5968         * gst/gstutils.c: (gst_element_unlink),
5969         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
5970         (gst_pad_proxy_setcaps):
5971         * gst/gstutils.h:
5972         Add _get_parent_element() to get a pads parent as an element.
5973
5974 2005-07-18  Wim Taymans  <wim@fluendo.com>
5975
5976         * check/gst/gstbin.c: (GST_START_TEST):
5977         Remove bogus test.
5978
5979 2005-07-18  Wim Taymans  <wim@fluendo.com>
5980
5981         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
5982         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
5983         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
5984         (gst_base_sink_event), (gst_base_sink_do_sync),
5985         (gst_base_sink_chain), (gst_base_sink_loop),
5986         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
5987         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
5988         Refcounting fixes.
5989         Fix logic for returning ASYNC when not prerolled.
5990
5991 2005-07-18  Wim Taymans  <wim@fluendo.com>
5992
5993         * gst/gstqueue.c: (gst_queue_handle_sink_event):
5994         Fix nasty refcount bug.
5995
5996 2005-07-16 Philippe Khalaf <burger@speedy.org>
5997
5998         * gst/elements/gstfdsrc.c:
5999         * gst/elements/gstfdsrc.h:
6000         * gst/elements/gstelements.c:
6001         * gst/elements/Makefile.am:
6002         Ported fdsrc to 0.9.
6003
6004 2005-07-16  Wim Taymans  <wim@fluendo.com>
6005
6006         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6007         (gst_base_sink_do_sync):
6008         Fix compile error.
6009
6010 2005-07-16  Wim Taymans  <wim@fluendo.com>
6011
6012         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6013         (gst_base_sink_event), (gst_base_sink_get_times),
6014         (gst_base_sink_do_sync), (gst_base_sink_change_state):
6015         * gst/base/gstbasesink.h:
6016         Store and use discont values when syncing buffers as described
6017         in design docs.
6018         
6019         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
6020         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
6021         (gst_base_src_activate_push):
6022         Push discont event when starting.
6023
6024         * gst/elements/gstidentity.c: (gst_identity_transform):
6025         Small cleanups.
6026
6027         * gst/gstbin.c: (gst_bin_change_state):
6028         Small cleanups in base_time  distribution.
6029
6030         * gst/gstelement.c: (gst_element_set_base_time),
6031         (gst_element_get_base_time), (gst_element_change_state):
6032         * gst/gstelement.h:
6033         Added methods for the base_time of the element.
6034         Some MT fixes.
6035
6036         * gst/gstpipeline.c: (gst_pipeline_send_event),
6037         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
6038         (gst_pipeline_get_last_stream_time):
6039         * gst/gstpipeline.h:
6040         MT fixes.
6041         Handle seeking as described in design doc, remove stream_time
6042         hack.
6043         Cleanups clock and stream_time selection code. Added accessors
6044         for the stream_time.
6045         
6046
6047 2005-07-16  Andy Wingo  <wingo@pobox.com>
6048
6049         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
6050         (#305291).
6051
6052 2005-07-16  Wim Taymans  <wim@fluendo.com>
6053
6054         * check/gst/gstbin.c: (GST_START_TEST):
6055         Make elements silent as the deep_notify refs the
6056         parent, which might make the test fail.
6057
6058         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
6059         Don't hold the lock for too long.
6060
6061 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
6062
6063         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6064           Don't unref the caps we passed to gst_caps_make_writable() after
6065           passing them. gst_caps_make_writable() will do that for us.
6066
6067 2005-07-15  Andy Wingo  <wingo@pobox.com>
6068
6069         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
6070         (#157311).
6071
6072         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
6073         own marshalling function for the handoff signal. Properly type the
6074         buffer as a buffer. Fixes some warnings. Should do a more general
6075         solution.
6076         (gst_identity_class_init): Plug into the right marshaller.
6077
6078 2005-07-15  Wim Taymans  <wim@fluendo.com>
6079
6080         * docs/design/part-TODO.txt:
6081         * docs/design/part-clocks.txt:
6082         * docs/design/part-element-sink.txt:
6083         * docs/design/part-events.txt:
6084         * docs/design/part-gstpipeline.txt:
6085         Updated docs, mostly DISCONT related.
6086
6087 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
6088
6089         * docs/pwg/building-pads.xml:
6090           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
6091
6092 2005-07-15  Andy Wingo  <wingo@pobox.com>
6093
6094         * tools/gst-typefind.c: Update, add copyright block.
6095
6096         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
6097         Normalize and truncate caps before fixation.
6098
6099         * gst/gstcaps.h:
6100         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
6101         discards all but the first structure from its argument.
6102
6103 2005-07-15  Wim Taymans  <wim@fluendo.com>
6104
6105         * gst/base/gstbasetransform.c: (gst_base_transform_init),
6106         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
6107         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
6108         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
6109         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
6110         (gst_base_transform_chain), (gst_base_transform_change_state),
6111         (gst_base_transform_set_passthrough),
6112         (gst_base_transform_is_passthrough):
6113         * gst/base/gstbasetransform.h:
6114         Make passthrough work using the bufferpools.
6115         Changed API a bit, subclasses have to write into a buffer
6116         provided by the base class.
6117         More debug info in nego functions.
6118         
6119         * gst/elements/gstidentity.c: (gst_identity_init),
6120         (gst_identity_transform):
6121         Port to new base class.
6122
6123 2005-07-15  Wim Taymans  <wim@fluendo.com>
6124
6125         * gst/gstmessage.c: (gst_message_new_state_changed):
6126         * tools/gst-launch.c: (event_loop), (main):
6127         Totally dump messages in -launch with the -m option.
6128         Fix message name for State messages,
6129
6130 2005-07-14  Wim Taymans  <wim@fluendo.com>
6131
6132         * gst/base/gstbasesrc.c: (gst_base_src_loop):
6133         Post error messages on errors.
6134
6135 2005-07-14  Wim Taymans  <wim@fluendo.com>
6136
6137         * gst/gstcaps.c: (gst_caps_do_simplify):
6138         Remove debug info.
6139
6140         * gst/gsterror.h:
6141         Define error for stream stopped.
6142
6143         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
6144         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
6145         Do proper return values.
6146
6147         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
6148         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
6149         (gst_pad_get_range):
6150         Better return values.
6151
6152         * gst/gstpad.h:
6153         Reorganise return values, add macro to check for fatal errors.
6154
6155         * gst/gstqueue.c: (gst_queue_chain):
6156         Return proper GstFlowReturn values,
6157
6158 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6159
6160         * docs/gst/gstreamer-sections.txt:
6161         * docs/gst/gstreamer.types:
6162         * docs/gst/tmpl/gst.sgml:
6163         * docs/gst/tmpl/gstbasesink.sgml:
6164         * docs/gst/tmpl/gstbasesrc.sgml:
6165         * docs/gst/tmpl/gstbasetransform.sgml:
6166         * docs/gst/tmpl/gstbin.sgml:
6167         * docs/gst/tmpl/gstbuffer.sgml:
6168         * docs/gst/tmpl/gstcaps.sgml:
6169         * docs/gst/tmpl/gstclock.sgml:
6170         * docs/gst/tmpl/gstcompat.sgml:
6171         * docs/gst/tmpl/gstconfig.sgml:
6172         * docs/gst/tmpl/gstelement.sgml:
6173         * docs/gst/tmpl/gstelementdetails.sgml:
6174         * docs/gst/tmpl/gstelementfactory.sgml:
6175         * docs/gst/tmpl/gstenumtypes.sgml:
6176         * docs/gst/tmpl/gsterror.sgml:
6177         * docs/gst/tmpl/gstevent.sgml:
6178         * docs/gst/tmpl/gstfakesink.sgml:
6179         * docs/gst/tmpl/gstfakesrc.sgml:
6180         * docs/gst/tmpl/gstfilesink.sgml:
6181         * docs/gst/tmpl/gstfilesrc.sgml:
6182         * docs/gst/tmpl/gstfilter.sgml:
6183         * docs/gst/tmpl/gstformat.sgml:
6184         * docs/gst/tmpl/gstghostpad.sgml:
6185         * docs/gst/tmpl/gstimplementsinterface.sgml:
6186         * docs/gst/tmpl/gstindex.sgml:
6187         * docs/gst/tmpl/gstindexfactory.sgml:
6188         * docs/gst/tmpl/gstinfo.sgml:
6189         * docs/gst/tmpl/gstiterator.sgml:
6190         * docs/gst/tmpl/gstmacros.sgml:
6191         * docs/gst/tmpl/gstmemchunk.sgml:
6192         * docs/gst/tmpl/gstminiobject.sgml:
6193         * docs/gst/tmpl/gstobject.sgml:
6194         * docs/gst/tmpl/gstpad.sgml:
6195         * docs/gst/tmpl/gstpadtemplate.sgml:
6196         * docs/gst/tmpl/gstparse.sgml:
6197         * docs/gst/tmpl/gstpipeline.sgml:
6198         * docs/gst/tmpl/gstplugin.sgml:
6199         * docs/gst/tmpl/gstpluginfeature.sgml:
6200         * docs/gst/tmpl/gstquery.sgml:
6201         * docs/gst/tmpl/gstqueue.sgml:
6202         * docs/gst/tmpl/gstregistry.sgml:
6203         * docs/gst/tmpl/gstregistrypool.sgml:
6204         * docs/gst/tmpl/gstscheduler.sgml:
6205         * docs/gst/tmpl/gstschedulerfactory.sgml:
6206         * docs/gst/tmpl/gststructure.sgml:
6207         * docs/gst/tmpl/gstsystemclock.sgml:
6208         * docs/gst/tmpl/gsttaglist.sgml:
6209         * docs/gst/tmpl/gsttagsetter.sgml:
6210         * docs/gst/tmpl/gsttrace.sgml:
6211         * docs/gst/tmpl/gsttrashstack.sgml:
6212         * docs/gst/tmpl/gsttypefind.sgml:
6213         * docs/gst/tmpl/gsttypefindfactory.sgml:
6214         * docs/gst/tmpl/gsttypes.sgml:
6215         * docs/gst/tmpl/gsturihandler.sgml:
6216         * docs/gst/tmpl/gsturitype.sgml:
6217         * docs/gst/tmpl/gstutils.sgml:
6218         * docs/gst/tmpl/gstvalue.sgml:
6219         * docs/gst/tmpl/gstversion.sgml:
6220         * docs/gst/tmpl/gstxml.sgml:
6221         * docs/libs/tmpl/gstcontrol.sgml:
6222         * docs/libs/tmpl/gstdataprotocol.sgml:
6223         * docs/libs/tmpl/gstdparam.sgml:
6224         * docs/libs/tmpl/gstdplinint.sgml:
6225         * docs/libs/tmpl/gstdpman.sgml:
6226         * docs/libs/tmpl/gstdpsmooth.sgml:
6227         * docs/libs/tmpl/gstgetbits.sgml:
6228         * docs/libs/tmpl/gstunitconvert.sgml:
6229         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
6230         (gst_push_src_base_init), (gst_push_src_class_init),
6231         (gst_push_src_init), (gst_push_src_create):
6232         * gst/base/gstpushsrc.h:
6233         * gst/elements/gstelements.c:
6234         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
6235         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
6236         (gst_fake_sink_init), (gst_fake_sink_set_property),
6237         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
6238         (gst_fake_sink_event), (gst_fake_sink_preroll),
6239         (gst_fake_sink_render), (gst_fake_sink_change_state):
6240         * gst/elements/gstfakesink.h:
6241         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6242         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
6243         (gst_fake_src_base_init), (gst_fake_src_class_init),
6244         (gst_fake_src_init), (gst_fake_src_event_handler),
6245         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
6246         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
6247         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
6248         (gst_fake_src_create_buffer), (gst_fake_src_create),
6249         (gst_fake_src_start), (gst_fake_src_stop):
6250         * gst/elements/gstfakesrc.h:
6251         * gst/elements/gstfilesink.c: (_do_init),
6252         (gst_file_sink_base_init), (gst_file_sink_class_init),
6253         (gst_file_sink_init), (gst_file_sink_dispose),
6254         (gst_file_sink_set_location), (gst_file_sink_set_property),
6255         (gst_file_sink_get_property), (gst_file_sink_open_file),
6256         (gst_file_sink_close_file), (gst_file_sink_query),
6257         (gst_file_sink_event), (gst_file_sink_render),
6258         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
6259         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
6260         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
6261         * gst/elements/gstfilesink.h:
6262         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
6263         (gst_file_src_class_init), (gst_file_src_init),
6264         (gst_file_src_finalize), (gst_file_src_set_location),
6265         (gst_file_src_set_property), (gst_file_src_get_property),
6266         (gst_file_src_map_region), (gst_file_src_map_small_region),
6267         (gst_file_src_create_mmap), (gst_file_src_create_read),
6268         (gst_file_src_create), (gst_file_src_is_seekable),
6269         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
6270         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
6271         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
6272         (gst_file_src_uri_handler_init):
6273         * gst/elements/gstfilesrc.h:
6274           more autistic cleanliness in functions/names/defines
6275
6276 2005-07-13  Andy Wingo  <wingo@pobox.com>
6277
6278         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
6279         source couldn't negotiate.
6280
6281         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
6282         connections again.
6283
6284         * gst/gstutils.h:
6285         * gst/gstutils.c (gst_element_link_pads_filtered): New old
6286         function. I am channeling Hades. Put your boots on suckers!!!
6287
6288 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6289
6290         * testsuite/caps/Makefile.am:
6291         * testsuite/caps/value_compare.c:
6292         * testsuite/caps/value_intersect.c:
6293         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6294           move two testsuite apps over to the check dir
6295
6296 2005-07-12  Wim Taymans  <wim@fluendo.com>
6297
6298         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
6299         Added more debug info in the negotiate process.
6300
6301         * gst/gstmessage.h:
6302         Prepare for segment playback.
6303
6304         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
6305         Better debugging.
6306
6307         * gst/gstutils.c:
6308         Some more docs.
6309
6310         * tools/gst-launch.c: (main):
6311         NULL pipeline on errors.
6312
6313 2005-07-12  Andy Wingo  <wingo@pobox.com>
6314
6315         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
6316         not it comes from a malloc region. Make sure our copy gets freed.
6317
6318 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6319
6320         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
6321         * check/gst/gstmessage.c: (GST_START_TEST):
6322         * check/gst/gststructure.c: (GST_START_TEST),
6323         (gst_structure_suite), (main):
6324           more testing
6325         * gst/gstelement.c: (gst_element_message_full):
6326           clean up GError and debug string now that they get copied
6327         * gst/gstmessage.c: (gst_message_new_error),
6328         (gst_message_new_warning), (gst_message_parse_error),
6329         (gst_message_parse_warning):
6330           use GST_TYPE_G_ERROR for structure_new, and take copies of
6331           arguments, so that we don't mess up refcounting
6332
6333 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6334
6335         * check/Makefile.am:
6336           add per-test valgrind targets
6337         * check/gst-libs/gdp.c: (GST_START_TEST),
6338         (gst_data_protocol_suite), (main):
6339           clean up
6340
6341 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6342
6343         * check/Makefile.am:
6344           instate more valgrindable tests
6345         * check/elements/gstfakesrc.c: (chain_func), (event_func),
6346         (GST_START_TEST), (fakesrc_suite):
6347         * check/gst/gstpad.c: (GST_START_TEST):
6348         * check/gst/gststructure.c: (GST_START_TEST):
6349           fix test leaks
6350         * docs/gst/tmpl/gstminiobject.sgml:
6351         * gst/gstpad.c: (gst_pad_finalize):
6352           fix the static mutex leak
6353
6354 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6355
6356         * check/Makefile.am:
6357           add two more tests for valgrinding
6358         * check/gst/gstvalue.c: (GST_START_TEST):
6359           test refcount of deserialized buffer, found a leak
6360         * docs/gst/gstreamer-docs.sgml:
6361         * docs/gst/gstreamer-sections.txt:
6362         * docs/gst/gstreamer.types:
6363         * docs/gst/tmpl/gstminiobject.sgml:
6364           add miniobject to docs
6365         * gst/gstminiobject.c:
6366           add some docs
6367         * gst/gstvalue.c: (gst_value_deserialize_buffer),
6368         (gst_string_unwrap):
6369           fix a hard-to-find invalid write for one of the tests
6370           fix a leak for deserialized buffers
6371
6372 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6373
6374         * docs/pwg/advanced-events.xml:
6375         * docs/pwg/advanced-request.xml:
6376         * docs/pwg/advanced-scheduling.xml:
6377         * docs/pwg/appendix-porting.xml:
6378         * docs/pwg/building-boiler.xml:
6379         * docs/pwg/intro-preface.xml:
6380         * docs/pwg/other-ntoone.xml:
6381           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
6382           of example code and explanation for pad activation, loop() and
6383           getrange() functions and a bit more. Remove old comments pointing
6384           to loop-functions.
6385         * examples/pwg/Makefile.am:
6386           Add loop/getrange examples.
6387
6388 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6389
6390         * configure.ac:
6391           check for valgrind binary + some fixes
6392         * check/gst.supp:
6393           valgrind suppressions for the tests
6394         * check/Makefile.am:
6395           add a valgrind: target that valgrinds the unit tests
6396         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
6397         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6398         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6399         * check/gst/gstghostpad.c:
6400           added some cleanup
6401         * check/gst/gstdata.c:
6402           removed
6403         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
6404         (thread_unref), (gst_mini_object_suite), (main):
6405           added
6406         * gst/gst.c: (gst_deinit):
6407         * gst/gst.h:
6408           add a method to clean up.
6409         * gst/gstsystemclock.c: (gst_system_clock_dispose),
6410         (gst_system_clock_obtain):
6411           allow for disposing the system clock.
6412         * tools/gst-launch.c: (main):
6413           deinit
6414
6415 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6416
6417         * docs/gst/tmpl/gstbasesrc.sgml:
6418         * docs/gst/tmpl/gstfakesrc.sgml:
6419         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6420         (gst_base_src_init), (gst_base_src_set_property),
6421         (gst_base_src_get_property), (gst_base_src_get_range),
6422         (gst_base_src_start):
6423         * gst/base/gstbasesrc.h:
6424           add num-buffers property
6425         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6426         (gst_fakesrc_init), (gst_fakesrc_set_property),
6427         (gst_fakesrc_get_property), (gst_fakesrc_create),
6428         (gst_fakesrc_start):
6429           remove num-buffers property
6430
6431 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6432
6433         * docs/gst/gstreamer-sections.txt:
6434         * docs/gst/tmpl/gstbasesink.sgml:
6435         * docs/gst/tmpl/gstbasesrc.sgml:
6436         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
6437         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
6438         (gst_base_sink_finalize), (gst_base_sink_set_clock),
6439         (gst_base_sink_set_property), (gst_base_sink_get_property),
6440         (gst_base_sink_handle_object), (gst_base_sink_event),
6441         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
6442         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
6443         (gst_base_sink_loop), (gst_base_sink_deactivate),
6444         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
6445         (gst_base_sink_change_state):
6446         * gst/base/gstbasesink.h:
6447         * gst/base/gstbasesrc.h:
6448         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
6449         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
6450         (gst_filesink_init):
6451           more macro splitting
6452
6453 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6454
6455         * gst/gstelement.c: (gst_element_get_bus):
6456           add debug
6457         * tools/gst-launch.c: (check_intr), (event_loop):
6458           fix bus leaks
6459
6460 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6461
6462         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
6463           fix a caps leak
6464
6465 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6466
6467         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6468         (gst_base_src_finalize):
6469           add finalize method and clean up properly
6470         * gst/gstpipeline.c: (gst_pipeline_dispose):
6471           add debug
6472
6473 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6474
6475         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
6476         (gst_bin_suite):
6477           add more things to check
6478         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
6479         * gst/gstelement.c:
6480           more debug
6481
6482 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6483
6484         * check/elements/gstfakesrc.c: (chain_func), (event_func),
6485         (GST_START_TEST), (fakesrc_suite):
6486         * check/gst-libs/gdp.c: (GST_START_TEST):
6487         * check/gst/gst.c: (GST_START_TEST):
6488         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6489         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6490         * check/gst/gstbus.c: (GST_START_TEST):
6491         * check/gst/gstcaps.c: (GST_START_TEST):
6492         * check/gst/gstdata.c: (GST_START_TEST):
6493         * check/gst/gstelement.c: (GST_START_TEST):
6494         * check/gst/gstghostpad.c: (GST_START_TEST):
6495         * check/gst/gstiterator.c: (GST_START_TEST):
6496         * check/gst/gstmessage.c: (GST_START_TEST):
6497         * check/gst/gstobject.c: (GST_START_TEST):
6498         * check/gst/gstpad.c: (GST_START_TEST):
6499         * check/gst/gststructure.c: (GST_START_TEST):
6500         * check/gst/gstsystemclock.c: (GST_START_TEST),
6501         (gst_systemclock_suite):
6502         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
6503         * check/gst/gstvalue.c: (GST_START_TEST):
6504         * check/pipelines/cleanup.c: (GST_START_TEST):
6505         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
6506         * check/states/sinks.c: (GST_START_TEST):
6507         * check/gstcheck.c: (gst_check_init):
6508         * check/gstcheck.h:
6509           add debugging category
6510           use GST_START_TEST now, so we add a debug line
6511
6512 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6513
6514         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
6515           add test for state change message on a bin
6516         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
6517           add another test
6518         * gst/gstbin.c: (gst_bin_init):
6519         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
6520         * gst/gstelement.c: (gst_element_post_message),
6521         (gst_element_set_state):
6522         * gst/gstelementfactory.c: (gst_element_factory_create):
6523         * gst/gstmessage.c: (gst_message_new):
6524         * gst/gstscheduler.c:
6525           various debugging additions and cleanups
6526
6527 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6528
6529         * check/Makefile.am:
6530         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
6531         (main):
6532           adding tests for elements
6533         * gst/gstelement.c: (gst_element_dispose):
6534
6535 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6536
6537         * gst/registries/gstlibxmlregistry.c: (load_feature):
6538           plug more leaks.  A simple gst_init() now is leakfree, yay.
6539
6540 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6541
6542         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
6543         (gst_xml_registry_load):
6544           plug another memleak
6545
6546 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6547
6548         * configure.ac:
6549           use GST_SET_ERROR_CFLAGS
6550         * docs/faq/cvs.xml:
6551           change to ERROR_CFLAGS
6552
6553 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6554
6555         * configure.ac:
6556           make GST_ERROR_CFLAGS overridable and re-enable Werror
6557         * docs/faq/cvs.xml:
6558           add a note about error CFLAGS
6559         * docs/gst/tmpl/gstfakesrc.sgml:
6560         * gst/elements/gstfakesrc.c:
6561           comment out some unused code
6562         * gst/gst.c: (split_and_iterate):
6563         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
6564         (load_feature):
6565           plug some memleaks
6566
6567 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6568
6569         * common/Makefile.am:
6570         * common/gtk-doc.mak:
6571         * docs/gst/Makefile.am:
6572           factor out gtk-doc.mak
6573
6574 2005-07-07  Wim Taymans  <wim@fluendo.com>
6575
6576         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
6577         (gst_thread_scheduler_dispose):
6578         Unlock the STREAM_LOCK completely.
6579
6580 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6581
6582         * check/Makefile.am:
6583         * check/elements/.cvsignore:
6584         * check/elements/gstfakesrc.c: (chain_func), (event_func),
6585         (START_TEST), (fakesrc_suite), (main):
6586         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
6587         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
6588         (gst_fakesrc_create), (gst_fakesrc_start):
6589         * gst/elements/gstfakesrc.h:
6590           adding a first element test
6591
6592 2005-07-07  Andy Wingo  <wingo@pobox.com>
6593
6594         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
6595         debug message.
6596
6597 2005-07-07  Wim Taymans  <wim@fluendo.com>
6598
6599         * gst/gstquery.c:
6600         * gst/gstquery.h:
6601         Remove old types
6602
6603 2005-07-07  Wim Taymans  <wim@fluendo.com>
6604
6605         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6606         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
6607         Allow subclasses to implement their own negotiation.
6608
6609 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
6610
6611         * docs/design/part-gstbin.txt:
6612         * docs/design/part-gstpipeline.txt:
6613           Update design notes to reflect the movement of
6614           responsibility for bus handling from GstPipeline to
6615           GstBin
6616
6617 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
6618
6619         * configure.ac:
6620           Remove unnecessary queue2/3/4 examples.
6621
6622 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
6623
6624         * examples/Makefile.am:
6625         * examples/helloworld/helloworld.c: (event_loop), (main):
6626         * examples/queue/queue.c: (event_loop), (main):
6627         * examples/queue2/queue2.c: (main):
6628           Update a couple of the examples to work again.
6629
6630         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
6631         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
6632          Spelling corrections and extra debug.
6633         
6634         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
6635         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
6636         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
6637         * gst/gstbin.h:
6638         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
6639         (gst_pipeline_change_state):
6640         * gst/gstpipeline.h:
6641           Move the bus handler for children to the GstBin, and create a
6642           separate bus for receiving messages from children to the one the
6643           bus sends 'upwards' on.
6644
6645 2005-07-06  Wim Taymans  <wim@fluendo.com>
6646
6647         * gst/base/README:
6648         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
6649         (gst_base_sink_handle_object), (gst_base_sink_loop),
6650         (gst_base_sink_change_state):
6651         * gst/base/gstbasesink.h:
6652         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6653         (gst_base_src_init), (gst_base_src_setcaps),
6654         (gst_base_src_getcaps), (gst_base_src_loop),
6655         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
6656         (gst_base_src_start), (gst_base_src_change_state):
6657         * gst/base/gstbasesrc.h:
6658         Make basesrc negotiate.
6659         Handle the case where preroll fails in basesink.
6660         Update README.
6661
6662 2005-07-06  Wim Taymans  <wim@fluendo.com>
6663
6664         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
6665         Implement the fixate function.
6666         Clean up acceptcaps.
6667
6668 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6669
6670         * docs/pwg/building-filterfactory.xml:
6671         * docs/pwg/pwg.xml:
6672           Remove never-written filter-factory chapter; I'll add the various
6673           base classes to part 4 ("other element types") later on.
6674
6675 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6676
6677         * docs/pwg/advanced-negotiation.xml:
6678         * docs/pwg/building-boiler.xml:
6679         * docs/pwg/building-pads.xml:
6680         * docs/pwg/pwg.xml:
6681         * examples/pwg/Makefile.am:
6682           Add a chapter on caps negotiation, simplify the original code
6683           samples a bit w.r.t. caps negotiation, add link to the advanced
6684           section. Add a bunch of examples showing different use cases of
6685           different types of caps negotiation. Upstream renegotiation isn't
6686           fully documented yet since nobody knows how that works.
6687
6688 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6689
6690         * check/gst/gstpad.c:
6691         * check/gstcheck.c:
6692         * gst/gstpad.c: (gst_pad_get_internal_links_default):
6693           if pad has no parent, return NULL as list of internal links
6694
6695 2005-07-05  Andy Wingo  <wingo@pobox.com>
6696
6697         * gst/elements/gstfilesrc.c:
6698         * gst/elements/gstfakesrc.c: 
6699         * gst/base/gstpushsrc.c:
6700         * gst/base/gstbasesrc.h: 
6701         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
6702         
6703 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
6704
6705         * Makefile.am:
6706           better report generation target (lcov needs a patch)
6707
6708 2005-07-05  Andy Wingo  <wingo@pobox.com>
6709
6710         * gst/elements, testsuite: Null if we got it...
6711
6712 2005-07-05  Wim Taymans  <wim@fluendo.com>
6713
6714         * configure.ac:
6715         * libs/gst/dataprotocol/Makefile.am:
6716         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
6717         * libs/gst/dataprotocol/dataprotocol.h:
6718         * pkgconfig/Makefile.am:
6719         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
6720         * pkgconfig/gstreamer-dataprotocol.pc.in:
6721         Ported dataprotol to 0.9. 
6722         Added pkgconfig files.
6723
6724 2005-07-05  Andy Wingo  <wingo@pobox.com>
6725
6726         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
6727         Default to returning TRUE for the case when tranform_caps returns
6728         a fixed caps, like for identity or volume.
6729
6730         * check/gst/gstbus.c (pound_bus_with_messages): 
6731         * check/gst/gstmessage.c (START_TEST): 
6732         * check/pipelines/simple_launch_lines.c (got_handoff): Application
6733         message API change.
6734
6735         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
6736         logic weaks here: always run transform_caps, trying passthrough
6737         operation only if the original caps intersects with the transform.
6738
6739         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
6740         source and sink caps.
6741
6742         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
6743         Intersect the peer caps with the pad template before going into
6744         transform_caps.
6745         (gst_base_transform_transform_caps): More debugging.
6746
6747         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
6748         src argument.
6749
6750 2005-07-04  Edward Hervey  <edward@fluendo.com>
6751
6752         * gst/gstutils.c:
6753         * gst/gstutils.h:
6754         (gst_pad_add_*_probe): now returns the signal id for better wrapping
6755         in bindings.
6756
6757 2005-07-04  Andy Wingo  <wingo@pobox.com>
6758
6759         * check/gst/gstpad.c: Only set explicit caps on pads.
6760
6761 2005-07-01  Andy Wingo  <wingo@pobox.com>
6762
6763         * tests/network-clock.scm: Commentary update.
6764
6765         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
6766         Didn't really make sense, not implementable with basetransform,
6767         etc.
6768         (gst_identity_transform): Unref inbuf via make_writable. Feeble
6769         attempt at implementing the sync property, needs an unlock method.
6770
6771         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
6772         New func, by default returns the same caps (the identity
6773         transformation).
6774         (gst_base_transform_getcaps): Uses transform_caps to return
6775         something sensible.
6776         (gst_base_transform_setcaps): Complicated logic to get caps on
6777         both pads, even if they are different, and to call set_caps once
6778         for every time both pads get their caps set.
6779         (gst_base_transform_handle_buffer): Give the ref to the transform
6780         function. Allows in-place modification of the buffer.
6781
6782         * gst/base/gstbasetransform.h (transform_caps): New class method.
6783         Given caps on one side, what can I do on the other.
6784         (set_caps): Take two caps, one for each side of the element.
6785
6786         * gst/gstpad.h:
6787         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
6788         caps in place. This is safe because we can check the mutability of
6789         the caps, and a good idea because fixate functions are just called
6790         as a matter of last resort. (Not actually implemented.)
6791         (gst_pad_set_caps): If the caps we're setting is actually the same
6792         as the existing pad caps, just update the pointer without calling
6793         setcaps. Assert that caps is either NULL or fixed, as per the
6794         docs.
6795
6796         * gst/gstghostpad.c: Update for fixate changes.
6797
6798 2005-07-02  Andy Wingo  <wingo@pobox.com>
6799
6800         * gst/gstcaps.c:
6801         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
6802         two refcounts makes it immutable, which is enough. Doc more.
6803
6804 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
6805
6806         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
6807           Put the mini_object into GValue as a mini_object,
6808           not a gpointer, since that's how we declared
6809           the signal.
6810
6811 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6812
6813         * examples/pwg/Makefile.am:
6814           Fix buildbot again.
6815
6816 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6817
6818         * docs/pwg/building-testapp.xml:
6819           Add extra check.
6820         * examples/pwg/Makefile.am:
6821           Fix buildbot.
6822
6823 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6824
6825         * configure.ac:
6826         * examples/Makefile.am:
6827         * examples/pwg/Makefile.am:
6828         * examples/pwg/extract.pl:
6829           Enable building the PWG examples.
6830         * docs/pwg/advanced-interfaces.xml:
6831           Add URI interface stub.
6832         * docs/pwg/advanced-types.xml:
6833         * docs/pwg/other-autoplugger.xml:
6834         * docs/pwg/appendix-porting.xml:
6835         * docs/pwg/pwg.xml:
6836           Add porting guide (mostly stubs), remove autoplugging (see ADM).
6837         * docs/pwg/building-boiler.xml:
6838         * docs/pwg/building-chainfn.xml:
6839         * docs/pwg/building-pads.xml:
6840         * docs/pwg/building-props.xml:
6841         * docs/pwg/building-state.xml:
6842         * docs/pwg/building-testapp.xml:
6843           Update the building-*.xml parts for 0.9 changes. All examples
6844           code blocks compile in examples/pwg/*.
6845
6846 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6847
6848         * docs/manual/advanced-autoplugging.xml:
6849         * docs/manual/appendix-checklist.xml:
6850         * docs/manual/appendix-integration.xml:
6851         * docs/manual/highlevel-components.xml:
6852           Fix playbin/decodebin examples, update docs a bit, mention bus
6853           instead of signals in various places, mention kmplayer and
6854           kaffeine since they have a working GStreamer backend in the KDE
6855           section.
6856
6857 2005-06-30  Wim Taymans  <wim@fluendo.com>
6858
6859         * CHANGES-0.9:
6860         * docs/design/draft-ghostpads.txt:
6861         * docs/design/draft-push-pull.txt:
6862         * docs/design/draft-query.txt:
6863         * docs/design/part-TODO.txt:
6864         * docs/design/part-query.txt:
6865         Added CHANGES-0.9 doc, updated status of other docs.
6866         
6867         * gst/gstquery.h:
6868         Remove "hmm" macro
6869
6870 2005-06-30  Wim Taymans  <wim@fluendo.com>
6871
6872         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
6873         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
6874         (gst_base_sink_change_state):
6875         * gst/base/gstbasesink.h:
6876         Some tweaks, only EOS and a buffer complete a preroll.
6877
6878 2005-06-30  Andy Wingo  <wingo@pobox.com>
6879
6880         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
6881         activate_push down to the internal pad as well.
6882
6883 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
6884
6885         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6886
6887         * gst/gsttaginterface.c:
6888           Some documentation fixes (#307394 and #307397).
6889
6890 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
6891
6892         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6893
6894         * gst/gstvalue.c: (gst_value_intersect_list):
6895           Fix memleak (#309125).
6896
6897 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6898
6899         * docs/manual/advanced-dataaccess.xml:
6900           Fix fakesrc example to compile; doesn't work, bug somewhere...?
6901         * docs/manual/basics-pads.xml:
6902           Add reference for filtered caps to above chapter.
6903
6904 2005-06-30  Wim Taymans  <wim@fluendo.com>
6905
6906         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
6907         (gst_bin_change_state):
6908         Probes are gone.
6909         Lame attempt at making the state change function a bit
6910         more readable.
6911
6912 2005-06-30  Wim Taymans  <wim@fluendo.com>
6913
6914         * docs/design/part-clocks.txt:
6915         * docs/design/part-element-sink.txt:
6916         * docs/design/part-events.txt:
6917         * docs/design/part-preroll.txt:
6918         * docs/design/part-states.txt:
6919         Some more tweeks and additions to the docs.
6920
6921 2005-06-30  Wim Taymans  <wim@fluendo.com>
6922
6923         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
6924         (default_have_data), (gst_pad_class_init), (gst_pad_init),
6925         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
6926         (gst_pad_check_pull_range), (gst_pad_get_range),
6927         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
6928         * gst/gstpad.h:
6929         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
6930         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
6931         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
6932         (gst_pad_remove_buffer_probe):
6933         Removed atomic operations, use existing LOCK.
6934         Move exception handling out of main code path.
6935
6936 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6937
6938         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
6939         (silly_return_true_function), (gst_pad_class_init),
6940         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
6941         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
6942         (gst_pad_send_event):
6943           Fix accumulator, add default value by using _emitv() instead
6944           of _emit() for signal emission.
6945
6946 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6947
6948         * docs/manual/advanced-dataaccess.xml:
6949         * examples/manual/Makefile.am:
6950           Add probe example.
6951         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
6952           Make work (??).
6953
6954 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
6955
6956         * gst/elements/gstfilesink.c: (gst_filesink_render):
6957           Simplify code so that we don't have to handle short
6958           writes and return GST_FLOW_ERROR if an error occured.
6959
6960 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6961
6962         * docs/gst/gstreamer-docs.sgml:
6963           Remove probes more.
6964
6965 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
6966
6967         * docs/gst/gstreamer-sections.txt:
6968         * docs/gst/tmpl/gstpad.sgml:
6969         * docs/gst/tmpl/gstprobe.sgml:
6970         * gst/Makefile.am:
6971         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
6972         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
6973         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
6974         (gst_pad_push_event), (gst_pad_send_event):
6975         * gst/gstpad.h:
6976         * gst/gstutils.c: (gst_pad_add_data_probe),
6977         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
6978         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
6979         (gst_pad_remove_buffer_probe):
6980         * gst/gstutils.h:
6981           Remove old probes, add new g-signal-based probes and some utility
6982           functions.
6983
6984 2005-06-29  Edward Hervey  <edward@fluendo.com>
6985
6986         * gst/gstelementfactory.c:
6987         * gst/gstutils.h:
6988         * gst/gstutils.c:
6989         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
6990         the definition to the header file.
6991
6992 2005-06-29  Andy Wingo  <wingo@pobox.com>
6993
6994         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
6995         plugins from the source directory.
6996
6997 2005-06-29  Wim Taymans  <wim@fluendo.com>
6998
6999         * docs/gst/tmpl/gstbuffer.sgml:
7000         * docs/gst/tmpl/gstclock.sgml:
7001         Some fixings for blantently wrong text.
7002
7003 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7004
7005         * check/Makefile.am:
7006         * gst/gst.c: (add_path_func), (init_pre):
7007         * gst/gstregistry.c: (gst_registry_add_path):
7008           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
7009           only scan the GST_PLUGIN_PATH locations, and not add
7010           system locations
7011
7012 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7013
7014         * docs/gst/gstreamer-sections.txt:
7015         * docs/gst/tmpl/gstbasesrc.sgml:
7016         * gst/gstelement.c:
7017         * gst/gstelement.h:
7018         * gst/gstevent.c:
7019         * gst/gstutils.c:
7020           doc fixes
7021
7022 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7023
7024         * docs/manual/advanced-autoplugging.xml:
7025           Fix autoplugging example.
7026
7027 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7028
7029         * docs/manual/advanced-autoplugging.xml:
7030         * docs/manual/mime-world.fig:
7031           Try to get autoplugging working, fix type detection. Fix text
7032           in hello-world image.
7033
7034 2005-06-29  Wim Taymans  <wim@fluendo.com>
7035
7036         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7037         (gst_base_sink_change_state):
7038         Small debug line.
7039
7040         * gst/gstclock.h:
7041         map SIGNAL and BROADCAST to the right function.
7042
7043         * gst/gstobject.h:
7044         Remove redundant braces.
7045
7046         * gst/gstpad.c: (gst_pad_set_caps):
7047         Don't call setcaps function when reseting caps to NULL.
7048
7049         * gst/gstsystemclock.c: (gst_system_clock_dispose),
7050         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
7051         (gst_system_clock_id_unschedule):
7052         Use BROADCAST as this is what we do.
7053
7054 2005-06-29  Wim Taymans  <wim@fluendo.com>
7055
7056         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7057         We are actually prerolling before commiting the state
7058         change. 
7059
7060 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7061
7062         * docs/manual/advanced-clocks.xml:
7063         * docs/manual/advanced-interfaces.xml:
7064         * docs/manual/advanced-metadata.xml:
7065         * docs/manual/advanced-position.xml:
7066         * docs/manual/advanced-schedulers.xml:
7067         * docs/manual/advanced-threads.xml:
7068         * docs/manual/appendix-porting.xml:
7069         * docs/manual/basics-bins.xml:
7070         * docs/manual/basics-bus.xml:
7071         * docs/manual/basics-elements.xml:
7072         * docs/manual/basics-helloworld.xml:
7073         * docs/manual/basics-pads.xml:
7074         * docs/manual/highlevel-components.xml:
7075         * docs/manual/manual.xml:
7076         * docs/manual/thread.fig:
7077           Update (until threads/scheduling) Application Development Manual;
7078           remove GstThread, add GstBus, add simple porting checklist, add
7079           documentation for tag writing, clocks, make all examples until this
7080           part compile and run.
7081         * examples/manual/Makefile.am:
7082           Update from changes to Application Development Manual; add bus
7083           example, remove thread example.
7084
7085 2005-06-28  Wim Taymans  <wim@fluendo.com>
7086
7087         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
7088         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
7089         (gst_bus_source_dispatch):
7090         Add debugging messages.
7091         Make internal methods static.
7092         Handle the case where the bus is flushed in the handler.
7093         
7094         * gst/gstelement.c: (gst_element_get_bus):
7095         Fix refcount in _get_bus();
7096
7097         * gst/gstpipeline.c: (gst_pipeline_change_state),
7098         (gst_pipeline_get_clock_func):
7099         Clock refcounting fixes.
7100         Handle the case where preroll timed out more gracefully.
7101         
7102         * gst/gstsystemclock.c: (gst_system_clock_dispose):
7103         Clean up the internal thread in dispose. This is needed
7104         for subclasses that actually get disposed.
7105         
7106         * gst/schedulers/threadscheduler.c:
7107         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
7108         (gst_thread_scheduler_dispose):
7109         Free thread pool in dispose.
7110
7111 2005-06-28  Andy Wingo  <wingo@pobox.com>
7112
7113         * tests/network-clock-utils.scm (debug, print-event): New utils.
7114
7115         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
7116         (*packet-loss*): Unified loss probability.
7117         (network-time): Report out-of-band events.
7118
7119         * tests/plot-data: Add support for out-of-band events. Hack it
7120         into this script instead of passing it down the pipe; should fix
7121         this later.
7122
7123 2005-06-28  Wim Taymans  <wim@fluendo.com>
7124
7125         * docs/gst/gstreamer.types:
7126         * docs/gst/tmpl/gstbasesrc.sgml:
7127         * docs/gst/tmpl/gstpad.sgml:
7128         Docs fixes.
7129
7130 2005-06-28  Wim Taymans  <wim@fluendo.com>
7131
7132         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
7133         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
7134         (gst_proxy_pad_do_fixatecaps):
7135         Correctly proxy the check_pull_range function.
7136
7137 2005-06-28  Andy Wingo  <wingo@pobox.com>
7138
7139         * tests/network-clock.scm: Removed need for slib.
7140         
7141 2005-06-28  Wim Taymans  <wim@fluendo.com>
7142
7143         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
7144         (gst_basesink_preroll_queue_flush):
7145         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
7146         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
7147         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
7148         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
7149         (gst_proxy_pad_set_property):
7150         * gst/gstpad.c:
7151         * gst/gstpad.h:
7152         * gst/gstqueue.c: (gst_queue_init):
7153         The deprecated pad loop function is removed now.
7154
7155 2005-06-28  Andy Wingo  <wingo@pobox.com>
7156
7157         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
7158         New parameters, simulate network packet loss.
7159
7160         * tests/network-clock-utils.scm: Initialize the RNG.
7161
7162 2005-06-28  Wim Taymans  <wim@fluendo.com>
7163
7164         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
7165         (gst_basesink_event), (gst_basesink_deactivate):
7166         Flushing the preroll queue always needs to unlock the waiters.
7167
7168 2005-06-28  Edward Hervey  <edward@fluendo.com>
7169
7170         * gst/gstpipeline.c: (gst_pipeline_send_event): 
7171         Wheen a seek was successful on a pipeline, set the stream_time to the
7172         seek offset in order to have a synchronized stream_time.
7173
7174 2005-06-28  Wim Taymans  <wim@fluendo.com>
7175
7176         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
7177         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
7178         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
7179         (gst_proxy_pad_do_fixatecaps):
7180         Call wrapper function instead of just calling the function
7181         pointers. This takes care of any locking and whatmore.
7182
7183 2005-06-28  Wim Taymans  <wim@fluendo.com>
7184
7185         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
7186         (gst_pad_pull_range):
7187         * gst/gstpad.h:
7188         CONNECTED -> LINKED.
7189
7190 2005-06-28  Andy Wingo  <wingo@pobox.com>
7191
7192         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
7193         source-munging commit!!!
7194
7195         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
7196         (gst_object_sink): Take gpointer arguments, not GstObject --
7197         avoids casts. Like GLib.
7198
7199         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
7200         activate.
7201
7202 2005-06-27  Andy Wingo  <wingo@pobox.com>
7203
7204         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
7205         remaining buffer.
7206
7207         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
7208         returns a sorted copy of the trace list.
7209         (gst_alloc_trace_print_live): New API, only prints traces with
7210         live objects. Sort the list.
7211         (gst_alloc_trace_print_all): Sort the list.
7212         (gst_alloc_trace_print): Align columns.
7213
7214         * gst/elements/gstttypefindelement.c:
7215         * gst/elements/gsttee.c:
7216         * gst/base/gstbasesrc.c:
7217         * gst/base/gstbasesink.c:
7218         * gst/base/gstbasetransform.c:
7219         * gst/gstqueue.c: Adapt for pad activation changes.
7220
7221         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
7222         sched.
7223         (gst_pipeline_dispose): Drop ref on sched.
7224
7225         * gst/gstpad.c (gst_pad_init): Set the default activate func.
7226         (gst_pad_activate_default): Push mode by default.
7227         (pre_activate_switch, post_activate_switch): New stubs, things to
7228         do before and after switching activation modes on pads.
7229         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
7230         the pad's activate function to choose which mode to activate.
7231         Shortcut on deactivation and call the right function directly.
7232         (gst_pad_activate_pull): New API, (de)activates a pad in pull
7233         mode.
7234         (gst_pad_activate_push): New API, same for push mode.
7235         (gst_pad_set_activate_function) 
7236         (gst_pad_set_activatepull_function) 
7237         (gst_pad_set_activatepush_function): Setters for new API.
7238
7239         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
7240         Trace all miniobjects.
7241         (gst_mini_object_make_writable): Unref the arg if we copy, like
7242         gst_caps_make_writable.
7243
7244         * gst/gstmessage.c (_gst_message_initialize): No trace init.
7245
7246         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
7247         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
7248         Adapt for new pad API.
7249
7250         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
7251
7252         * gst/gstelement.h:
7253         * gst/gstelement.c (gst_element_iterate_src_pads) 
7254         (gst_element_iterate_sink_pads): New API functions.
7255         
7256         * gst/gstelement.c (iterator_fold_with_resync): New utility,
7257         should fold into gstiterator.c in some form.
7258         (gst_element_pads_activate): Simplified via use of fold and
7259         delegation of decisions to gstpad->activate.
7260
7261         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
7262         help in debugging.
7263
7264         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
7265         class once in init, like gstmessage. Didn't run into this issue
7266         but it seems correct. Don't initialize a trace, gstminiobject does
7267         that.
7268
7269         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
7270         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
7271         to the bus.
7272         (assert_live_count): New util function, uses alloc traces to check
7273         cleanup.
7274
7275         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
7276         To be modified when unlink drops the internal pad.
7277
7278 2005-06-27  Wim Taymans  <wim@fluendo.com>
7279
7280         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
7281         (gst_bin_change_state):
7282         Cleanup the get_state() function a little, make sure it
7283         iterates the same set of elements.
7284         Added stub iterate_state_order().
7285
7286 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7287
7288         * docs/gst/gstreamer-docs.sgml:
7289         * docs/gst/gstreamer-sections.txt:
7290         * docs/gst/gstreamer.types:
7291         * docs/gst/tmpl/gstbasesink.sgml:
7292         * docs/gst/tmpl/gstbasesrc.sgml:
7293         * docs/gst/tmpl/gstbasetransform.sgml:
7294         * docs/gst/tmpl/gstelement.sgml:
7295         * docs/gst/tmpl/gstiterator.sgml:
7296         * gst/base/gstbasesrc.c:
7297         * gst/base/gstbasesrc.h:
7298         * gst/base/gstbasetransform.h:
7299         * gst/gstelement.c:
7300         * gst/gstiterator.h:
7301           adding basetransform and iterator docs
7302
7303 2005-06-27  Andy Wingo  <wingo@pobox.com>
7304
7305         * docs/design/part-activation.txt: Notes on how activation should
7306         work -- not quite implemented yet.
7307
7308 2005-06-25  Wim Taymans  <wim@fluendo.com>
7309
7310         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
7311         At least get the chain function correct, needs more
7312         fixing.
7313
7314 2005-06-25  Wim Taymans  <wim@fluendo.com>
7315
7316         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
7317         (gst_basesink_handle_object), (gst_basesink_event),
7318         (gst_basesink_do_sync), (gst_basesink_handle_event),
7319         (gst_basesink_change_state):
7320         * gst/gsttask.h:
7321         Right, two problems here: ghostpads don't take locks and
7322         glib _rec_mutex_lock_full() with depth==0 still locks.
7323         Catch illegal locking and g_warn them.
7324
7325 2005-06-25  Wim Taymans  <wim@fluendo.com>
7326
7327         * check/states/sinks.c: (START_TEST), (gst_object_suite):
7328         Have to check for completion now...
7329
7330 2005-06-25  Wim Taymans  <wim@fluendo.com>
7331
7332         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
7333         (gst_basesink_handle_object), (gst_basesink_event),
7334         (gst_basesink_do_sync), (gst_basesink_handle_event),
7335         (gst_basesink_change_state):
7336         * gst/gstpad.h:
7337         Unlock STREAM_LOCK whatever the recursion was.
7338
7339 2005-06-25  Wim Taymans  <wim@fluendo.com>
7340
7341         * gst/base/gstbasesink.c: (gst_basesink_set_property),
7342         (gst_basesink_preroll_queue_empty),
7343         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
7344         (gst_basesink_event), (gst_basesink_do_sync),
7345         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
7346         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
7347         (gst_basesink_change_state):
7348         Reworked the base sink, handle event and buffer serialisation
7349         correctly and removed possible deadlock.
7350         Handle EOS correctly.
7351
7352 2005-06-25  Wim Taymans  <wim@fluendo.com>
7353
7354         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
7355         (gst_pipeline_change_state):
7356         * tools/gst-launch.c: (check_intr), (event_loop), (main):
7357         Allow elements to post EOS in the state change function.
7358         Fix up -launch, make it exit the poll loop when the
7359         pipeline actually changed state.
7360         Fix up warning parsing in -launch.
7361
7362 2005-06-25  Wim Taymans  <wim@fluendo.com>
7363
7364         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
7365         (gst_tee_sink_activate):
7366         Core takes STREAM_LOCK for us now.
7367
7368 2005-06-25  Wim Taymans  <wim@fluendo.com>
7369
7370         * gst/gstelement.c: (gst_element_get_state_func),
7371         (gst_element_set_state):
7372         * gst/gstelement.h:
7373         * gst/gstmessage.c: (gst_message_parse_error),
7374         (gst_message_parse_warning):
7375         Keep track of current target state while performing a state
7376         change so that subclasses can do something interesting.
7377         Fix parsing of warning/error messages when GError is NULL.
7378
7379 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7380
7381         * docs/gst/Makefile.am:
7382         * docs/gst/gstreamer-docs.sgml:
7383         * docs/gst/gstreamer-sections.txt:
7384         * docs/gst/gstreamer.types:
7385         * docs/gst/tmpl/gstbasesink.sgml:
7386         * docs/gst/tmpl/gstbasesrc.sgml:
7387         * docs/gst/tmpl/gstbin.sgml:
7388         * docs/gst/tmpl/gstcompat.sgml:
7389         * docs/gst/tmpl/gstfakesink.sgml:
7390         * docs/gst/tmpl/gstfakesrc.sgml:
7391         * docs/gst/tmpl/gstfilesink.sgml:
7392         * docs/gst/tmpl/gstfilesrc.sgml:
7393         * docs/gst/tmpl/gstindex.sgml:
7394         * docs/manual/appendix-quotes.xml:
7395         * gst/base/gstbasesrc.h:
7396         * gst/elements/gstfakesrc.h:
7397         * gst/gstmessage.h:
7398           start pulling in base classes and elements in our docs
7399
7400 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
7401
7402         * docs/gst/Makefile.am:
7403         * docs/libs/Makefile.am:
7404           fixed make distcheck with gtk-doc 1.3
7405
7406 2005-06-23  Wim Taymans  <wim@fluendo.com>
7407
7408         * gst/gstelement.c: (gst_element_get_state_func),
7409         (gst_element_set_state), (gst_element_change_state):
7410         When the state did not change, also report NO_PREROLL
7411         when it matters.
7412
7413 2005-06-23  Wim Taymans  <wim@fluendo.com>
7414
7415         * gst/gstpad.c: (gst_pad_event_default):
7416         * gst/gstqueue.c: (gst_queue_loop):
7417         No unsafe task pausing please.
7418
7419 2005-06-23  Wim Taymans  <wim@fluendo.com>
7420
7421         * gst/schedulers/threadscheduler.c:
7422         (gst_thread_scheduler_task_start),
7423         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
7424         Ref the task before pushing it on the threadpool. This
7425         makes sure that we have a ref when the threadfunction is
7426         actually called.
7427
7428 2005-06-23  Andy Wingo  <wingo@pobox.com>
7429
7430         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
7431         offset is greater than the file's size.
7432
7433         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
7434         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
7435         * gst/gstobject.c (gst_object_class_init): Make the class lock
7436         recursive. Wim won't let me drop deep_notify. Decodebin works
7437         again, whoopdy doo.
7438
7439         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
7440         internal pad, and hacks accordingly. Doesn't do it on the target
7441         pad because we change its caps. Probably catches all cases of
7442         interest tho.
7443         (gst_ghost_pad_set_property): Connect to notify::caps as
7444         appropritate.
7445
7446         * tests/network-clock.scm (plot-simulation): Pipe data to the
7447         elite python skript.
7448
7449         * tests/network-clock-utils.scm (define-parameter): New macro,
7450         defines a parameter that can be set via the command line.
7451         (set-parameter!, parse-parameter-arguments): Command line args
7452         parser.
7453
7454         * tests/plot-data: Simple matplotlib-based plotter, takes input on
7455         stdin.
7456
7457 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
7458
7459         * gst/elements/gsttypefindelement.c:
7460         (gst_type_find_element_handle_event):
7461           Don't restart typefinding on a discont.
7462         * gst/gstelement.c: (gst_element_set_state):
7463           Debug spelling fix.
7464         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
7465           Allow changing mode of an active pad.
7466           Debug output fixes.
7467         * gst/registries/gstlibxmlregistry.c: (load_feature):
7468           Don't cast a static pad template to a normal pad template.
7469
7470 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7471
7472         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
7473         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
7474           remove gst_strtoll completely, since it didn't actually do
7475           anything more than what g_ascii_strtoull already does.
7476           check for range errors when deserializing
7477           do a cast for the unsigned cases; but further fixing needs
7478           a decision on what the interpretation of "(int)" and
7479           deserialization should be for values that fall outside the
7480           type's boundaries (ie, refuse, or interpret as casting)
7481
7482 2005-06-23  Wim Taymans  <wim@fluendo.com>
7483
7484         * check/Makefile.am:
7485         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
7486         * docs/design/part-live-source.txt:
7487         * docs/design/part-states.txt:
7488         * gst/base/gstbasesrc.c: (gst_basesrc_init),
7489         (gst_basesrc_set_live), (gst_basesrc_is_live),
7490         (gst_basesrc_get_range), (gst_basesrc_activate),
7491         (gst_basesrc_change_state):
7492         * gst/base/gstbasesrc.h:
7493         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
7494         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
7495         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
7496         * gst/gstelement.c: (gst_element_get_state_func),
7497         (gst_element_set_state):
7498         * gst/gstelement.h:
7499         * gst/gsttypes.h:
7500         * tools/gst-launch.c: (event_loop), (main):
7501         Added support for live sources and other elements that
7502         cannot do preroll.
7503         Updated design docs, added live-source design doc.
7504         Implemented live source functionality in basesrc
7505         Fix error condition in _bin_get_state()
7506         Implement live source handling in -launch.
7507         Added check for live sources.
7508         Fixed case in GstBin where elements were changed state
7509         multiple times.
7510
7511
7512 2005-06-23  Andy Wingo  <wingo@pobox.com>
7513
7514         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
7515         borken refcounting.
7516
7517         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
7518         gst_caps_replace takes care of this for us.
7519
7520         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
7521         gst_pad_set_caps on the target, not just its setcaps() function.
7522
7523         * tests/network-clock.scm: 
7524         * tests/network-clock-utils.scm: A network clock simulator.
7525         Something of an algorithmic testbed before doing something in C.
7526
7527 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7528
7529         * check/Makefile.am:
7530         * check/gst/capslist.h:
7531           copy over from 0.8, and add two with bitmasks specified with
7532           (int) 0xFF...
7533         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
7534           add test to parse everything from capslist.h
7535         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
7536         (main):
7537           add test for structure deserialization
7538         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
7539           add tests for deserialization of strings to int types
7540         * gst/gststructure.c: (gst_structure_nth_field_name):
7541         * gst/gststructure.h:
7542           add a way to get the name of a field referenced by index
7543         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
7544           instead of checking if the resulting long long lies between
7545           min and max, we check if the long long would fit into
7546           a number of bytes for the final type.
7547           This fixes cases where a string represents 2^32 - 1, which
7548           when cast to int would be the (valid) -1, but is bigger than
7549           G_MAXINT
7550
7551 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7552
7553         * gst/parse/grammar.y:
7554           add a log line for type deserialization
7555
7556 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7557
7558         * check/gst/gstvalue.c: (START_TEST):
7559         * gst/gstvalue.c: (gst_value_deserialize):
7560           return long long, not int, so gint64 deserialization actually
7561           works.  Is there any flag that makes the compiler check this ?
7562           Fixes #308559
7563
7564 2005-06-22  Wim Taymans  <wim@fluendo.com>
7565
7566         * gst/gstbuffer.h:
7567         Added convenience macros for setting buffers in GValue.
7568
7569 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7570
7571         * check/gst/.cvsignore:
7572         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
7573           add a test deserializing int64, and comment part out because
7574           it fails, yay !
7575
7576 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7577
7578         * check/Makefile.am:
7579         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
7580         * testsuite/Makefile.am:
7581         * testsuite/caps/Makefile.am:
7582         * testsuite/caps/value_serialize.c:
7583         * testsuite/test_gst_init.c:
7584           move a value_serialize test over
7585
7586 2005-06-20  Wim Taymans  <wim@fluendo.com>
7587
7588         * gst/gstpad.c:
7589         Small doc updates.
7590         
7591         * gst/gstvalue.c: (gst_value_compare_buffer),
7592         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
7593         (gst_value_compare_flags), (gst_value_serialize_flags),
7594         (gst_value_deserialize_flags), (_gst_value_initialize):
7595         Fix serialisation of buffers, they are not boxed types anymore
7596
7597 2005-06-20  Wim Taymans  <wim@fluendo.com>
7598
7599         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
7600         Testcase to show error in buffer-on-caps serialisation.
7601
7602 2005-06-20  Andy Wingo  <wingo@pobox.com>
7603
7604         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
7605         will be adding to later.
7606
7607         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
7608         if its socks fill with rocks.
7609         (gst_system_clock_obtain): Set the name on object construction.
7610         Avoid double-checked locking.
7611
7612 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
7613
7614         * gst/gsturi.c: (gst_element_make_from_uri):
7615           Fix potential endless loop.
7616
7617 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7618
7619         * check/Makefile.am:
7620           add gsttag
7621         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
7622         (main):
7623           move over from testsuite dir and clean up
7624         * configure.ac:
7625         * gst/gsttag.c:
7626         * testsuite/Makefile.am:
7627         * testsuite/tags/.cvsignore:
7628         * testsuite/tags/Makefile.am:
7629         * testsuite/tags/merge.c:
7630           remove testsuite/tags
7631
7632 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7633
7634         * docs/gst/gstreamer-sections.txt:
7635         * docs/gst/tmpl/gstenumtypes.sgml:
7636         * win32/gstenumtypes.c:
7637           clean up documentation build a little
7638
7639 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7640
7641         * check/gstcheck.h:
7642           add macros for checking refcounts on objects and caps
7643         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
7644           add some more unit tests
7645         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
7646         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
7647           fix leaked refcounts (I hope :)) so unittest works
7648         * gst/gstpad.h:
7649           whitespace removal
7650
7651 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7652
7653         * configure.ac: back to HEAD
7654
7655 === release 0.9.1 ===
7656
7657 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7658
7659         * NEWS:
7660         * RELEASE:
7661           updated
7662
7663 2005-06-17  Andy Wingo  <wingo@pobox.com>
7664
7665         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
7666         assert; it's always possible that the pad gets deactivated in
7667         between the checks in gstpad.c and the implementation. Rely on
7668         finish_preroll() to return a FLUSHING or similar instead of on the
7669         assert.
7670         
7671         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
7672         clock and post an EOS message if we come out of finish_preroll in
7673         the playing state.
7674
7675 2005-06-16  David Schleef  <ds@schleef.org>
7676
7677         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7678         (gst_capsfilter_set_property): Allow NULL as possible value
7679         for filter_caps property, indicating GST_CAPS_ANY.
7680
7681 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7682
7683         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
7684           fix debug output
7685         * gst/schedulers/Makefile.am:
7686           use libgst prefix
7687         * gstreamer.spec.in:
7688           fix spec for it
7689
7690 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7691
7692         * gstreamer.spec.in:
7693           clean up
7694
7695 2005-06-08  Andy Wingo  <wingo@pobox.com>
7696
7697         * gst/gstutils.c: RPAD fixes all around.
7698         (gst_element_link_pads): Refcounting fixes.
7699
7700         * tools/gst-inspect.c:
7701         * tools/gst-xmlinspect.c:
7702         * parse/grammar.y:
7703         * gst/base/gsttypefindhelper.c:
7704         * gst/base/gstbasesink.c:
7705         * gst/gstqueue.c: RPAD fixes.
7706
7707         * gst/gstghostpad.h:
7708         * gst/gstghostpad.c: New ghost pad implementation as full proxy
7709         pads. The tricky thing is they provide both source and sink
7710         interfaces, since they proxy the internal pad for the external
7711         pad, and vice versa. Implement with lower-level ProxyPad objects,
7712         with the interior proxy pad as a child of the exterior ghost pad.
7713         Should write a doc on this.
7714         
7715         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
7716         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
7717         gst_object API.
7718         
7719         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
7720         pads are real pads. No ghost pads in this file. Not documenting
7721         the myriad s/RPAD/PAD/ and REALIZE fixes.
7722         (gst_pad_class_init): Add properties for "direction" and
7723         "template". Both are construct-only, so they can't change during
7724         the life of the pad. Fixes properly deriving from GstPad.
7725         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
7726         derived objects, just set properties when creating the objects via
7727         g_object_new.
7728         (gst_pad_get_parent): Implement as a function, return NULL if the
7729         parent is not an element.
7730         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
7731         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
7732         
7733         * gst/gstobject.c (gst_object_class_init): Make name a construct
7734         property. Don't set it in the object init.
7735
7736         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
7737         with UNKNOWN direction.
7738         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
7739         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
7740         (gst_element_remove_pad): Remove ghost-pad special cases.
7741         (gst_element_pads_activate): Remove rpad cruft.
7742
7743         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
7744         catch the pad's-parent-not-an-element case.
7745
7746         * gst/gst.h: Include gstghostpad.h.
7747
7748         * gst/gst.c (init_post): No more real, ghost pads.
7749
7750         * gst/Makefile.am: Add gstghostpad.[ch].
7751
7752         * check/Makefile.am:
7753         * check/gst/gstbin.c:
7754         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
7755         into a bin creates ghost pads, and that the refcounts are right.
7756         Partly moved from gstbin.c.
7757
7758 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7759
7760         * check/gst-libs/.cvsignore:
7761         * check/gst/.cvsignore:
7762         * check/pipelines/.cvsignore:
7763           ignore more
7764         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
7765         (START_TEST), (cleanup_suite), (main):
7766           add some tests related to cleanup after running pipelines
7767
7768 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7769
7770         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
7771           add a testsuite for GstBuffer
7772
7773 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
7774
7775         * gst/gstminiobject.h:
7776           add defines for accessing the refcount
7777
7778 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
7779
7780         * Makefile.am: added support for html unit test coverage reports
7781
7782 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
7783
7784         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
7785           Free existing caps if the capsfilter changes. Add a FIXME about
7786           setting those caps on the pads.
7787
7788         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
7789           Before adding a ghost pad to a parent bin, check that there isn't
7790           already one for the element on the bin. Prevents infinite recursion
7791           when using decodebin in parse pipelines. Andy says he'll rewrite the
7792           way this works anyway, so ignore the hack.
7793
7794 2005-06-02  Andy Wingo  <wingo@pobox.com>
7795
7796         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
7797         file size, pass it on to the type find helper.
7798
7799         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
7800         segment_start and segment_end properly according to the seek
7801         method. Segment_end is still a bit flaky because offset can be
7802         negative for CUR and END cases, but it takes -1 as an "unset"
7803         value.
7804
7805 2005-06-02  Wim Taymans  <wim@fluendo.com>
7806
7807         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
7808         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
7809         (gst_basesink_activate):
7810         * gst/base/gstbasesink.h:
7811         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
7812         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
7813         (gst_pad_query), (gst_pad_start_task):
7814         * gst/gstpad.h:
7815         * gst/gstqueue.c: (gst_queue_bufferalloc),
7816         (gst_queue_handle_sink_event), (gst_queue_chain):
7817         Bufferalloc: return GstFlowReturn to more accuratly report
7818         why allocation failed.
7819
7820 2005-06-02  Wim Taymans  <wim@fluendo.com>
7821
7822         * gst/gstpipeline.c: (gst_pipeline_send_event):
7823         Take snapshot of state without blocking.
7824
7825 2005-06-02  Wim Taymans  <wim@fluendo.com>
7826
7827         * docs/design/part-TODO.txt:
7828         * docs/design/part-caps.txt:
7829         * docs/design/part-clocks.txt:
7830         * docs/design/part-negotiation.txt:
7831         * docs/design/part-preroll.txt:
7832         Small doc updates 
7833
7834 2005-05-30  Wim Taymans  <wim@fluendo.com>
7835
7836         * gst/elements/gstidentity.c: (gst_identity_event),
7837         (gst_identity_transform), (gst_identity_get_property):
7838         Protect last_message property as it is accessed from
7839         multiple threads.
7840
7841 2005-05-30  Wim Taymans  <wim@fluendo.com>
7842
7843         * gst/gstelement.c: (gst_element_init),
7844         (gst_element_pads_activate), (gst_element_change_state):
7845         Slicker pad activation code.
7846
7847 2005-05-30  Wim Taymans  <wim@fluendo.com>
7848
7849         * gst/Makefile.am:
7850         * gst/gstelement.h:
7851         * gst/gstelementfactory.h:
7852         * gst/gsttypes.h:
7853         Move elementfactory methods to separate .h file.
7854
7855 2005-05-30  Wim Taymans  <wim@fluendo.com>
7856
7857         * docs/design/part-overview.txt:
7858         * gst/gstsystemclock.h:
7859         Small typo fixes, doc updates.
7860
7861 2005-05-30  Wim Taymans  <wim@fluendo.com>
7862
7863         * gst/gst.c: (gst_init_get_popt_table), (init_post),
7864         (init_popt_callback):
7865         Remove cpu-opt flag.
7866
7867 2005-05-30  Wim Taymans  <wim@fluendo.com>
7868
7869         * gst/gstbuffer.c: (gst_subbuffer_finalize),
7870         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
7871         * gst/gstbuffer.h:
7872         Avoid typechecking in places where not needed.
7873         Added accessor for malloc_data.
7874
7875 2005-05-30  Wim Taymans  <wim@fluendo.com>
7876
7877         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
7878         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
7879         (gst_pad_configure_sink), (gst_pad_configure_src),
7880         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
7881         (gst_pad_start_task):
7882         Propagate errors from _set_caps() in configure_src/sink
7883         functions instead of returning TRUE.
7884         FLUSH events can travel up and downstream
7885
7886
7887 2005-05-30  Wim Taymans  <wim@fluendo.com>
7888
7889         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
7890         (gst_basesink_activate):
7891         Handle EOS in preroll.
7892
7893 2005-05-30  Wim Taymans  <wim@fluendo.com>
7894
7895         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7896         (gst_queue_loop), (gst_queue_handle_src_event):
7897         Remove old pieces of code
7898         Flushing the queue in an upstream event is a very bad idea.
7899
7900 2005-05-26  Andy Wingo  <wingo@pobox.com>
7901
7902         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
7903         gst_value_set_mini_object so as to add a ref on the object (which
7904         will be removed when the value is unset).
7905
7906         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
7907         arg type in ::handoff.
7908
7909         * gst/gstelement.c (gst_element_change_state): Also deactivate
7910         pads in READY->NULL, just in case the element didn't make it to
7911         PAUSED. Wingo tested, Wim approved.
7912
7913 2005-05-26  Wim Taymans  <wim@fluendo.com>
7914
7915         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
7916         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
7917         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
7918         A flushing pad cannot be used to alloc_buffer from.
7919
7920 2005-05-26  Wim Taymans  <wim@fluendo.com>
7921
7922         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
7923         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
7924         (gst_bus_source_dispatch), (gst_bus_source_finalize),
7925         (gst_bus_create_watch), (gst_bus_add_watch_full):
7926         * gst/gstbus.h:
7927         Implement a real GSource and use g_main_context_wakeup() to
7928         signal new messages instead of the socketpair.
7929
7930 2005-05-25  Wim Taymans  <wim@fluendo.com>
7931
7932         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
7933         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
7934         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
7935         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
7936         (gst_pad_send_event), (gst_pad_start_task):
7937         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
7938         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
7939         (gst_queue_sink_activate), (gst_queue_src_activate),
7940         (gst_queue_change_state):
7941         * gst/gstqueue.h:
7942         Fix state changes for non sinks. We now change sinks, then elements
7943         with unconnected srcpads, then the rest.
7944         More efficient queue unlocking in flush and state changes.
7945         Set the pad activate mode even if it does not have an activate
7946         function.
7947
7948 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
7949
7950         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
7951           Don't go in pull mode for non-seekable sources.
7952         * gst/elements/gsttypefindelement.h:
7953         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
7954         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
7955         (free_entry), (stop_typefinding),
7956         (gst_type_find_element_handle_event), (find_peek),
7957         (gst_type_find_element_chain), (do_pull_typefind),
7958         (gst_type_find_element_change_state):
7959           Allow typefinding (w/o seeking) in push-mode, simplified version
7960           of what was in 0.8.
7961         * gst/gstutils.c: (gst_buffer_join):
7962         * gst/gstutils.h:
7963           gst_buffer_join() from 0.8.
7964
7965 2005-05-25  Wim Taymans  <wim@fluendo.com>
7966
7967         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
7968         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
7969         (gst_pad_send_event), (gst_pad_start_task):
7970         Disable attempt at mode switching until it is figured out.
7971
7972 2005-05-25  Wim Taymans  <wim@fluendo.com>
7973
7974         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
7975         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
7976         (gst_basesink_finish_preroll), (gst_basesink_chain),
7977         (gst_basesink_loop), (gst_basesink_activate),
7978         (gst_basesink_change_state):
7979         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
7980         (gst_basesrc_get_range), (gst_basesrc_loop),
7981         (gst_basesrc_activate):
7982         * gst/elements/gsttee.c: (gst_tee_sink_activate):
7983         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
7984         (gst_real_pad_init), (gst_real_pad_set_property),
7985         (gst_real_pad_get_property), (gst_pad_set_active),
7986         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
7987         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
7988         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
7989         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
7990         (gst_pad_event_default_dispatch), (gst_pad_event_default),
7991         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
7992         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
7993         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
7994         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
7995         (gst_pad_stop_task):
7996         * gst/gstpad.h:
7997         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7998         (gst_queue_loop), (gst_queue_src_activate):
7999         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
8000         (gst_task_get_state):
8001         * gst/gsttask.h:
8002         * gst/schedulers/threadscheduler.c:
8003         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
8004         Implement gst_pad_pause/start/stop_task(), take STREAM lock
8005         in task function.
8006         Remove ACTIVE pad flag, use FLUSHING everywhere
8007         Added _pad_chain(), _pad_get_range() to call chain/getrange 
8008         functions.
8009         Add locks around IS_FLUSHING when reading.
8010         Take STREAM lock in chain(), get_range() functions so plugins
8011         don't need to take it anymore.
8012         
8013
8014
8015 2005-05-25  Wim Taymans  <wim@fluendo.com>
8016
8017         * tools/gst-launch.c: (event_loop):
8018         Unref message after using its contents instead of
8019         before.
8020
8021 2005-05-24  Wim Taymans  <wim@fluendo.com>
8022
8023         * docs/design/draft-ghostpads.txt:
8024         * docs/design/draft-push-pull.txt:
8025         * docs/design/draft-query.txt:
8026         * docs/design/part-overview.txt:
8027         Docs updates, added general overview doc.
8028
8029 2005-05-21  David Schleef  <ds@schleef.org>
8030
8031         * docs/gst/tmpl/old/GstBin.sgml:
8032         * docs/gst/tmpl/old/GstBuffer.sgml:
8033         * docs/gst/tmpl/old/GstCaps.sgml:
8034         * docs/gst/tmpl/old/GstClock.sgml:
8035         * docs/gst/tmpl/old/GstCompat.sgml:
8036         * docs/gst/tmpl/old/GstData.sgml:
8037         * docs/gst/tmpl/old/GstElement.sgml:
8038         * docs/gst/tmpl/old/GstEvent.sgml:
8039         * docs/gst/tmpl/old/GstIndex.sgml:
8040         * docs/gst/tmpl/old/GstStructure.sgml:
8041         * docs/gst/tmpl/old/GstTag.sgml:
8042         * docs/gst/tmpl/old/cothreads.sgml:
8043         * docs/gst/tmpl/old/cothreads_compat.sgml:
8044         * docs/gst/tmpl/old/gettext.sgml:
8045         * docs/gst/tmpl/old/gobject2gtk.sgml:
8046         * docs/gst/tmpl/old/grammar.tab.sgml:
8047         * docs/gst/tmpl/old/gst-i18n-app.sgml:
8048         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
8049         * docs/gst/tmpl/old/gst_private.sgml:
8050         * docs/gst/tmpl/old/gstaggregator.sgml:
8051         * docs/gst/tmpl/old/gstarch.sgml:
8052         * docs/gst/tmpl/old/gstatomic_impl.sgml:
8053         * docs/gst/tmpl/old/gstbufferstore.sgml:
8054         * docs/gst/tmpl/old/gstdata_private.sgml:
8055         * docs/gst/tmpl/old/gstdisksink.sgml:
8056         * docs/gst/tmpl/old/gstdisksrc.sgml:
8057         * docs/gst/tmpl/old/gstelementfactory.sgml:
8058         * docs/gst/tmpl/old/gstextratypes.sgml:
8059         * docs/gst/tmpl/old/gstfakesink.sgml:
8060         * docs/gst/tmpl/old/gstfakesrc.sgml:
8061         * docs/gst/tmpl/old/gstfdsink.sgml:
8062         * docs/gst/tmpl/old/gstfdsrc.sgml:
8063         * docs/gst/tmpl/old/gstfilesink.sgml:
8064         * docs/gst/tmpl/old/gstfilesrc.sgml:
8065         * docs/gst/tmpl/old/gsthttpsrc.sgml:
8066         * docs/gst/tmpl/old/gstidentity.sgml:
8067         * docs/gst/tmpl/old/gstindexfactory.sgml:
8068         * docs/gst/tmpl/old/gstmarshal.sgml:
8069         * docs/gst/tmpl/old/gstmd5sink.sgml:
8070         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
8071         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
8072         * docs/gst/tmpl/old/gstpadtemplate.sgml:
8073         * docs/gst/tmpl/old/gstpipefilter.sgml:
8074         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
8075         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
8076         * docs/gst/tmpl/old/gstshaper.sgml:
8077         * docs/gst/tmpl/old/gstspider.sgml:
8078         * docs/gst/tmpl/old/gstspideridentity.sgml:
8079         * docs/gst/tmpl/old/gststatistics.sgml:
8080         * docs/gst/tmpl/old/gsttee.sgml:
8081         * docs/gst/tmpl/old/gsttimecache.sgml:
8082         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
8083         * docs/gst/tmpl/old/gstxmlregistry.sgml:
8084         * docs/gst/tmpl/old/gthread-cothreads.sgml:
8085         * docs/gst/tmpl/old/types.sgml:
8086           I didn't intend to add these or check them in.
8087
8088 2005-05-19  David Schleef  <ds@schleef.org>
8089
8090         * configure.ac: Use -no-common everywhere.  In a sane world, it
8091           would be the default in libtool, because without it, you can't
8092           build DLLs on Windows.
8093         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
8094         * docs/gst/gstreamer-sections.txt:
8095         * docs/gst/tmpl/gstcpu.sgml:
8096         * docs/gst/tmpl/gstdata.sgml:
8097         * docs/gst/tmpl/gstthread.sgml:
8098
8099 2005-05-19  David Schleef  <ds@schleef.org>
8100
8101         * gst/gstminiobject.c: (gst_value_set_mini_object),
8102         (gst_value_take_mini_object), (gst_value_get_mini_object):
8103         * gst/gstminiobject.h: Add GValue set/get functions.
8104
8105 2005-05-19  Wim Taymans  <wim@fluendo.com>
8106
8107         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
8108         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
8109         (gst_subbuffer_init), (gst_buffer_is_span_fast):
8110         * gst/gstbuffer.h:
8111         * gst/gstbus.c: (gst_bus_post):
8112         * gst/gstelement.c: (gst_element_get_random_pad):
8113         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
8114         Make subbufer unref the parent in finalize.
8115         some more debugging info.
8116
8117
8118 2005-05-19  Wim Taymans  <wim@fluendo.com>
8119
8120         * gst/base/gstbasesink.c: (gst_basesink_class_init),
8121         (gst_basesink_init), (gst_basesink_finalize),
8122         (gst_basesink_activate), (gst_basesink_change_state):
8123         Don't free preroll queue too early.
8124
8125 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8126
8127         * gst/Makefile.am:
8128         * gst/ROADMAP:
8129           Hi, I'm outdated. Please shoot me.
8130
8131 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8132
8133         * gst/gstpipeline.c: (gst_pipeline_send_event):
8134           Do not access variables after they have been deleted.
8135
8136 2005-05-19  Wim Taymans  <wim@fluendo.com>
8137
8138         * tools/gst-inspect.c: (print_plugin_features):
8139         A plugin feature does unfortunatly not use the
8140         object name yet...
8141
8142 2005-05-18  Wim Taymans  <wim@fluendo.com>
8143
8144         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
8145         Port _span() functions to new subbuffers.
8146
8147 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8148
8149         * gst/gstbin.c: (gst_bin_add_func):
8150           Fix clock settery in bins when adding kids after the clock has
8151           been selected.
8152
8153 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8154
8155         * gst/elements/gstidentity.c: (gst_identity_class_init):
8156           Workaround until signals support GstMiniObject.
8157
8158 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
8159
8160         * gst/gstbuffer.c:
8161         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
8162
8163 2005-05-18  Wim Taymans  <wim@fluendo.com>
8164
8165         * gst/base/Makefile.am:
8166         * gst/base/gstadapter.c: (gst_adapter_base_init),
8167         (gst_adapter_class_init), (gst_adapter_init),
8168         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
8169         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
8170         (gst_adapter_flush), (gst_adapter_available),
8171         (gst_adapter_available_fast):
8172         * gst/base/gstadapter.h:
8173         Ported and added adapter to the base classes.
8174
8175 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8176
8177         * gst/gst.c:
8178         * gst/gstmessage.c:
8179           Make sure the class is reffed/unreffed once before threads can be
8180           used.  Fixes #304551.
8181
8182 2005-05-17  Wim Taymans  <wim@fluendo.com>
8183
8184         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
8185         (gst_basesink_chain_unlocked), (gst_basesink_activate):
8186         * gst/gstminiobject.c: (gst_mini_object_get_type),
8187         (gst_mini_object_free):
8188         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
8189         (gst_pad_push), (gst_pad_push_event):
8190         * gst/gstqueue.c: (gst_queue_change_state):
8191         Don't queue buffers in basesink when we are flushing.
8192         Unref buffer when flushing in basesink.
8193         Flush queue when going to READY
8194         Unref buffer when _push() returns an error.
8195         Don't free MiniObject instance when refcount is incremented
8196         in _finalize() so that we can recover objects.
8197
8198 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8199
8200         * docs/manual/advanced-schedulers.xml:
8201         * docs/manual/appendix-checklist.xml:
8202         * docs/pwg/advanced-clock.xml:
8203         * docs/pwg/advanced-interfaces.xml:
8204         * docs/pwg/advanced-request.xml:
8205         * docs/pwg/advanced-types.xml:
8206         * docs/pwg/intro-preface.xml:
8207         * examples/plugins/example.c: (gst_example_get_type),
8208         (gst_example_class_init), (gst_example_chain),
8209         (gst_example_set_property), (gst_example_get_property),
8210         (gst_example_change_state), (plugin_init):
8211         * examples/plugins/example.h:
8212           small doc fixes
8213
8214 2005-05-17  Wim Taymans  <wim@fluendo.com>
8215
8216         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
8217         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
8218         * gst/gstqueue.c: (gst_queue_change_state):
8219         Clear queue when going to READY.
8220         Remove IN_SETCAPS flag too.
8221
8222 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
8223
8224         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
8225           Remove implicit cast from gboolean to GstElementStateReturn;
8226           make sure we still return failure in paused => ready case if
8227           the parent class fails to change state and our own stop 
8228           vfunc succeeds.
8229
8230 2005-05-17  Wim Taymans  <wim@fluendo.com>
8231
8232         * tools/gst-launch.c: (event_loop):
8233         Message was unreffed too soon.
8234
8235 2005-05-16  Andy Wingo  <wingo@pobox.com>
8236
8237         * gst/gstbin.c (sink_iterator_filter): Err... um...
8238
8239         * check/gst/gstbin.c (test_ghost_pads): New test for the
8240         ghosting-if-elements-not-in-same-bin behavior.
8241
8242 2005-05-16  David Schleef  <ds@schleef.org>
8243
8244         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
8245         accessing refcount directly.
8246
8247 2005-05-15  David Schleef  <ds@schleef.org>
8248
8249         * check/Makefile.am: remove GstData checks
8250         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
8251         * gst/Makefile.am: add miniobject, remove data
8252         * gst/gst.h: add miniobject, remove data
8253         * gst/gstdata.c: remove
8254         * gst/gstdata.h: remove
8255         * gst/gstdata_private.h: remove
8256         * gst/gsttypes.h: remove GstEvent and GstMessage
8257         * gst/gstelement.c: (gst_element_post_message): fix for API changes
8258         * gst/gstmarshal.list: change BOXED -> OBJECT
8259
8260         Implement GstMiniObject.
8261         * gst/gstminiobject.c:
8262         * gst/gstminiobject.h:
8263
8264         Modify to be subclasses of GstMiniObject.
8265         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
8266         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
8267         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
8268         (gst_subbuffer_get_type), (gst_subbuffer_init),
8269         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
8270         (gst_buffer_span):
8271         * gst/gstbuffer.h:
8272         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
8273         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
8274         (_gst_event_copy), (gst_event_new):
8275         * gst/gstevent.h:
8276         * gst/gstmessage.c: (_gst_message_initialize),
8277         (gst_message_get_type), (gst_message_class_init),
8278         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
8279         (gst_message_new), (gst_message_new_error),
8280         (gst_message_new_warning), (gst_message_new_tag),
8281         (gst_message_new_state_changed), (gst_message_new_application):
8282         * gst/gstmessage.h:
8283         * gst/gstprobe.c: (gst_probe_perform),
8284         (gst_probe_dispatcher_dispatch):
8285         * gst/gstprobe.h:
8286         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
8287         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
8288         (_gst_query_copy), (gst_query_new):
8289
8290         Update elements for GstData -> GstMiniObject changes
8291         * gst/gstquery.h:
8292         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
8293         (gst_queue_chain), (gst_queue_loop):
8294         * gst/elements/gstbufferstore.c:
8295         (gst_buffer_store_add_buffer_func),
8296         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
8297         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
8298         (gst_fakesink_render):
8299         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
8300         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
8301         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
8302         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
8303         (gst_filesrc_create_read):
8304         * gst/elements/gstidentity.c: (gst_identity_class_init):
8305         * gst/elements/gsttypefindelement.c:
8306         (gst_type_find_element_src_event), (free_entry_buffers),
8307         (gst_type_find_element_handle_event):
8308         * libs/gst/dataprotocol/dataprotocol.c:
8309         (gst_dp_header_from_buffer):
8310         * libs/gst/dataprotocol/dataprotocol.h:
8311         * libs/gst/dataprotocol/dp-private.h:
8312
8313 2005-05-15  David Schleef  <ds@schleef.org>
8314
8315         * gst/elements/gstelements.c: Don't include headers that were
8316         just removed.
8317
8318 2005-05-15  David Schleef  <ds@schleef.org>
8319
8320         * gst/elements/Makefile.am: Remove some elements that don't
8321         need to be in the core (or even exist at all).
8322         * gst/elements/gstaggregator.c:
8323         * gst/elements/gstaggregator.h:
8324         * gst/elements/gstmd5sink.c:
8325         * gst/elements/gstmd5sink.h:
8326         * gst/elements/gstmultifilesrc.c:
8327         * gst/elements/gstmultifilesrc.h:
8328         * gst/elements/gstpipefilter.c:
8329         * gst/elements/gstpipefilter.h:
8330         * gst/elements/gstshaper.c:
8331         * gst/elements/gstshaper.h:
8332         * gst/elements/gststatistics.c:
8333         * gst/elements/gststatistics.h:
8334         * po/POTFILES.in: Remove above files.
8335
8336 2005-05-14  Andy Wingo  <wingo@pobox.com>
8337
8338         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
8339         so as to get the refs right.
8340         (sink_iterator_filter): New function, wraps bin_element_is_sink,
8341         unreffing objects that don't pass the filter.
8342
8343         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
8344         gst_element_set_bus.
8345         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
8346         normal cases, this will destroy the bus.
8347
8348         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
8349         object.
8350
8351         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
8352         has no sinks.
8353
8354 2005-05-13  Andy Wingo  <wingo@pobox.com>
8355
8356         * gst/gstutils.c (gst_element_link_pads): Instead of calling
8357         gst_pad_link, call pad_link_maybe_ghosting,
8358         (pad_link_maybe_ghosting): Links pads, making sure that the
8359         elements being linked are in the same bin.
8360         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
8361         Helpers for pad_link_maybe_ghosting.
8362
8363 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
8364
8365         * configure.ac:
8366           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
8367
8368 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
8369
8370         * docs/design/part-element-source.txt:
8371           Mention GstPushSrc
8372
8373 2005-05-12  Wim Taymans  <wim@fluendo.com>
8374
8375         * gst/base/gstbasesink.c: (gst_basesink_init),
8376         (gst_basesink_activate):
8377         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
8378         (gst_basesrc_is_seekable):
8379         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8380         (bin_element_is_sink), (gst_bin_change_state):
8381         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
8382         * gst/gstelement.h:
8383         Identify sinks by their flag to avoid overly complicated
8384         checks (fow now).
8385         Do state changes even for elements not reachable from the
8386         sinks.
8387         BaseSink is a sink now :)
8388         Some more debugging info in the basesrc.
8389
8390
8391 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8392
8393         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
8394           Implement _query on a bin, similar to _send_event.
8395
8396 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
8397
8398         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
8399           Discont event offset format should be GST_FORMAT_BYTES,
8400           not GST_FORMAT_TIME.
8401
8402 2005-05-12  Wim Taymans  <wim@fluendo.com>
8403
8404         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
8405         Same fix as Ronald's but without the signal. 
8406
8407 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8408
8409         * gst/gstutils.c: (gst_element_query_position):
8410           No, an element is not a pad.
8411
8412 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8413
8414         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
8415         (gst_bin_get_state):
8416           If a child is removed from a bin while we remove the child from
8417           the bin and while we're retrieving its state, signal this to the
8418           get_state function so we abort the wait (instead of waiting for
8419           a timeout) and can immediately re-iterate over all other elements.
8420
8421 2005-05-12  Wim Taymans  <wim@fluendo.com>
8422
8423         * gst/base/Makefile.am:
8424         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
8425         (gst_basesrc_start):
8426         * gst/base/gstbasesrc.h:
8427         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
8428         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
8429         (gst_pushsrc_init), (gst_pushsrc_create):
8430         * gst/base/gstpushsrc.h:
8431         Added is_seekable to BaseSrc
8432         Added simple PushSrc.
8433
8434 2005-05-11  Wim Taymans  <wim@fluendo.com>
8435
8436         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
8437         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
8438         (gst_element_link_pads), (gst_element_query_position),
8439         (gst_element_query_convert), (intersect_caps_func),
8440         (gst_pad_query_position), (gst_pad_query_convert):
8441         Fix refcounting in utils function.
8442         No point in trying to activate a pad when it's added, it could
8443         be added from the state change function and then we deadlock, the
8444         element has to decide what to do.
8445
8446 2005-05-10  Andy Wingo  <wingo@pobox.com>
8447
8448         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
8449         *all* the arguments.
8450
8451         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
8452         stream lock if it's a FLUSH_DONE; normal flushes don't get the
8453         lock (according to the docs -- if this is wrong change the docs).
8454
8455         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
8456         flush messages in the NULL state.
8457
8458         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
8459         message immediately and return.
8460         (gst_bus_set_flushing): New function. If a bus is flushing, it
8461         flushes out any queued messages and immediately unrefs new
8462         messages. This is so when an element goes to NULL, all of the
8463         unhandled messages coming from it can be freed, and their
8464         references to the element dropped. In other words: message source
8465         ref considered harmful :P
8466
8467         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
8468         we're finished with it.
8469
8470         * gst/gstmessage.c (gst_message_new_state_changed): 
8471
8472 2005-05-10  Wim Taymans  <wim@fluendo.com>
8473
8474         * gst/gstvalue.c: (gst_value_compare_flags),
8475         (gst_value_serialize_flags), (gst_value_deserialize_flags),
8476         (_gst_value_initialize):
8477         Added flags serialize/deserialize/compare code.
8478
8479 2005-05-09  Andy Wingo  <wingo@pobox.com>
8480
8481         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
8482         Intersect the peer's caps with our caps.
8483
8484 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8485
8486         * gst/base/gsttypefindhelper.c: (helper_find_peek):
8487         * gst/elements/gsttypefindelement.c: (find_peek):
8488           Handle negative offsets better. Fixes decodebin.
8489
8490 2005-05-09  Wim Taymans  <wim@fluendo.com>
8491
8492         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
8493         (gst_base_transform_event):
8494         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
8495         Implement accept_caps.
8496         Fix silly lock/unlock mismatch in base class.
8497
8498 2005-05-09  Wim Taymans  <wim@fluendo.com>
8499
8500         * docs/design/draft-push-pull.txt:
8501         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
8502         * gst/elements/gstfilesink.c: (gst_filesink_init),
8503         (gst_filesink_query):
8504         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
8505         (gst_type_find_handle_src_query), (find_element_get_length):
8506         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
8507         * gst/gstelement.h:
8508         * gst/gstmessage.c:
8509         * gst/gstmessage.h:
8510         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
8511         (gst_real_pad_get_caps_unlocked),
8512         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
8513         (gst_pad_event_default_dispatch), (gst_pad_event_default),
8514         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
8515         (gst_real_pad_dispose), (gst_real_pad_finalize),
8516         (gst_pad_load_and_link), (gst_pad_save_thyself),
8517         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
8518         (gst_pad_check_pull_range), (gst_pad_pull_range),
8519         (gst_pad_template_get_type), (gst_pad_template_class_init),
8520         (gst_pad_template_init), (gst_pad_template_dispose),
8521         (name_is_valid), (gst_static_pad_template_get),
8522         (gst_pad_template_new), (gst_static_pad_template_get_caps),
8523         (gst_pad_template_get_caps), (gst_pad_set_element_private),
8524         (gst_pad_get_element_private), (gst_pad_start_task),
8525         (gst_pad_pause_task), (gst_pad_stop_task),
8526         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
8527         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
8528         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
8529         (gst_ghost_pad_new):
8530         * gst/gstpad.h:
8531         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
8532         (gst_query_new_position), (gst_query_set_position),
8533         (gst_query_parse_position), (gst_query_new_convert),
8534         (gst_query_set_convert), (gst_query_parse_convert):
8535         * gst/gstquery.h:
8536         * gst/gstqueryutils.c:
8537         * gst/gstqueryutils.h:
8538         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
8539         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
8540         (gst_queue_handle_src_query):
8541         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
8542         (gst_element_query_position), (gst_element_query_convert),
8543         (intersect_caps_func), (gst_pad_query_position),
8544         (gst_pad_query_convert):
8545         * gst/gstutils.h:
8546         * tools/gst-inspect.c: (print_pad_info):
8547         * tools/gst-xmlinspect.c: (print_element_info):
8548         Remove old query functions. Ported old code.
8549         Added position/convert helper functions to gstutils.
8550         Reordered gstpad.c code, grouping relevant things.
8551         Remove gst_message_new(), always need to speficy a specific
8552         message.
8553
8554
8555 2005-05-09  Andy Wingo  <wingo@pobox.com>
8556
8557         * gst/gstiterator.h: Add some includes.
8558
8559         * gst/gstqueryutils.h: Include more headers.
8560
8561         * gst/gstpad.h:
8562         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
8563         some uses of gst_pad_query.
8564
8565         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
8566         NULL out parameters.
8567         (gst_query_new_position): New proc, allocates a new position
8568         query.
8569
8570         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
8571         gstqueryutils.c to the build.
8572
8573         * gst/gststructure.c (gst_structure_set_valist): Implement with
8574         the generic G_VALUE_COLLECT.
8575         
8576 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
8577
8578         * gst/Makefile.am: (gst_headers):
8579         Added gstqueryutils.h to the list of headers to install, that was
8580         a 'nachty' move wingo :)
8581
8582 2005-05-06  Andy Wingo  <wingo@pobox.com>
8583
8584         * gst/gstquery.h
8585         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
8586         GstData, init a memchunk.
8587         (standard_definitions): Add a few query types, deprecate a few.
8588         (gst_query_get_type): New proc.
8589         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
8590         implementation.
8591         (gst_query_new_application, gst_query_get_structure): New public
8592         procs.
8593
8594         * docs/design/draft-query.txt: Removed LINKS from the query types,
8595         because all the rest can be dispatched to other pads -- seemed
8596         ugly to have a query that couldn't be dispatched. internal_links
8597         is fine as a pad method.
8598
8599         * gst/gstpad.h: Add query2 as a pad method, add the new functions
8600         in gstpad.c, but maintain binary compatibility for the moment.
8601         Will fix before 0.9 is out.
8602
8603         * gst/gstqueryutils.c: 
8604         * gst/gstqueryutils.h: New files, implement 3 methods for each
8605         query type: parse_query, parse_response, and set. Probably need an
8606         allocator as well.
8607
8608         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
8609
8610         * gst/elements/gstfilesink.c (gst_filesink_query2):
8611         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
8612         query_types, and formats methods.
8613
8614         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
8615         (gst_pad_set_query2_function): New functions.
8616         (gst_real_pad_init): Set query2_default as the default query2
8617         function. Basically just dispatches to internally linked pads.
8618
8619         Needs review!
8620         
8621         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
8622         without using the atomic operations. Only one thread can possibly
8623         be accessing the data at this point. Changed so as to avoid
8624         gst_atomic operations.
8625
8626 2005-05-06  Wim Taymans  <wim@fluendo.com>
8627
8628         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
8629         Also set caps if we use the fallback buffer alloc.
8630
8631 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
8632
8633         * docs/gst/Makefile.am:
8634         * docs/gst/gstreamer-docs.sgml:
8635         * docs/gst/gstreamer-sections.txt:
8636         * docs/gst/tmpl/gstatomic.sgml:
8637         * docs/gst/tmpl/gstmemchunk.sgml:
8638         * testsuite/elements/struct_i386.h:
8639         * win32/GStreamer.vcproj:
8640         * win32/Makefile:
8641           Purge GstAtomic stuff from docs and win32 makefiles as well
8642
8643 2005-05-06  Wim Taymans  <wim@fluendo.com>
8644
8645         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
8646         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
8647         * gst/gstpad.c: (gst_pad_peer_get_caps):
8648         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
8649         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
8650         (gst_queue_src_activate), (gst_queue_change_state):
8651         * gst/gstqueue.h:
8652         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
8653         (intersect_caps_func):
8654         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
8655         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
8656         Some fixes for the peer_get_caps() change.
8657
8658 2005-05-06  Wim Taymans  <wim@fluendo.com>
8659
8660         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
8661         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
8662         (gst_basesink_activate):
8663         Actually do something with error codes returned from the push
8664         functions.
8665
8666 2005-05-06  Wim Taymans  <wim@fluendo.com>
8667
8668         * docs/design/part-element-sink.txt:
8669         * docs/design/part-element-source.txt:
8670         * gst/base/gstbasesink.c: (gst_basesink_class_init),
8671         (gst_basesink_event), (gst_basesink_activate):
8672         * gst/base/gstbasesink.h:
8673         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
8674         (gst_basesrc_activate):
8675         * gst/base/gstbasesrc.h:
8676         * gst/gstelement.c: (gst_element_pads_activate):
8677         Some more documentation.
8678         Fixed scheduling decision in _pads_activate().
8679
8680 2005-05-05  Andy Wingo  <wingo@pobox.com>
8681
8682         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
8683         the test suite.
8684
8685 2005-05-05  Wim Taymans  <wim@fluendo.com>
8686
8687         * gst/base/Makefile.am:
8688         * gst/base/gstbasesink.h:
8689         * gst/base/gstbasesrc.c: (gst_basesrc_init),
8690         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
8691         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
8692         (gst_collectpads_class_init), (gst_collectpads_init),
8693         (gst_collectpads_finalize), (gst_collectpads_new),
8694         (gst_collectpads_set_function), (gst_collectpads_add_pad),
8695         (find_pad), (gst_collectpads_remove_pad),
8696         (gst_collectpads_is_active), (gst_collectpads_collect),
8697         (gst_collectpads_collect_range), (gst_collectpads_start),
8698         (gst_collectpads_stop), (gst_collectpads_peek),
8699         (gst_collectpads_pop), (gst_collectpads_available),
8700         (gst_collectpads_read), (gst_collectpads_flush),
8701         (gst_collectpads_chain):
8702         * gst/base/gstcollectpads.h:
8703         * gst/elements/Makefile.am:
8704         * gst/elements/gstelements.c:
8705         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
8706         (gst_fakesink_get_times), (gst_fakesink_event),
8707         (gst_fakesink_preroll), (gst_fakesink_render):
8708         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
8709         (gst_filesink_init), (gst_filesink_set_location),
8710         (gst_filesink_open_file), (gst_filesink_close_file),
8711         (gst_filesink_pad_query), (gst_filesink_event),
8712         (gst_filesink_render), (gst_filesink_change_state):
8713         * gst/elements/gstfilesink.h:
8714         Added object to help in making collect pad based elements.
8715         Ported filesink.
8716         Make event function in sink baseclass return gboolean.
8717
8718 2005-05-05  Wim Taymans  <wim@fluendo.com>
8719
8720         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
8721         (gst_bin_get_by_name):
8722         * gst/gstbuffer.h:
8723         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
8724         (gst_clock_finalize):
8725         * gst/gstdata.c: (gst_data_replace):
8726         * gst/gstdata.h:
8727         * gst/gstelement.c: (gst_element_request_pad),
8728         (gst_element_pads_activate):
8729         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
8730         (gst_object_unref):
8731         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
8732         (gst_pad_set_checkgetrange_function),
8733         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
8734         (gst_pad_check_pull_range), (gst_pad_pull_range),
8735         (gst_static_pad_template_get_caps), (gst_pad_start_task),
8736         (gst_pad_pause_task), (gst_pad_stop_task):
8737         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
8738         (gst_element_request_pad), (gst_pad_proxy_getcaps):
8739         Fix name lookup in GstBin.
8740         Added _data_replace() function and _buffer_replace()
8741         Use finalize method to clean up clock.
8742         Fix refcounting on request pads.
8743         Fix pad schedule mode error.
8744         Some more object refcounting debug info,
8745
8746
8747 2005-05-04  Andy Wingo <wingo@pobox.com>
8748
8749         * check/Makefile.am:
8750         * docs/gst/tmpl/gstatomic.sgml:
8751         * docs/gst/tmpl/gstplugin.sgml:
8752         * gst/base/gstbasesink.c: (gst_basesink_activate):
8753         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
8754         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
8755         (gst_basesrc_query), (gst_basesrc_set_property),
8756         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
8757         (gst_basesrc_activate):
8758         * gst/base/gstbasesrc.h:
8759         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
8760         (gst_base_transform_src_activate):
8761         * gst/elements/gstelements.c:
8762         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
8763         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
8764         * gst/elements/gsttee.c: (gst_tee_sink_activate):
8765         * gst/elements/gsttypefindelement.c: (find_element_get_length),
8766         (gst_type_find_element_checkgetrange),
8767         (gst_type_find_element_activate):
8768         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
8769         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
8770         (gst_caps_load_thyself):
8771         * gst/gstelement.c: (gst_element_pads_activate),
8772         (gst_element_save_thyself), (gst_element_restore_thyself):
8773         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
8774         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
8775         * gst/gstpad.h:
8776         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
8777         (gst_xml_parse_file), (gst_xml_parse_memory),
8778         (gst_xml_get_element), (gst_xml_make_element):
8779         * gst/indexers/gstfileindex.c: (gst_file_index_load),
8780         (_file_index_id_save_xml), (gst_file_index_commit):
8781         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
8782         (read_enum), (load_pad_template), (load_feature), (load_plugin),
8783         (load_paths):
8784         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
8785         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
8786         * tools/gst-complete.c: (main):
8787         * tools/gst-compprep.c: (main):
8788         * tools/gst-inspect.c: (print_element_properties_info):
8789         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
8790         * tools/gst-xmlinspect.c: (print_element_properties):
8791         GCC 4 fixen.
8792         
8793 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8794
8795         * gst/gstplugin.c: (gst_plugin_check_module),
8796         (gst_plugin_check_file), (gst_plugin_load_file):
8797             apply patch from #172526 to make register work on MacOSX
8798
8799 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8800
8801         * docs/gst/tmpl/gstconfig.sgml:
8802         * gst/gstconfig.h.in:
8803           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
8804         * testsuite/debug/printf_extension.c: (main):
8805           Do not use GST_PTR_FORMAT on pointers to types with
8806           sizeof < sizeof(gpointer).  Fixes test on 64-bit
8807         * testsuite/elements/property.h:
8808           use correct printf format
8809
8810 2005-05-02  Wim Taymans  <wim@fluendo.com>
8811
8812         * docs/design/draft-push-pull.txt:
8813         * docs/design/draft-query.txt:
8814         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
8815         (gst_basesrc_start):
8816         Added draft for new query API.
8817         Added draft for better selecting scheduling methods.
8818         Make basesrc ignore length if the subclass does not support
8819         it.
8820
8821 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8822
8823         * gst/Makefile.am:
8824           possible fixes for automake-1.5 - _LIBADD is reserved
8825
8826 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8827
8828         * docs/faq/Makefile.am:
8829         * docs/manual/Makefile.am:
8830         * docs/manuals.mak:
8831         * docs/pwg/Makefile.am:
8832         * gst/Makefile.am:
8833           possible fixes for automake-1.5
8834
8835 2005-04-28  Wim Taymans  <wim@fluendo.com>
8836
8837         * gst/base/gstbasesink.c: (gst_basesink_base_init),
8838         (gst_basesink_pad_getcaps), (gst_basesink_init),
8839         (gst_basesink_do_sync):
8840         * gst/gstclock.c: (gst_clock_entry_new):
8841         * gst/gstevent.c: (gst_event_discont_get_value):
8842         * gst/gstpipeline.c: (pipeline_bus_handler),
8843         (gst_pipeline_change_state):
8844         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
8845         Better debugging of clocking info.
8846         Allow NULL values when getting discont values.
8847
8848 2005-04-27  Wim Taymans  <wim@fluendo.com>
8849
8850         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
8851         * check/gst/gstpad.c: (gst_pad_suite):
8852         Increase timeout for checks.
8853
8854 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8855
8856         * check/Makefile.am:
8857           fix the broken rule for cleanup.  Apparently this rule is
8858           only needed on FC2, so maybe this warrants further autotool
8859           inspection.
8860
8861 2005-04-26  Wim Taymans  <wim@fluendo.com>
8862
8863         * gst/gsttrashstack.h:
8864         Ooohh. a nasty one! After having a failed pop() from the stack,
8865         it's possible that the stack is empty. In that case, don't
8866         follow the NULL pointer.
8867
8868 2005-04-25  Wim Taymans  <wim@fluendo.com>
8869
8870         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
8871         (gst_pad_set_checkgetrange_function),
8872         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
8873         (gst_pad_check_pull_range), (gst_pad_pull_range),
8874         (gst_static_pad_template_get_caps), (gst_pad_start_task),
8875         (gst_pad_pause_task), (gst_pad_stop_task):
8876         * gst/gstplugin.c: (gst_plugin_load):
8877         * gst/gstplugin.h:
8878         Remove gst_library_load as it does more harm than good with
8879         the new g_module flags.
8880         Revert bogus caps template check in pad linking, pad caps
8881         are important when linking not the template, which is more
8882         general than the current caps.
8883
8884 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8885
8886         * gst/autoplug/.cvsignore:
8887         * gst/autoplug/Makefile.am:
8888         * gst/autoplug/gstsearchfuncs.c:
8889         * gst/autoplug/gstsearchfuncs.h:
8890         * gst/autoplug/gstspider.c:
8891         * gst/autoplug/gstspider.h:
8892         * gst/autoplug/gstspideridentity.c:
8893         * gst/autoplug/gstspideridentity.h:
8894         * gst/autoplug/spidertest.c:
8895           Die, spider, die.
8896
8897 2005-04-25  Wim Taymans  <wim@fluendo.com>
8898
8899         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
8900         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
8901         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
8902         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
8903         * gst/gstpad.h:
8904         Added stubs for unimplemented functions. 
8905
8906 2005-04-24  David Schleef  <ds@schleef.org>
8907
8908         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
8909         please fix.
8910
8911 2005-04-24  David Schleef  <ds@schleef.org>
8912
8913         Convert everything from GstAtomicInt to g_atomic_int_*, and
8914         remove gstatomic.
8915         * gst/Makefile.am:
8916         * gst/gstatomic.c:
8917         * gst/gstatomic.h:
8918         * gst/gstatomic_impl.h:
8919         * gst/gstbuffer.c:
8920         * gst/gstcaps.c:
8921         * gst/gstcaps.h:
8922         * gst/gstclock.c:
8923         * gst/gstclock.h:
8924         * gst/gstdata.c:
8925         * gst/gstdata.h:
8926         * gst/gstdata_private.h:
8927         * gst/gstevent.c:
8928         * gst/gstinfo.c:
8929         * gst/gstinfo.h:
8930         * gst/gstmessage.c:
8931         * gst/gstobject.c:
8932         * gst/gstobject.h:
8933         * gst/gststructure.c:
8934         * gst/gststructure.h:
8935         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
8936         * gst/gstutils.h:
8937
8938 2005-04-24  David Schleef  <ds@schleef.org>
8939
8940         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
8941         make the regressions tests work.  Remove some code that is no
8942         longer true.
8943         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
8944         Disable warning for pads without templates.
8945
8946 2005-04-24  David Schleef  <ds@schleef.org>
8947
8948         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
8949         functions that handle filtered links.
8950         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
8951         removed functions.
8952         * gst/gstutils.c: Fix/remove utility functions that handle
8953         filtered caps.
8954         * gst/gstutils.h:
8955         * gst/gstvalue.c: Add serialization/deserialization of caps
8956         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
8957         requires fixing so that the filter caps notation creates
8958         a capsfilter element and sets the filter_caps property.  I
8959         think everyone probably wants to keep the shorthand notation.
8960         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
8961         * docs/gst/tmpl/gstpad.sgml:
8962
8963         * gst/elements/gstelements.c: Register capsfilter element.
8964         * gst/Makefile.am: fix spacing
8965         * docs/random/ds/0.9-suggested-changes: random
8966
8967 2005-04-23  David Schleef  <ds@schleef.org>
8968
8969         * gst/elements/Makefile.am:
8970         * gst/elements/gstcapsfilter.c: New element that acts like an
8971         identity, but filters caps.  Will eventually replace filtered
8972         caps in pad linking.
8973         * gst/gstutils.c: (gst_element_create_all_pads): New function
8974         to create all the ALWAYS pads that are registered with an
8975         element class.  This functionality should eventually be
8976         merged in with GstElement initialization.
8977         * gst/gstutils.h:
8978         * testsuite/trigger/README: part of trigger test code that should
8979         have been checked in a long time ago.
8980
8981 2005-04-23  David Schleef  <ds@schleef.org>
8982
8983         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
8984         needed with new versions of libtool (nobody will confirm this),
8985         and hard to carry around.
8986         * gst/autoplug/Makefile.am:
8987         * gst/base/Makefile.am:
8988         * gst/elements/Makefile.am:
8989         * gst/indexers/Makefile.am:
8990         * gst/schedulers/Makefile.am:
8991         * libs/gst/bytestream/Makefile.am:
8992         * libs/gst/control/Makefile.am:
8993         * libs/gst/dataprotocol/Makefile.am:
8994         * libs/gst/getbits/Makefile.am:
8995
8996 2005-04-21  Wim Taymans  <wim@fluendo.com>
8997
8998         * docs/design/draft-push-pull.txt:
8999         * docs/design/part-MT-refcounting.txt:
9000         * docs/design/part-TODO.txt:
9001         * docs/design/part-caps.txt:
9002         * docs/design/part-events.txt:
9003         * docs/design/part-gstbus.txt:
9004         * docs/design/part-gstpipeline.txt:
9005         * docs/design/part-messages.txt:
9006         * docs/design/part-push-pull.txt:
9007         * docs/design/part-query.txt:
9008         Some more docs.
9009
9010 2005-04-21  Wim Taymans  <wim@fluendo.com>
9011
9012         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
9013         (gst_message_new), (gst_message_new_error),
9014         (gst_message_new_warning), (gst_message_new_tag),
9015         (gst_message_new_state_changed), (gst_message_new_application),
9016         (gst_message_get_structure):
9017         * gst/gstmessage.h:
9018         * gst/gststructure.c: (gst_structure_set_parent_refcount),
9019         (gst_structure_copy_conditional):
9020         Use parent refcount in GstMessage to ensure GstStructure
9021         consistency.
9022         Cleaned up headers a bit.
9023         
9024
9025 2005-04-20  Wim Taymans  <wim@fluendo.com>
9026
9027         * gst/base/gstbasesink.c: (gst_basesink_base_init),
9028         (gst_basesink_pad_getcaps), (gst_basesink_init),
9029         (gst_basesink_chain_unlocked):
9030         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
9031         (gst_type_find_helper):
9032         * gst/elements/gsttypefindelement.c:
9033         (gst_type_find_element_have_type), (gst_type_find_element_init),
9034         (stop_typefinding), (gst_type_find_element_handle_event),
9035         (find_suggest), (gst_type_find_element_chain),
9036         (gst_type_find_element_checkgetrange),
9037         (gst_type_find_element_getrange), (do_typefind),
9038         (gst_type_find_element_activate):
9039         * gst/gstbuffer.c: (_gst_buffer_sub_free),
9040         (gst_buffer_default_free), (gst_buffer_default_copy),
9041         (gst_buffer_set_caps):
9042         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
9043         (gst_caps_replace):
9044         * gst/gstmessage.c: (gst_message_new),
9045         (gst_message_new_state_changed):
9046         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
9047         (gst_pad_set_checkgetrange_function),
9048         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
9049         (gst_pad_set_caps), (gst_pad_check_pull_range),
9050         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
9051         * gst/gstpad.h:
9052         * gst/gsttypefind.c: (gst_type_find_register):
9053         Make gst_caps_replace() work like other _replace() functions.
9054         Use _caps_replace() where possible.
9055         Make sure _message_new() initialises its field.
9056         Add gst_static_pad_template_get_caps()
9057
9058
9059 2005-04-18  Andy Wingo  <wingo@pobox.com>
9060
9061         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
9062         on the peer, not the pad. I think that was a typo. Pass an extra
9063         arg to see if random access is possible. Activate the pads as
9064         PULL_RANGE if possible.
9065
9066         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
9067
9068         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
9069         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
9070         to PROP_....
9071
9072 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9073
9074         * docs/faq/using.xml:
9075           Add note on gstreamer-properties (#154996).
9076
9077 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9078
9079         * docs/random/bbb/optional-properties:
9080           Some analysis on optional properties.
9081
9082 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9083
9084         * docs/gst/tmpl/gstelementfactory.sgml:
9085         * gst/gstelement.h:
9086         * gst/gstelementfactory.c: (gst_element_factory_init),
9087         (gst_element_factory_cleanup), (gst_element_register),
9088         (__gst_element_factory_add_static_pad_template),
9089         (gst_element_factory_get_static_pad_templates),
9090         (gst_element_factory_can_src_caps),
9091         (gst_element_factory_can_sink_caps):
9092         * gst/registries/Makefile.am:
9093         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
9094         (gst_xml_registry_class_init), (gst_xml_registry_init),
9095         (gst_xml_registry_new), (gst_xml_registry_set_property),
9096         (gst_xml_registry_get_property), (get_time), (make_dir),
9097         (gst_xml_registry_get_perms_func),
9098         (plugin_times_older_than_recurse), (plugin_times_older_than),
9099         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
9100         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
9101         (add_to_char_array), (read_string), (read_uint), (read_enum),
9102         (load_pad_template), (load_feature), (load_plugin), (load_paths),
9103         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
9104         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
9105         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
9106         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
9107         (gst_xml_registry_rebuild):
9108         * gst/registries/gstlibxmlregistry.h:
9109         * tools/gst-compprep.c: (main):
9110         * tools/gst-inspect.c: (print_pad_templates_info):
9111         * tools/gst-xmlinspect.c: (print_element_info):
9112           Use libxml2 for registry parsing, use staticpadtemplates in
9113           elementfactories. Makes gst_init() +/- 10x faster.
9114
9115 2005-04-12  Wim Taymans  <wim@fluendo.com>
9116
9117         * gst/base/Makefile.am:
9118         * gst/base/gstbasesink.c: (gst_basesink_base_init),
9119         (gst_basesink_pad_getcaps), (gst_basesink_init),
9120         (gst_basesink_event), (gst_basesink_change_state):
9121         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
9122         (gst_basesrc_init), (gst_basesrc_query),
9123         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
9124         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
9125         (gst_basesrc_check_get_range), (gst_basesrc_loop),
9126         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
9127         (gst_basesrc_stop), (gst_basesrc_activate),
9128         (gst_basesrc_change_state):
9129         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9130         (helper_find_suggest), (gst_type_find_helper):
9131         * gst/base/gsttypefindhelper.h:
9132         * gst/elements/Makefile.am:
9133         * gst/elements/gstelements.c:
9134         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
9135         (gst_fakesink_get_times), (gst_fakesink_event),
9136         (gst_fakesink_preroll), (gst_fakesink_render):
9137         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9138         (gst_fakesrc_init), (gst_fakesrc_event_handler),
9139         (gst_fakesrc_get_property), (gst_fakesrc_create),
9140         (gst_fakesrc_start), (gst_fakesrc_stop):
9141         * gst/elements/gstfakesrc.h:
9142         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
9143         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
9144         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
9145         (gst_filesrc_create_read), (gst_filesrc_create),
9146         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
9147         (gst_filesrc_start):
9148         * gst/elements/gsttypefindelement.c:
9149         (gst_type_find_element_have_type), (gst_type_find_element_init),
9150         (start_typefinding), (stop_typefinding), (push_buffer_store),
9151         (gst_type_find_element_handle_event),
9152         (gst_type_find_element_chain),
9153         (gst_type_find_element_checkgetrange),
9154         (gst_type_find_element_getrange), (do_typefind),
9155         (gst_type_find_element_activate),
9156         (gst_type_find_element_change_state):
9157         * gst/elements/gsttypefindelement.h:
9158         * gst/gstpipeline.c: (pipeline_bus_handler):
9159         Added typefind helper.
9160         Small preroll fix in the base sink.
9161         Disable typefind code in basesrc.
9162         Crude port of typefindelement.
9163         Fakesrc cleanups.
9164
9165
9166 2005-04-11  Wim Taymans  <wim@fluendo.com>
9167
9168         * check/gst/gstbus.c: (gstbus_suite):
9169         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
9170         * check/gstcheck.h:
9171           Fix up the timeout so that the test does not fail.
9172
9173 2005-04-06  Wim Taymans  <wim@fluendo.com>
9174
9175         * gst/base/README:
9176         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
9177         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
9178         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
9179         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
9180         (gst_basesrc_check_get_range), (gst_basesrc_loop),
9181         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
9182         (gst_basesrc_stop), (gst_basesrc_activate),
9183         (gst_basesrc_change_state), (basesrc_find_peek),
9184         (basesrc_find_suggest), (gst_basesrc_type_find):
9185         * gst/base/gstbasesrc.h:
9186         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
9187         (gst_filesrc_class_init), (gst_filesrc_init),
9188         (gst_filesrc_finalize), (gst_filesrc_set_location),
9189         (gst_filesrc_set_property), (gst_filesrc_get_property),
9190         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
9191         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
9192         (gst_filesrc_create_read), (gst_filesrc_create),
9193         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
9194         * gst/elements/gstfilesrc.h:
9195         * gst/gstelement.c: (gst_element_get_state_func),
9196         (gst_element_lost_state), (gst_element_pads_activate):
9197         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
9198         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
9199         (gst_pad_pull_range):
9200         * gst/gstpad.h:
9201         More work on the generic source base class, implement seeking,
9202         query.
9203         Make filesrc extend the base source class.
9204         Added gst_pad_set_checkgetrange_function to GstPad.
9205
9206 2005-04-06  Andy Wingo  <wingo@pobox.com>
9207
9208         * pkgconfig/gstreamer-base.pc.in:
9209         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
9210
9211         * pkgconfig/Makefile.am:
9212         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
9213
9214 2005-04-04  Wim Taymans  <wim@fluendo.com>
9215
9216         * gst/base/Makefile.am:
9217         * gst/base/README:
9218         * gst/base/gstbasesink.c: (gst_basesink_base_init),
9219         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
9220         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
9221         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
9222         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
9223         (gst_basesrc_base_init), (gst_basesrc_class_init),
9224         (gst_basesrc_init), (gst_basesrc_get_formats),
9225         (gst_basesrc_get_query_types), (gst_basesrc_query),
9226         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
9227         (gst_basesrc_set_property), (gst_basesrc_get_property),
9228         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
9229         (gst_basesrc_loop), (gst_basesrc_activate),
9230         (gst_basesrc_change_state):
9231         * gst/base/gstbasesrc.h:
9232         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
9233         (gst_fakesrc_class_init), (gst_fakesrc_init),
9234         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
9235         (gst_fakesrc_get_property), (gst_fakesrc_create):
9236         * gst/elements/gstfakesrc.h:
9237         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
9238         (gst_filesrc_open_file), (gst_filesrc_loop),
9239         (gst_filesrc_activate), (filesrc_find_peek),
9240         (gst_filesrc_type_find):
9241         Made base source class, make fakesrc extend it.
9242         Add comments to basesink class.
9243         Some filesrc cleanup.
9244
9245 2005-03-31  David Schleef  <ds@schleef.org>
9246
9247         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
9248         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
9249         expected to link against libgstreamer.
9250         * gst/base/Makefile.am: link against libgstreamer
9251         * gst/elements/Makefile.am: same
9252
9253 2005-03-31  Andy Wingo  <wingo@pobox.com>
9254
9255         * tests/instantiate/Makefile.am:
9256         * tests/instantiate/caps.c: Add test to test speed of caps copy
9257         and free.
9258
9259         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
9260         GMemChunk to be fair.
9261
9262         * gst/gsttrashstack.h: Remove warning about using the fallback
9263         trash stack implementation, it's still faster than malloc.
9264
9265 2005-03-30  Andy Wingo  <wingo@pobox.com>
9266
9267         * tests/complexity.c: Add a copyright.
9268
9269 2005-03-31  Wim Taymans  <wim@fluendo.com>
9270
9271         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
9272         (gst_base_transform_class_init), (gst_base_transform_init),
9273         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
9274         (gst_base_transform_get_property),
9275         (gst_base_transform_sink_activate),
9276         (gst_base_transform_src_activate),
9277         (gst_base_transform_change_state):
9278         * gst/base/gstbasetransform.h:
9279         * gst/elements/gstidentity.c: (gst_identity_class_init),
9280         (gst_identity_event), (gst_identity_check_perfect),
9281         (gst_identity_transform), (gst_identity_start),
9282         (gst_identity_stop):
9283         Added start/stop methods to transform base class so subclasses 
9284         don't need to deal with state changes even.
9285
9286 2005-03-31  Wim Taymans  <wim@fluendo.com>
9287
9288         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
9289         (gst_event_new_discontinuous), (gst_event_discont_get_value):
9290         * gst/gstevent.h:
9291         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
9292         (gst_pad_pull_range):
9293         Added rate to the discont event to prepare for variable speed
9294         and reverse playback.
9295
9296 2005-03-29  David Schleef  <ds@schleef.org>
9297
9298         * configure.ac:
9299         * testsuite/trigger/Makefile.am:
9300         * testsuite/trigger/trigger.c: A little example program to show
9301         how trigger-based elements can work.
9302
9303 2005-03-29  Wim Taymans  <wim@fluendo.com>
9304
9305         * gst/base/Makefile.am:
9306         * gst/base/README:
9307         * gst/base/gstbasesink.c: (gst_basesink_get_type),
9308         (gst_basesink_base_init), (gst_basesink_class_init),
9309         (gst_basesink_pad_getcaps), (gst_basesink_init),
9310         (gst_basesink_activate), (gst_basesink_change_state):
9311         * gst/base/gstbasesink.h:
9312         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
9313         (gst_base_transform_base_init), (gst_base_transform_finalize),
9314         (gst_base_transform_class_init), (gst_base_transform_init),
9315         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
9316         (gst_base_transform_event), (gst_base_transform_getrange),
9317         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
9318         (gst_base_transform_set_property),
9319         (gst_base_transform_get_property),
9320         (gst_base_transform_sink_activate),
9321         (gst_base_transform_src_activate),
9322         (gst_base_transform_change_state):
9323         * gst/base/gstbasetransform.h:
9324         * gst/elements/gstidentity.c: (gst_identity_finalize),
9325         (gst_identity_class_init), (gst_identity_init),
9326         (gst_identity_event), (gst_identity_check_perfect),
9327         (gst_identity_transform), (gst_identity_set_property),
9328         (gst_identity_get_property), (gst_identity_change_state):
9329         * gst/elements/gstidentity.h:
9330         * gst/gstelement.c: (gst_element_get_state_func),
9331         (gst_element_lost_state), (gst_element_pads_activate):
9332         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
9333         (gst_pad_check_pull_range), (gst_pad_pull_range):
9334         * gst/gstpad.h:
9335         Simplify pad activation.
9336         Added function to check if pull_range can be performed.
9337         Error out when pulling inactive or flushing pads.
9338         Removed const from refcounted types as it does not make sense.
9339         Simplify pad templates in basesink
9340         Added base class for simple 1-to-1 transforms.
9341         Make identity subclass the base transform.
9342
9343 2005-03-29  Andy Wingo  <wingo@pobox.com>
9344
9345         * docs/libs/gstreamer-libs-overrides.txt: 
9346         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
9347         really don't understand what's going on, but like whatever. I want
9348         green buildbot!
9349
9350         * docs/gst/Makefile.am:
9351         * docs/libs/Makefile.am: Dist the overrides files.
9352
9353         * check/Makefile.am (clean-local): Remove .libs directories.
9354
9355         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
9356         elements to EXTRA_DIST, so po/ files are happy.
9357
9358         * po/POTFILES.in: Er, remove it here.
9359
9360         * po/POTFILES: Remove gstspider.c.
9361
9362         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
9363
9364         * docs/libs/gstreamer-libs-docs.sgml: 
9365         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
9366         bytestream.
9367
9368         * tests/complexity.c (main): Set the length of the preroll queue
9369         on the sinks to prevent a lockup.
9370
9371         * libs/gst/dataprotocol/Makefile.am: 
9372         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
9373         the same as the one in check/gst-libs/gdp.c.
9374
9375         * po/, docs/gst/: Commit automatic changes to docs and po files.
9376
9377         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
9378         the versioned libgstbase.
9379
9380         * check/Makefile.am: Depend on an unversioned gst-register, seems
9381         to make autoconf happier.
9382
9383         * gst/base/Makefile.am: Make libgstbase a versioned lib.
9384
9385 2005-03-28  Wim Taymans  <wim@fluendo.com>
9386
9387         * configure.ac:
9388         * docs/design/part-gstelement.txt:
9389         * docs/design/part-negotiation.txt:
9390         * docs/design/part-preroll.txt:
9391         * docs/design/part-scheduling.txt:
9392         * docs/design/part-states.txt:
9393         * gst/Makefile.am:
9394         * gst/base/Makefile.am:
9395         * gst/base/README:
9396         * gst/base/gstbasesink.c: (gst_basesink_get_template),
9397         (gst_basesink_base_init), (gst_basesink_class_init),
9398         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
9399         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
9400         (gst_basesink_set_pad_functions),
9401         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
9402         (gst_basesink_set_property), (gst_basesink_get_property),
9403         (gst_base_sink_get_template), (gst_base_sink_get_caps),
9404         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
9405         (gst_basesink_preroll_queue_push),
9406         (gst_basesink_preroll_queue_empty),
9407         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
9408         (gst_basesink_event), (gst_basesink_get_times),
9409         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
9410         (gst_basesink_chain_unlocked), (gst_basesink_chain),
9411         (gst_basesink_loop), (gst_basesink_activate),
9412         (gst_basesink_change_state):
9413         * gst/base/gstbasesink.h:
9414         * gst/elements/Makefile.am:
9415         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
9416         (gst_fakesink_class_init), (gst_fakesink_init),
9417         (gst_fakesink_set_property), (gst_fakesink_get_property),
9418         (gst_fakesink_get_times), (gst_fakesink_event),
9419         (gst_fakesink_preroll), (gst_fakesink_render),
9420         (gst_fakesink_change_state):
9421         * gst/elements/gstfakesink.h:
9422         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
9423         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
9424         * gst/gstelement.c: (gst_element_add_pad),
9425         (gst_element_get_state_func), (gst_element_abort_state),
9426         (gst_element_commit_state), (gst_element_lost_state),
9427         (gst_element_set_state), (gst_element_pads_activate):
9428         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
9429         * gst/gstpipeline.c: (gst_pipeline_send_event),
9430         (gst_pipeline_change_state):
9431         Added state change code.
9432         Added/updated docs.
9433         Added sink base class, make fakesink extend the base class.
9434         Small cleanups in GstPipeline.
9435
9436 2005-03-26  David Schleef  <ds@schleef.org>
9437
9438         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
9439         is broken and should be implemented in a different library.
9440         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
9441         * gst/gst.h: remove gstcpu.h
9442         * gst/gstcpu.c: remove
9443         * gst/gstcpu.h: remove
9444         * gst/Makefile.am.future: Remove this file.  It's ancient.
9445
9446 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9447
9448         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
9449         (gst_bin_send_event):
9450           Add default event/set_manager handlers. The set_manager handler
9451           takes care that the manager is distributed over kids that were
9452           already in the bin before the manager was set. The event handler
9453           is a utility virtual function that sends the event over all sinks,
9454           so that gst_element_send_event (bin, event); has the expected
9455           behaviour.
9456         * gst/gstpad.c: (gst_pad_event_default):
9457           Re-install default event handling for discontinuities, so that
9458           seeking works without requiring hacks in applications or extra
9459           code in sinks.
9460         * gst/gstpipeline.c: (gst_pipeline_class_init),
9461         (gst_pipeline_send_event):
9462           Half hack, half utility: set a pipeline to PAUSED for seek events,
9463           since that is the only way we can guarantee a/v sync. Means that
9464           you can do gst_element_seek (pipeline, method, pos); on a pipeline
9465           and it "just works".
9466
9467 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9468
9469         * gst/gstpipeline.c: (gst_pipeline_use_clock):
9470           Lock/unlock mismatch.
9471
9472 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9473
9474         * docs/faq/gst-uninstalled:
9475           add gst-plugins-base
9476         * docs/gst/Makefile.am:
9477           don't error out until docs are fixed
9478         * docs/gst/gstreamer.types:
9479           remove thread
9480
9481 2005-03-22  Wim Taymans  <wim@fluendo.com>
9482
9483         * check/Makefile.am:
9484         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
9485         * gst/gststructure.c: (gst_structure_set_valist),
9486         (gst_structure_copy_conditional):
9487         Activated more tests.
9488         Added message test.
9489         Added G_TYPE_POINTER to GstStructure.
9490         
9491
9492 2005-03-22  Wim Taymans  <wim@fluendo.com>
9493
9494         * docs/design/part-TODO.txt:
9495         * docs/design/part-events.txt:
9496         * docs/design/part-gstbin.txt:
9497         * docs/design/part-gstbus.txt:
9498         * docs/design/part-gstpipeline.txt:
9499         * docs/design/part-messages.txt:
9500         * gst/gstbus.c:
9501         * gst/gstmessage.c:
9502         Docs updates
9503
9504 2005-03-21  Wim Taymans  <wim@fluendo.com>
9505
9506         * gst/gstbus.c: (gst_bus_post):
9507         Fix copy-and-paste error.
9508
9509 2005-03-21  Wim Taymans  <wim@fluendo.com>
9510
9511         * check/Makefile.am:
9512         * gst/Makefile.am:
9513         * gst/elements/Makefile.am:
9514         * gst/elements/gstelements.c:
9515         * gst/elements/gstfakesink.c: (gst_fakesink_init),
9516         (gst_fakesink_event), (gst_fakesink_chain):
9517         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9518         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
9519         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
9520         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
9521         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
9522         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
9523         (gst_fakesrc_loop), (gst_fakesrc_activate),
9524         (gst_fakesrc_change_state):
9525         * gst/elements/gstfakesrc.h:
9526         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
9527         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
9528         (gst_filesrc_open_file), (gst_filesrc_loop),
9529         (gst_filesrc_activate), (gst_filesrc_change_state),
9530         (filesrc_find_peek), (filesrc_find_suggest),
9531         (gst_filesrc_type_find):
9532         * gst/elements/gstidentity.c: (gst_identity_finalize),
9533         (gst_identity_class_init), (gst_identity_init),
9534         (gst_identity_proxy_getcaps), (identity_queue_push),
9535         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
9536         (gst_identity_getrange), (gst_identity_chain),
9537         (gst_identity_sink_loop), (gst_identity_src_loop),
9538         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
9539         (gst_identity_set_property), (gst_identity_get_property),
9540         (gst_identity_change_state):
9541         * gst/elements/gstidentity.h:
9542         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
9543         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
9544         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
9545         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
9546         (gst_tee_sink_activate):
9547         * gst/elements/gsttee.h:
9548         * gst/gst.c: (gst_register_core_elements), (init_post):
9549         * gst/gst.h:
9550         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
9551         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
9552         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
9553         (gst_bin_change_state):
9554         * gst/gstbin.h:
9555         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
9556         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
9557         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
9558         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
9559         (gst_bus_set_sync_handler), (gst_bus_create_watch),
9560         (bus_watch_callback), (bus_watch_destroy),
9561         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
9562         (poll_timeout), (gst_bus_poll):
9563         * gst/gstbus.h:
9564         * gst/gstcaps.h:
9565         * gst/gstdata.h:
9566         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
9567         (gst_element_post_message), (gst_element_message_full),
9568         (gst_element_get_state_func), (gst_element_get_state),
9569         (gst_element_abort_state), (gst_element_commit_state),
9570         (gst_element_lost_state), (gst_element_set_state),
9571         (gst_element_pads_activate), (gst_element_change_state),
9572         (gst_element_dispose), (gst_element_set_manager_func),
9573         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
9574         (gst_element_set_manager), (gst_element_get_manager),
9575         (gst_element_set_bus), (gst_element_get_bus),
9576         (gst_element_set_scheduler), (gst_element_get_scheduler):
9577         * gst/gstelement.h:
9578         * gst/gstevent.c: (gst_event_new_segment_seek),
9579         (gst_event_new_flush):
9580         * gst/gstevent.h:
9581         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
9582         (_gst_message_free), (gst_message_get_type), (gst_message_new),
9583         (gst_message_new_eos), (gst_message_new_error),
9584         (gst_message_new_warning), (gst_message_new_tag),
9585         (gst_message_new_state_changed), (gst_message_new_application),
9586         (gst_message_get_structure), (gst_message_parse_tag),
9587         (gst_message_parse_state_changed), (gst_message_parse_error),
9588         (gst_message_parse_warning):
9589         * gst/gstmessage.h:
9590         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
9591         (gst_real_pad_set_property), (gst_pad_set_active),
9592         (gst_pad_is_active), (gst_pad_set_blocked_async),
9593         (gst_pad_set_blocked), (gst_pad_is_blocked),
9594         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
9595         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
9596         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
9597         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
9598         (gst_pad_link_filtered), (gst_pad_relink_filtered),
9599         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
9600         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
9601         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
9602         (gst_pad_set_caps), (gst_pad_configure_sink),
9603         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
9604         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
9605         (gst_real_pad_dispose), (gst_real_pad_finalize),
9606         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
9607         (gst_pad_event_default_dispatch), (gst_pad_event_default),
9608         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
9609         * gst/gstpad.h:
9610         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
9611         (pipeline_bus_handler), (gst_pipeline_change_state),
9612         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
9613         * gst/gstpipeline.h:
9614         * gst/gstprobe.h:
9615         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9616         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
9617         (gst_queue_link_src), (gst_queue_bufferalloc),
9618         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
9619         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
9620         (gst_queue_loop), (gst_queue_handle_src_event),
9621         (gst_queue_handle_src_query), (gst_queue_src_activate),
9622         (gst_queue_change_state):
9623         * gst/gstqueue.h:
9624         * gst/gstscheduler.c: (gst_scheduler_init),
9625         (gst_scheduler_dispose), (gst_scheduler_create_task),
9626         (gst_scheduler_factory_create):
9627         * gst/gstscheduler.h:
9628         * gst/gststructure.c: (gst_structure_get_type),
9629         (gst_structure_copy_conditional):
9630         * gst/gststructure.h:
9631         * gst/gsttaginterface.h:
9632         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9633         (gst_task_init), (gst_task_dispose), (gst_task_create),
9634         (gst_task_get_state), (gst_task_start), (gst_task_stop),
9635         (gst_task_pause):
9636         * gst/gsttask.h:
9637         * gst/gstthread.c:
9638         * gst/gstthread.h:
9639         * gst/gsttypes.h:
9640         * gst/schedulers/Makefile.am:
9641         * gst/schedulers/cothreads_compat.h:
9642         * gst/schedulers/entryscheduler.c:
9643         * gst/schedulers/faircothreads.c:
9644         * gst/schedulers/faircothreads.h:
9645         * gst/schedulers/fairscheduler.c:
9646         * gst/schedulers/gstbasicscheduler.c:
9647         * gst/schedulers/gstoptimalscheduler.c:
9648         * gst/schedulers/gthread-cothreads.h:
9649         * gst/schedulers/threadscheduler.c:
9650         (gst_thread_scheduler_task_get_type),
9651         (gst_thread_scheduler_task_class_init),
9652         (gst_thread_scheduler_task_init),
9653         (gst_thread_scheduler_task_start),
9654         (gst_thread_scheduler_task_stop),
9655         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
9656         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
9657         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
9658         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
9659         (plugin_init):
9660         * libs/gst/Makefile.am:
9661         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
9662         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
9663         (gst_file_pad_parent_set):
9664         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9665         (gst_dp_event_from_packet):
9666         * tests/complexity.c: (main):
9667         * tests/mass_elements.c: (main):
9668         * testsuite/states/locked.c: (message_received), (main):
9669         * testsuite/states/parent.c: (main):
9670         * tools/gst-inspect.c: (print_element_flag_info),
9671         (print_implementation_info), (print_pad_info):
9672         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
9673         (main):
9674         * tools/gst-md5sum.c: (event_loop), (main):
9675         * tools/gst-typefind.c: (main):
9676         * tools/gst-xmlinspect.c: (print_element_info):
9677         Next big merge.
9678         Added GstBus for mainloop integration.
9679         Added GstMessage for sending notifications on the bus.
9680         Added GstTask as an abstraction for pipeline entry points.
9681         Removed GstThread.
9682         Removed Schedulers.
9683         Simplified GstQueue for multithreaded core.
9684         Made _link threadsafe, removed old capsnego.
9685         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
9686         Added pad blocking functions.
9687         Reworked scheduling functions in GstPad to prepare for
9688         scheduling updates soon.
9689         Moved events out of data stream.
9690         Simplified GstEvent types.
9691         Added return values to push/pull.
9692         Removed clocking from GstElement.
9693         Added prototypes for state change function for next merge.
9694         Removed iterate from bins and state change management.
9695         Fixed some elements, disabled others for now.
9696         Fixed -inspect and -launch.
9697         Added check for GstBus.
9698
9699 2005-03-10  Wim Taymans  <wim@fluendo.com>
9700
9701         * docs/design/part-MT-refcounting.txt:
9702         * docs/design/part-clocks.txt:
9703         * docs/design/part-gstelement.txt:
9704         * docs/design/part-gstobject.txt:
9705         * docs/design/part-standards.txt:
9706         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
9707         (gst_bin_remove_func), (gst_bin_remove):
9708         * gst/gstbin.h:
9709         * gst/gstbuffer.c:
9710         * gst/gstcaps.h:
9711         * testsuite/clock/clock1.c: (main):
9712         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
9713         (main):
9714         * testsuite/dlopen/loadgst.c: (do_test):
9715         * testsuite/refcounting/bin.c: (add_remove_test1),
9716         (add_remove_test2), (main):
9717         * testsuite/refcounting/element.c: (main):
9718         * testsuite/refcounting/element_pad.c: (main):
9719         * testsuite/refcounting/pad.c: (main):
9720         * tools/gst-launch.c: (sigint_handler_sighandler):
9721         * tools/gst-typefind.c: (main):
9722         Doc updates.
9723         Added doc about clock.
9724         removed gst_bin_iterate_recurse_up(), marked methods
9725         for removal.
9726         Fix more testsuites.
9727
9728 2005-03-09  Wim Taymans  <wim@fluendo.com>
9729
9730         * gst/gstpad.c: (gst_pad_get_direction),
9731         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
9732         (gst_pad_collect_valist):
9733         * testsuite/bins/interface.c: (main):
9734         * testsuite/caps/audioscale.c: (test_caps):
9735         * testsuite/caps/caps.c: (test1), (test2), (test3):
9736         * testsuite/caps/deserialize.c: (main):
9737         * testsuite/caps/enumcaps.c: (main):
9738         * testsuite/caps/filtercaps.c: (main):
9739         * testsuite/caps/intersect2.c: (main):
9740         * testsuite/caps/random.c: (main):
9741         * testsuite/caps/renegotiate.c: (my_fixate), (main):
9742         * testsuite/caps/sets.c: (check_caps):
9743         * testsuite/caps/simplify.c: (check_caps), (main):
9744         * testsuite/caps/subtract.c: (check_caps):
9745         Fix _pad_get_direction wrt ghostpads.
9746         Fix caps testsuite.
9747
9748 2005-03-09  Wim Taymans  <wim@fluendo.com>
9749
9750         * check/Makefile.am:
9751         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
9752         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
9753         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
9754         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
9755         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
9756         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
9757         (gst_bin_remove), (gst_bin_iterate_recurse_up),
9758         (bin_element_is_sink), (gst_bin_iterate_sinks),
9759         (gst_bin_iterate_all_by_interface):
9760         * gst/gstbin.h:
9761         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
9762         (gst_element_change_state), (gst_element_dispose),
9763         (gst_element_finalize), (gst_element_set_loop_function):
9764         * gst/gstelement.h:
9765         * gst/gstiterator.c: (find_custom_fold_func):
9766         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
9767         (gst_pad_collectv), (gst_pad_collect_valist),
9768         (gst_pad_template_new):
9769         * gst/gstpipeline.c: (gst_pipeline_class_init),
9770         (gst_pipeline_dispose), (gst_pipeline_set_property),
9771         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
9772         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
9773         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
9774         * gst/gstutils.h:
9775         * gst/schedulers/entryscheduler.c:
9776         * gst/schedulers/gstbasicscheduler.c:
9777         (gst_basic_scheduler_cothreaded_chain),
9778         (gst_basic_scheduler_chain_add_element):
9779         * testsuite/bins/interface.c: (main):
9780         Added GstBin test.
9781         Added GstSystemClock test.
9782         Implemented clock distribution code in GstBin.
9783         Implemented iterate sinks method for future use.
9784         Rearranged gstelement.h
9785         Fix GstIterator comparison bug.
9786         Moved some code to GstPipeline, mostly clocking related.
9787
9788 2005-03-09  Wim Taymans  <wim@fluendo.com>
9789
9790         * configure.ac:
9791         * gst/gst_private.h:
9792         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
9793         (gst_bin_remove_func), (gst_bin_remove),
9794         (gst_bin_get_by_name_recurse_up):
9795         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
9796         (gst_clock_id_compare_func), (gst_clock_id_wait),
9797         (gst_clock_id_wait_async), (gst_clock_init),
9798         (gst_clock_adjust_unlocked), (gst_clock_get_time):
9799         * gst/gstelement.h:
9800         * gst/gstinfo.c: (_gst_debug_init):
9801         * gst/gstobject.h:
9802         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
9803         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
9804         * gst/gstpad.h:
9805         Bump version number, we're now 0.9.0
9806         Add future debugging category.
9807         Fix NULL _unref() in _get_by_name_recurse_up
9808         Rearrange gstpad.h.
9809         Update some docs.
9810
9811 2005-03-08  Wim Taymans  <wim@fluendo.com>
9812
9813         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
9814         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
9815         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
9816         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
9817         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
9818         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
9819         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
9820         * gst/elements/gstidentity.c: (gst_identity_class_init):
9821         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
9822         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
9823         * gst/elements/gstshaper.c: (gst_shaper_class_init):
9824         * gst/elements/gststatistics.c: (gst_statistics_class_init):
9825         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
9826         (gst_tee_link):
9827         * gst/gstelement.c: (gst_element_class_init),
9828         (gst_element_base_class_init), (gst_element_init),
9829         (gst_element_get_random_pad), (gst_element_wait_state_change),
9830         (gst_element_change_state), (gst_element_dispose),
9831         (gst_element_finalize), (gst_element_set_loop_function):
9832         * gst/gstelement.h:
9833         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
9834         * gst/gstthread.c: (gst_thread_class_init),
9835         (gst_thread_release_children_locks), (gst_thread_change_state):
9836         * gst/schedulers/gstbasicscheduler.c:
9837         (gst_basic_scheduler_loopfunc_wrapper),
9838         (gst_basic_scheduler_chain_wrapper),
9839         (gst_basic_scheduler_src_wrapper),
9840         (gst_basic_scheduler_remove_element):
9841         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
9842         Remove threadsafe properties. Fix elements because GObject
9843         complains when installing a property before declaring a
9844         set/get_property handler.
9845         Rearrange gstelement.h file, use STATE macros for state locks.
9846         Free mutexes in the finalize method instead of dispose.
9847
9848 2005-03-08  Wim Taymans  <wim@fluendo.com>
9849
9850         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
9851         * gst/gstthread.c: (gst_thread_release_children_locks):
9852         Added parentage check.
9853         Fix build og GstThread again.
9854
9855 2005-03-08  Wim Taymans  <wim@fluendo.com>
9856
9857         * docs/design/part-MT-refcounting.txt:
9858         * docs/design/part-conventions.txt:
9859         * docs/design/part-gstobject.txt:
9860         * docs/design/part-relations.txt:
9861         * docs/design/part-standards.txt:
9862         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
9863         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
9864         (gst_bin_get_by_name), (gst_bin_get_by_interface),
9865         (gst_bin_iterate_all_by_interface):
9866         * gst/gstbuffer.h:
9867         * gst/gstclock.h:
9868         * gst/gstelement.c: (gst_element_class_init),
9869         (gst_element_change_state), (gst_element_set_loop_function):
9870         * gst/gstelement.h:
9871         * gst/gstiterator.c:
9872         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
9873         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
9874         (gst_object_dispatch_properties_changed), (gst_object_set_name),
9875         (gst_object_set_parent), (gst_object_unparent),
9876         (gst_object_check_uniqueness):
9877         * gst/gstobject.h:
9878         Docs updates, clean up some headers.
9879
9880 2005-03-07  Wim Taymans  <wim@fluendo.com>
9881
9882         * check/.cvsignore:
9883         * check/Makefile.am:
9884         * check/gst-libs/.cvsignore:
9885         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
9886         * check/gst/.cvsignore:
9887         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
9888         (START_TEST), (gstbus_suite), (main):
9889         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
9890         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
9891         (gst_data_suite), (main):
9892         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
9893         (add_fold_func), (gstiterator_suite), (main):
9894         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
9895         (thread_name_object), (thread_name_object_default),
9896         (gst_object_name_compare), (gst_object_suite), (main):
9897         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
9898         (gst_pad_suite), (main):
9899         * check/gstcheck.c: (gst_check_log_message_func),
9900         (gst_check_log_critical_func), (gst_check_init):
9901         * check/gstcheck.h:
9902         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
9903         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
9904         Added checks.
9905
9906 2005-03-07  Wim Taymans  <wim@fluendo.com>
9907
9908         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
9909         (gst_list_iterator_next), (gst_list_iterator_resync),
9910         (gst_list_iterator_free), (gst_iterator_new_list),
9911         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
9912         (gst_iterator_free), (gst_iterator_push), (filter_next),
9913         (filter_resync), (filter_uninit), (filter_free),
9914         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
9915         (gst_iterator_foreach), (find_custom_fold_func),
9916         (gst_iterator_find_custom):
9917         * gst/gstiterator.h:
9918         Added missing files.
9919
9920 2005-03-07  Wim Taymans  <wim@fluendo.com>
9921
9922         * Makefile.am:
9923         * configure.ac:
9924         * docs/design/part-MT-refcounting.txt:
9925         * docs/design/part-conventions.txt:
9926         * docs/design/part-gstobject.txt:
9927         * docs/design/part-relations.txt:
9928         * examples/mixer/mixer.c: (main):
9929         * examples/thread/thread.c: (eos), (main):
9930         * gst/Makefile.am:
9931         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
9932         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
9933         (gst_spider_plug_from_srcpad):
9934         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
9935         (gst_spider_identity_change_state),
9936         (gst_spider_identity_sink_loop_type_finding):
9937         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
9938         * gst/elements/gstidentity.c: (gst_identity_init):
9939         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
9940         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
9941         * gst/elements/gsttypefindelement.c: (free_entry):
9942         * gst/gst.c:
9943         * gst/gst.h:
9944         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
9945         (gst_bin_set_clock_func), (gst_bin_auto_clock),
9946         (gst_bin_set_index), (gst_bin_set_element_sched),
9947         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
9948         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
9949         (gst_bin_iterate_elements), (iterate_child_recurse),
9950         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
9951         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
9952         (compare_interface), (gst_bin_get_by_interface),
9953         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
9954         * gst/gstbin.h:
9955         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
9956         (gst_buffer_default_free), (gst_buffer_default_copy),
9957         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
9958         (gst_buffer_create_sub):
9959         * gst/gstbuffer.h:
9960         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
9961         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
9962         (gst_caps_unref), (gst_static_caps_get),
9963         (gst_caps_remove_and_get_structure), (gst_caps_append),
9964         (gst_caps_append_structure), (gst_caps_remove_structure),
9965         (gst_caps_copy_nth), (gst_caps_set_simple),
9966         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
9967         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
9968         (gst_caps_structure_intersect_field), (gst_caps_intersect),
9969         (gst_caps_structure_subtract_field), (gst_caps_subtract),
9970         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
9971         (gst_caps_structure_figure_out_union),
9972         (gst_caps_switch_structures), (gst_caps_do_simplify),
9973         (gst_caps_replace), (gst_caps_from_string),
9974         (gst_caps_copy_conditional):
9975         * gst/gstcaps.h:
9976         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
9977         (_gst_clock_id_free), (gst_clock_id_unref),
9978         (gst_clock_id_compare_func), (gst_clock_id_wait),
9979         (gst_clock_id_wait_async), (gst_clock_class_init),
9980         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
9981         (gst_clock_get_time), (gst_clock_set_time_adjust),
9982         (gst_clock_set_property), (gst_clock_get_property):
9983         * gst/gstclock.h:
9984         * gst/gstcompat.h:
9985         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
9986         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
9987         * gst/gstdata.h:
9988         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
9989         (gst_element_requires_clock), (gst_element_provides_clock),
9990         (gst_element_set_clock), (gst_element_clock_wait),
9991         (gst_element_wait), (gst_element_set_time_delay),
9992         (gst_element_is_indexable), (gst_element_add_pad),
9993         (gst_element_add_ghost_pad), (gst_element_remove_pad),
9994         (pad_compare_name), (gst_element_get_static_pad),
9995         (gst_element_request_pad), (gst_element_get_request_pad),
9996         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
9997         (gst_element_class_get_pad_template_list),
9998         (gst_element_class_get_pad_template), (gst_element_error_func),
9999         (gst_element_get_random_pad), (gst_element_get_event_masks),
10000         (gst_element_send_event), (gst_element_seek),
10001         (gst_element_get_query_types), (gst_element_query),
10002         (gst_element_get_formats), (gst_element_convert),
10003         (gst_element_is_locked_state), (gst_element_set_locked_state),
10004         (gst_element_sync_state_with_parent), (gst_element_change_state),
10005         (gst_element_finalize), (gst_element_yield),
10006         (gst_element_interrupt), (gst_element_set_scheduler),
10007         (gst_element_get_scheduler), (gst_element_set_loop_function):
10008         * gst/gstelement.h:
10009         * gst/gstevent.h:
10010         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
10011         (gst_format_get_by_nick), (gst_format_get_details),
10012         (gst_format_iterate_definitions):
10013         * gst/gstformat.h:
10014         * gst/gstindex.c: (gst_index_gtype_resolver):
10015         * gst/gstinfo.c:
10016         * gst/gstinfo.h:
10017         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
10018         (gst_mem_chunk_free):
10019         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
10020         (gst_object_ref), (gst_object_unref), (gst_object_sink),
10021         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
10022         (gst_object_dispatch_properties_changed),
10023         (gst_object_set_name_default), (gst_object_set_name),
10024         (gst_object_get_name), (gst_object_set_name_prefix),
10025         (gst_object_get_name_prefix), (gst_object_set_parent),
10026         (gst_object_get_parent), (gst_object_unparent),
10027         (gst_object_check_uniqueness), (gst_object_save_thyself),
10028         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
10029         (gst_object_set_property), (gst_object_get_property),
10030         (gst_object_get_path_string):
10031         * gst/gstobject.h:
10032         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
10033         (gst_real_pad_init), (gst_real_pad_get_property),
10034         (gst_pad_custom_new), (gst_pad_get_direction),
10035         (gst_pad_set_active), (gst_pad_is_active),
10036         (gst_pad_set_event_function), (gst_pad_is_linked),
10037         (gst_pad_link_free), (gst_pad_link_intersect),
10038         (gst_pad_link_fixate), (gst_pad_set_caps),
10039         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
10040         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
10041         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
10042         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
10043         (gst_pad_get_caps), (gst_pad_peer_get_caps),
10044         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
10045         (gst_pad_realize), (gst_pad_get_allowed_caps),
10046         (gst_real_pad_dispose), (gst_real_pad_finalize),
10047         (gst_pad_collectv), (gst_pad_collect_valist),
10048         (gst_pad_template_dispose), (gst_pad_template_new),
10049         (gst_pad_get_internal_links):
10050         * gst/gstpad.h:
10051         * gst/gstpipeline.c: (gst_pipeline_dispose),
10052         (gst_pipeline_change_state):
10053         * gst/gstpipeline.h:
10054         * gst/gstplugin.c:
10055         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
10056         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
10057         * gst/gstpluginfeature.h:
10058         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
10059         * gst/gstquery.c: (_gst_query_type_initialize),
10060         (gst_query_type_register), (gst_query_type_get_by_nick),
10061         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
10062         * gst/gstquery.h:
10063         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
10064         * gst/gstscheduler.c: (gst_scheduler_add_element),
10065         (gst_scheduler_factory_create):
10066         * gst/gststructure.c: (gst_structure_set_parent_refcount),
10067         (gst_structure_free), (gst_structure_set_name),
10068         (gst_structure_id_set_value), (gst_structure_set_value),
10069         (gst_structure_set_valist), (gst_structure_remove_field),
10070         (gst_structure_remove_fields),
10071         (gst_structure_remove_fields_valist),
10072         (gst_structure_remove_all_fields), (gst_structure_foreach),
10073         (gst_structure_map_in_place),
10074         (gst_caps_structure_fixate_field_nearest_int),
10075         (gst_caps_structure_fixate_field_nearest_double):
10076         * gst/gststructure.h:
10077         * gst/gstsystemclock.c: (gst_system_clock_class_init),
10078         (gst_system_clock_init), (gst_system_clock_dispose),
10079         (gst_system_clock_async_thread),
10080         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
10081         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
10082         * gst/gstsystemclock.h:
10083         * gst/gsttag.c: (gst_tag_list_add_value_internal),
10084         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
10085         * gst/gsttaginterface.c:
10086         * gst/gstthread.c: (gst_thread_dispose),
10087         (gst_thread_release_children_locks), (gst_thread_change_state),
10088         (gst_thread_main_loop):
10089         * gst/gsttrashstack.h:
10090         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
10091         * gst/gsttypes.h:
10092         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
10093         (gst_element_request_pad), (gst_element_get_pad_from_template),
10094         (gst_element_request_compatible_pad),
10095         (gst_element_get_compatible_pad_filtered),
10096         (gst_element_get_compatible_pad), (gst_element_state_get_name),
10097         (gst_element_link_pads_filtered), (gst_element_link_filtered),
10098         (gst_element_link_many), (gst_element_link),
10099         (gst_element_link_pads), (gst_element_unlink_pads),
10100         (gst_element_unlink_many), (gst_element_unlink),
10101         (gst_pad_can_link_filtered), (gst_pad_can_link),
10102         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
10103         (gst_object_default_error), (gst_bin_add_many),
10104         (gst_bin_remove_many), (gst_element_populate_std_props),
10105         (gst_element_class_install_std_props), (gst_buffer_merge),
10106         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
10107         (link_fold_func), (gst_pad_proxy_setcaps):
10108         * gst/gstutils.h:
10109         * gst/gstvalue.c: (gst_value_deserialize_string):
10110         * gst/parse/grammar.y:
10111         * gst/schedulers/gstbasicscheduler.c:
10112         (gst_basic_scheduler_cothreaded_chain),
10113         (gst_basic_scheduler_chain_recursive_add),
10114         (gst_basic_scheduler_pad_link):
10115         * gst/schedulers/gstoptimalscheduler.c:
10116         (get_group_schedule_function),
10117         (gst_opt_scheduler_state_transition),
10118         (gst_opt_scheduler_add_element), (element_get_reachables_func):
10119         * libs/gst/bytestream/bytestream.c:
10120         * libs/gst/dataprotocol/dataprotocol.c:
10121         (gst_dp_header_from_buffer):
10122         * po/nb.po:
10123         * po/ru.po:
10124         * tests/threadstate/threadstate2.c: (eos):
10125         * tools/gst-compprep.c: (main):
10126         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
10127         (print_pad_info), (print_children_info):
10128         * tools/gst-launch.c: (idle_func), (main):
10129         * tools/gst-md5sum.c: (idle_func), (main):
10130         * tools/gst-xmlinspect.c: (print_element_info):
10131         First THREADED backport attempt, focusing on adding locks and
10132         making sure the API is threadsafe. Needs more work. More docs
10133         follow this week.
10134
10135 2005-02-24  Andy Wingo  <wingo@pobox.com>
10136
10137         * tests/bench-complexity.scm:
10138         * tests/complexity.gnuplot: New files, good for running complexity
10139         benchmarks.
10140
10141         * tests/Makefile.am:
10142         * tests/complexity.c: New test, sets up N elements, at each level
10143         teeing into M streams per element. Eeeenteresting.
10144
10145         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
10146         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
10147         running bench-mass_elements.scm.
10148
10149         * tests/bench-mass_elements.scm: New script, runs mass_elements
10150         for various numbers of identities, outputting the results to a
10151         file. Requires guile 1.6. Just for testing.
10152
10153 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10154
10155         * gst/schedulers/fairscheduler.c:
10156           compile with debug disabled
10157
10158 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10159
10160         * configure.ac:
10161           hunting season on 0.9 is now OPEN