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