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