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