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