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