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