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