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