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