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