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