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