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