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