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