libs/gst/base/gstbasesrc.*: Don't cache the seekable status.
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
2
3         * libs/gst/base/gstbasesrc.c:
4         * libs/gst/base/gstbasesrc.h:
5         Don't cache the seekable status.
6         Fixes bug #544174
7
8 2008-07-24  Rene Stadler  <mail@renestadler.de>
9
10         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
11         code to close the pipeline graph.  This prevents the program from
12         printing internal data flow errors.
13
14 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
15
16         * docs/manual/basics-bus.xml:
17         Correct typo. Fixes bug #544320.
18
19 2008-07-22  Michael Smith <msmith@songbirdnest.com>
20
21         * configure.ac:
22           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
23           Add check (taken from -base) for winsock, adds WIN32_LIBS
24         * gst/Makefile.am:
25           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
26           winsock.
27           Define GST_EXPORTS when building libgstreamer (only used on win32)
28         * gst/gst_private.h:
29         * gst/gstinfo.h:
30           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
31           for symbols that we need to export in both these files.
32         * gst/gstpoll.c:
33           Include gst_private.h higher up to avoid some compile problems on win32.
34
35 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
36
37         * gst/gstvalue.c:
38         Fix typos.
39
40 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
41
42         * gst/gstcaps.c:
43         Previous commit was wrong NULL caps does not exist
44         and indicate an error, so also add a FIXME to
45         gst_caps_is_equal where NULL caps are accepted.
46
47 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
48
49         * gst/gstcaps.c:
50         Allow passing of NULL to gst_caps_union
51
52 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
53
54         * gst/gstghostpad.c:
55         Add in doc that gst_ghost_pad_set_target can accept
56         NULL to clear target
57
58 2008-07-15  Michael Smith <msmith@songbirdnest.com>
59
60         * gst/gstplugin.c:
61         * gst/gstregistry.c:
62           GstRegistryPool doesn't exist; don't refer to it in docs.
63           Don't refer to functions that don't exist in docs, it's
64           unhelpful.
65
66 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
67
68         * gst/gst.c:
69         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
70
71 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
72
73         Patch by: tmatth <le dot businessman at gmail dot com>
74
75         * docs/pwg/building-testapp.xml:
76         Don't use an undeclared variable in the example program.
77         Fixes bug #542573.
78
79 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
80
81         * gst/gstdebugutils.c:
82           Squeeze ghost-pad links and remove <> from classname labels to save
83           more horizontal space.
84
85 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
86
87         * gst/gstdebugutils.c:
88           Give request and sometimes pads a different shpe style. Condense the
89           graphs a little more.
90
91 2008-07-09  Michael Smith <msmith@songbirdnest.com>
92
93         * configure.ac:
94           Don't require flex and bison if the parser is disabled.
95
96 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
97
98         * libs/gst/controller/gstinterpolationcontrolsource.c:
99         (_list_find_sorted_custom):
100         Don't use declarations after statements.
101
102 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
103
104         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
105         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
106         of the the child-added / -removed signals as GstChildProxy
107         only supports GstObjects.
108
109 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
110
111         * gst/gstdebugutils.c:
112         Fix memleak
113
114 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
115
116         Patch by: Alessandro Decina <alessandro at nnva dot org>
117
118         * gst/gstpoll.c:
119         Fix "ignored return value" compiler warning with newer glibc.
120
121 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
122
123         * gst/gstchildproxy.c:
124         Fix copy&paste error in gst_child_proxy_removed() documentation.
125
126 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
127
128         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
129           Print error debug message if plugin description fields that should
130           be set are NULL.
131
132         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
133           Don't crash if the string to serialise is NULL (it really should
134           not be, but apparently this used to work with the xml registry ...).
135
136 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
137
138         * tools/gst-plot-timeline.py:
139         Fix parsing of log messages
140
141 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
142
143         * win32/common/libgstbase.def::
144           Sort alphabetically so make check-exports doesn't barf.
145
146 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
147
148         * gst/gstevent.c:
149           Use gst_format_get_name() to improve debug output.
150
151         * gst/gstpreset.c:
152           Remove #ifdef'ed code. Add TODO comment.
153
154         * gst/gstsegment.c:
155           Add debug output to ease spotting format != segment.format assertions.
156
157 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
158
159         * tests/check/libs/gdp.c: (gst_dp_suite):
160         Also enable the GDP unit test again on PPC now that the bug
161         is fixed.
162
163 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
164
165         * libs/gst/dataprotocol/dataprotocol.c:
166         Don't write to the same region of memory as a uint64 and uint16
167         as this breaks strict aliasing rules and apparantly breaks on PPC
168         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
169
170 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
171
172         * libs/gst/controller/gstinterpolationcontrolsource.c:
173           Optimize list handling. Use own find function. Exploit that fact that
174           the list is sorted. Also pass back the node before, so that we can
175           insert quickly. Have a fast path for append.
176
177 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
178
179         * docs/design/draft-framestep.txt:
180         * docs/design/part-negotiation.txt:
181           Fix two typos.
182
183 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
184
185         * configure.ac:
186           Show configuration sumary after configure run. Based on patch by
187           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
188
189 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
190
191         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
192
193         * docs/manual/advanced-autoplugging.xml:
194         * docs/manual/advanced-threads.xml:
195         * docs/manual/basics-bins.xml:
196         * docs/manual/basics-elements.xml:
197         * docs/manual/basics-helloworld.xml:
198         * docs/manual/basics-pads.xml:
199           Add scale factor for pdf output.
200
201         * docs/manual/intro-basics.xml:
202           Switched sections "pads" and "bins" and added a pipeline diagram.
203
204         * docs/manual/intro-gstreamer.xml:
205           Added more info on gstreamer.
206
207         * docs/manual/intro-motivation.xml:
208           Commented out the whole section "current problem", which sounds
209           historical and somehow osolete; it could be turned in a positive
210           way and reused to improve the design principles.
211
212         * docs/manual/intro-preface.xml:
213           - Update URLs to library.gnome.org. 
214           - Do not mention GTK+ in preliminary reading (irrelevant). 
215           - Mention Plugin Writer's Manual and further reading only in the
216             previous section.
217           - Added a list of most relevant GObject/glib topics.
218
219         * docs/manual/Makefile.am:
220         * docs/manual/bin-element-ghost.fig:
221         * docs/manual/bin-element-ghost.png:
222         * docs/manual/bin-element-noghost.fig:
223         * docs/manual/bin-element-noghost.png:
224         * docs/manual/bin-element.fig:
225         * docs/manual/bin-element.png:
226         * docs/manual/filter-element-multi.fig:
227         * docs/manual/filter-element-multi.png:
228         * docs/manual/filter-element.fig:
229         * docs/manual/filter-element.png:
230         * docs/manual/gstreamer-overview.png:
231         * docs/manual/hello-world.fig:
232         * docs/manual/hello-world.png:
233         * docs/manual/linked-elements.fig:
234         * docs/manual/linked-elements.png:
235         * docs/manual/mime-world.fig:
236         * docs/manual/mime-world.png:
237         * docs/manual/queue.fig:
238         * docs/manual/queue.png:
239         * docs/manual/simple-player.png:
240         * docs/manual/sink-element.fig:
241         * docs/manual/sink-element.png:
242         * docs/manual/src-element.fig:
243         * docs/manual/src-element.png:
244         * docs/manual/diagrams-general.svg:
245         * docs/manual/diagrams-pipelines.svg:
246           Removed .fig, added .png counterpart.
247           
248           Fixes: #539137
249
250 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
251
252         * plugins/elements/gstmultiqueue.c:
253         * plugins/elements/gstmultiqueue.h:
254         revert extra-size-buffers stuff, caused some race conditions
255         and extra-size-buffers is not used anymore. Docs needs some updates
256
257 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
258
259         * win32/common/config.h:
260         * win32/common/gstenumtypes.c:
261         * win32/common/gstenumtypes.h:
262         * win32/common/gstversion.h:
263           Update win32 files.
264
265 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
266
267         * gst/gstdebugutils.h: (GstDebugGraphDetails),
268           (GST_DEBUG_BIN_TO_DOT_FILE):
269           Add missing Since' markers to gtk-doc blurbs.
270
271 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
272
273         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
274         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
275         (set_caps_1), (set_caps_ct1), (transform_ct1),
276         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
277         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
278         (transform_size_ct2), (buffer_alloc_ct2):
279         Add some more tests with switching caps in buffer_alloc.
280
281 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
282
283         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
284         (gst_test_trans_class_init), (result_sink_chain),
285         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
286         (gst_test_trans_push), (gst_test_trans_pop):
287         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
288         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
289         (set_caps_1), (set_caps_ct1), (transform_ct1),
290         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
291         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
292         (transform_size_ct2), (buffer_alloc_ct2),
293         (gst_basetransform_suite):
294         More tests, prepare for tests with switching caps in buffer_alloc.
295
296 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
297
298         * plugins/elements/gstmultiqueue.c:
299         * plugins/elements/gstmultiqueue.h:
300         Fix dead-lock in underrun_cb
301
302 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
303
304         * docs/design/part-states.txt:
305         Fix device open/close docs.
306
307 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
308
309         * ChangeLog:
310           Mention bugnumber for last commit.
311
312 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
313
314         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
315
316         * docs/manual/manual.xml:
317         - Reorganised the previous "introduction" bundle into Foreword,
318         Introduction, and About GStreamer. The two first are <preface>
319         docbook elements. The later is the first part of the book.
320         - added intro-gstreamer.xml (content partially from
321         intro-preface.xml)
322         - moved appendix-win32.xml into appendix-integration.xml
323
324         * docs/manual/intro-preface.xml: gstreamer section moved...
325         * docs/manual/intro-gstreamer.xml: ...here. new file.
326
327         * docs/manual/appendix-win32.xml: removed file. Content moved...
328         * docs/manual/appendix-integration.xml: ...here.
329         
330         * docs/manual/highlevel-components.xml: section about GstEditor moved...
331         * docs/manual/appendix-checklist.xml: ...here.
332         
333         Fixes: 538764
334
335 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
336
337         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
338
339         * docs/manual/basics-helloworld.xml:
340         * docs/manual/hello-world.fig:
341           - Explicitely include glib.h.
342           - Do not use global variables.
343           - Use g_printerr() instead of g_print().
344           - Minor formating/renaming to increase readibility.
345           - Renamed new_pad() to on_pad_added()
346           - Improved explenatory comments.
347           - renamed ogg parser to ogg demuxer
348           - Use "autoaudiosink" instead of "alsasink".
349           Fixes: #538619
350
351 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
352
353         * ChangeLog:
354           Remove cvs conflict marker.
355
356 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
357
358         * docs/README:
359           Document that for plgin-docs we extraxt he short-desc from the element
360           details.
361
362         * docs/design/part-states.txt:
363           Tell that devices should be closed in PAUSED -> READY.
364
365         * docs/manual/README:
366           Document how tests in the manual are handled.
367
368         * docs/manuals.mak:
369           Typo in comment.
370
371 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
372
373         * gst/gstbin.c: (bin_query_latency_fold):
374         Only care about latency min and max when the sink is actually a live
375         sink.
376
377 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
378
379         * docs/design/part-block.txt:
380         Fix typo.
381
382         * docs/design/part-element-transform.txt:
383         Add notes about why transform needs to know input/output sizes.
384         Add some issues that need to be solved.
385         Add some more use cases.
386
387         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
388         (gst_test_trans_class_init), (result_sink_chain),
389         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
390         (gst_test_trans_push), (gst_test_trans_pop):
391         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
392         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
393         (set_caps_1), (set_caps_ct1), (transform_ct1),
394         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
395         (gst_basetransform_suite):
396         Add suport for different pad templates and buffer-alloc.
397         Add more checks for caps and buffer-alloc.
398         Add checks for proxy buffer alloc.
399         Add unit test for copy transform.
400
401 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
402
403         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
404
405         * docs/manual/appendix-integration.xml:
406         * docs/manual/appendix-licensing.xml:
407         * docs/manual/basics-elements.xml:
408         * docs/manual/basics-helloworld.xml:
409         * docs/manual/basics-pads.xml:
410         * docs/manual/highlevel-components.xml:
411         * docs/manual/highlevel-xml.xml:
412         * docs/manual/intro-basics.xml:
413         * docs/manual/intro-preface.xml:
414           Typo and formatting fixes (#538594).
415
416 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
417
418         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
419         Fix some memory leaks and uses of object instances that we don't
420         actually own.
421
422 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
423
424         * plugins/elements/gstmultiqueue.c:
425         Add functionality to extra-size-buffers property.
426
427 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
428
429         * plugins/elements/gstmultiqueue.c:
430         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
431         activate the pads if they are added in STATE_NULL.
432
433 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
434
435         * docs/libs/gstreamer-libs-sections.txt:
436         Add new API to doc
437         * libs/gst/check/gstcheck.c:
438         * libs/gst/check/gstcheck.h:
439         API: gst_check_teardown_pad_by_name
440
441 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
442
443         * libs/gst/check/gstcheck.c:
444         * libs/gst/check/gstcheck.h:
445         Also setup request pads and allow setup pads by name (#537812)
446         API: gst_check_setup_src_pad_by_name
447         API: gst_check_setup_sink_pad_by_name
448
449 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
450
451         * tests/check/gst/gstbuffer.c:
452         * tests/check/pipelines/parse-launch.c:
453           Use HAVE_VALGRIND_H some more.
454
455 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
456
457         * scripts/cvs-update.sh:
458           Pass arguments to make.
459           Run autoregen.sh if Makefile is not there.
460
461 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
462
463         * configure.ac:
464         * gst/gstinfo.c:
465           Don't assume that <valgrind/valgrind.h> exists just because
466           the binary is there.
467
468 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
469
470         * tests/check/Makefile.am:
471         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
472         (gst_test_trans_class_init), (gst_test_trans_init),
473         (gst_test_trans_set_data), (result_sink_chain),
474         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
475         (gst_test_trans_pop):
476         * tests/check/libs/transform1.c: (GST_START_TEST),
477         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
478         Add some test basetransform element and the beginnings of various
479         unit tests for it.
480
481 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
482
483         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
484         Increase code readability.
485         Don't try to compare buffer offsets when ther are invalid.
486
487 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
488
489         * docs/design/Makefile.am:
490           Dist some more design docs.
491
492         * docs/random/moving-plugins:
493           Small addition: good plugins mustn't have functional code
494           within assertion macros.
495
496 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
497
498         * docs/design/draft-framestep.txt:
499         Some ideas about a framestep API
500
501         * docs/design/part-element-transform.txt:
502         Start design and use cases for basetransform in order to get it
503         fixed soon.
504
505 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
506
507         * gst/gsttaglist.h:
508           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
509           be in UTF-8 encoding.
510
511 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
512
513         * gst/gstbus.c:
514           Make it known that gst_bus_poll() is pure evil (fixes #538810).
515
516 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
517
518         * plugins/elements/gstcapsfilter.c:
519         * plugins/elements/gstfakesink.c:
520         * plugins/elements/gstfakesrc.c:
521         * plugins/elements/gstfdsink.c:
522         * plugins/elements/gstfdsrc.c:
523         * plugins/elements/gstfilesink.c:
524         * plugins/elements/gstfilesrc.c:
525         * plugins/elements/gstidentity.c:
526         * plugins/elements/gstmultiqueue.c:
527         * plugins/elements/gstqueue.c:
528         * plugins/elements/gsttee.c:
529         * plugins/elements/gsttypefindelement.c:
530           Remove short_description. Add basic docs for gsttypefindelement.
531           Simplify markup for fakesrc/fdsrc.
532
533 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
534
535         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
536         Added Since doc.
537
538 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
539
540         Patch by: joel larsson <tilljoel at gmail dot com>
541
542         * docs/plugins/gstreamer-plugins.args:
543         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
544         (gst_fd_src_init), (gst_fd_src_update_fd),
545         (gst_fd_src_set_property), (gst_fd_src_get_property),
546         (gst_fd_src_create):
547         * plugins/elements/gstfdsrc.h:
548         Add timeout property like udpsrc. Fixes #538628.
549         Add some more docs and example pipelines.
550
551 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
552
553         * docs/libs/gstreamer-libs-sections.txt:
554         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
555         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
556         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
557         (gst_base_sink_do_sync):
558         * libs/gst/base/gstbasesink.h:
559         * win32/common/libgstbase.def:
560         Add method to allow sinks to specify additional delay between the sync
561         times and the actual rendering of the data.
562         API: gst_base_sink_set_render_delay()
563         API: gst_base_sink_get_render_delay()
564
565 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
566
567         * configure.ac:
568         Bump version number back to dev -> 0.10.20.1
569
570 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
571
572         * docs/gst/gstreamer-sections.txt:
573         * gst/gsttaglist.c: (_gst_tag_initialize):
574         * gst/gsttaglist.h:
575         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
576         Fixes bug #538568.
577
578 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
579
580         * libs/gst/controller/gstcontroller.c:
581           Revert one change, that make ret value possible uninitialized.
582
583 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
584
585         * libs/gst/controller/gstcontroller.c:
586           Use freeze/thaw notify to sync notify emission a bit (its also more
587           efficient). Move debug output to LOG (is called a lot in a loop).
588           Always unset g_values if the have been initialized.
589
590 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
591
592         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
593         (gst_base_sink_wait_eos), (gst_base_sink_event):
594         If we have not seen a buffer before EOS, use the segment values to
595         report the current position instead of invalid positions.
596
597 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
598
599         * docs/plugins/tmpl/.cvsignore:
600         * tests/check/gst/.cvsignore:
601           Ignore more.
602
603 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
604
605         * libs/gst/controller/gstinterpolation.c:
606         * libs/gst/controller/gstinterpolationcontrolsource.c:
607         * tests/check/libs/controller.c:
608           Rewrite handling of default values. Fix overflow with unsigned types
609           in linear interpolation. Remove now obsolete _first_value() function.
610           Add more tests. Fixes #538201.
611
612 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
613
614         * libs/gst/base/gstbasetransform.c:
615         (gst_base_transform_class_init), (gst_base_transform_init),
616         (gst_base_transform_transform_caps),
617         (gst_base_transform_prepare_output_buffer):
618         Add debug info.
619         When a buffer is writable, its metadata is also writable so we don't
620         need to subbuffer (which then makes the buffer not-writable anymore).
621
622 === release 0.10.20 ===
623
624 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
625
626         * configure.ac:
627           releasing 0.10.20, "You Crazy Diamond"
628
629 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
630
631         * configure.ac:
632         0.10.19.3 pre-release
633
634 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
635
636         * configure.ac:
637         * gst/gstpreset.c:
638         Rename DATADIR to GST_DATADIR to avoid build problems
639         on win32. Patch By: David Schleef <ds@schleef.org>
640         Fixes: #536857
641
642 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
643
644         * configure.ac:
645         Explicitely link with -ldl if dladdr() is found there. Before it was
646         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
647         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
648
649 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
650
651         * gst/gsterror.c: (_gst_stream_errors_init):
652           Fix typo (spotted by Fabricio Godoy, #536723).
653
654 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
655
656         * configure.ac:
657         0.10.19.2 pre-release
658
659 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
660
661         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
662         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
663         Add some debug.
664         Make sure we don't generate invalid QoS messages.
665
666 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
667
668         * gst/gstevent.c: (gst_event_new_qos):
669         Add some assert and docs for invalid input to the qos function.
670
671 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
672
673         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
674         (gst_base_sink_get_position):
675         The reported position must always be smaller than the last seen
676         timestamps (or timestamp + duration for reverse).
677
678 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
679
680         Patch by: Rob Bradford <rob at robster dot org dot uk>
681
682         * gst/gstregistry.c: (gst_registry_scan_path_level):
683         Don't recurse into .debug directories as some distros install
684         the debugging symbols next to the plugins in .debug directories
685         and dlopen() crashes on them sometimes. Fixes bug #508070.
686
687         Add FIXME for 0.11 to not recurse into directories at all because
688         it's very inconsistent to the behaviour of other PATH environment
689         variables.
690
691 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
692
693         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
694         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
695         Fix position query range checks in reverse playback.
696
697 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
698
699         * gst/gstelement.c:
700         * gst/gstelement.h:
701         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
702         clear of the reference to the resulting pad must be released later
703         or not, resulting in possible leaks. Fixes bug #533865.
704
705 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
706
707         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
708
709         * gst/gstelementfactory.c:
710         Small doc fix. Fixes #535285.
711
712 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
713
714         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
715
716         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
717         (gst_base_src_get_range), (gst_base_src_pad_get_range),
718         (gst_base_src_loop), (gst_base_src_set_flushing),
719         (gst_base_src_change_state):
720         Make sending an EOS event to the basesrc non-blocking even if the
721         implementation does blocking waits in the create function. This is done
722         by unlocking the create function when EOS is sent.
723         Fixes #535218.
724
725 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
726
727         * tools/gst-inspect.c: (print_element_properties_info):
728         If possible print the element type of GValueArray properties.
729
730 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
731
732         * gst/gstiterator.c:
733         Remove an unused field from the private GstListIterator struct.
734
735 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
736
737         * libs/gst/controller/gstcontroller.c:
738           Add parameter guards.
739
740 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
741
742         * tests/check/gst/gstpipeline.c:
743           Revert test change and add comment why it should not work.
744
745 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
746
747         * tests/check/gst/gstpipeline.c:
748           Extending the test a little to verify that we also get the NULL state-
749           change message.
750
751 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
752
753         * gst/gstpreset.c: (gst_preset_default_get_meta),
754           (gst_preset_get_preset_names), (gst_preset_get_property_names),
755           (gst_preset_load_preset), (gst_preset_save_preset),
756           (gst_preset_rename_preset), (gst_preset_delete_preset),
757           (gst_preset_set_meta):
758           Add Since: markers to docs blurbs.
759
760         * win32/common/libgstreamer.def:
761           Add recently-added API.
762
763 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
764
765         Patch by: Stefan Kost  <ensonic@users.sf.net>
766
767         * configure.ac:
768         Add DATADIR for storing presets.
769
770         * docs/gst/gstreamer-docs.sgml:
771         * docs/gst/gstreamer-sections.txt:
772         * docs/gst/gstreamer.types.in:
773         Add GstPreset to docs.
774
775         * gst/Makefile.am:
776         * gst/gst.h:
777         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
778         (preset_open_and_parse_header), (preset_parse_version),
779         (preset_merge), (preset_get_keyfile),
780         (gst_preset_default_get_preset_names),
781         (gst_preset_default_get_property_names),
782         (gst_preset_default_load_preset),
783         (gst_preset_default_save_presets_file),
784         (gst_preset_default_save_preset),
785         (gst_preset_default_rename_preset),
786         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
787         (gst_preset_default_get_meta), (gst_preset_default_randomize),
788         (gst_preset_default_reset), (gst_preset_get_preset_names),
789         (gst_preset_get_property_names), (gst_preset_load_preset),
790         (gst_preset_save_preset), (gst_preset_rename_preset),
791         (gst_preset_delete_preset), (gst_preset_set_meta),
792         (gst_preset_get_meta), (gst_preset_class_init),
793         (gst_preset_base_init), (gst_preset_get_type):
794         * gst/gstpreset.h:
795         Add GstPreset to core. Fixes #396779
796
797         * tests/check/Makefile.am:
798         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
799         (gst_preset_test_set_property), (gst_preset_test_class_init),
800         (gst_preset_test_base_init), (gst_preset_test_get_type),
801         (gst_preset_test_plugin_init), (GST_START_TEST),
802         (remove_preset_file), (test_setup), (test_teardown),
803         (gst_preset_suite):
804         Add GstPreset unit tests.
805
806 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
807
808         * gst/gstpad.c: (gst_pad_event_default_dispatch):
809         The default event function on a sinkpad should return TRUE when
810         there are no internal links but should collect the return values from
811         the internal links otherwise.
812
813 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
814
815         * plugins/elements/gsttypefindelement.c:
816         (gst_type_find_element_src_event),
817         (gst_type_find_element_handle_event):
818         Use faster and safer _pad_push_event().
819
820 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
821
822         * docs/gst/gstreamer-sections.txt:
823         * gst/gstutils.c: (element_find_unlinked_pad),
824           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
825         * gst/gstutils.h:
826           API: add gst_bin_find_unlinked_pad()
827           API: deprecate gst_bin_find_unconnected_pad() (#401456)
828
829 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
830
831         * gst/gstclock.c:
832         * gst/gstclock.h:
833         * gst/gsttask.c:
834         * gst/gsttask.h:
835         Fixed a bunch of typos.
836
837 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
838
839         * gst/gstpad.h:
840         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
841           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
842           (gst_parse_bin_from_description_full):
843         * gst/gstutils.h:
844           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
845
846 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
847
848         * docs/pwg/advanced-tagging.xml:
849           Small docs update, can't be bothered to rewrite the nonsensical
850           examples right now.
851
852 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
853
854         * gst/gstevent.h:
855           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
856
857 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
858
859         * gst/parse/grammar.y:
860           Remove unneeded casts.
861
862 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
863
864         * gst/parse/grammar.y:
865         * tests/check/pipelines/parse-launch.c:
866           Get all missing elements from a parse launch string if possible
867           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
868
869 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
870
871         * tests/check/Makefile.am:
872         * tests/check/pipelines/parse-launch.c:
873           Add some unit tests for the new gst_parse_launch*_full() API.
874           (Exposes a previously-existing memory leak in the error code
875           path, so adding to VALGRIND_TO_FIX for now).
876
877 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
878
879         * docs/gst/gstreamer-sections.txt:
880         * gst/gst.c: (init_post):
881         * gst/gst_private.h: (_GstParseContext):
882         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
883           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
884           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
885           (gst_parse_launch_full):
886         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
887           (GstParseFlags), (GstParseContext):
888         * gst/gstutils.c: (gst_parse_bin_from_description),
889           (gst_parse_bin_from_description_full):
890         * gst/gstutils.h:
891         * gst/parse/grammar.y:
892         * gst/parse/types.h:
893         * win32/common/libgstreamer.def:
894           Add new gst_parse_*_full API (#528178):
895           API: gst_parse_launch_full()
896           API: gst_parse_launchv_full()
897           API: gst_parse_bin_from_description_full()
898           API: gst_parse_context_new()
899           API: gst_parse_context_free()
900           API: gst_parse_context_get_missing_elements()
901
902 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
903
904         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
905
906         * docs/faq/gst-uninstalled:
907           Also support ffmpeg in gst-uninstalled.
908
909 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
910
911         * configure.ac:
912         After discussion on IRC use the binary registry as default
913         but allow to disable it with --disable-binary-registry.
914
915         * win32/common/libgstreamer.def:
916         Add the two new symbols for the binary registry.
917
918 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
919
920         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
921         * gst/gstutils.c: (gst_parse_bin_from_description):
922         * gst/parse/grammar.y: (graph):
923           More guards against bad input; typo fix; some minor clean-ups.
924
925 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
926
927         Patch by: Sjoerd Simons <sjoerd at luon dot net>
928
929         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
930         If nothing else can be used, use the last buffer's start time as
931         the segment's last stop. Fixes bug #534258.
932
933 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
934
935         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
936           Move size sanity check to the right place: downstream may return
937           a buffer with a smaller size if the buffer caps are different than
938           the requested ones, as may happen when doing reverse negotiation.
939
940 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
941
942         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
943         (gst_file_sink_render):
944         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
945         (gst_file_src_start):
946         Small cleanups. Add note adbout g_fopen() on windows and why we don't
947         use it yet.
948
949 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
950
951         * gst/gstpad.c: (gst_pad_load_and_link):
952         * gst/gstutils.c: (gst_element_link_pads),
953         (gst_element_unlink_pads):
954         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
955         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
956         (gst_check_teardown_sink_pad),
957         (gst_check_element_push_buffer_list):
958         * tests/check/elements/fakesink.c: (GST_START_TEST):
959         * tests/check/elements/filesink.c:
960         * tests/check/elements/filesrc.c: (GST_START_TEST):
961         * tests/check/elements/multiqueue.c: (setup_multiqueue),
962         (mq_sinkpad_to_srcpad):
963         * tests/check/elements/tee.c: (GST_START_TEST):
964         * tests/check/generic/sinks.c: (GST_START_TEST):
965         * tests/check/gst/gstbin.c: (GST_START_TEST):
966         * tests/check/gst/gstevent.c: (GST_START_TEST):
967         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
968         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
969         * tests/check/gst/gstquery.c: (GST_START_TEST):
970         * tests/check/gst/gstutils.c: (GST_START_TEST):
971         * tests/check/libs/basesrc.c: (GST_START_TEST):
972         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
973         (gst_parse_test_element_change_state):
974         Don't use gst_element_get_pad().
975
976 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
977
978         * docs/Makefile.am:
979         Fix installing plugin documentation when gtk-doc is disabled.
980
981 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
982
983         * docs/manual/advanced-autoplugging.xml:
984         * docs/manual/basics-helloworld.xml:
985         * docs/manual/basics-pads.xml:
986         * docs/manual/highlevel-components.xml:
987         Avoid using a bad function in the example code.
988
989 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
990
991         * gst/gstclock.c: (gst_clock_set_calibration):
992         Fix debug of the new clock rate.
993
994 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
995
996         * win32/common/libgstbase.def:
997         Add gst_base_sink_wait_clock() to the exported symbols.
998
999 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
1000
1001         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
1002
1003         * libs/gst/base/gstbasetransform.c:
1004         (gst_base_transform_sink_event):
1005         Unref events that the GstBaseTransform::event vfunc didn't want to
1006         have forwarded by the base class. Closes a leak in identity.
1007         Fixes bug #446763.
1008
1009 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1010
1011         * docs/libs/gstreamer-libs-sections.txt:
1012         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
1013         * libs/gst/base/gstbasesink.h:
1014         Expose a method that was previously used internally to synchronize
1015         against the clock because it can be useful for subclasses too.
1016         API: GstBaseSink::gst_base_sink_wait_clock()
1017
1018 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
1019
1020         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
1021           Add sanity check to make sure we don't get smaller buffers
1022           than requested (and fallback to normal buffer alloc if we do).
1023
1024 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1025
1026         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
1027         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
1028         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
1029         Refactor adjusting the running_time with latency and offset into a
1030         separate method.
1031         When doing clipping, we still want to use the subclass get_times method,
1032         just in case the DURATION or TIMESTAMP are not set.
1033
1034 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
1035
1036         * docs/gst/gstreamer-sections.txt:
1037         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
1038         * gst/gsttypefind.h:
1039         * win32/common/libgstreamer.def:
1040           API: add gst_type_find_suggest_simple(), #533740.
1041
1042 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
1043
1044         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
1045           Use right error code when typefinding fails, so we can use
1046           the default (translated) error messages.
1047
1048 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1049
1050         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
1051         (gst_base_src_start):
1052         When the subclass did not set caps on outgoing buffers, configure the
1053         caps we negotiated on the source pad.
1054         When the typefind helper does not find caps, error out properly instead
1055         of doing things with NULL caps.
1056
1057 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1058
1059         * gst/gsttypefind.h:
1060           Tabs to spaces, oh yes!
1061
1062 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1063
1064         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
1065           Add David's and Benjamin's tests for array intersection to the
1066           unit test suite (#147931).
1067
1068 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1069
1070         * gst/gstevent.c:
1071           Document that gst_event_new_tag() and gst_event_new_navigation()
1072           take ownership of the taglist/structure passed to them. (#533635).
1073
1074 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
1075
1076         * docs/Makefile.am:
1077         Don't descend into the plugins dir if plugin docs building
1078         is disabled.
1079
1080         * docs/README:
1081         Add a note about the new type:GTypeName syntax for the plugin
1082         documentation .types file.
1083
1084 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
1085
1086         * gst/gstmessage.c: (gst_message_new_error),
1087         (gst_message_new_warning), (gst_message_new_info):
1088         * gst/gstmessage.h:
1089         Mark the debug string parameters as const. Fixes bug #533490.
1090
1091 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
1092
1093         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
1094         Sort buffer cache list by end offsets. This makes sure that we don't
1095         stop to search for a cached buffer that contains the requested data
1096         too early.
1097         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
1098         more efficient. Fixes bug #459862.
1099
1100 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
1101
1102         * gst/gstinfo.c:
1103           Explain why we copy the list.
1104
1105         * gst/gstpipeline.c:
1106           Improve docs.
1107
1108         * gst/gstutils.c:
1109           Add one debug-log statement to help tracing probelms with linking pads.
1110
1111 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
1112
1113         * tests/check/gst/gstinfo.c:
1114         Add a test for removing the default log handler. Seems to fail under
1115         windows.
1116
1117 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1118
1119         * gst/gstpad.c: (gst_pad_peer_accept_caps):
1120         Release pad lock before calling out to avoid a possible deadlock.
1121
1122 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1123
1124         * gst/parse/grammar.y:
1125         Remove unneeded value unset.
1126
1127         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1128         Add unit test for de/serialization of caps.
1129
1130 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
1131
1132         * plugins/elements/gstfakesink.c:
1133         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
1134         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
1135         (gst_fake_src_class_init):
1136         Use custom marshalers that take GstMiniObject as first parameter.
1137         Using OBJECT as parameter while a GstMiniObject is given will lead
1138         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
1139
1140 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
1141
1142         * plugins/elements/gsttypefindelement.c:
1143         (gst_type_find_element_handle_event),
1144         (gst_type_find_element_send_cached_events),
1145         (gst_type_find_element_change_state):
1146         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
1147         immediately.
1148
1149 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
1150
1151         * plugins/elements/gsttypefindelement.c:
1152         (gst_type_find_handle_src_query), (stop_typefinding),
1153         (gst_type_find_element_handle_event),
1154         (gst_type_find_element_send_cached_events),
1155         (gst_type_find_element_change_state):
1156         Forward FLUSH_START events immediately and clean up instead of
1157         caching them.
1158
1159 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
1160
1161         Patch by: Sjoerd Simons <sjoerd at luon dot net>
1162
1163         * libs/gst/base/gstbasetransform.c:
1164         (gst_base_transform_buffer_alloc):
1165         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
1166         fall back to default negotiation in the chain function if the caps
1167         are different from what was requested. Fixes bug #526768.
1168
1169 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
1170
1171         * gst/gstsegment.c:
1172         * tests/check/gst/gstsegment.c:
1173           No, let's not use g_slice_{dup|copy} here, since they only exist
1174           since GLib 2.14 and we still depend only on >= 2.12. Also add
1175           unit test for gst_segment_copy().
1176
1177 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
1178
1179         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
1180           Try to fix 'dereferencing type-punned pointer will break strict
1181           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
1182           changed the default GType typedef from gulong to gsize at some point,
1183           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
1184           g_once_* functions all take a gsize * though, so work around the type
1185           mismatch for C++ by doing everything in gsize and casting to GType
1186           later.
1187
1188 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
1189
1190         * plugins/elements/gstmultiqueue.c:
1191         Add documentation for the signals to push our core plugin docs
1192         coverage back up to 100%.
1193
1194 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1195
1196         * gst/gstinfo.h (GST_FUNCTION):
1197           Reverted GST_FUNCTION to the old version as we don't want the
1198           full signature in C++ code. Also added support for MSVC.
1199
1200 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
1201
1202         * gst/gstutils.h:
1203         Intern the type name string, similar to what G_DEFINE_TYPE does.
1204
1205 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
1206
1207         * gst/gstutils.h:
1208         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
1209
1210 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
1211
1212         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
1213
1214         * libs/gst/base/gstbasetransform.c:
1215         (gst_base_transform_buffer_alloc):
1216         Don't passthrough buffer allocation too easily if the caps change.
1217         This breaks when working in passthrough mode and upstream changes
1218         it's caps. Fixes bug #526768.
1219
1220 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1221
1222         * gst/gstinfo.c (gst_debug_log_valist):
1223           Improved the __FILE__ part of debug output for MSVC.
1224
1225 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1226
1227         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
1228           Declaration after statement fix for compilers like MSVC.
1229
1230 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1231
1232         * win32/common/config.h.in:
1233           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
1234           use the real thing than having "???" unconditionally.
1235
1236 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1237
1238         * gst/gstinfo.h (GST_FUNCTION):
1239           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
1240
1241 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1242
1243         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
1244         Small code cleanup.
1245
1246         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
1247         (gst_base_sink_set_flushing):
1248         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1249         Fix some comments.
1250
1251 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1252
1253         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1254         (gst_fake_src_init), (gst_fake_src_set_property),
1255         (gst_fake_src_get_property), (gst_fake_src_start):
1256         * plugins/elements/gstfakesrc.h:
1257         Added format property to control the format of the newsegment events.
1258         API: GstFakeSrc:format
1259
1260 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
1261
1262         * win32/common/libgstreamer.def:
1263         Add gst_pad_has_name() to the exported symbols.
1264
1265 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
1266
1267         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1268         * libs/gst/base/gstbasetransform.c:
1269         (gst_base_transform_prepare_output_buffer):
1270         Don't allow negative sizes when allocating new buffers.
1271         Fixes bug #461253.
1272
1273 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
1274
1275         Patch by: Sjoerd Simons <sjoerd at luon net>
1276
1277         * gst/gstbus.c: (gst_bus_source_dispatch):
1278           Don't print a warning if the queue is empty when we try to pop
1279           here. That could happen if another thread or callback set the
1280           bus to flushing between the source's check/prepare and the
1281           dispatch being called (#531538).
1282
1283 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
1284
1285         * plugins/elements/gstmultiqueue.c:
1286           Small docs fix.
1287         
1288 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
1289
1290         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1291         Add unit test for deserializing uint64s and check some really large
1292         numbers in the int64 test.
1293
1294 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
1295
1296         * tools/gst-inspect.c: (n_print), (print_hierarchy),
1297         (print_interfaces), (print_element_properties_info),
1298         (print_signal_info):
1299         Use "%s" as format string instead of printing strings directly.
1300
1301 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
1302
1303         * gst/gstclock.c: (gst_clock_set_calibration):
1304         Make some checks actually useful.
1305
1306         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
1307         Remove some unused code. Unsigned integers tend to be >= 0.
1308
1309 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1310
1311         * gst/gstminiobject.c: (gst_value_get_mini_object):
1312           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
1313           function was not in the unscheduled 0.10.19 release.
1314
1315 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1316
1317         * gst/gstregistry.c: (gst_registry_scan_path_level):
1318           Only print one log message per non-plugin file.
1319
1320 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1321
1322         * gst/gstinfo.c: (gst_debug_log_default):
1323           Fix alignment of debug log columns on 64-bit.
1324
1325 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1326
1327         * docs/libs/Makefile.am:
1328         * docs/libs/gstreamer-libs-sections.txt:
1329           Ignore private controller headers for docs.
1330
1331 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
1332
1333         * libs/gst/controller/gstcontrollerprivate.h:
1334         * libs/gst/controller/gsthelper.c:
1335         * libs/gst/controller/gstinterpolation.c:
1336         * libs/gst/controller/gstinterpolationcontrolsource.c:
1337         (gst_interpolation_control_source_set_interpolation_mode):
1338         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
1339         * libs/gst/controller/lib.c:
1340         Move some private declarations into private headers.
1341
1342 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
1343
1344         * gst/gstdebugutils.c: (debug_dump_element_pad):
1345         Remove some code that is unused after Stefan's refactoring and uses
1346         uninitialized variables now, resulting in a compiler warning.
1347
1348 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1349
1350         * gst/gstregistry.c: (gst_registry_scan_path_level):
1351           Run g_str_has_suffix() only on the file name, not the
1352           entire file path.
1353
1354 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
1355
1356         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
1357           Since we're not called only from the chain function any longer,
1358           we can't assume that there's always data in the queue, so move
1359           the is_full check to the beginning of the loop (otherwise we'd
1360           hit the assert when changing the limit properties while the
1361           queue is empty or not running yet).
1362           Also, only set a discont if items were actually removed from
1363           the queue.
1364
1365         * tests/check/elements/queue.c: (test_leaky_downstream):
1366           Test case for the above.
1367
1368 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
1369
1370         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
1371
1372         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
1373         (gst_queue_chain), (queue_capacity_change),
1374         (gst_queue_set_property):
1375         When changing thr max capacity of a leaky queue, immediatly drop buffers
1376         instead of waiting for a push on the sinkpad. Fixes #530637.
1377
1378 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
1379
1380         * gst/gstdebugutils.c:
1381           Refactor code and fix handling of ghostpads and their proxypads.
1382
1383 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1384
1385         * docs/gst/gstreamer-sections.txt:
1386         * gst/gstevent.c: (gst_event_has_name):
1387         * gst/gstevent.h:
1388         * tests/check/gst/gstevent.c: (GST_START_TEST):
1389         Add method to conveniently check the name of a custom event with
1390         gst_event_has_name().
1391         Reformat the event docs so that related methods are put together instead
1392         of the default alphabetical sort.
1393         Update unit test with new method.
1394         API: GstEvent::gst_event_has_name()
1395
1396 2008-04-28  Michael Smith <msmith@songbirdnest.com>
1397
1398         * libs/gst/check/Makefile.am:
1399           Don't add an explicit link to libgstreamer-0.10.la; it's already
1400           included in GST_OBJ_LIBS.
1401
1402 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
1403
1404         * gst/gst.c:
1405         Register GstClock type from a type-safe context. Fixes bug #530317.
1406
1407 2008-04-25  Michael Smith <msmith@songbirdnest.com>
1408
1409         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
1410         * tools/gst-run.c:
1411           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
1412
1413 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1414
1415         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
1416         (gst_bin_dispose):
1417         Use the GLib stuff to create a private structure.
1418         Add some locking around some dispose methods to make them a little
1419         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
1420
1421 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
1422
1423         * libs/gst/base/gstbasesink.h:
1424         * libs/gst/base/gstbasesrc.h:
1425         * libs/gst/base/gstbasetransform.h:
1426         * libs/gst/base/gstcollectpads.h:
1427           Fix doc typos and unify caps a bit.
1428
1429 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
1430
1431         * tools/gst-launch.1.in:
1432           Forgot to also add the envvar docs here.
1433
1434 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
1435
1436         * gst/gst.c: (init_post), (gst_deinit):
1437         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
1438           (test_concurrent_create), (gst_pipeline_suite):
1439           Ref some more classes in gst_init() to work around thread-safety
1440           issues in pre-2.16 GLibs, and add basic unit test.
1441
1442 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1443
1444         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
1445         (gst_base_sink_send_event):
1446         Rearrange the latency query code. We always want to do the upstream
1447         query, even if we are not live so that the upstream elements can get the
1448         latency results too. If we fail doing the query and we are live, we
1449         return TRUE afterwards.
1450
1451 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
1452
1453         patch by: Jason Zhao <e3423c@motorola.com>
1454
1455         * docs/gst/running.xml:
1456         * gst/gst.c:
1457           Enable/disable scan_and_update_registry() based on commandline switch
1458           or environment variable. Fixes #520468.
1459           
1460         * ChangeLog:
1461           Fix typo in my previous commit.
1462
1463 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
1464
1465         * gst/gstregistrybinary.c:
1466           Add a warning if we hit unhandled factories when saving.
1467           More debug logging detail, but move to LOG category.
1468
1469 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
1470
1471         * gst/gstregistry.c:
1472           Tell the *truth* when improving the documentation.
1473
1474 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
1475
1476         * gst/gstelementfactory.c: (gst_element_factory_make):
1477         Unref the factory after it was used the last time, not before.
1478
1479         * gst/gstindexfactory.c: (gst_index_factory_make):
1480         Improve debugging a bit and don't leak a ref to the index factory with
1481         each call.
1482
1483 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
1484
1485         * gst/gstregistry.c:
1486           Improve the documentation.
1487
1488 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
1489
1490         * gst/gstsegment.c:
1491           The glib macro seems to be borked. Use g_slice_copy directly and cast
1492           in the hope that this fixes the warning on 64bit.
1493
1494 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
1495
1496         * gst/gstsegment.c:
1497           Document the new function. Use g_slice_dup() (no need for
1498           gst_segment_init()).    
1499
1500 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
1501
1502         * docs/gst/gstreamer-sections.txt:
1503           Move GParamSepc macros to standart section.
1504   
1505         * gst/gstbin.c:
1506           Dn't document _get_type - its in private section in docs anyway and
1507           this doc-blob was incomplete.
1508
1509         * gst/gstclock.h:
1510           Fix wrong symbol names in docs.
1511
1512         * gst/gstmacros.h:
1513           Add once doc sentence.
1514
1515         * tests/check/gst/.cvsignore:
1516           Ignore more.
1517
1518 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
1519
1520         * docs/gst/Makefile.am:
1521           And remove those libs here.
1522
1523 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
1524
1525         * docs/libs/Makefile.am:
1526           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
1527
1528 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1529
1530         Patch by: Olivier Crete <tester at tester dot ca>
1531
1532         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
1533         Add the min-threshold to the min latency if possible. Fixes #529148.
1534
1535 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
1536
1537         * docs/gst/gstreamer.types.in:
1538           Stupid editor, I removed that line as it should go in yet.
1539
1540 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
1541
1542         * docs/gst/gstreamer.types.in:
1543         * docs/libs/gstreamer-libs.types:
1544           Remove library types fro core docs and have them in libs docs.
1545           Reformat and cleanup. Add comment for miniobject types.
1546
1547 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
1548
1549         * gst/gsturi.c: (gst_uri_get_protocol):
1550           Fix leak: g_strdown operates on the string in place, while
1551           g_ascii_strdown() returns a newly-allocated string.
1552
1553 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
1554
1555         * tools/gst-inspect.c: (print_uri_handler_info),
1556         (print_element_info):
1557         Print the URI protocols and the URI type supported by the element.
1558
1559 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1560
1561         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
1562         Use g_value_take_string() instead of the deprecated
1563         g_value_set_string_take_ownership().
1564
1565 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1566
1567         * gst/gstregistrybinary.c: (_gst_crc32):
1568         Return the old CRC instead of 0 if we give a NULL buffer
1569         or a buffer with a length of 0.
1570
1571 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1572
1573         * gst/gsturi.c: (gst_uri_protocol_check_internal),
1574         (gst_uri_get_protocol), (gst_uri_has_protocol),
1575         (gst_uri_construct), (gst_uri_handler_set_uri):
1576         A valid URI scheme can also include '+', '-' and '.' additional
1577         to alphanumeric characters as per RFC 3986 Section 3.1.
1578
1579         Handle URI schemes case insensitive in all places and convert
1580         to lower-case when constructing an URI or setting an URI with
1581         the GstURIHandler interface. Fixes bug #528868.
1582         All elements can still assume (as before) that they will
1583         get passed URIs with a lower-case URI scheme by the GstURIHandler
1584         interface.
1585
1586 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
1587
1588         * gst/gstcaps.c: (gst_static_caps_get):
1589         * gst/gstclock.c: (gst_clock_entry_new):
1590           Don't use g_atomic_set_int where it's not needed.
1591
1592 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
1593
1594         * gst/gstvalue.c: (gst_value_deserialize_caps):
1595         * gst/parse/grammar.y:
1596         Fix 2 caps leaks.
1597
1598 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
1599
1600         * gst/gstutils.c: (gst_atomic_int_set):
1601         Use g_atomic_int_set() here too instead of assignment +
1602         g_atomic_int_get().
1603
1604 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
1605         
1606         * gst/gstutils.c:
1607         * gst/gstutils.h:
1608         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
1609         now that we depend on new enough GLib.
1610
1611         * gst/gstcaps.c: (gst_static_caps_get):
1612         * gst/gstclock.c: (gst_clock_entry_new):
1613         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
1614         (gst_debug_set_default_threshold), (_gst_debug_category_new),
1615         (gst_debug_category_set_threshold):
1616         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1617         (gst_base_sink_set_qos_enabled):
1618         * libs/gst/net/gstnettimeprovider.c:
1619         (gst_net_time_provider_set_property):
1620         Use g_atomic_int_set() instead of gst_atomic_int_set().
1621
1622 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
1623
1624         * gst/gstquery.c:
1625           Also use G_GINT64_CONSTANT for the queries.
1626
1627 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
1628
1629         * gst/gstmessage.c:
1630           Use G_GINT64_CONSTANT in varargs function.
1631
1632 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
1633
1634         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
1635         Initialize the registry magic with zeroes.
1636
1637 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
1638
1639         * gst/gstregistrybinary.c: (_gst_crc32),
1640         (gst_registry_binary_write),
1641         (gst_registry_binary_initialize_magic),
1642         (gst_registry_binary_write_cache),
1643         (gst_registry_binary_check_magic),
1644         (gst_registry_binary_read_cache):
1645         * gst/gstregistrybinary.h:
1646         Add crc32 checksum to the binary registry file and check this before
1647         accepting a registry file.
1648
1649         Also free the data list when writing to the registry file fails.
1650
1651 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
1652
1653         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1654         (gst_registry_binary_load_feature),
1655         (gst_registry_binary_load_plugin):
1656         If an element supports the Uri interface, returns a valid pointer
1657         to the supported URI protocols but this pointer contains nothing
1658         don't try to save that as it will corrupt the registry.
1659
1660         Don't unref the plugin if we added it to the registry already but
1661         fail to load a feature as gst_registry_add_plugin() takes ownership
1662         of the plugin.
1663
1664         Improve debugging a bit.
1665
1666 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
1667
1668         * gst/gsttaglist.h:
1669           Clarify some tag item docs after discussion on irc.
1670
1671 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
1672
1673         * docs/gst/gstreamer-docs.sgml:
1674           Remove commented out plugins (they have their own docs). Update
1675           comments.
1676
1677 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
1678
1679         * docs/gst/gstreamer-docs.sgml:
1680         * docs/gst/gstreamer-sections.txt:
1681         * gst/gstparamspecs.c:
1682         * gst/gstparamspecs.h:
1683           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
1684           docs to own section.
1685
1686         * gst/gstvalue.c:
1687           This now only documents GValue.
1688           
1689         * docs/libs/gstreamer-libs-sections.txt:
1690         * libs/gst/controller/gstcontroller.h:
1691           Remove GST_PARAM_CONTROLLABLE.
1692
1693 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
1694
1695         * docs/README:
1696           Correct file path. Tell about how to use -overrides.txt.
1697         * docs/design/draft-tagreading.txt:
1698           Small design update.
1699
1700 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
1701
1702         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
1703         (gst_registry_binary_load_plugin):
1704         Fix a typo in a debug message and revert change from yesterday as
1705         gst_registry_add_plugin() will only fail if something is really wrong
1706         already and we can't survive it anyway.
1707
1708 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
1709
1710         * gst/gst.c: (init_post), (gst_deinit):
1711           Pre-register GstGError GType from a thread-safe context
1712           (fixes #527967); unref enum type classes in deinit.
1713
1714 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
1715
1716         Patch by: Rene Stadler <mail at renestadler de>
1717
1718         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
1719           Merging an empty list with another list in KEEP_ALL mode should
1720           yield an empty list as result and not the second list (#512578).
1721
1722         * tests/check/gst/gsttagsetter.c:
1723           Add unit test for tag merge modes and the aforementioned bug.
1724
1725 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
1726
1727         Patch by: Rene Stadler <mail at renestadler de>
1728
1729         * gst/gsttaglist.h:
1730           Fix description to match the order in the table (#512577).
1731   
1732 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
1733
1734         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
1735
1736         * libs/gst/net/gstnettimepacket.h:
1737         * docs/libs/gstreamer-libs-sections.txt:
1738           Define socklen_t as int if it's not defined yet. Fixes compilation
1739           with MSVC6 and other versions where socklen_t is not defined in
1740           the windows headers (#518022).
1741
1742 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
1743
1744         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
1745         If gst_registry_add_plugin() fails our reference to the plugin is
1746         invalid so don't try to use it anymore and instead error out.
1747
1748 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1749
1750         * tools/gst-xmlinspect.c: (print_element_info), (main):
1751           De-cruft a bit. If no argument is specified, print all elements in
1752           XML syntax rather than a freestyle list of elements like gst-inspect.
1753           Also, don't print XML header chunk unless we actually have something
1754           to print (ie. don't print it before an error message); print error
1755           message to stderr not stdout. Remove support for printing plugin
1756           info (it would just output something freestyle along the lines of
1757           gst-inspect so far), which fixes #514507. Also add license header.
1758
1759 2008-04-11  Julien Moutte  <julien@fluendo.com>
1760
1761         Mac OS X love...
1762         * configure.ac: Merge platform specific defines, introduce a new
1763         define on OS X to remember that forking when updating registry is
1764         unsafe.
1765         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
1766         module.
1767         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
1768         is defined.
1769         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
1770         condition that leads to absolutely no plugins being registered on
1771         OS X.
1772
1773 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
1774
1775         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
1776
1777         * gst/gstutils.c: (gst_pad_add_data_probe),
1778           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
1779           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
1780           (gst_pad_add_buffer_probe_full):
1781         * gst/gstutils.h:
1782         * docs/gst/gstreamer-sections.txt:
1783         * win32/common/libgstreamer.def:
1784           Add gst_pad_add_*_probe_full() functions with a notify callback that
1785           lets the caller free the data it passes to the probe functions. This
1786           is useful for bindings such as gst-python or gstreamermm (#526814).
1787           API: gst_pad_add_data_probe_full
1788           API: gst_pad_add_buffer_probe_full
1789           API: gst_pad_add_event_probe_full
1790
1791         * tests/check/gst/gstutils.c:
1792           Add minimal unit test to make sure freeing the data actually works
1793           as expected.
1794
1795         * tests/benchmarks/.cvsignore:
1796           Random cvsignore addendum.
1797
1798 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
1799
1800         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
1801           (GST_DEBUG_BIN_TO_DOT_FILE):
1802           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
1803           to it in the docs (since these are macros the types of the arguments
1804           won't be shown in the docs otherwise).
1805
1806 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
1807
1808         * gst/gstpad.c:
1809           Do not abort on out of memory for pad_alloc_buffer.
1810
1811 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
1812
1813         * libs/gst/check/gstcheck.c:
1814           Remove blank line between symbol name ad parameters to fix gtkdoc
1815           warning.
1816
1817 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
1818
1819         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
1820
1821         * docs/gst/gstreamer-sections.txt:
1822         * gst/gstsegment.c:
1823         * gst/gstsegment.h:
1824         * win32/common/libgstreamer.def:
1825           Expose gst_segment_copy() to make things easier for the c++ bindings.
1826           Fixes #518932.
1827           API: gst_segment_copy()
1828
1829 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
1830
1831         * gst/gst.c: (gst_init_get_option_group), (init_post):
1832           Fix const position; ref GType classes for enum types to work
1833           around thread-safety issues in GLib versions < 2.16.
1834
1835 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
1836
1837         * docs/design/part-buffering.txt:
1838         Fix some typos and set the estimated total for push mode to -1.
1839
1840         * gst/gstquery.c: (gst_query_new_buffering):
1841         Set buffering-left to 0 as we're not buffering by default.
1842
1843         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
1844         Implement BUFFERING query.
1845
1846 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
1847
1848         Based on patch by: Milosz Derezynski <internalerror gmail com>
1849
1850         * gst/gsterror.c: (_gst_stream_errors_init):
1851         * gst/gsterror.h:
1852           Add two new error codes for encrypted content. Fixes #524659.
1853           API: GST_STREAM_ERROR_DECRYPT
1854           API: GST_STREAM_ERROR_DECRYPT_NOKEY
1855
1856 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
1857
1858         * gst/gstquery.h:
1859           Fix typo.
1860
1861         * win32/common/libgstreamer.def:
1862           Add new functions.
1863
1864 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
1865
1866         * plugins/elements/gstidentity.c: (gst_identity_event),
1867         (gst_identity_start):
1868         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
1869         event after processing some data. Fixes bug #526042.
1870
1871 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1872
1873         * docs/gst/gstreamer-sections.txt:
1874         * gst/gstquery.c: (gst_query_parse_latency),
1875         (gst_query_set_buffering_percent),
1876         (gst_query_parse_buffering_percent),
1877         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
1878         * gst/gstquery.h:
1879         Rename _avail -> _range
1880         API: gst_query_set_buffering_range
1881         API: gst_query_parse_buffering_range
1882
1883 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1884
1885         * docs/design/part-buffering.txt:
1886         * gst/gstquark.c:
1887         * gst/gstquark.h:
1888         * gst/gstquery.c: (gst_query_parse_latency),
1889         (gst_query_new_buffering), (gst_query_set_buffering_percent),
1890         (gst_query_parse_buffering_percent):
1891         * gst/gstquery.h:
1892         Add busy field and quark for the buffering query so that the app can
1893         only use the query to see if buffering is in progress.
1894
1895 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1896
1897         * docs/gst/gstreamer-sections.txt:
1898         * gst/gstmessage.c: (gst_message_set_buffering_stats),
1899         (gst_message_parse_buffering_stats):
1900         * gst/gstmessage.h:
1901         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
1902         (gst_query_parse_latency), (gst_query_new_buffering),
1903         (gst_query_set_buffering_percent),
1904         (gst_query_parse_buffering_percent),
1905         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
1906         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
1907         * gst/gstquery.h:
1908         Reorder the message docs and headers for clarity.
1909         Add aditional buffering stats API for messages.
1910         Add buffering query.
1911         Convert some leftover queries to use GstQuark.
1912         API: gst_message_set_buffering_stats
1913         API: gst_message_parse_buffering_stats
1914         API: GST_QUERY_BUFFERING
1915         API: GstBufferingMode
1916         API: gst_query_new_buffering
1917         API: gst_query_set_buffering_percent
1918         API: gst_query_parse_buffering_percent
1919         API: gst_query_set_buffering_stats
1920         API: gst_query_parse_buffering_stats
1921
1922 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1923
1924         * gst/gstmessage.c: (gst_message_new_error),
1925         (gst_message_new_warning), (gst_message_new_info),
1926         (gst_message_new_buffering), (gst_message_new_state_changed),
1927         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
1928         (gst_message_new_new_clock), (gst_message_new_segment_start),
1929         (gst_message_new_segment_done), (gst_message_new_duration),
1930         (gst_message_new_async_start), (gst_message_parse_buffering),
1931         (gst_message_parse_state_changed),
1932         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
1933         (gst_message_parse_new_clock), (gst_message_parse_error),
1934         (gst_message_parse_warning), (gst_message_parse_info),
1935         (gst_message_parse_segment_start),
1936         (gst_message_parse_segment_done), (gst_message_parse_duration),
1937         (gst_message_parse_async_start):
1938         Use GstQuark for messages.
1939
1940 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1941
1942         * gst/gstquark.c: (_priv_gst_quarks_initialize):
1943         * gst/gstquark.h:
1944         Add some more quarks needed for messages and queries.
1945
1946 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1947
1948         * docs/design/part-buffering.txt:
1949         Remove the "none" buffering mode, STREAM is a good default.
1950         Move estimated-time to the avail query, that's when it will be needed.
1951         Other small typo fixes and updates.
1952
1953 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
1954
1955         * gst/gstindex.c: (gst_index_resolver_get_type):
1956           Don't put descriptions into the nick field of a GEnumValue: it's not
1957           meant for that and some language bindings rely on the nick field to
1958           construct constants and the like. Fixes #526705.
1959
1960 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
1961
1962         * NEWS:
1963         * RELEASE:
1964         * gstreamer.doap:
1965           Merge other changes from 0.10.19 release branch.
1966
1967 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
1968
1969         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
1970
1971         * configure.ac:
1972         Actually build dlls when cross-compiling with mingw32.
1973         Fixes bug #526247.
1974
1975 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
1976
1977         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
1978
1979         * gst/gstpoll.c:
1980         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
1981
1982 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1983
1984         * docs/design/draft-latency.txt:
1985         Fix typo.
1986
1987         * docs/design/part-buffering.txt:
1988         Update design docs with more buffering ideas.
1989
1990 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
1991
1992         * configure.ac:
1993           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
1994
1995 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
1996
1997         * configure.ac:
1998           Revert part that belongs to the preset patch.
1999
2000 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
2001
2002         * configure.ac:
2003           Add qoutes to the define. Fixes # 525961.
2004
2005 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
2006
2007         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
2008         (gst_file_index_load), (gst_file_index_add_id),
2009         (gst_file_index_get_assoc_entry):
2010         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
2011         (gst_mem_index_free_id), (gst_mem_index_add_id),
2012         (gst_mem_index_index_format):
2013         Use GSlice when possible.
2014
2015 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
2016
2017         * libs/gst/controller/gstinterpolationcontrolsource.c:
2018         (gst_control_point_free),
2019         (gst_interpolation_control_source_set_internal):
2020         Use GSlice for allocating the control points.
2021
2022 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
2023
2024         * plugins/elements/gsttypefindelement.c:
2025         (gst_type_find_element_class_init),
2026         (gst_type_find_element_set_property),
2027         (gst_type_find_element_get_property),
2028         (gst_type_find_element_activate):
2029         * plugins/elements/gsttypefindelement.h:
2030         Cleanup properties.
2031         Fix pad leak when peer query fails.
2032         We can still typefind when the peer returns -1.
2033         Add property to force caps and bypass typefinding. This will be used in
2034         uridecodebin.
2035         API::force-caps
2036
2037 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
2038
2039         * configure.ac:
2040         Require GLib 2.12.
2041
2042         * gst/glib-compat-private.h:
2043         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
2044         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
2045         Unconditionally use GSlice for allocation.
2046
2047         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
2048         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
2049         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
2050         (gst_structure_free):
2051         Use GSlice for allocation.
2052
2053 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
2054
2055         * gst/parse/Makefile.am:
2056         * gst/parse/grammar.tab.pre.c:
2057         * gst/parse/grammar.tab.pre.h:
2058         * gst/parse/lex._gst_parse_yy.pre.c:
2059         Require a new enough flex and bison and remove the parser hacks to use
2060         a pre-regenerated version.
2061
2062 2008-04-01  Julien Moutte  <julien@fluendo.com>
2063
2064         patch by: Jason Zhao <E3423C@motorola.com>
2065
2066         * configure.ac: Add a configure switch to disable option parsing
2067         in gst_init.
2068         Fixes #522882.
2069
2070 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
2071
2072         * configure.ac:
2073         * gst/gstregistry.c:
2074           MacOS has plugins under .so or under .dylib. Add detection for MacOS
2075           and handle this case.
2076
2077         * gst/gst.c:
2078           Add a comment here describing, why we stat each plugin and not try to
2079           be smart.
2080
2081 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
2082
2083         * libs/gst/base/gstbasetransform.c:
2084         (gst_base_transform_prepare_output_buffer):
2085         Also unset the GAP flag on buffers if we're working inplace but
2086         the element is not GAP-aware.
2087
2088         Mark a comment as FIXME 0.11.
2089
2090 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
2091
2092         * gst/gst.c:
2093           Fix type in log message and add one to ease seeing how long registry
2094           cache verification takes.
2095
2096         * gst/gstregistry.c:
2097           Only test plugin filenames against G_MODULE_SUFFIX.
2098
2099 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
2100
2101         * gst/gstdebugutils.c:
2102           Improve handling ghost/proxy pads.
2103
2104 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
2105
2106         * docs/gst/gstreamer-sections.txt:
2107         * gst/gstpad.c:
2108         * gst/gstpad.h:
2109           Expose macro to docs and fix link to it.
2110
2111 2008-03-27  Michael Smith <msmith@fluendo.com>
2112
2113         * libs/gst/dataprotocol/dataprotocol.c:
2114         (gst_dp_packet_from_event_1_0):
2115           When calculating GDP body CRC, use the correct pointer. 
2116           Fixes part of #522401.
2117
2118 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2119
2120         Patch by: Mark Nauwelaerts <manauw at skynet be>
2121
2122         * plugins/elements/gstidentity.c: (gst_identity_class_init),
2123         (gst_identity_init), (gst_identity_prepare_output_buffer):
2124         Identity is not always a passthrough element, it can modify the buffer
2125         timestamps when it has a datarate and operates in single-segment mode.
2126         We therefore make it an in_place filter with a custom buffer prepare
2127         function that conditionally makes the input buffer metadata writable
2128         when needed.  Fixes #523985.
2129
2130 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2131
2132         Patch by: Mark Nauwelaerts <manauw at skynet be>
2133
2134         * gst/gstclock.h:
2135         * libs/gst/base/gstbasesrc.h:
2136         * libs/gst/base/gstbasetransform.c:
2137         * libs/gst/check/gstcheck.c:
2138         Small documentation fixes. Fixes #523978.
2139
2140 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2141
2142         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2143         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2144         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
2145
2146 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2147
2148         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
2149         (single_queue_underrun_cb):
2150         When trying to make room in the queue, bump the max allowed buffers
2151         bigger than the current amount of buffers in the queue. this fixes some
2152         nasty deadlocks in multiqueue when dynamically changing the limits of
2153         the queue.
2154
2155 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2156
2157         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
2158
2159         * gst/gstcaps.c: (gst_caps_set_simple),
2160         (gst_caps_set_simple_valist), (gst_caps_intersect):
2161         * gst/gstcaps.h:
2162         Constify the field gchar * params in set_simple and friends.
2163         Fixes #522326.
2164
2165 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2166
2167         * gst/gstvalue.c: (gst_value_transform_object_string):
2168         Transform a GstObject to a more meaningfull string that includes the
2169         object type in addition to its name.
2170
2171 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
2172
2173         * ChangeLog:
2174           ChangeLog surgery to add bugnumber to commit.
2175
2176 2008-03-23  Rene Stadler  <mail@renestadler.de>
2177
2178         * libs/gst/base/gstbasetransform.c:
2179         (gst_base_transform_set_gap_aware): Fix confusing documentation.
2180
2181 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
2182
2183         * gst/gstregistrybinary.c: (gst_registry_binary_write):
2184         Rename constant everywhere and don't forget one occurence.
2185
2186 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
2187
2188         * gst/gstregistrybinary.c: (gst_registry_binary_write):
2189         Align memory to the pointer size even if the architecture allows
2190         unaligned memory access. Unaligned memory access usually comes with
2191         performance penality.
2192
2193 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
2194
2195         * gst/gstregistrybinary.c: (gst_registry_binary_write),
2196         (gst_registry_binary_check_magic),
2197         (gst_registry_binary_load_pad_template),
2198         (gst_registry_binary_load_feature),
2199         (gst_registry_binary_load_plugin):
2200         Align memory to the pointer size instead of always 32 bit. Fixes
2201         unaligned memory accesses on ia64 and friends.
2202
2203         * gst/gstregistrybinary.h:
2204         Bump binary registry format version for this as it changes the
2205         format on those architectures that don't have unaligned access
2206         and 64 bit pointers.
2207
2208 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
2209
2210         * docs/pwg/advanced-dparams.xml:
2211         * docs/pwg/building-props.xml:
2212         * docs/pwg/other-source.xml:
2213         * gst/glib-compat.h:
2214         * gst/gstbin.c: (gst_bin_class_init):
2215         * gst/gstclock.c: (gst_clock_class_init):
2216         * gst/gstindex.c: (gst_index_class_init):
2217         * gst/gstobject.c: (gst_object_class_init):
2218         * gst/gstpad.c: (gst_pad_class_init):
2219         * gst/gstpipeline.c: (gst_pipeline_class_init):
2220         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2221         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
2222         * libs/gst/base/gstbasetransform.c:
2223         (gst_base_transform_class_init):
2224         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
2225         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
2226         (_gst_check_fault_handler_sighandler),
2227         (_gst_check_fault_handler_setup), (gst_check_init):
2228         * libs/gst/controller/gstcontroller.c:
2229         (_gst_controller_class_init):
2230         * libs/gst/controller/gstlfocontrolsource.c:
2231         (gst_lfo_control_source_class_init):
2232         * libs/gst/net/gstnetclientclock.c:
2233         (gst_net_client_clock_class_init):
2234         * libs/gst/net/gstnettimeprovider.c:
2235         (gst_net_time_provider_class_init):
2236         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
2237         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
2238         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
2239         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
2240         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2241         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2242         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
2243         * plugins/elements/gstidentity.c: (gst_identity_class_init):
2244         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
2245         * plugins/elements/gstqueue.c: (gst_queue_class_init):
2246         * plugins/elements/gsttee.c: (gst_tee_class_init):
2247         * plugins/elements/gsttypefindelement.c:
2248         (gst_type_find_element_class_init):
2249         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
2250         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
2251         use it everywhere for GParamSpecs that use static strings (i.e. all).
2252         This gives us less memory usage, fewer allocations and thus less
2253         memory defragmentation. Fixes bug #523806.
2254
2255 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
2256
2257         * gst/gstminiobject.c: (gst_value_dup_mini_object),
2258         (gst_param_spec_mini_object):
2259         * gst/gstminiobject.h:
2260         * win32/common/libgstreamer.def:
2261         * docs/gst/gstreamer-sections.txt:
2262         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
2263         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
2264         GstParamSpecMiniObject into a public header for this.
2265
2266         This make GstMiniObject a bit more consistent with GObject and makes
2267         it possible to extend the param specs.
2268
2269         gst_value_dup_mini_object is mainly useful for set_property methods.
2270
2271         Fixes bug #523798.
2272
2273         * tools/gst-inspect.c: (print_element_properties_info):
2274         Print something useful for GstMiniObject properties and not just
2275         "unknown type".
2276
2277 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
2278
2279         * docs/gst/gstreamer-sections.txt:
2280         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
2281         (gst_registry_binary_check_magic):
2282         * gst/gstregistrybinary.h:
2283         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
2284         and add it to the (private part) of the docs to fix the build.
2285
2286 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
2287
2288         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
2289         (gst_registry_binary_check_magic),
2290         (gst_registry_binary_read_cache):
2291         * gst/gstregistrybinary.h:
2292         Don't use GST_MAJORMINOR for the binary registry version. Instead
2293         hardcode a value that must be changed whenever the format changes
2294         in an incompatible way.
2295         Also don't GST_ERROR when there is a version mismatch, just
2296         regenerate the registry silently.
2297
2298 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
2299
2300         * configure.ac:
2301         Back to development - 0.10.18.1
2302
2303 === release 0.10.18 ===
2304
2305 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
2306
2307         * configure.ac:
2308           releasing 0.10.18, "So far away"
2309
2310 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
2311
2312         * configure.ac:
2313         * win32/common/config.h:
2314         0.10.17.4 pre-release
2315
2316 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
2317
2318         Patch by: Ole André Vadla Ravnås
2319             <ole dot andre dot ravnas at tandberg dot com>
2320
2321         * docs/gst/gstreamer-sections.txt:
2322         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
2323         (gst_poll_update_winsock_event_mask),
2324         (gst_poll_prepare_winsock_active_sets),
2325         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
2326         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
2327         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
2328         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
2329         (gst_poll_check_ctrl_commands), (gst_poll_wait):
2330         * gst/gstpoll.h:
2331         * win32/common/libgstreamer.def:
2332         Add new function gst_poll_fd_ignored() for improved Windows
2333         compatibility.
2334         Various minor fixes and cleanups. See #520808.
2335
2336 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
2337
2338         * gst/gstindex.c: (gst_index_entry_free):
2339         * gst/gstindex.h:
2340           Don't free key strings which we don't own. Fixes crash in
2341           gst_index_entry_free() (#522741).
2342
2343         * tests/check/Makefile.am:
2344         * tests/check/gst/.cvsignore:
2345         * tests/check/gst/gstindex.c: (test_index_entries),
2346           (gst_index_suite), (gst_index):
2347           Add unit test for the above.
2348
2349 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
2350
2351         * win32/common/libgstreamer.def:
2352         Remove symbols that were removed recently. Fixes bug #521740.
2353
2354 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
2355
2356         * configure.ac:
2357         * win32/common/config.h:
2358         0.10.17.3 pre-release
2359
2360 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2361
2362         Patch by: Ole André Vadla Ravnås
2363             <ole dot andre dot ravnas at tandberg dot com>
2364
2365         * docs/gst/gstreamer-sections.txt:
2366         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
2367         (gst_poll_update_winsock_event_mask), (gst_poll_new),
2368         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
2369         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
2370         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
2371         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
2372         (gst_poll_fd_can_write), (gst_poll_wait),
2373         (gst_poll_set_controllable), (gst_poll_restart),
2374         (gst_poll_set_flushing):
2375         * gst/gstpoll.h:
2376         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
2377         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
2378         (gst_net_time_provider_new):
2379         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
2380         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
2381         * tests/benchmarks/gstpollstress.c: (main):
2382         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
2383         Remove GstPollMode from the API, it does not make sense to let the
2384         application control this.
2385         Add support for Win32.
2386         Fix the testsuite. Fixes #520671.
2387
2388 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
2389
2390         Patch by: Ole André Vadla Ravnås
2391             <ole dot andre dot ravnas at tandberg dot com>
2392
2393         * gst/gstregistrybinary.c:
2394         Include io.h for write() and close() when building with MSVC. Fixes
2395         bug #520877.
2396
2397 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
2398
2399         * configure.ac:
2400         * gst/gst_private.h:
2401         * gst/gstconfig.h.in:
2402         * gst/gstregistry.h:
2403         * gst/gstregistrybinary.c:
2404         * win32/common/gstconfig.h:
2405           Move registry backend API to private headers where we can. Add
2406           fixme-0.11 comments for the others. Add stubs for the xml backend when
2407           using the binary to ensure they functions exists (they should not be
2408           used though). Fixes #520756.
2409
2410 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
2411
2412         * configure.ac:
2413         * win32/common/config.h:
2414         0.10.17.2 prelease
2415
2416 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
2417
2418         * gst/gstregistrybinary.c: (gst_registry_binary_write),
2419         (gst_registry_binary_read_cache):
2420         * gst/gstregistryxml.c: (gst_registry_save):
2421         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
2422         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
2423         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
2424         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
2425         Switch to using portabl gsize/gssize instead of size_t/ssize_t
2426         Fixes #520152
2427
2428 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
2429
2430         * gst/gstminiobject.c:
2431         Import gst_private.h before any other header that might include other
2432         glib headers. This fixes the build on windows using native compilers.
2433
2434 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2435
2436         * win32/common/gstconfig.h:
2437           Add here too, just for completeness.
2438
2439 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2440
2441         * configure.ac:
2442         * gst/gstconfig.h.in:
2443         * gst/gstregistry.h:
2444           Fix broken use of config.h-defined preprocessor directive in a public
2445           header file. Add a corresponding define to gstconfig.h, since we can't
2446           really remove those function declarations from the header file now
2447           (or can we? and why are they there in the first place?).
2448
2449 2008-03-03  Andy Wingo  <wingo@pobox.com>
2450
2451         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
2452         the new warning.
2453
2454         * gst/gststructure.c (gst_structure_from_string): Warn if
2455         structure_from_string didn't consume the whole string, but the
2456         caller did not provide an end pointer.
2457
2458 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
2459
2460         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
2461
2462         * gst/gstregistryxml.c: (read_string), (load_feature):
2463           Strings allocated by libxml2 should be freed with xmlFree(), not
2464           with g_free(). Fixes issues on windows in certain contexts (#519698).
2465
2466 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
2467
2468         * gst/gstinterface.c: (gst_element_implements_interface):
2469           Don't crash if the element supports the interface queried, but does
2470           not implement GstImplementsInterface. Fixes #519584.
2471
2472         * tests/check/Makefile.am:
2473         * tests/check/gst/.cvsignore:
2474         * tests/check/gst/gstinterface.c:
2475           Add unit test for the above.
2476
2477 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2478
2479         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2480         Small doc update.
2481
2482 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2483
2484         * gst/gstsegment.c: (gst_segment_set_seek),
2485         (gst_segment_to_stream_time):
2486         Improve some comment.
2487         Update variables where it makes more sense.
2488
2489 2008-02-29  Rene Stadler  <mail@renestadler.de>
2490
2491         * gst/gsturi.c: (gst_uri_handler_get_protocols):
2492         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
2493         URIHandlers implemented using language bindings.
2494
2495 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
2496
2497         * gst/gstelementfactory.h:
2498         * tests/check/elements/fakesink.c:
2499         * tests/check/elements/fakesrc.c: (setup_fakesrc):
2500         * tests/check/elements/fdsrc.c: (setup_fdsrc):
2501         * tests/check/elements/filesink.c: (setup_filesink):
2502         * tests/check/elements/filesrc.c: (setup_filesrc):
2503         * tests/check/elements/identity.c: (setup_identity):
2504         * tests/check/elements/tee.c:
2505         * tests/check/generic/sinks.c:
2506         * tests/check/generic/states.c: (setup), (teardown):
2507         * tests/check/gst/gst.c:
2508         * tests/check/gst/gstabi.c:
2509         * tests/check/gst/gstbin.c:
2510         * tests/check/gst/gstbus.c: (pull_messages):
2511         * tests/check/gst/gstcaps.c:
2512         * tests/check/gst/gstelement.c:
2513         * tests/check/gst/gstevent.c:
2514         * tests/check/gst/gstghostpad.c:
2515         * tests/check/gst/gstiterator.c:
2516         * tests/check/gst/gstmessage.c:
2517         * tests/check/gst/gstminiobject.c: (my_foo_init):
2518         * tests/check/gst/gstobject.c: (thread_name_object),
2519         (gst_object_suite):
2520         * tests/check/gst/gstpad.c:
2521         * tests/check/gst/gstplugin.c:
2522         * tests/check/gst/gstpoll.c:
2523         * tests/check/gst/gstquery.c:
2524         * tests/check/gst/gstsegment.c:
2525         * tests/check/gst/gststructure.c:
2526         * tests/check/gst/gstsystemclock.c:
2527         * tests/check/gst/gsttask.c:
2528         * tests/check/gst/gstutils.c:
2529         * tests/check/gst/gstvalue.c:
2530         * tests/check/gst/struct_hppa.h:
2531         * tests/check/gst/struct_i386.h:
2532         * tests/check/gst/struct_ppc32.h:
2533         * tests/check/gst/struct_ppc64.h:
2534         * tests/check/gst/struct_x86_64.h:
2535         * tests/check/libs/adapter.c: (create_and_fill_adapter):
2536         * tests/check/libs/basesrc.c:
2537         * tests/check/libs/controller.c: (GST_START_TEST):
2538         * tests/check/libs/gdp.c:
2539         * tests/check/libs/gstnetclientclock.c:
2540         * tests/check/libs/gstnettimeprovider.c:
2541         * tests/check/libs/libsabi.c:
2542         * tests/check/libs/struct_hppa.h:
2543         * tests/check/libs/struct_i386.h:
2544         * tests/check/libs/struct_ppc32.h:
2545         * tests/check/libs/struct_ppc64.h:
2546         * tests/check/libs/struct_x86_64.h:
2547         * tests/check/pipelines/cleanup.c:
2548         * tests/check/pipelines/simple-launch-lines.c:
2549         * tests/check/pipelines/stress.c:
2550         And correct even more valid sparse warnings.
2551
2552         * win32/common/libgstreamer.def:
2553         Add gst_poll_fd_init to the list of symbols.
2554
2555 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
2556
2557         * gst/gstconfig.h.in:
2558         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
2559         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
2560         (gst_check_log_critical_func), (gst_check_drop_buffers),
2561         (gst_check_element_push_buffer_list):
2562         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
2563         (gst_controller_get_type):
2564         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
2565         (gst_object_get_controller), (gst_object_get_control_source):
2566         * libs/gst/controller/gstinterpolationcontrolsource.c:
2567         (gst_interpolation_control_source_new):
2568         * libs/gst/controller/gstlfocontrolsource.c:
2569         (gst_lfo_control_source_new):
2570         * libs/gst/dataprotocol/dataprotocol.c:
2571         (gst_dp_event_from_packet_0_2):
2572         * plugins/elements/gstfdsrc.c:
2573         * plugins/elements/gstmultiqueue.c:
2574         * plugins/elements/gsttee.c:
2575         * plugins/elements/gsttypefindelement.c:
2576         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
2577         (gst_file_index_add_association):
2578         * plugins/indexers/gstmemindex.c:
2579         * tests/benchmarks/gstpollstress.c: (mess_some_more):
2580         * tests/check/elements/queue.c: (setup_queue):
2581         * tests/check/gst/gstpipeline.c:
2582         * tests/check/libs/collectpads.c: (setup), (teardown),
2583         (gst_collect_pads_suite):
2584         * tests/examples/adapter/adapter_test.c:
2585         * tests/examples/metadata/read-metadata.c: (make_pipeline):
2586         * tests/examples/xml/createxml.c:
2587         * tests/examples/xml/runxml.c:
2588         * tools/gst-inspect.c:
2589         * tools/gst-run.c:
2590         Correct all relevant warnings found by the sparse semantic code
2591         analyzer. This include marking several symbols static, using
2592         NULL instead of 0 for pointers, not using variable sized arrays
2593         on the stack, moving variable declarations to the beginning of
2594         a block and using "foo (void)" instead of "foo ()" for declarations.
2595
2596 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
2597
2598         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
2599         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2600         Don't reset GstPollFDs, this is not necessary at all.
2601
2602         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
2603         (delayed_restart), (delayed_control):
2604         Use GST_POLL_FD_INIT.
2605
2606 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2607
2608         * gst/gstpoll.c: (gst_poll_fd_init):
2609         * gst/gstpoll.h:
2610         Added Since tags.
2611
2612         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
2613         Use some more init macros.
2614
2615 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2616
2617         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
2618         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2619         Use init macros and functions.
2620
2621 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2622
2623         * docs/gst/gstreamer-sections.txt:
2624         * gst/gstpoll.c: (gst_poll_fd_init):
2625         * gst/gstpoll.h:
2626         Add INIT macro and _init method for initializing the GstPollFD.
2627
2628 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
2629
2630         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
2631         (gst_fd_sink_update_fd):
2632         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2633         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
2634         (delayed_restart), (delayed_control):
2635         Initialize some uninitialized variables as spotted by valgrind.
2636
2637 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2638
2639         * tests/benchmarks/Makefile.am:
2640         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
2641         (main):
2642         Add poll stress test.
2643
2644 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2645
2646         Patch by: Peter Kjellerstedt <pkj at axis dot com>
2647
2648         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
2649         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
2650         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
2651         * plugins/elements/gstfdsink.h:
2652         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
2653         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
2654         (gst_fd_src_unlock_stop), (gst_fd_src_create),
2655         (gst_fd_src_uri_set_uri):
2656         * plugins/elements/gstfdsrc.h:
2657         Port to GstPoll. See #505417.
2658
2659 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
2660
2661         * win32/common/libgstreamer.def:
2662         Add new gst_poll_ symbols to win32 defs.
2663
2664 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2665
2666         * docs/libs/gstreamer-libs-sections.txt:
2667         * libs/gst/net/gstnetclientclock.c:
2668         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
2669         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
2670         (gst_net_client_clock_thread), (gst_net_client_clock_start),
2671         (gst_net_client_clock_stop), (gst_net_client_clock_new):
2672         * libs/gst/net/gstnetclientclock.h:
2673         * libs/gst/net/gstnettimeprovider.c:
2674         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
2675         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
2676         (gst_net_time_provider_start), (gst_net_time_provider_stop),
2677         (gst_net_time_provider_new):
2678         * libs/gst/net/gstnettimeprovider.h:
2679         Use a private stuct to not break ABI.
2680
2681 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2682
2683         Patch by: Peter Kjellerstedt <pkj at axis dot com>
2684
2685         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
2686         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
2687         (gst_net_client_clock_thread), (gst_net_client_clock_start),
2688         (gst_net_client_clock_stop), (gst_net_client_clock_new):
2689         * libs/gst/net/gstnetclientclock.h:
2690         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
2691         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
2692         (gst_net_time_provider_start), (gst_net_time_provider_stop),
2693         (gst_net_time_provider_new):
2694         * libs/gst/net/gstnettimeprovider.h:
2695         Massive code removal and cleanups because of GstPoll.
2696         Fixes #505417.
2697
2698 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2699
2700         * configure.ac:
2701         Add checks for poll, ppoll and pselect.
2702
2703         * docs/gst/gstreamer-docs.sgml:
2704         * docs/gst/gstreamer-sections.txt:
2705         Add docs for GstPoll.
2706
2707         * gst/Makefile.am:
2708         * gst/gst.h:
2709         * gst/gstpoll.c: (find_index), (selectable_fds),
2710         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
2711         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
2712         (gst_poll_set_mode), (gst_poll_get_mode),
2713         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
2714         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
2715         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
2716         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
2717         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
2718         (gst_poll_fd_can_write), (gst_poll_wait),
2719         (gst_poll_set_controllable), (gst_poll_restart),
2720         (gst_poll_set_flushing):
2721         * gst/gstpoll.h:
2722         Add generic poll abstraction. We ideally don't want to have this in core
2723         here but in glib intead...
2724         This code will be used in various network elements and ultimately for
2725         the nanosecond precision monotonic clock (that's why it's here in core).
2726         It'll allow us to implement cancelable socket operations for windows too.
2727
2728         * tests/check/Makefile.am:
2729         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
2730         (delayed_stop), (delayed_restart), (delayed_flush),
2731         (delayed_control), (gst_poll_suite):
2732         Add GstPoll unit test.
2733
2734 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
2735
2736         * gst/gstfilter.c:
2737           Improve documentation of gst_filter_run(). Fixes #518627.
2738
2739 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2740
2741         * docs/README:
2742           Add a few lines about the new 'check-inspected-versions' target.
2743
2744 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
2745
2746         * tests/check/gst/gstevent.c:
2747           Add qos to the event test. Rename tcase/tsuite; is not only about
2748           custom events.
2749
2750 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
2751
2752         * plugins/elements/gstqueue.c:
2753           Ensure that buffer metadata is writeable, before modifying. Spotted by
2754           Mike.
2755
2756 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
2757
2758         * plugins/elements/gstqueue.c:
2759         * plugins/elements/gstqueue.h:
2760           When dropping buffers in leaky modes, mark next buffers we sent as
2761           DISCONT.
2762
2763 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
2764
2765         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
2766           Also, if mmap() fails that would be a READ error, not OPEN_READ.
2767
2768 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
2769
2770         * plugins/elements/Makefile.am:
2771         * plugins/elements/gstbufferstore.c:
2772         * plugins/elements/gstbufferstore.h:
2773         * plugins/elements/gsttypefindelement.h:
2774           Remove GstBufferStore, no idea why we were still building it.
2775           It's not used anywhere and superseded by GstAdapter.
2776
2777         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
2778           (gst_file_src_create_mmap):
2779         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
2780           Printf format fixes for 64-bit integers.
2781
2782 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
2783
2784         * configure.ac:
2785         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
2786         We're not in 0.8 times anymore.
2787
2788 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
2789
2790         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
2791         (gst_check_element_push_buffer_list):
2792         * libs/gst/check/gstcheck.h:
2793         Make the declaration in the header for
2794         gst_check_element_push_buffer_list match the implementation.
2795
2796         Fix up spelling, grammar and wording of the documentation in a few
2797         places, and add the Since keyword to new API functions.
2798         Use g_list_delete_link instead of g_list_remove in
2799         gst_check_drop_buffers, since it's immeasurably more efficient.
2800
2801         * tests/check/elements/fakesrc.c: (GST_START_TEST):
2802         Use new gst_check_drop_buffers function where appropriate.
2803
2804         * win32/common/libgstbase.def:
2805         * win32/common/libgstreamer.def:
2806         Add new symbols gst_collect_pads_take_buffer, 
2807         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
2808         exports
2809
2810         Changelog surgery to add API keyword to new gst_check API.
2811
2812 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
2813
2814         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
2815         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
2816         Update pre-generated flex files with flex 2.3.34.
2817
2818 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
2819
2820         * gst/gstminiobject.c:
2821           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
2822           friendly to subclasses and not require them to know all internals
2823           of their parent class.
2824
2825 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
2826
2827         * docs/libs/gstreamer-libs-sections.txt:
2828         * libs/gst/base/gstcollectpads.c:
2829         * libs/gst/base/gstcollectpads.h:
2830           Add sub-buffer functions to collectpads. Fixes #516187.
2831           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
2832
2833 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
2834
2835         * gst/gstbuffer.c:
2836           Copy selected buffer-flags when creating subbuffers.
2837           Fixes #516395.
2838
2839 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
2840
2841         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
2842         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
2843         * gst/gstmessage.c: (gst_message_class_init),
2844         (gst_message_finalize):
2845         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
2846         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
2847         (gst_mmap_buffer_finalize):
2848         Properly chain up finalize functions to the parent class.
2849
2850 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
2851
2852         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
2853
2854         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
2855         (gst_index_set_resolver_full):
2856         * gst/gstindex.h:
2857         Add new function with option to dispose of user_data in resolver.
2858         Actually call the dispose function when finalizing the object and not
2859         just when changing the resolver/filter.
2860         API: GstIndex::gst_index_set_resolver_full()
2861
2862         * docs/gst/gstreamer-sections.txt:
2863         Add new function to docs. Fixes #515469.
2864
2865 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
2866
2867         * gst/gstindex.c: (gst_index_finalize):
2868         Chain up finalize to the parent class. Fixes leaking the GstObject
2869         name and other things.
2870
2871 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
2872
2873         * configure.ac:
2874         Make DISABLE_DEPRECATED defined *only* during CVS, not during
2875         pre-releases or releases.
2876
2877         * docs/faq/gst-uninstalled:
2878         Add gst-plugins-gl
2879
2880         * docs/random/release:
2881         Change one of the steps - we only upload core & base to Gnome FTP
2882
2883 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
2884
2885         * gst/gstconfig.h.in:
2886           Add 'id' for example.
2887
2888         * gst/gstpad.c:
2889         * gst/gstutils.c:
2890         * plugins/elements/gstfdsink.c:
2891           Link to signals. Doc and comment fixes.
2892
2893 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
2894
2895         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
2896         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
2897           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
2898           unused and unimplemented; finally, it is plugin features, not
2899           plugins, that have ranks.
2900           
2901 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
2902
2903         * gst/gstpluginfeature.h:
2904           Clarify GstRank range docs.
2905
2906 2008-02-05  David Schleef  <ds@schleef.org>
2907
2908         * gst/gst.c: Add a separate gst_deinitialized that prevents
2909           gst_init() from being called after gst_deinit().  Fixes #509559
2910
2911 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
2912
2913         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
2914         (gst_bin_class_init):
2915         * gst/gstelement.c: (gst_element_base_class_init),
2916         (gst_element_class_add_pad_template):
2917         * gst/gstpadtemplate.c: (gst_pad_template_init):
2918         * gst/gstpipeline.c: (gst_pipeline_get_type),
2919         (gst_pipeline_base_init), (gst_pipeline_class_init):
2920         * libs/gst/base/gstbasesink.c:
2921         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
2922         (gst_base_src_base_init), (gst_base_src_class_init):
2923         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
2924         (gst_capsfilter_class_init):
2925         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
2926         (gst_fake_sink_class_init):
2927         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
2928         (gst_fake_src_class_init):
2929         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
2930         (gst_fd_sink_class_init):
2931         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
2932         (gst_fd_src_class_init):
2933         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
2934         (gst_file_sink_class_init):
2935         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
2936         (gst_file_src_class_init):
2937         * plugins/elements/gstidentity.c: (gst_identity_base_init),
2938         (gst_identity_class_init):
2939         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
2940         (gst_multi_queue_class_init):
2941         * plugins/elements/gstqueue.c: (gst_queue_base_init),
2942         (gst_queue_class_init):
2943         * plugins/elements/gsttee.c: (gst_tee_base_init),
2944         (gst_tee_class_init):
2945         * plugins/elements/gsttypefindelement.c:
2946         (gst_type_find_element_base_init),
2947         (gst_type_find_element_class_init):
2948         * tests/check/gst/gstelement.c: (gst_element_suite):
2949         Revert previous changes to the behaviour of GstPadTemplates, etc
2950         and the possiblity to call them in class_init as it breaks too
2951         many elements. Reopens bug #491501.
2952
2953         Should be applied again for 0.11, thus added a few FIXME 0.11 at
2954         several places.
2955
2956 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
2957
2958         * tools/gst-launch.c:
2959         Dump one graph per pipeline state-change and state change name
2960         (if GST_DEBUG_DUMP_DOT_DIR is set).
2961
2962 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
2963
2964         * gst/gstpad.c:
2965         * tests/check/gst/gstpad.c:
2966         Be sure that we have a new copy of the caps and not
2967         reffed caps from a template
2968
2969 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
2970
2971         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
2972         * gst/gstpipeline.c: (gst_pipeline_get_type),
2973         (gst_pipeline_class_init):
2974         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
2975         (gst_base_sink_class_init):
2976         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
2977         (gst_base_src_class_init):
2978         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
2979         (gst_base_transform_class_init):
2980         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2981         (gst_collect_pads_class_init):
2982         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
2983         * libs/gst/net/gstnettimeprovider.c:
2984         (gst_net_time_provider_base_init),
2985         (gst_net_time_provider_class_init):
2986         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
2987         (gst_capsfilter_class_init):
2988         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
2989         (gst_fake_sink_class_init):
2990         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
2991         (gst_fake_src_class_init):
2992         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
2993         (gst_fd_sink_class_init):
2994         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
2995         (gst_fd_src_class_init):
2996         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
2997         (gst_file_sink_class_init):
2998         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
2999         (gst_file_src_class_init):
3000         * plugins/elements/gstidentity.c: (gst_identity_base_init),
3001         (gst_identity_class_init):
3002         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
3003         (gst_multi_queue_class_init):
3004         * plugins/elements/gstqueue.c: (gst_queue_base_init),
3005         (gst_queue_class_init):
3006         * plugins/elements/gsttee.c: (gst_tee_base_init),
3007         (gst_tee_class_init):
3008         * plugins/elements/gsttypefindelement.c:
3009         (gst_type_find_element_base_init),
3010         (gst_type_find_element_class_init):
3011         Don't use base_init where not absolutely necessary. For example it's
3012         not necessary anymore for adding pad templates or setting element
3013         details.
3014
3015         Leave empty base_init functions in several places as GST_BOILERPLATE
3016         still defines and uses them.
3017
3018 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
3019
3020         * gst/gstelement.c: (gst_element_base_class_init),
3021         (gst_element_class_add_pad_template):
3022         * gst/gstpadtemplate.c:
3023         Make it possible (and recommended) to set element details and add
3024         pad templates in the class_init functions by copying the details/pad
3025         templates in GstElement's base_init.
3026
3027         Also make it possible to replace existing pad templates by adding
3028         a new one with the same name. This was done in a hackish fashion
3029         in same elements before already.
3030
3031         Don't reference pad templates that are added a second time. A
3032         new pad template has a refcount of one and is not floating anymore
3033         and to be owned by the element's class. Make this more explicit by
3034         mentioning it in the docs of gst_element_class_add_pad_template().
3035
3036         These changes are backwards compatible. Fixes bug #491501.
3037
3038         * tests/check/gst/gstelement.c:
3039         Add unit test for setting element details, adding pad templates and
3040         replacing them in a subclass.
3041
3042 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
3043
3044         * tools/gst-inspect.c: (print_interfaces),
3045         (print_element_properties_info), (print_pad_info),
3046         (print_signal_info), (print_element_info):
3047         Fix a few memory leaks.
3048
3049 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
3050
3051         * docs/libs/gstreamer-libs-sections.txt:
3052         * libs/gst/check/gstcheck.c:
3053         * libs/gst/check/gstcheck.h:
3054         Add more functions for unit testing: gst_check_drop_buffers,
3055         gst_check_caps_equal, gst_check_element_push_buffer_list,
3056         gst_check_element_push_buffer
3057         API: gst_check_drop_buffers
3058         API: gst_check_caps_equal
3059         API: gst_check_element_push_buffer_list
3060         API: gst_check_element_push_buffer
3061
3062 2008-02-01  Julien Moutte  <julien@fluendo.com>
3063
3064         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
3065         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
3066         (gst_index_finalize), (gst_index_entry_free),
3067         (gst_index_add_association): Fix memory leaks.
3068         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
3069         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
3070         (gst_mem_index_free_format), (gst_mem_index_free_id),
3071         (gst_mem_index_finalize): Fix memory leaks.
3072         * win32/common/config.h: Updated to CVS HEAD.
3073
3074 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
3075
3076         * docs/README:
3077           Some more details about how the plugin docs works.
3078
3079         * docs/plugins/gstreamer-plugins-sections.txt:
3080           Whitespace cleanup.
3081
3082 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
3083
3084         * gst/parse/grammar.tab.pre.c:
3085         * gst/parse/grammar.tab.pre.h:
3086         * gst/parse/grammar.y:
3087         * gst/parse/lex._gst_parse_yy.pre.c:
3088           Add delayed set-property. This allows to set properties on dynamicaly
3089           created objects (pads in videomxer). Fixes #509391.
3090
3091 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
3092
3093         * gst/gstutils.c:
3094         Check if caps are not NULL (fix bug #510194)
3095
3096 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
3097
3098         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
3099         (gst_base_sink_get_position_paused):
3100         Add fixme regarding EOS in pull mode.
3101         Fix position reporting in PAUSED for negative rates.
3102
3103 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
3104
3105         * gst/gstminiobject.c: (gst_mini_object_replace):
3106         When replacing a miniobject, do a quick equality check first so that we
3107         can avoid a ref/unref pair.
3108
3109 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
3110
3111         * docs/design/part-synchronisation.txt:
3112         Update some docs.
3113
3114         * docs/plugins/Makefile.am:
3115         * docs/plugins/gstreamer-plugins-docs.sgml:
3116         * docs/plugins/gstreamer-plugins-sections.txt:
3117         * plugins/elements/gstmultiqueue.c:
3118         Add multiqueue to the docs.
3119
3120 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
3121
3122         * configure.ac:
3123           Back to CVS
3124
3125 === release 0.10.17 ===
3126
3127 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
3128
3129         * configure.ac:
3130           releasing 0.10.17, "Due Negligence"
3131
3132 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
3133
3134         * gst/gstutils.c:
3135         Revert caps != NULL check temporarily for 0.10.17 release.
3136
3137 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
3138
3139         * gst/gstutils.c:
3140         Check if caps are not NULL (fix bug #510194)
3141
3142 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
3143
3144         * gst/gstutils.c:
3145         Fix compilation on systems that have posix timers but no
3146         monotonic clock.
3147         Fixes: #512715
3148         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
3149         dot net>
3150
3151 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
3152
3153         * tools/gst-inspect.c:
3154         Revert previous commit in preparation for an impromptu 0.10.17 release
3155
3156 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
3157
3158         * tools/gst-inspect.c: (print_interfaces),
3159         (print_element_properties_info), (print_pad_info),
3160         (print_signal_info), (print_element_info):
3161         Fix a few memory leaks.
3162
3163 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
3164
3165         * configure.ac:
3166         Back to CVS
3167
3168 === release 0.10.16 ===
3169
3170 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
3171
3172         * configure.ac:
3173           releasing 0.10.16, "Special Dispensation"
3174
3175 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
3176
3177         * configure.ac:
3178           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
3179           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
3180           not fail when trying to crosscompile on OpenEmbedded (#511750).
3181
3182 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
3183
3184         * docs/manuals.mak:
3185         Use $(MAKE) instead of make to fix the build if GNU make is
3186         called different. Fixes bug #510747.
3187
3188 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
3189
3190         * gst/gstplugin.c: (_gst_plugin_initialize):
3191           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
3192           again, which I broke two commits ago when changing the API
3193           of gst_plugin_register_static(): the g_list_foreach() in
3194           _gst_plugin_register_static still assumed the old function
3195           signature and would therefore fail (re-fixes #510187).
3196
3197         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
3198           (_gst_plugin_register_static), (gst_plugin_register_static):
3199           Revert the (technically correct) change to call g_thread_init() from
3200           the pre-main() constructor. This will break programs which call
3201           g_thread_init() without an if (!g_thread_supported()) guard in their
3202           main function. We could just blame it on GLib or the application, but
3203           it's probably best to just avoid this altogether and simply not use
3204           any GLib functions here and use plain old malloc() with a simple
3205           array to store the plugins to register later when gst_init() is
3206           finally called (re-fixes #510187).
3207
3208         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
3209           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
3210           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
3211           (GST_START_TEST), (gst_plugin_suite):
3212           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
3213           works.
3214
3215 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
3216
3217         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
3218           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
3219           This makes gtk-doc complain, but results in slightly better
3220           compiler errors. The old _gst_plugin_register_static() is
3221           still guarded, so there'll be a compiler warning about that
3222           instead. Fixes #510187 too.
3223
3224 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
3225
3226         * gst/gst.c: (init_post):
3227         * gst/gstplugin.c: (_gst_plugin_register_static),
3228           (gst_plugin_register_static), (_gst_plugin_initialize):
3229         * gst/gstplugin.h: (GstPluginFilter):
3230           Change API of gst_plugin_register_static() to not take
3231           a GstPluginDesc, but rather just take all the arguments
3232           in a GstPluginDesc directly. This is more intuitive and
3233           avoids certain mistakes when porting code from
3234           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
3235           Fixes #510187.
3236
3237         * tests/check/gst/gstplugin.c:
3238           Fix up for changed API.
3239
3240 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3241
3242         * docs/faq/legal.xml:
3243           Update FAQ, Totem actually has an exception these days.
3244
3245 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
3246
3247         * win32/common/libgstreamer.def:
3248         Add new API declarations
3249
3250 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
3251
3252         * gst/gstminiobject.c:
3253           Spelling fixes for the API docs.
3254
3255 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
3256
3257         * libs/gst/base/gstbasetransform.c:
3258           Fix long property description for QoS.
3259
3260 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
3261
3262         * gst/gst.c:
3263         _gst_trace_on is already provided by gsttrace.h, no need to declare
3264         it ourselves.
3265
3266         * docs/libs/gstreamer-libs-sections.txt:
3267         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
3268         and remove strange tcase_add_test which is outputting a warning.
3269
3270         * libs/gst/check/gstcheck.c:
3271         * libs/gst/check/gstcheck.h:
3272         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
3273         and define them in gstcheck.c instead of having every .c file whcih
3274         includes gstcheck.h be defining its own copy and relying on symbol
3275         interposing to marry them all, which doesn't work on Solaris.
3276
3277         * tests/check/elements/identity.c: (GST_START_TEST):
3278         Don't define 'buffers' locally, it comes from libgstcheck.
3279
3280         * tests/check/generic/sinks.c: (send_buffer):
3281         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
3282
3283         * tests/check/gst/gststructure.c: (GST_START_TEST):
3284         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
3285         * tests/check/gst/gstutils.c: (GST_START_TEST):
3286         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3287         Add a bunch of casts to make various constants fit the types
3288         they're being assigned to.
3289
3290 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
3291
3292         * gst/gstchildproxy.c:
3293           Improve docs and add some ideas for making this more general-purpose.
3294
3295 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
3296
3297         * gst/gst_private.h: (GST_CAT_TYPES):
3298           Add GST_CAT_TYPES, for consistency, and so that the other
3299           debug categories don't make fun of it. Spotted by Saur on IRC.
3300
3301 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
3302
3303         * gst/parse/Makefile.am:
3304           Move types.h from EXTRA_DIST to noinst_HEADERS.
3305
3306 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
3307
3308         * autogen.sh:
3309           Add -Wno-portability to the automake parameters to stop warnings
3310           about GNU make extensions being used. We require GNU make in almost
3311           every Makefile anyway.
3312
3313         * configure.ac:
3314           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
3315           at the same time is required for per target flags.
3316
3317 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3318
3319         * gst/gstmacros.h:
3320           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
3321           __GNUC__ is defined before using it.
3322
3323 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3324
3325         * docs/gst/gstreamer-sections.txt:
3326         * gst/gst.c: (init_post):
3327         * gst/gstplugin.c: (_gst_plugin_register_static),
3328           (gst_plugin_register_static), (_gst_plugin_initialize),
3329           (gst_plugin_register_func):
3330         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
3331           API: add gst_plugin_register_static() and deprecate
3332           GST_PLUGIN_DEFINE_STATIC, since it's not portable
3333           (#498924).
3334           Also, in _gst_plugin_register_static(), make sure to call
3335           g_thread_init() before calling GLib functions such as
3336           g_list_append() if we're not initialised yet, since that
3337           may lead to random crashes with older GSlice/GLib versions.
3338
3339         * tests/check/gst/gstplugin.c:
3340           Adapt unit test to above changes.
3341
3342 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3343
3344         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
3345         * gst/gstcaps.c: (gst_caps_to_string):
3346         * gst/gststructure.c: (GST_ASCII_IS_STRING),
3347           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
3348           Yet another gratuitous GString micro-optimisation: add a (private)
3349           function that serialises a structure appending to an existing
3350           GString, so that when we serialise caps we don't need to alloc+free
3351           a throwaway GString for each structure (each of which also entailing
3352           multiple reallocs on the way); also use g_string_sized_new() in
3353           various places with an approximate string length to avoid reallocs
3354           within GString. See #500143.
3355
3356 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3357
3358         * gst/gststructure.c: (gst_structure_id_set_value):
3359           Always check UTF-8 conformance of structure strings and not only
3360           if the debugging system is enabled; reasoning: the behaviour of
3361           the actual code shouldn't really change depending on whether the
3362           debugging system is enabled or not (#508291).
3363
3364 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
3365
3366         * Makefile.am:
3367           Remove old coverage target in favour of "make lcov".
3368
3369 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3370
3371         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3372         (gst_base_src_loop):
3373         The start segment for reverse playback goes from start to last_stop.
3374
3375 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3376
3377         Patch by: Peter Kjellerstedt <pkj axis com>
3378
3379         * gst/gstclock.h:
3380         Cast the results from the timeval/spec_to_time macros to what the
3381         docs say it casts to, a GstClockTime. fixes #508175.
3382
3383 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3384
3385         * gst/gstbuffer.c:
3386         Update some comments.
3387
3388         * tools/gst-inspect.c: (print_element_properties_info):
3389         Improve printing of flags.
3390
3391 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
3392
3393         * libs/gst/base/gstbasetransform.c:
3394           (gst_base_transform_transform_size):
3395           Print element name with g_warning() if there's a problem
3396           with the unit size.
3397
3398 2008-01-07  David Schleef  <ds@schleef.org>
3399
3400         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
3401
3402         * libs/gst/controller/gstcontroller.h:
3403         * libs/gst/controller/gstcontrolsource.h:
3404         * libs/gst/controller/gstinterpolationcontrolsource.h:
3405         * libs/gst/controller/gstlfocontrolsource.h:
3406         * libs/gst/dataprotocol/dataprotocol.h:
3407           Fix empty prototypes.  Fixes bug #507957.
3408
3409 2008-01-07  David Schleef  <ds@schleef.org>
3410
3411         * docs/faq/dependencies.xml: Fix typo.
3412
3413 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3414
3415         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
3416         (gst_base_src_loop):
3417         Don't update the last_stop position in do_seek, that's the position we
3418         did a seek to.
3419         Read backwards when we have a negative rate.
3420
3421         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
3422         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
3423         (filesrc_suite):
3424         Add check for reverse reading.
3425
3426 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
3427
3428         Patch by: Alexis Ballier <aballier at gentoo org>
3429
3430         * tests/check/gst/gstabi.c:
3431         * tests/check/gst/struct_ppc64.h:
3432         * tests/check/libs/libsabi.c:
3433         * tests/check/libs/struct_ppc64.h:
3434           Decide which header to include based on the userland ABI target
3435           and not the kernel/cpu. Fix up structure sizes of ppc64 header
3436           for 64-bit userland (#503590).  Might need something similar for
3437           x86 too.
3438
3439 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3440
3441         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
3442           Log the reason why fopen fails in addition to the fact that it failed.
3443           
3444 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
3445
3446         * gst/parse/parse.l:
3447         Use "%option never-interactive" to prevent useless calls to isatty()
3448         on every input when parsing. Also use "%option noinput" to not define
3449         the static input/yyinput functions which we don't use anyway. This
3450         removes a compiler warning with gcc 4.3 and saves some bytes in the
3451         library.
3452         
3453         * gst/parse/lex._gst_parse_yy.pre.c:
3454         Regenerated for the above change.
3455
3456 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
3457
3458         * gst/gstpad.c: (fixate_value):
3459         Don't crash when trying to fixate and empty list.
3460         Fixes #506643.
3461
3462 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
3463
3464         * docs/faq/gst-uninstalled:
3465         Clarify the comments to make the usage of this script and what it
3466         does easier to understand.
3467
3468 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
3469
3470         * tools/gst-plot-timeline.py:
3471         Add more options to gst-plot-timeline
3472
3473 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
3474
3475         * docs/design/part-synchronisation.txt:
3476         Some more info on how the stream_time in GstBaseSink is done.
3477
3478 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
3479
3480         * tests/check/generic/sinks.c: (gst_sinks_suite):
3481           Put back the tcase_set_timeout(), apparently it's needed after
3482           all; fix it up in a way that makes things work with valgrind too.
3483
3484 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
3485
3486         * gst/gstdebugutils.c:
3487           Add warning when failed to open file for writing.
3488
3489 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
3490
3491         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
3492
3493         * gst/gstvalue.c: (gst_value_is_fixed):
3494           Optimisation: bail out of the loop as early as possible (#500143).
3495
3496 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
3497
3498         * gst/gstcaps.c: (gst_caps_to_string):
3499         * gst/gstinfo.c: (gst_debug_construct_term_color):
3500         * gst/gstparse.c: (gst_parse_launchv):
3501         * gst/gstutils.c: (gst_util_dump_mem):
3502         * gst/gstvalue.c: (gst_value_serialize_any_list),
3503           (gst_value_transform_any_list_string):
3504           Bunch of gratuitous nano-optimisations.
3505
3506 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
3507
3508         * tests/check/generic/sinks.c: (async_done_func),
3509           (async_done_eos_func):
3510           Fix leak in unit test (bus sync handler must unref the message
3511           if it returns GST_BUS_DROP). Don't fiddle with the default test
3512           timeout, this is smaller than the current preconfigured value
3513           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
3514           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
3515
3516 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3517
3518         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
3519
3520         * configure.ac:
3521         Check for stdio_ext.h for the filesink changes.
3522
3523         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
3524         (gst_file_sink_class_init), (gst_file_sink_init),
3525         (gst_file_sink_dispose), (gst_file_sink_set_property),
3526         (gst_file_sink_get_property), (gst_file_sink_open_file),
3527         (gst_file_sink_close_file):
3528         * plugins/elements/gstfilesink.h:
3529         Add two properties to control the buffering mode and size.
3530         API: GstFileSink::buffer-mode
3531         API: GstFileSink::buffer-size
3532         Fixes #500150.
3533
3534 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3535
3536         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
3537         Add some more docs to explain why a FIXME was wrongly added. 
3538
3539 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
3540
3541         * gst/gstobject.c:
3542           Fix typo in the gst_object_{ref,unref} documentation.
3543
3544 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
3545
3546         * tests/check/libs/controller.c:
3547         * tests/check/libs/typefindhelper.c:
3548         * tests/check/pipelines/parse-launch.c:
3549           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
3550           going to be deprecated (see #498924).
3551
3552 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
3553
3554         * gst/gsttypefind.c: (gst_type_find_register):
3555           Make gst_type_find_register work for static typefind functions,
3556           ie. allow passing plugin == NULL (prerequisite for #498924).
3557
3558         * gst/gstelementfactory.c: (gst_element_register):
3559           Small docs addition.
3560
3561 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3562
3563         * gst/gstpad.c: (gst_pad_dispose):
3564         Really unlink the peer pad instead of setting the peer pointer to NULL
3565         when we dispose the pad.
3566         This correctly calls the unlink functions and makes sure that the peer
3567         does not have a handle to invalid memory. See #504671.
3568
3569         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
3570         Add testsuite for above case.
3571
3572 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
3573
3574         Patch by: Peter Kjellerstedt <pkj axis com>
3575
3576         * libs/gst/check/gstcheck.h:
3577           Fix detection of the check version we're compiling against (would
3578           otherwise break if check goes v0.10.0); correctly report the
3579           name of the failed test again in case of failure, instead of
3580           just 'tf' (fixes #504499).
3581
3582 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
3583
3584         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
3585         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3586         (gst_base_src_loop), (gst_base_src_set_flushing),
3587         (gst_base_src_change_state):
3588         Allow sending EOS to the source to make it send out an EOS event from
3589         the streaming thread.
3590         Update docs and deprecate the old NULL/READY shutdown method.
3591
3592         * tests/check/libs/basesrc.c: (GST_START_TEST),
3593         (gst_basesrc_suite):
3594         Add unit test for controlled shutdown.
3595
3596 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
3597
3598         * docs/design/part-synchronisation.txt:
3599         Small updates.
3600
3601         * gst/gstsegment.c: (gst_segment_set_seek),
3602         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
3603         (gst_segment_to_running_time):
3604         The seek format can be different from the segment format when the start
3605         and stop values are not to be updated, when we only do a rate change for
3606         example.
3607
3608         * tests/check/gst/gstsegment.c: (GST_START_TEST),
3609         (gst_segment_suite):
3610         Add a testcase for the rate-only seeks, checking that the format is
3611         correctly ignored when start and stop are not updated.
3612
3613 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
3614
3615         Patch by: Matthias Bolte <photon at mail dot upb dot de>
3616
3617         * win32/vs8/grammar.vcproj:
3618         * win32/vs8/libgstcontroller.vcproj:
3619         * win32/vs8/libgstreamer.vcproj:
3620         Fix compilation with VS8 and include some missing files.
3621
3622 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
3623
3624         * gst/gsttaglist.c:
3625           Small docs addition: mention that the strings returned by
3626           gst_tag_list_get_string*() are in UTF-8 encoding.
3627
3628 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
3629
3630         * Makefile.am:
3631           The check-exports stuff moved to common/win32.mak, so include that.
3632
3633 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3634
3635         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
3636         (gst_base_src_perform_seek), (gst_base_src_get_range),
3637         (gst_base_src_set_playing), (gst_base_src_change_state):
3638         Make _wait_playing() not check any variables so that we can call this
3639         function from subclasses. Move the checks elsewhere similar to
3640         _wait_preroll() in basesink.
3641         Add some debugging.
3642         Only signal the LIVE cond when we are going back to PLAYING.
3643
3644 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
3645
3646         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
3647           Use g_remove() and g_rename(). Check result of g_rename(), and
3648           don't leak the open file descriptor if we error out when writing.
3649
3650         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
3651           Must check the return value of close() after writing out the new
3652           registry file.  Sometimes write problems such as out-of-diskspace
3653           are only reported when the file is closed and not already during
3654           the write.  This may have caused partial/broken registry files in
3655           some rare circumstances. Should fix #503675.
3656
3657 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
3658
3659         * docs/gst/.cvsignore:
3660         * docs/libs/.cvsignore:
3661         * docs/plugins/.cvsignore:
3662         Ignore files generated by new common/* modifications
3663
3664 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
3665
3666         * win32/common/libgstbase.def:
3667           Yes, you can also have a <TAB> if you want.
3668
3669 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
3670
3671         * win32/common/libgstbase.def:
3672           Add new basetransform API to win export file.
3673
3674 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
3675
3676         * tests/check/gst/gstbin.c:
3677           Adjust the test to the refcount change two days ago.
3678
3679 2007-12-14  David Schleef  <ds@schleef.org>
3680
3681         * docs/faq/getting.xml: Fix typo.
3682
3683 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
3684
3685         * docs/libs/gstreamer-libs-sections.txt:
3686         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
3687           (gst_base_transform_prepare_output_buffer),
3688           (gst_base_transform_set_gap_aware):
3689         * libs/gst/base/gstbasetransform.h:
3690           API: Add gst_base_transform_set_gap_aware() to control whether
3691           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
3692           get buffers with this flag at all. Fixes #503231.
3693
3694 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
3695
3696         * libs/gst/base/gstbasesink.c:
3697         * libs/gst/base/gstbasesrc.c:
3698         * libs/gst/base/gstbasetransform.c:
3699           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
3700           thread. Correct log message in gstbasesrc.c.
3701
3702 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
3703
3704         * gst/gstutils.c: (element_find_unconnected_pad):
3705           Fix possible compiler warning (#503417).
3706
3707 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
3708
3709         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
3710           Don't use GST_CAT_EVENT here for logging, it makes no sense.
3711
3712 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
3713
3714         * tools/gst-inspect.c: (print_element_properties_info):
3715           Add support for GstFraction properties.
3716
3717 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3718
3719         * Makefile.am:
3720           Add check-exports target and run it as part of 'make check'
3721           (see #499140 and #493983).
3722
3723         * gst/gst_private.h:
3724         * gst/gstelementfactory.h:
3725         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
3726         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
3727           (_priv_gst_in_valgrind):
3728         * gst/gstinfo.h: (GstLogFunction):
3729         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
3730           (gst_type_find_register):
3731         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
3732           (gst_type_find_factory_get_type):
3733         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
3734           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
3735           (gst_controller_new_valist), (gst_controller_new_list),
3736           (_gst_controller_dispose), (_gst_controller_class_init):
3737         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
3738         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
3739           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
3740           (gst_object_get_controller), (gst_object_set_controller),
3741           (gst_object_suggest_next_sync), (gst_object_sync_values),
3742           (gst_object_set_control_source), (gst_object_get_control_source),
3743           (gst_object_get_value_arrays), (gst_object_get_value_array),
3744           (gst_object_get_control_rate), (gst_object_set_control_rate):
3745         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
3746         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
3747           Make some functions that should be static static; rename some
3748           private symbols so that they don't get exported; add some FIXME
3749           comments so we can move accidentally exported functions into
3750           our private section in 0.11.
3751
3752         * win32/common/libgstreamer.def:
3753           Add gst_utils_get_timestamp().
3754
3755 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
3756
3757         * gst/gstvalue.c:
3758         * gst/gstvalue.h:
3759           Add more missing "Since:" tags to docs.
3760
3761 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
3762
3763         * gst/gstutils.c:
3764           Add mising "Since:" to docs.
3765
3766 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
3767
3768         * gst/gstplugin.c:
3769           Include "glib-compat-private.h" to fix the build on system with
3770           glib < 2.10. Fixes #503131.
3771
3772 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
3773
3774         * gst/gstutils.c:
3775         * gst/gstutils.h:
3776           Actually its not PURE as it gets the time from elsewhere.
3777
3778 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
3779
3780         * docs/gst/gstreamer-sections.txt:
3781         * gst/gstclock.h:
3782         * gst/gstdebugutils.c:
3783         * gst/gstinfo.c:
3784         * gst/gstutils.c:
3785         * gst/gstutils.h:
3786         * libs/gst/base/gstbasesink.c:
3787         * tools/gst-launch.c:
3788           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
3789           uses as we don't have HAVE_POSIX_TIMERS in public headers.
3790           Thanks Tim for spotting.
3791           API: gst_util_get_timestamp
3792
3793 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
3794
3795         * configure.ac:
3796           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
3797
3798 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
3799
3800         * gst/gststructure.c: (gst_structure_validate_name),
3801           (gst_structure_new_valist), (gst_structure_parse_value),
3802           (gst_structure_from_string):
3803           Don't crash in _from_string() if the structure name is not valid
3804           (fixes #501560).  Allow structure names to start with a number
3805           again (this apparently broke the ubuntu codec installer).
3806
3807         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
3808           (GST_START_TEST):
3809           Add unit test for the crash; update unit tests for new behaviour.
3810
3811 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
3812
3813         * gst/gstutils.c:
3814         Clarify gst_element_get_compatible_pad() documentation.
3815         Fixes #500919.
3816
3817 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
3818
3819         * tests/check/Makefile.am:
3820           Don't forget to dist {gst,libs}/struct_hppa.h.
3821
3822 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
3823
3824         * libs/gst/base/gstbasesink.c:
3825           Use new API to get elapsed time.
3826
3827 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
3828
3829         * gst/gstdebugutils.c:
3830         * gst/gstinfo.c:
3831           Fix wrong order of args in GST_CLOCK_DIFF() usage.
3832
3833         * tools/gst-launch.c:
3834           Use new API to get elapsed time.
3835
3836 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
3837
3838         * docs/gst/gstreamer-sections.txt:
3839         * gst/gstclock.h:
3840         * gst/gstdebugutils.c:
3841         * gst/gstinfo.c:
3842           Rename new API + ChangeLog surgery to remove old name from last entry..
3843
3844 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
3845
3846         * docs/gst/gstreamer-sections.txt:
3847         * gst/gstclock.h:
3848         * gst/gstdebugutils.c:
3849         * gst/gstinfo.c:
3850           Now hide the different clock stuff behind a macro.
3851
3852 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
3853
3854         * configure.ac:
3855         * gst/gstdebugutils.c:
3856         * gst/gstinfo.c:
3857           Apply the posix-timer check from #361155. Conditionally use the posix
3858           timer for logging. This gives better timestamp precission, less
3859           overhead and no ntp jitter.
3860
3861 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
3862
3863         * gst/gstminiobject.c: (gst_mini_object_get_type),
3864         (gst_mini_object_class_init), (gst_mini_object_copy_default),
3865         (gst_mini_object_finalize), (gst_mini_object_copy),
3866         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
3867         (gst_mini_object_replace), (param_mini_object_validate),
3868         (gst_param_spec_mini_object_get_type):
3869         Some cleanup and checking against invalid function parameters.
3870
3871 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
3872
3873         * docs/gst/gstreamer-sections.txt:
3874         * gst/gstclock.h:
3875         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3876         (gst_systemclock_suite):
3877         Start merging in the easy bits of #361155, the monotonic clock patch.
3878         This one adds a few handy macros with docs and a testsuite.
3879
3880 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
3881
3882         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
3883         Be a bit smarter when seeking, like, don't try to do a seek when it's
3884         not needed. This avoids errors when the file is not seekable.
3885         Fixes #499771.
3886
3887 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
3888
3889         * docs/gst/gstreamer-docs.sgml:
3890         * docs/gst/gstreamer-sections.txt:
3891         * docs/gst/gstreamer.types.in:
3892         * gst/Makefile.am:
3893         * gst/gst.h:
3894         * gst/gstpreset.c:
3895         * gst/gstpreset.h:
3896         * plugins/elements/gstqueue.c:
3897           Due to popular request remove preset interface again. :-(.
3898
3899 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
3900
3901         * tools/gst-inspect.c:
3902           Print 'default value' for enums and flags too.
3903
3904 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
3905
3906         * docs/random/ensonic/profiling.txt:
3907           More ideas.
3908
3909         * gst/gstbin.c:
3910           Fix typo and give better log output.
3911
3912         * gst/gstdebugutils.c:
3913         * gst/gstdebugutils.h:
3914           More ideas, make graphs a bit smaller and fix param name in macro.
3915
3916 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
3917
3918         * gst/gstpreset.c:
3919           Try harder to use the return value from fgets().
3920
3921 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
3922
3923         * gst/gstpreset.c:
3924           For theses two fgets we handle the error below.
3925
3926 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
3927
3928         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
3929         Only send upstream events upstream. Fixes #498746.
3930
3931 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
3932
3933         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
3934
3935         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3936         (gst_identity_init), (gst_identity_transform_ip),
3937         (gst_identity_set_property), (gst_identity_get_property):
3938         * plugins/elements/gstidentity.h:
3939         Add property to disable handoff signal emission. Fixes #498694.
3940         API: GstIdentity::signal-handoffs
3941
3942 2007-11-21  Julien Moutte  <julien@fluendo.com>
3943
3944         * docs/faq/gst-uninstalled: Yet another missing library for the
3945         uninstalled script (fft)
3946
3947 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
3948
3949         * docs/faq/developing.xml:
3950         Add a question about how to submit new translations.
3951
3952         * docs/random/release:
3953         Update the contact email address for the Translation Project
3954
3955         * plugins/elements/gstfdsrc.c:
3956         The parent_class for fdsrc is pushsrc, not GstElement.
3957
3958 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
3959
3960         * gst/gstpreset.c:
3961           Plug a leak and fix saving.
3962
3963 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
3964
3965         * docs/gst/gstreamer-sections.txt:
3966         Add new gst_preset__get_property_names() function to the docs
3967         to fix the build.
3968
3969 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
3970
3971         * gst/gstpreset.c:
3972         * gst/gstpreset.h:
3973           Change _get_preset_names API to return a strv with copies. Add
3974           _get_property_names to allow implementations to filter and provide
3975           good default implementation.
3976
3977 2007-11-20  Julien MOUTTE  <julien@moutte.net>
3978
3979         * docs/faq/gst-uninstalled: Add another library to the uninstalled
3980         script (sdp).
3981
3982 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
3983
3984         * gst/gstpreset.c:
3985           More cleanups, docs, and TODOs from comments that now slowly come in.
3986
3987 2007-11-19  Julien MOUTTE  <julien@moutte.net>
3988
3989         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
3990         search path.
3991
3992 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
3993
3994         * gst/gstpreset.c:
3995           Fix bogus warning and make the property type specific code more
3996           similar.
3997
3998 2007-11-19  Julien MOUTTE  <julien@moutte.net>
3999
4000         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
4001         it build on OS X.
4002
4003 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
4004
4005         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4006         (gst_bin_add_func), (gst_bin_remove_func),
4007         (gst_bin_change_state_func), (gst_bin_continue_func):
4008         Change email, cleanups add some more debug and comments.
4009         Also set bus and clock on new elements when the pipeline was in error.
4010
4011 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
4012
4013         * gst/gstbin.c:
4014         * gst/gstdebugutils.c:
4015           Fix build with --disable-gst-debug. Fixes #497859.
4016           Spotted by Sameer Naik.
4017
4018 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
4019
4020         * gst/gstevent.c:
4021           Little documentation improvment.
4022
4023         * gst/gstpreset.c:
4024           More TODO cleanups. Remove c++ comments.
4025
4026         * libs/gst/controller/gstcontroller.c:
4027           Add TODO and use quark from static string.
4028
4029         * tests/check/gst/gstmessage.c:
4030         * tests/check/gst/gststructure.c:
4031           Use quark from static string.
4032
4033 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
4034
4035         * gst/gstpreset.c:
4036           Add some comments and TODOs.
4037
4038         * gst/gstpreset.h:
4039           Add padding for future changes.
4040
4041         * plugins/elements/gstqueue.c:
4042           Implement the iface.    
4043
4044 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
4045
4046         * docs/gst/gstreamer-docs.sgml:
4047         * docs/gst/gstreamer-sections.txt:
4048         * docs/gst/gstreamer.types.in:
4049         * gst/Makefile.am:
4050         * gst/gst.h:
4051         * gst/gstpreset.c:
4052         * gst/gstpreset.h:
4053           Add the preset interface (Fixes #396779). Do some doc cleanups along.
4054
4055 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
4056
4057         * configure.ac:
4058
4059         Back to CVS
4060
4061 === release 0.10.15 ===
4062
4063 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
4064
4065         * configure.ac:
4066           releasing 0.10.15, "October"
4067
4068 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
4069
4070         * win32/vs6/libgstreamer.dsp:
4071         Convert line endings back to DOS.
4072
4073 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
4074
4075         * docs/design/draft-tagreading.txt:
4076         * docs/random/ensonic/profiling.txt:
4077         Update fast tagreading draft and performance profiling ideas.
4078
4079 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
4080
4081         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
4082         Don't hold the object lock when unreffing a buffer because it could
4083         cause a deadlock when the finalize function wants to grab the object
4084         lock too. Fixes #495133.
4085
4086 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
4087
4088         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
4089         (gst_segment_to_stream_time), (gst_segment_to_running_time):
4090         Also accumulate time correctly when doing reverse playback. Fixes
4091         #488201,
4092         When converting to running and stream time, use default values for
4093         start/stop/time/accum when comparing different formats. Fixes #494245.
4094
4095         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4096         Do running/stream time in TIME format.
4097
4098         * tests/check/gst/gstsegment.c: (GST_START_TEST),
4099         (gst_segment_suite):
4100         2 new unit tests for segment accumulation.
4101
4102 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
4103
4104         * gst/gst.c: (init_pre):
4105         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
4106           (_gst_debug_bin_to_dot_file):
4107           Move getenv() back into gst_init, so everyone can live happily
4108           ever after. Make sure the symbol isn't exported though.
4109
4110 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
4111
4112         Patch by: Sebastien Moutte  <sebastien moutte net>
4113
4114         * win32/common/gstenumtypes.c:
4115         * win32/common/gstenumtypes.h:
4116           Update enum types.
4117
4118         * win32/vs6/libgstreamer.dsp:
4119           Update vs6 project files (#494343).
4120
4121 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
4122
4123         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
4124         (gst_base_src_perform_seek), (gst_base_src_default_event),
4125         (gst_base_src_set_flushing), (gst_base_src_activate_push),
4126         (gst_base_src_activate_pull):
4127         Unify flushing code, remove some old unlock code that is no longer used.
4128         Take the streaming lock when seeking to avoid races. Fixes #492729.
4129         Added some more comments.
4130
4131 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
4132
4133         * gst/gst.c: (_gst_disable_segtrap):
4134           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
4135           we can use gst_segtrap_is_enabled() there now that we have that API.
4136           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
4137           to do the getenv here (and export the variable).
4138
4139         * gst/gstdebugutils.c: (debug_dump_element),
4140           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
4141           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
4142
4143         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
4144           (gst_debug_log_default):
4145           Rename _gst_info_start_time to priv_gst_info_start_time so it
4146           doesn't get exported (was never in any header).
4147
4148         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
4149           (gst_plugin_loading_mutex):
4150           Make static mutex gst_plugin_loading_mutex really static (was never
4151           in any header), and use gst_segtrap_is_enabled() instead of
4152           _gst_disable_segtrap.
4153
4154         * gst/gsttrace.c: (_gst_trace_default):
4155           Make local _gst_trace_default static (was never in any header).
4156
4157 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
4158
4159         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
4160
4161         * win32/common/libgstbase.def:
4162         * win32/common/libgstcontroller.def:
4163         * win32/common/libgstdataprotocol.def:
4164         * win32/common/libgstnet.def:
4165         * win32/common/libgstreamer.def:
4166           Add more missing symbols, remove some duplicates, and sort
4167           as the 'sort' command sorts it (partially fixes #493983).
4168
4169 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
4170
4171         * gst/gstelement.c: (gst_element_set_state_func):
4172         Only change the state cookie if a different state was set on the
4173         element. See #492729.
4174
4175 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
4176
4177         * gst/gstvalue.c:
4178           Remove unused and uninitialised type variables that were still
4179           exported for some reason (they were never in any header files
4180           though).
4181
4182 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
4183
4184         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
4185         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
4186         (gst_base_sink_event), (gst_base_sink_get_position_last),
4187         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
4188         (gst_base_sink_change_state):
4189         Don't try to report a 0 position when we don't know, return -1 and FALSE
4190         instead. This mostly happens when we are prerolling.
4191         Make sure we can report the right position before we post the ASYNC_DONE
4192         message so that a message handler can query position without races.
4193
4194         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
4195         (async_done_handoff), (async_done_func), (send_buffer),
4196         (async_done_eos_func), (gst_sinks_suite):
4197         Add two tests for the above.
4198
4199 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
4200
4201         * MAINTAINERS:
4202         Update with new email address.
4203
4204         * docs/design/part-TODO.txt:
4205         Add some more info about future pad-block and negotiation changes.
4206
4207         * docs/design/part-buffering.txt:
4208         Add some ideas about buffering reporting.
4209
4210 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
4211
4212         * tests/check/gst/gstobject.c:
4213         Disable silly racy test that always fails on this combination of CPU
4214         and kernel.
4215
4216 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4217
4218         Patch by: Murray Cumming  <murrayc@murrayc.com>
4219
4220         * gst/gstobject.c:
4221           Corrected the registration of the parent-set and parent-unset
4222           signals: The parameter is a GstObject, not a GObject (#493134).
4223
4224 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4225
4226         * gst/gst_private.h:
4227         * gst/gstbuffer.h:
4228         * gst/gstevent.h:
4229         * gst/gstformat.h:
4230         * gst/gstmessage.h:
4231         * gst/gstplugin.h:
4232         * gst/gstquery.h:
4233         * gst/gsttaglist.h:
4234         * gst/gstvalue.h:
4235           Move declaration of private _gst_foo_initialize() functions into
4236           our private header file where they should have been all along.
4237
4238 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4239
4240         * docs/plugins/gstreamer-plugins-sections.txt:
4241         * gst/gstdebugutils.h:
4242         * gst/gstxml.h:
4243         * plugins/elements/gstqueue.c:
4244           gtk-doc fixes; trailing-comma-in-enum fix.
4245
4246 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4247
4248         * gst/gst.c: (gst_deinit):
4249           Clean up on deinit (not the external ones though, doesn't seem to be
4250           needed for some reason).
4251
4252 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
4253
4254         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
4255           Remove __declspec(dllimport) for MSVC that was copied over into core
4256           from a plugin, obviously without ever having been tested (note the
4257           single underscore in _declspec in the initial commit), and that doesn't
4258           really make sense.  See #492077.
4259
4260 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
4261
4262         * gst/gst.c: (init_post):
4263         * gst/gstevent.c: (_gst_event_initialize):
4264         * gst/gstquery.c: (_gst_query_initialize):
4265         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
4266           g_type_class_ref() other types as well, see #349410 and #64764.
4267
4268         * gst/gstbuffer.c: (_gst_buffer_initialize):
4269         * gst/gstmessage.c: (_gst_message_initialize):
4270           Simplify existing g_type_class_ref().
4271
4272 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
4273
4274         * gst/gstformat.c: (_gst_format_initialize):
4275           g_type_class_ref() our GstFormat type to make sure we avoid the
4276           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
4277           bug #64764. Should fix intermittent tee unit test failures (#474823).
4278
4279 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
4280
4281         * tests/check/elements/tee.c: (test_num_buffers):
4282           Simplify, simplify, simplify - or not.  Rewrite unit test
4283           not to use gst_parse_launch(); allow N sub-streams. Increasing
4284           the number of sub-streams seems to reproduce #474823 more easily.
4285
4286 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
4287
4288         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
4289
4290         * gst/gsttrace.c:
4291         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4292         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
4293         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
4294           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
4295           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
4296           so use _pipe() directly (#492077).
4297
4298         * win32/common/dirent.c: (_treaddir):
4299           Add a couple of casts to make it build without warnings with MSVC.
4300
4301         * win32/common/libgstreamer.def:
4302           Add some more symbols that need to be exported.
4303
4304 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
4305
4306         * tests/examples/metadata/read-metadata.c: (message_loop):
4307           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
4308           arriving in a second or third tag message are added to
4309           the tag list as well.
4310
4311 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
4312
4313         * libs/gst/base/gstbasesrc.c:
4314           Its "Since:" and not "@Since:". And remove an superflous cast.
4315
4316 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
4317
4318         * docs/libs/gstreamer-libs-sections.txt:
4319         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4320         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
4321         (gst_base_sink_get_property), (gst_base_sink_render_object),
4322         (gst_base_sink_preroll_object),
4323         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
4324         (gst_base_sink_change_state):
4325         * libs/gst/base/gstbasesink.h:
4326         Add a new last-buffer property that contains the last buffer used in
4327         basesink for preroll or rendering. useful for making snapshots.
4328         API: gst_base_sink_get_last_buffer()
4329         API: GstBaseSink::last-buffer
4330
4331 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
4332
4333         * docs/gst/running.xml:
4334         * gst/gst.c:
4335         * gst/gstdebugutils.c:
4336         * gst/gstdebugutils.h:
4337         * tools/gst-launch.c:
4338           Improve bin graph dumping, by using the envvar to specify a path.
4339           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
4340
4341 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
4342
4343         * plugins/elements/gsttypefindelement.c:
4344           (gst_type_find_element_handle_event),
4345           (gst_type_find_element_activate):
4346           Post special error message if we can't determine the type of a stream
4347           because it's empty.
4348
4349 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
4350
4351         * docs/gst/running.xml:
4352         * gst/gstdebugutils.c:
4353           Document new env-var. Add one log-line after dumpng a graph.
4354
4355 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
4356
4357         * configure.ac:
4358           Ugly hack to put the (recently removed and non-portable, apparently)
4359           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
4360           GNU ld, because without that 'make check' fails miserably on my debian
4361           stable box.  Someone with more knowledge of linker intricacies and
4362           portability issues than me fix this properly please.
4363
4364 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
4365
4366         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
4367         Reset last seen position after flushing so that we don't report the old
4368         position anymore.
4369
4370 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
4371
4372         * gst/gstelementfactory.c: (gst_element_register):
4373         * gst/gsturi.h:
4374         Patch from Alessandro Decina adding get_type_full and
4375         get_protocols_full private vfuncs to the URIHandler interface
4376         to allow bindings to support creating URI handlers. 
4377         Partially fixes: #339279
4378         API: GstURIHandlerInterface::get_type_full
4379         API: GstURIHandlerInterface::get_protocols_full
4380
4381 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
4382
4383         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
4384         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
4385         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
4386         Make it so that pads are considered linked until a buffer is pushed
4387         and discovered otherwise. This avoids problems with decodebin2 hanging
4388         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
4389         case.
4390
4391         Make sure we lock the multiqueue when updating the max-size properties.
4392         
4393         Fix a crash on Solaris in a debug statement in get_request_pad that
4394         passes a NULL string to GST_DEBUG. 
4395
4396         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
4397         (run_output_order_test):
4398         Fix the test to allow the first buffer on not-linked pads to come out
4399         of sequence while multiqueue discovers that they are not-linked.
4400
4401 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
4402
4403         * configure.ac:
4404         * libs/gst/check/Makefile.am:
4405         Use a custom export symbol regex for libgstcheck, as it needs
4406         to export symbols that don't match the standard GStreamer gst_*
4407         pattern, and  --export-dynamic is not portable (only works on 
4408         GNU ld)
4409
4410         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
4411         (gst_check_setup_sink_pad):
4412         Make sure to pass a message parameter to the fail_* macros.
4413
4414         * tests/check/gst/gstinfo.c: (GST_START_TEST):
4415         Fix some compiler warnings.
4416
4417 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
4418
4419         * tests/check/gst/gststructure.c: (test_to_string):
4420           Disable test that checks that white spaces are not allowed
4421           in structure names or field names, since we need to
4422           support that for now for backwards compatibility reasons.
4423
4424 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
4425
4426         * docs/gst/gstreamer-sections.txt:
4427         * gst/gsttaglist.c:
4428         * gst/gsttaglist.h:
4429           API: add GST_TAG_ARTIST_SORTNAME
4430           API: add GST_TAG_ALBUM_SORTNAME
4431           API: add GST_TAG_TITLE_SORTNAME
4432           Add tag variants for sorting (#414539).
4433
4434 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
4435
4436         * gst/gststructure.c:
4437           Also allow white space for names so we don't break
4438           backwards compatibility.
4439
4440 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
4441
4442         * docs/design/part-TODO.txt:
4443         * docs/design/part-segments.txt:
4444         * docs/design/part-streams.txt:
4445         Small updates.
4446
4447 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
4448
4449         * docs/gst/gstreamer-sections.txt:
4450          Fixed documentation from my previous commit (added new API add
4451          gst_value_set_structure(), add gst_value_get_structure() and
4452          GST_VALUE_HOLDS_STRUCTURE).
4453
4454 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
4455
4456         * gst/gstdebugutils.c:
4457           Reflow code to fix uninitialized variable warning.
4458
4459 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
4460
4461         * gst/gstcaps.c: (gst_caps_to_string),
4462         (gst_caps_from_string_inplace):
4463         * gst/gststructure.c: (gst_structure_get_abbrs),
4464         (gst_structure_to_string), (gst_structure_from_string):
4465         * gst/gstvalue.c: (gst_value_set_structure),
4466         (gst_value_get_structure), (gst_value_serialize_structure),
4467         (gst_value_deserialize_structure), (_gst_value_initialize):
4468         * gst/gstvalue.h:
4469         * tests/check/gst/gststructure.c: (GST_START_TEST),
4470         (gst_structure_suite):
4471         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4472          Added GstStructure to gst_value_table and its related functions.
4473          Changed gst_structure_to_string to print ';' in the end.
4474          Changed gst_caps_to_string to not print ';' beteween its
4475          fields (structures) anymore and remove the lastes ';' from latest
4476          structure. Now it is possible to have nested structures.
4477          In addition, backward compatibilty is assured by accepting '\0' as
4478          end delimiter. Fixes: #487969.
4479          API: add gst_value_set_structure()
4480          API: add gst_value_get_structure()
4481          API: add GST_VALUE_HOLDS_STRUCTURE
4482
4483 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
4484
4485         * gst/gstbus.c:
4486           When no GSource callback has been set up, tell developer
4487           to use a function that actually exists.
4488
4489 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
4490
4491         * docs/gst/gstreamer-sections.txt:
4492         * gst/Makefile.am:
4493         * gst/gst.c:
4494         * gst/gst.h:
4495         * gst/gstdebugutils.c:
4496         * gst/gstdebugutils.h:
4497         * gst/gstinfo.c:
4498         * gst/gstinfo.h:
4499         * tools/gst-launch.c:
4500           Allow dumping pipelines as dot graphs. Fixes #456573.
4501
4502 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
4503
4504         * gst/gststructure.c:
4505           Allow '+' as well, it can be part of media or mime types
4506           such as image/svg+xml.
4507
4508 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
4509
4510         * docs/gst/gstreamer-sections.txt:
4511         * gst/gstbus.c:
4512         * gst/gstbus.h:
4513           API: add gst_bus_pop_filtered
4514           API: add gst_bus_timed_pop_filtered
4515           Two new functions for waiting for specific message types on the
4516           bus for a specified amount of time without iterating any main
4517           loops or main contexts.
4518
4519         * tests/check/gst/gstbus.c:
4520           Some tests for the new functions.
4521
4522 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
4523
4524         * docs/libs/gstreamer-libs-sections.txt:
4525           Make gtk-doc ignore stuff it should ignore.
4526
4527 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
4528
4529         * libs/gst/check/gstcheck.c:
4530         * libs/gst/check/gstcheck.h:
4531           Allow runtime selection of unit tests to run via the GST_CHECKS
4532           environment variable (test case function names, comma-separated).
4533
4534 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
4535
4536         * gst/gststructure.c:
4537         * tests/check/gst/gststructure.c:
4538           Revert serialisation change and constrain structure-names after
4539           consensus on irc. Update api documentation to reflect the change.
4540
4541 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
4542
4543         * gst/gststructure.c:
4544           Improve serialization and fix tests.
4545
4546         * tests/check/gst/gststructure.c:
4547           Add another test that covers why I actually did the previous structure
4548           change.
4549
4550 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
4551
4552         * tools/gst-inspect.c: (print_element_info):
4553         Don't crash when inspecting an element.
4554
4555 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4556
4557         * tests/check/gst/gststructure.c:
4558           Add unit test for escaping of structure name when serialising
4559           and deserialising to/from strings.
4560
4561 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
4562
4563         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
4564         (gst_single_queue_new):
4565         * plugins/elements/gstqueue.c: (gst_queue_init),
4566         (gst_queue_push_one):
4567         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
4568         upstream is tricked into thinking it can suggest a format downstream
4569         while downstream does not support that format. The real problem is that
4570         core calls acceptcaps when pushing a buffer with new caps, for which we
4571         do a little workaround by setting the caps on the srcpad ourselves
4572         before pushing the buffer (until this is figured out). Fixes #486758.
4573
4574 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
4575
4576         * gst/gststructure.c:
4577         * gst/gstvalue.c:
4578           Add some more comments and debug output. Quote structure name to fix
4579           deserialisation of some strings.
4580
4581 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
4582
4583         * gst/gstbuffer.h:
4584           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
4585           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
4586
4587 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
4588
4589         * tools/gst-inspect.c:
4590           Save approx. 400 1 byte allocs when printing. Use API to acces element
4591           details.
4592
4593         * tools/gst-run.c:
4594           Avoid a strdup.
4595
4596         * tools/gst-xmlinspect.c:
4597           Use API to acces element details.
4598
4599 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
4600
4601         * gst/gstinfo.c:
4602           Fix some spelling errors.
4603
4604 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
4605
4606         * gst/gstbin.c: (bin_handle_async_done):
4607         Correctly set the next state if all of our async children commited their
4608         state. This makes sure we can actually cancel the state change in
4609         progress. Fixes a regression in Rhythmbox when seeking.
4610
4611 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4612
4613         * gst/gstbin.c:
4614           Don't shadow local variable.
4615
4616         * gst/gstinfo.c:
4617           Don't shadow global function name.
4618
4619 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4620
4621         * gst/gstelementfactory.c:
4622         * gst/gstpluginfeature.c:
4623         * gst/gstpluginfeature.h:
4624         * gst/gstregistrybinary.c:
4625         * gst/gstregistryxml.c:
4626         * gst/gsttypefind.c:
4627           Use already-interned string for the private GstPluginFeature
4628           plugin_name field.
4629
4630 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4631
4632         * docs/libs/gstreamer-libs-sections.txt:
4633           Add new API to docs; fixes the build.
4634
4635 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
4636         
4637         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
4638
4639         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
4640         (gst_base_sink_event):
4641         * libs/gst/base/gstbasesink.h:
4642         Add function to wait for EOS, subclasses can use this to correctly wait
4643         for devices to drain before performing the EOS logic. Fixes #485343.
4644         API: gst_base_sink_wait_eos()
4645
4646 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4647
4648         * gst/gstplugin.h:
4649           Cast description string constants in GST_PLUGIN_DEFINE macros
4650           to a (gchar*) to make C++ code using these macros compile
4651           without warning with g++-4.2 (see #462737).  Even if slightly
4652           ugly, this seems preferable to putting the description strings
4653           into the GLib quark table or making the structure member a
4654           const gchar * and doing casts in core code that allocs and
4655           frees these strings, or requiring a cast in the C++ code.
4656
4657 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4658
4659         * gst/gstinfo.h:
4660           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
4661           to print the entire class/function signature into the log
4662           file for C++ code.  This only affects C++ code, for C code
4663           everything remains the same.
4664
4665 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
4666
4667         * gst/gstbin.c: (remove_from_queue):
4668         Work around a problem with pipelines containing (semi)loops until a
4669         proper, more complicated solution is ready. See #475455.
4670
4671 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4672
4673         * gst/gstplugin.c:
4674         * gst/gstplugin.h:
4675         * gst/gstregistrybinary.c:
4676         * gst/gstregistryxml.c:
4677           Put more strings into the GLib quark table. No need to keep
4678           a hundred-something copies of identical version strings,
4679           license strings, package name strings and package origin
4680           strings around. 
4681
4682 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4683
4684         * docs/manual/advanced-dataaccess.xml:
4685           Don't imply that it's okay to unconditionally change
4686           buffer data or buffer metadata in a pad probe callback,
4687           and a bunch of other comments. Fixes #430031.
4688
4689 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4690
4691         * win32/common/gstenumtypes.c:
4692         * win32/common/gstenumtypes.h:
4693         * win32/common/gstversion.h:
4694           Update generated files.
4695
4696 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4697
4698         * docs/manual/advanced-autoplugging.xml:
4699           Prefix section with broken code with a warning (see #342432).
4700
4701 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4702
4703         * docs/manual/appendix-integration.xml:
4704         * docs/manual/basics-init.xml:
4705           Call g_thread_init() before g_option_context_new() to
4706           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
4707
4708 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
4709
4710         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4711         (gst_base_sink_queue_object_unlocked),
4712         (gst_base_sink_queue_object), (gst_base_sink_event),
4713         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
4714         When we received EOS and are waiting for when to post the EOS message,
4715         our state is prerolled and we should not return ASYNC.
4716         Reorganize some code paths to implement this behavior.
4717
4718         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
4719         (gst_sinks_suite):
4720         Add unit test to verify above EOS fix.
4721
4722 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
4723
4724         * plugins/elements/gsttypefindelement.c:
4725         (gst_type_find_element_have_type), (gst_type_find_element_init),
4726         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
4727         Move detecting the input caps of the sinkpad to the setcaps function.
4728         This allows us to update the output caps when we receive new input caps
4729         instead of always using the first detected caps.
4730
4731 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
4732
4733         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
4734         (gst_base_sink_get_position):
4735         Don't try to preroll non-async elements after a flush.
4736         Subtract latency form clock times when reporting position.
4737
4738 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
4739
4740         * gst/gstpad.c: (gst_pad_pause_task):
4741         * gst/gstutils.c:
4742         Small comment and documentation update.
4743
4744 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
4745
4746         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
4747         (gst_base_src_set_live), (gst_base_src_is_live),
4748         (gst_base_src_query_latency), (gst_base_src_perform_seek),
4749         (gst_base_src_default_event), (gst_base_src_wait),
4750         (gst_base_src_do_sync), (gst_base_src_get_range),
4751         (gst_base_src_pad_get_range), (gst_base_src_loop),
4752         (gst_base_src_unlock), (gst_base_src_unlock_stop),
4753         (gst_base_src_set_flushing), (gst_base_src_set_playing),
4754         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4755         (gst_base_src_change_state):
4756         Rework the locking of basesrc in a similar fashion to basesink. We
4757         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
4758         us to handle live sources and semi live ones much better.
4759         Simplify flushing.
4760         Fix unlocking when seeking, shutting down and pausing in live sources.
4761
4762 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
4763
4764         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
4765         Fix compilation again.
4766
4767 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4768
4769         * gst/gstelement.c:
4770           Use meaningful categories for the logs to clean the default one.
4771
4772 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4773
4774         * tests/check/pipelines/cleanup.c:
4775           Print message name and not just number.
4776
4777 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4778
4779         * docs/design/draft-tagreading.txt:
4780           Add some more thoughts.
4781
4782 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4783
4784         * tests/check/pipelines/simple-launch-lines.c:
4785           Print message name and not just number.
4786
4787 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4788
4789         * libs/gst/base/gsttypefindhelper.c:
4790           Speedup typefinding. This is work in progress (see #459862).
4791
4792 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4793
4794         * gst/gstplugin.c:
4795           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
4796           Spotted by Josep Torra Valles <josep@fluendo.com>.
4797
4798 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
4799
4800         * gst/gstclock.h:
4801           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
4802           field has moved to GstObject.
4803
4804 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
4805
4806         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
4807         (gst_base_src_get_range), (gst_base_src_change_state):
4808         Call unlock for live sources so that they can't get stuck in _create and
4809         produce a buffer before they are set back to PLAYING.
4810
4811 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
4812
4813         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
4814         (gst_queue_locked_dequeue):
4815         Comment the segment-related code... in the PROPER function.
4816         See #482147 and my commit from yesterday.
4817
4818 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
4819
4820         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
4821         Also initialize the counter that calculates the first timestamp on a
4822         buffer correctly for non-live sources.
4823
4824 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
4825
4826         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
4827         Disable code that's breaking the current-time-level reporting.
4828         See #482147
4829
4830 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
4831
4832         * docs/gst/gstreamer-sections.txt:
4833         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
4834         as they shouldn't show up. Fixes the docs build.
4835
4836 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
4837         
4838         * gst/gstinfo.h:
4839         Add an explicit variable importation needed on VS6 (only for MSC_VER)
4840         Define M_PI which is used in files which are including gstinfo.h. 
4841         VS6 includes doesn't define it.
4842         * win32/common/libgstbase.def:
4843         * win32/common/libgstcontroller.def:
4844         * win32/common/libgstreamer.def:
4845         Add new exported functions and variables.
4846         * win32/vs6/libgstcontroller.dsp:
4847         * win32/vs6/libgstreamer.dsp:
4848         Update the list of files to build.
4849         
4850 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
4851
4852         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
4853
4854         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
4855         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
4856         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
4857         Improve debugging. Fixes #480858.
4858
4859 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
4860
4861         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
4862
4863         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
4864         First patch of code cleanups, use the macros and right arguments in the
4865         macros to signal and lock the queue. See #480858.
4866
4867 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
4868
4869         * gst/gstbus.c: (poll_func):
4870         Improve debugging when dealing with _poll().
4871
4872 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4873
4874         * gst/gstregistryxml.c:
4875           Fix memory leak I introduced a few days ago.
4876
4877 2007-09-26  Michael Smith <msmith@fluendo.com>
4878
4879         * gst/gstbuffer.c: (gst_buffer_finalize):
4880           Make it once again possible to free GstBuffers in the default
4881           build.
4882           The poisoning scribbles on parts of the miniobject we need in
4883           order to free it.
4884           Fixes #480341
4885
4886 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
4887
4888         * docs/gst/gstreamer-sections.txt:
4889         * gst/gsttaglist.c:
4890         * gst/gsttaglist.h:
4891         API: add GST_TAG_COMPOSER, fixes #459809.
4892
4893 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
4894
4895         * gst/gstplugin.c:
4896         * gst/gstplugin.h:
4897         Add the 3-clause BSD license and the MIT/X11 license to the license
4898         list. Fixes #479784.
4899
4900 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4901
4902         * docs/faq/getting.xml:
4903           Add Q+A about different GStreamer versions (#364056).
4904
4905 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
4906
4907         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
4908         (gst_base_sink_event), (gst_base_sink_change_state):
4909         Return correct gboolean from query function.
4910
4911 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
4912
4913         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
4914         (gst_base_sink_event), (gst_base_sink_query),
4915         (gst_base_sink_change_state):
4916         Simplify latency query.
4917         When not synchronizing, we can report latency without querying the peer
4918         element.
4919
4920 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
4921
4922         * gst/gstobject.h:
4923         * gst/gstvalue.c:
4924         Fix small typos in the docs.
4925
4926 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
4927
4928         * docs/design/draft-latency.txt:
4929         * docs/design/draft-push-pull.txt:
4930         * docs/design/draft-tagreading.txt:
4931         * docs/design/part-MT-refcounting.txt:
4932         * docs/design/part-activation.txt:
4933         * docs/design/part-block.txt:
4934         * docs/design/part-element-source.txt:
4935         * docs/design/part-events.txt:
4936         * docs/design/part-gstbin.txt:
4937         * docs/design/part-gstelement.txt:
4938         * docs/design/part-gstobject.txt:
4939         * docs/design/part-gstpipeline.txt:
4940         * docs/design/part-messages.txt:
4941         * docs/design/part-preroll.txt:
4942         * docs/design/part-push-pull.txt:
4943         * docs/design/part-qos.txt:
4944         * docs/design/part-query.txt:
4945         * docs/design/part-scheduling.txt:
4946         * docs/design/part-seeking.txt:
4947         * docs/design/part-segments.txt:
4948         * docs/design/part-states.txt:
4949         Documentation updates and typo fixes.
4950
4951 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4952
4953         * plugins/elements/gstfakesink.c:
4954           Add some debug text to error message to indicate that
4955           we errored out on request.
4956
4957         * tools/gst-launch.c:
4958           When the state change to PLAYING fails, check for an
4959           error message on the bus and print it.
4960
4961 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4962
4963         translated by: Jorge González González <aloriel@gmail.com>
4964
4965         * po/LINGUAS:
4966         * po/es.po:
4967           Added Spanish translation.
4968
4969 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
4970
4971         * plugins/elements/gstqueue.c: (gst_queue_push_one):
4972         Fix printf arguments.
4973
4974 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
4975
4976         * tests/check/generic/states.c:
4977           Improved state change unit test.
4978
4979 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
4980
4981         * gst/gstbin.h:
4982           Move priv to the right place.
4983
4984         * gst/gstsystemclock.c:
4985           Add FIXME: and improve log.
4986
4987         * tests/check/Makefile.am:
4988         * tests/examples/manual/Makefile.am:
4989           Work with all types of registries.
4990
4991 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
4992
4993         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
4994         Don't unref the event after pushing it. Fixes #478401.
4995
4996 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
4997
4998         * .cvsignore:
4999         * tests/examples/manual/.cvsignore:
5000           Ignore registries in any format.
5001
5002 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
5003
5004         * gst/glib-compat-private.h:
5005           Add compatibility macro for g_intern_string() for
5006           GLib-2.8 (any reason we can't just bump the
5007           requirement to at least 2.10?)
5008
5009         * gst/gstpadtemplate.h:
5010         * gst/gstelementfactory.c:
5011         * gst/gstregistryxml.c:
5012         * gst/gstregistrybinary.c:
5013           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
5014           up the internal code accordingly.  This shouldn't be a problem, since
5015           there is no reason external code could ever assume the string in such
5016           a structure is dynamically allocated unless it did that itself;  the
5017           use of g_strdup() is private to element factories.  The new code also
5018           saves some memory by putting pad template name strings into the GLib
5019           quark table instead of allocating them dynamically.
5020           Declaring this field constant fixes warnings with g++-4.2 when using
5021           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
5022
5023 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
5024
5025         * gst/gstelementfactory.c:
5026           Release static caps. Fixes #475723.
5027
5028 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
5029
5030         * gst/gstinfo.c:
5031         * gst/gstinfo.h:
5032           Make some internal API take const gchar * instead of just
5033           gchar * to avoid compiler warnings with g++-4.2.2 when
5034           passing string constants (partially fixes #478092).
5035
5036 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
5037
5038         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
5039         A latency query fails when one of the sinks fail.
5040
5041         * gst/gstelement.c: (gst_element_set_base_time):
5042         Improve debugging.
5043
5044 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
5045
5046         * gst/gstbin.c: (gst_bin_continue_func):
5047         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
5048         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
5049         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
5050
5051         Fix minor compilation warnings shown with Forte.
5052
5053 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
5054
5055         * plugins/elements/gstqueue.c: (apply_buffer),
5056         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
5057         Measure queue level based on the diff between head and tail timestamps
5058         even when pushing the first buffer.
5059
5060 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
5061
5062         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5063         (gst_base_sink_event), (gst_base_sink_change_state):
5064         Sinks that don't preroll can always be queried for the latency.
5065         Don't post ASYNC start when we are not async.
5066
5067 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
5068
5069         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
5070         (gst_queue_handle_sink_event), (gst_queue_chain),
5071         (gst_queue_push_one), (gst_queue_handle_src_query),
5072         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
5073         * plugins/elements/gstqueue.h:
5074         When downstream returns UNEXPECTED from pushing a buffer, don't try to
5075         push more buffers but allow pushing of EOS and NEWSEGMENT.
5076         Add some more debug info here and there. Fixes #476514.
5077
5078 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
5079
5080         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5081         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
5082         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
5083         (gst_base_sink_set_flushing), (gst_base_sink_query),
5084         (gst_base_sink_change_state):
5085         Latency query is allowed after we are prerolled. Introduce a new flag
5086         for this and stop abusing other variables.
5087
5088 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
5089
5090         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
5091         Push OOB events downstream when we get them in send_event. This allows
5092         the application to insert events in the pipeline.
5093         Add some more comments.
5094
5095 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
5096
5097         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
5098         (do_bin_latency), (gst_bin_change_state_func):
5099         * gst/gstpipeline.c: (gst_pipeline_change_state):
5100         Move latency query from GstPipeline to GstBin so that we can also
5101         use it when async-handling is enabled on bins.
5102
5103 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
5104
5105         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
5106         (gst_base_src_do_sync), (gst_base_src_change_state):
5107         Update docs.
5108         Clean up the timestamping and syncing code for pseudo live sources.
5109
5110 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
5111
5112         Patch by: Steve Fink  <sphink gmail com>
5113
5114         * docs/manual/appendix-checklist.xml:
5115           Mention less -R switch in the section about debug output (#474055).
5116
5117 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
5118
5119         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
5120         Queue can latency to the pipeline up to the configured max size in time.
5121         Report this fact in the latency query.
5122
5123 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
5124
5125         Patch by: Sebastien Moutte <sebastien at moutte dot net>
5126
5127         * libs/gst/controller/gstinterpolation.c:
5128         * libs/gst/controller/gstlfocontrolsource.c:
5129         Use gst_guint64_to_gdouble() when converting from a uint64 or
5130         GstClockTime to double to fix the build on win32. Fixes #474371.
5131
5132 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
5133
5134         * gst/gstbuffer.c: (gst_buffer_finalize):
5135         Implement poisoning for GstBuffer if --enable-poisoning is specified.
5136         When finalizing a buffer the complete struct is filled with 0xff,
5137         thus making a use of the buffer after the final unref impossible.
5138
5139 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
5140
5141         * tests/check/libs/controller.c: (GST_START_TEST):
5142         Use fail_unless_equals_int(a, b) instead of
5143         fail_unless_equals (a == b) to get better output on failures.
5144
5145 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
5146
5147         * tests/check/gst/gsturi.c:
5148           Also check for the other file URI variant on win32.
5149
5150 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
5151
5152         * gst/gsturi.c: (gst_uri_get_location):
5153           If there's no hostname, we want to return 'c:/foo/bar.txt'
5154           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
5155
5156         * tests/check/gst/gsturi.c:
5157           Unit test for the above and a few more things.
5158
5159 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
5160
5161         * docs/design/part-live-source.txt:
5162         Add docs on how live sources should timestamp.
5163
5164         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
5165         Add some more debug info.
5166         For subclasses that are live and like to sync, add aditional startup
5167         latency to sync time and timestamps so that we timstamp according to the
5168         design doc.
5169
5170 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
5171
5172         * gst/gstbuffer.c:
5173           Also do a g_type_class_ref() for the subbuffer type in
5174           the init function.
5175
5176 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
5177
5178         * docs/gst/gstreamer-sections.txt:
5179         * gst/gstpad.c: (gst_pad_peer_query):
5180         * gst/gstpad.h:
5181         Add function to perform a query on the peer of a pad.
5182         API: gst_pad_peer_query()
5183
5184 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
5185
5186         * tests/check/gst/gstsystemclock.c:
5187           Cleanup the test a little (use gst-logging and not g_message). Improve
5188           test to check if a wait reached the target.
5189
5190 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
5191
5192         * docs/libs/gstreamer-libs-sections.txt:
5193           Add new API to docs and fix the build.
5194
5195 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
5196
5197         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5198         (gst_base_src_init), (gst_base_src_set_do_timestamp),
5199         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
5200         (gst_base_src_get_property), (gst_base_src_do_sync):
5201         * libs/gst/base/gstbasesrc.h:
5202         Add property to make the basesrc timestamp buffers based on the current
5203         running time.
5204         API: GstBaseSrc::do-timestamp
5205         API: gst_base_src_set_do_timestamp()
5206         API: gst_base_src_get_do_timestamp()
5207
5208 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
5209
5210         * docs/random/release:
5211           Really make sure translations are up-to-date before
5212           a release (#465010).
5213
5214 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
5215
5216         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
5217         Always destroy the timer, also in error cases.
5218
5219 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
5220
5221         * docs/manual/highlevel-xml.xml:
5222         Fix XML example code. Fixes #472714.
5223
5224 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
5225
5226         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5227         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
5228         (gst_base_sink_query):
5229         Protect eos and have_preroll with the OBJECT lock so we don't need to
5230         take the PREROLL lock when querying the latency. Fixes #473846.
5231
5232 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
5233
5234         * gst/gstelement.c:
5235           Give some log-messages a category.
5236
5237 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
5238
5239         * gst/gststructure.c:
5240         (gst_structure_fixate_field_nearest_fraction):
5241         Fix fraction list fixation code. Take the fraction with the smallest
5242         difference with the target instead of the first one in the list.
5243
5244         * tests/check/gst/gststructure.c: (GST_START_TEST),
5245         (gst_structure_suite):
5246         Added test to verify correct fraction list fixation behaviour.
5247
5248 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
5249
5250         * win32/common/libgstreamer.def:
5251           Export gst_bus_add_signal_watch too.
5252
5253 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
5254
5255         * docs/libs/gstreamer-libs-sections.txt:
5256         Add new methods to docs.
5257
5258         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5259         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
5260         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
5261         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
5262         * libs/gst/base/gstbasesink.h:
5263         Add ts-offset property to fine-tune the synchronisation.
5264         API: GstBaseSink::ts-offset property
5265         API: gst_base_sink_set_ts_offset()
5266         API: gst_base_sink_get_ts_offset()
5267
5268 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
5269
5270         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5271         (gst_base_sink_init), (gst_base_sink_set_sync),
5272         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
5273         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
5274         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
5275         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
5276         (gst_base_sink_get_property), (gst_base_sink_change_state):
5277         * libs/gst/base/gstbasesink.h:
5278         Add async property to instruct the sink never to inform the parent about
5279         ASYNC state changes, update docs.
5280         Check argument with g_return_* for the public functions.
5281         API: GstBaseSink::async property
5282         API: gst_base_sink_set_async_enabled()
5283         API: gst_base_sink_is_async_enabled()
5284
5285 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
5286
5287         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
5288         Improve debugging.
5289
5290         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
5291         (gst_base_src_default_query), (gst_base_src_wait),
5292         (gst_base_src_do_sync), (gst_base_src_change_state):
5293         Rearrange some code so that we can add support for measuring the 
5294         startup latency.
5295
5296 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
5297
5298         * docs/random/ensonic/dynlink.txt:
5299           More thoughs on this.
5300
5301         * plugins/elements/gstcapsfilter.c:
5302           Add bugzilla ticket number to FIXME comment.
5303
5304 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
5305
5306         * docs/design/part-TODO.txt:
5307         * docs/design/part-block.txt:
5308         Update some docs.
5309
5310 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
5311
5312         * gst/Makefile.am:
5313           Revert patch which uses $(gst_headers) instead of $^ because it
5314           breaks make dist.
5315
5316 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
5317
5318         * tests/check/gst/gstbin.c: (GST_START_TEST):
5319           Fix leaks in the new unit test.
5320
5321 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
5322
5323         * gst/gst.c:
5324           Don't use GST_INFO before the debug system is actually initialised
5325           (shouldn't do any harm, but won't print anything either, so we can
5326           just as well remove it).
5327
5328         * gst/gstinfo.h:
5329           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
5330           compilers that don't support variadic macros (such as MSVC), should
5331           check for debug_level <= __gst_debug_min as well, since that's the
5332           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
5333           inline helper functions. Should improve performance a bit, but also
5334           makes sure uses of GST_INFO et.al are ignored if the debugging
5335           system isn't initialised yet (instead of printing an assertion
5336           failure).
5337
5338 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
5339
5340         patch by: David Nečas <yeti@physics.muni.cz>
5341
5342         * gst/Makefile.am:
5343           Replace some non portable makefile constructs.
5344
5345 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
5346
5347         * common/gtk-doc-plugins.mak:
5348           Grrrrr. Don't remove the types file on make clean.
5349
5350 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
5351
5352         * tools/gst-launch.1.in:
5353         Add colorspace to example pipeline. Fixes #458274.
5354
5355 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
5356
5357         * docs/random/release:
5358           The release manager should run 'make download-po' before making a
5359           release to make sure translations are up-to-date.
5360
5361         * po/LINGUAS:
5362         * po/be.po:
5363         * po/pl.po:
5364         * po/rw.po:
5365           Add some new translations.
5366
5367 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
5368
5369         * tools/gst-launch.c: (event_loop), (main):
5370         Don´t try to do any state management when a live pipeline posts
5371         buffering messages.
5372         Also make the buffering string translatable.
5373
5374 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
5375
5376         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
5377         (bin_handle_async_start), (gst_bin_handle_message_func):
5378         Improve debugging.
5379         When adding elements, insert messages into the bus of the newly added
5380         element and make sure the element is the source of the message. This
5381         allows the parent bin to intercept the message and do the
5382         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
5383         messages to the app (which is not allowed).
5384         Update some docs.
5385
5386         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
5387         Fix testsuite so that is does not work around messages that should not
5388         have been posted in the first place.
5389
5390 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
5391
5392         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
5393         (update_degree), (gst_bin_sort_iterator_next):
5394         Fix annoying bug in the sorted iterator where a sink that is not really
5395         a sink (when it has downstream links) screwed up the iterator.
5396
5397         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5398         Unit test to verify the fix.
5399
5400 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
5401
5402         * gst/gstmessage.h:
5403         Add some more docs for the messages.
5404
5405         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5406         (gst_base_sink_query):
5407         Add some more debugging.
5408
5409         * tools/gst-launch.c: (event_loop):
5410         When interrupting, don't try to set pipeline to PAUSED twice.
5411
5412 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
5413
5414         
5415         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
5416         (bin_handle_async_start), (gst_bin_handle_message_func):
5417         Move ASYNC_START message posting to where it belongs, similar to
5418         async_done. 
5419         Don't post ASYNC_START when we are in error. 
5420         Post ASYNC_START when we added an async element to a bin.
5421
5422 2007-08-14  Julien MOUTTE  <julien@moutte.net>
5423
5424         * gst/gstindex.c: (gst_index_add_association): Fix index entry
5425         generation from vargs. Fixes #466595.
5426
5427 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
5428
5429         * gst/gstbin.c: (gst_bin_element_set_state):
5430         Always change the state of a NO_PREROLL element even if it has ASYNC
5431         elements inside (in case of a bin).
5432
5433         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
5434         Unit test for this case.
5435
5436 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
5437
5438         * libs/gst/check/gstbufferstraw.c:
5439         * libs/gst/check/gstcheck.h:
5440         * libs/gst/controller/gstcontroller.c:
5441         * libs/gst/controller/gstcontrolsource.h:
5442         * libs/gst/controller/gstlfocontrolsource.h:
5443         * plugins/elements/gstcapsfilter.h:
5444         * plugins/elements/gstfdsink.h:
5445         * plugins/elements/gstfdsrc.h:
5446           Add more missing docs.
5447
5448 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
5449
5450         * gst/gststructure.c:
5451         Add Since tag to docs.
5452
5453 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
5454
5455         * docs/gst/gstreamer-sections.txt:
5456         * gst/gststructure.c: (gst_structure_get_uint):
5457         * gst/gststructure.h:
5458         Add function to get uint from a structure.
5459         API: gst_structure_get_uint()
5460
5461 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
5462
5463         * gst/gstcaps.c: (gst_caps_set_simple_valist),
5464         (gst_caps_intersect):
5465         Fix proper check for simple caps.
5466
5467 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
5468
5469         * docs/gst/Makefile.am:
5470         * docs/libs/Makefile.am:
5471           Remove cruft and do some cleanups.
5472
5473         * docs/gst/gstreamer-docs.sgml:
5474         * docs/libs/gstreamer-libs-docs.sgml:
5475           Prepare for comming gtkdoc features (rebase against online docs).
5476
5477 2007-08-10  Michael Smith <msmith@fluendo.com>
5478
5479         * docs/gst/gstreamer-sections.txt:
5480           Add gst_registry_add_path to docs.
5481
5482 2007-08-10  Michael Smith <msmith@fluendo.com>
5483
5484         * gst/gstregistry.h:
5485           Add gst_registry_add_path, which was missing from this header.
5486
5487 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
5488
5489         * libs/gst/controller/gstlfocontrolsource.c:
5490           Printf format fix.
5491
5492 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
5493
5494         * libs/gst/base/gstbasesink.c:
5495           Don't send an async_start message during downwards state change if 
5496           target state is less than READY
5497
5498 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5499
5500         translated by: Gabor Kelemen <kelemeng@gnome.hu>
5501
5502         * po/LINGUAS:
5503         * po/hu.po:
5504           Added Hungarian translation.
5505
5506 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5507
5508         * po/fi.po:
5509         * po/it.po:
5510         * po/nl.po:
5511         * po/sv.po:
5512         * po/uk.po:
5513           Updated translations.
5514
5515 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
5516
5517         * libs/gst/controller/Makefile.am:
5518         Dist gstlfocontrolsourceprivate.h
5519
5520 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
5521
5522         * docs/libs/gstreamer-libs.types:
5523         Don't register the enum type gst_lfo_waveform_get_type() in the
5524         .types file - only GObject derived types belong.
5525
5526 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
5527
5528         Patch by: <arenevier at fdn dot fr>
5529
5530         * gst/gstbuffer.h:
5531         Remove comma from last element in enum to avoid compile errors when
5532         using -pendantic. Fixes #464366.
5533
5534 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
5535
5536         * docs/design/part-TODO.txt:
5537         Add some more TODO items
5538
5539         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
5540         Improve debugging.
5541
5542         * gst/gstcaps.c: (gst_caps_intersect):
5543         Optimize trivial intersection case between identical caps pointers.
5544
5545         * gst/gstelement.c: (gst_element_continue_state),
5546         (gst_element_set_state_func):
5547         * gst/gstpad.c:
5548         Fix spelling and grammar mistakes.
5549
5550 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
5551
5552         * po/POTFILES.in:
5553         * po/POTFILES.skip:
5554           Update POTFILES. Fixes #461599.
5555
5556 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
5557
5558         * gst/gst.c:
5559         Fix confusing typo in debug output.
5560
5561 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
5562
5563         reviewed by: Stefan Kost <ensonic@users.sf.net>
5564
5565         * libs/gst/controller/Makefile.am:
5566         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
5567         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
5568         (gst_lfo_control_source_new),
5569         (gst_lfo_control_source_set_waveform),
5570         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
5571         (gst_lfo_control_source_finalize),
5572         (gst_lfo_control_source_dispose),
5573         (gst_lfo_control_source_set_property),
5574         (gst_lfo_control_source_get_property),
5575         (gst_lfo_control_source_class_init):
5576         * libs/gst/controller/gstlfocontrolsource.h:
5577         * libs/gst/controller/gstlfocontrolsourceprivate.h:
5578         API: Add GstLFOControlSource, a control source that gives values
5579         for specific timestamps based on several periodic waveforms.
5580         Fixes #459717.
5581
5582         * tests/check/libs/controller.c: (GST_START_TEST),
5583         (gst_controller_suite):
5584         * docs/libs/gstreamer-libs-docs.sgml:
5585         * docs/libs/gstreamer-libs-sections.txt:
5586         * docs/libs/gstreamer-libs.types:
5587         Add documentation and unit tests for GstLFOControlSource.
5588
5589 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
5590
5591         * configure.ac:
5592         Back to CVS
5593
5594 === release 0.10.14 ===
5595
5596 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
5597
5598         * configure.ac:
5599           releasing 0.10.14, "Breathing Vacuum"
5600
5601 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
5602
5603         * gst/gstelement.c: (gst_element_class_set_details_simple):
5604         * gst/gstelement.h:
5605           Make strings passed to gst_element_class_set_details_simple()
5606           constant, as they should be (#462752).
5607
5608 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
5609
5610         * gst/gstbin.c: (gst_bin_change_state_func),
5611         (bin_handle_async_done), (gst_bin_handle_message_func):
5612         Don't forget about the fact that some element went ASYNC even after a
5613         resync. This makes us post the ASYNC_DONE message correctly.
5614         Fixes #462558.
5615
5616 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
5617
5618         * gst/gstregistry.c: (gst_registry_add_feature):
5619         When replacing an existing feature in the registry, make sure to
5620         continue holding a reference until we've replaced the name string
5621         within our feature hash table. Make sure to use g_hash_table_replace
5622         instead of g_hash_table_insert to ensure the new name string is used
5623         as a key instead of the old one that we're about to free.
5624         Fixes: #462085
5625
5626 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
5627
5628         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5629         (gst_plugin_feature_set_name):
5630         Revert patch from #459466 until after the release and we can work
5631         out exactly what the problem is (if any).
5632
5633 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
5634
5635         * docs/gst/gstreamer-sections.txt:
5636         * gst/gsttaglist.c:
5637         * gst/gsttaglist.h:
5638           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
5639
5640 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
5641
5642         * docs/libs/Makefile.am:
5643         Include our build-prefix libs and includes before the generic ones to
5644         avoid linking against the installed libs when we want the build-tree
5645         ones.
5646
5647 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
5648
5649         Patch by: Steve Fink  <sphink gmail com>
5650
5651         * docs/pwg/building-testapp.xml:
5652           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
5653           if people try to build or install the example from the plugin
5654           template against a GStreamer from package using the configure
5655           defaults.
5656
5657 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
5658
5659         Patch by: Steve Fink  <sphink gmail com>
5660
5661         * tools/gst-inspect.1.in:
5662           Document --print-all and --print-plugin-auto-install-info command
5663           line options in man page.
5664
5665 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
5666
5667         * docs/gst/gstreamer-sections.txt:
5668         Add docs for new api function.
5669
5670 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
5671
5672         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
5673         * gst/gstelementfactory.h:
5674         API: gst_element_factory_has_interface()
5675         Added method to check if an element factory implements a named
5676         interface.
5677
5678 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
5679
5680         * configure.ac:
5681         * docs/gst/gstreamer.types.in:
5682           Another conditional doc check.
5683
5684         * gst/gstmessage.c:
5685         * gst/gstparamspecs.h:
5686         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
5687         * gst/gstvalue.c:
5688         * gst/gstxml.h:
5689           API-doc fixes.
5690
5691 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
5692
5693         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
5694         (gst_registry_binary_load_feature),
5695         (gst_registry_binary_load_plugin),
5696         (gst_registry_binary_read_cache):
5697           Print error just once and with additional info.
5698
5699 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
5700
5701         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
5702         (helper_find_suggest), (helper_find_get_length),
5703         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
5704         (gst_type_find_helper_for_buffer):
5705           Cleanup the typefindhelper code and add private doc comments.
5706
5707 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
5708
5709         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5710         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
5711         Fix capsfilter for cases where the caps set on capsfilter will provide
5712         additional information.
5713         Fixes #449197
5714
5715 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
5716
5717         * gst/gsttypefindfactory.c:
5718           Fix docs that recommened wrong function to use.
5719
5720 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
5721
5722         * tools/gst-inspect.c: (print_plugin_features):
5723           Also give media-type for typefinders in element output.
5724
5725 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
5726
5727         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
5728         (gst_registry_remove_features_for_plugin_unlocked),
5729         (gst_registry_add_feature), (gst_registry_remove_feature),
5730         (gst_registry_lookup_feature_locked):
5731         * gst/gstregistry.h:
5732           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
5733           Fixes #459501.
5734
5735 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
5736
5737         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5738         (gst_plugin_feature_set_name):
5739           Avoid double memory usage for pluginfeature names. Fixes #459466.
5740
5741 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
5742
5743         * gst/gstpad.h:
5744           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
5745           driving the pipeline may need to explicitly check for NOT_LINKED as
5746           well, since IS_FATAL doesn't cover that.
5747
5748 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
5749
5750         * docs/pwg/advanced-types.xml:
5751           Fix typo and duplicate entry in video formats list.
5752
5753 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
5754
5755         * libs/gst/controller/gstinterpolation.c:
5756         Also round to the nearest int when using cubic interpolation.
5757
5758 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
5759
5760         * libs/gst/controller/gstinterpolation.c:
5761         When linearly interpolating integer types, round to the nearest int
5762         by adding 0.5. Don't do it for float/double types.
5763         Fixes the failing controller test on my machine, which is somehow
5764         rounding differently than on the buildbots.
5765
5766 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
5767
5768         * tools/gst-plot-timeline.py:
5769           Better log parsing (categories can have -). Adjust text vs. lines, so
5770           that they span the same y-range.        
5771
5772 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
5773
5774         * docs/random/ensonic/audiobaseclasses.txt:
5775         * docs/random/ensonic/dynlink.txt:
5776         * docs/random/ensonic/profiling.txt:
5777           Save my thoughts.
5778
5779         * docs/random/moving-plugins:
5780           Add note to use g_assert type macros.
5781
5782 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
5783
5784         * configure.ac:
5785         * libs/gst/check/Makefile.am:
5786           Add libm check as we use in for plugins.
5787
5788 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
5789
5790         * gst/gstbin.c: (gst_bin_continue_func):
5791         Check that the state_cookie hasn't changed since the continue_func
5792         was scheduled. Avoids problems where the state changes back to
5793         something it shouldn't be because it was changed in the meantime.
5794
5795 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
5796
5797         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
5798         (gst_registry_binary_save_string),
5799         (gst_registry_binary_save_pad_template),
5800         (gst_registry_binary_save_feature),
5801         (gst_registry_binary_save_plugin),
5802         (gst_registry_binary_load_feature),
5803         (gst_registry_binary_load_plugin),
5804         (gst_registry_binary_read_cache):
5805           Fix memory leak. Be less verbose in the log.
5806
5807 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
5808
5809         * tests/check/elements/.cvsignore:
5810         Add file to cvsignore as commanded.
5811
5812 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
5813
5814         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
5815         (mq_dummypad_event), (run_output_order_test):
5816         Use a GStaticMutex to protect all cases where libcheck
5817         fail_if/fail_unless macros might be called from multiple threads
5818         simultaneously to avoid errors like:
5819           "check_pack.c:107: :-1081725400:Bad message type arg"
5820
5821 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
5822
5823         * tests/check/pipelines/stress.c: (GST_START_TEST):
5824         Make sure we set the pipeline back to the NULL state before
5825         dropping our final reference.
5826
5827 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
5828
5829         * tests/check/elements/tee.c: (GST_START_TEST):
5830         Make the tee stress-test a little less stressful so it doesn't just
5831         time out on slow-machines, and remove a small race when it's starting 
5832         up by adding a get_state() call.
5833
5834 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
5835
5836         * gst/gst.c:
5837           Avoid reading registry twice on startup. Fixes #457322.
5838
5839 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
5840
5841         * pkgconfig/gstreamer-check-uninstalled.pc.in:
5842         * pkgconfig/gstreamer-check.pc.in:
5843         Substitute the CFLAGS for libcheck into our .pc file too so that
5844         dependent modules will pick it up properly if libcheck is installed
5845         into some other prefix.
5846
5847 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
5848
5849         * configure.ac:
5850         Revert the pkg-config check for libcheck, since it pulls in the
5851         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
5852         a proper solution, either from the check project, or something else.
5853
5854 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
5855
5856         * configure.ac:
5857           Use pkg-config to locate check.
5858
5859 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
5860
5861         * gst/gsttaglist.c:
5862           Fix doc syntax.
5863
5864         * gst/gstutils.c:
5865         * gst/gstutils.h:
5866           Add deprecation guards.
5867
5868         * libs/gst/base/gstcollectpads.h:
5869           Don't document object (this is implicitly private).
5870
5871 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
5872
5873         * gst/gststructure.c: (gst_structure_parse_value):
5874           When deserialising foo=bar without a type cast, check if it's a
5875           boolean before falling back to a string type, otherwise things like
5876           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
5877           because the filtercaps end up having a signed=(string)true field,
5878           which causes problems later when intersection caps.
5879
5880         * tests/check/gst/gststructure.c: (GST_START_TEST):
5881           Add a unit test for this.
5882
5883 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
5884
5885         Reviewed by: Stefan Kost <ensonic@users.sf.net>
5886
5887         * libs/gst/controller/Makefile.am:
5888         * libs/gst/controller/gstcontroller.c:
5889         (gst_controlled_property_add_interpolation_control_source),
5890         (gst_controlled_property_new), (gst_controlled_property_free),
5891         (gst_controller_find_controlled_property),
5892         (gst_controller_new_valist), (gst_controller_new_list),
5893         (gst_controller_new), (gst_controller_remove_properties_valist),
5894         (gst_controller_remove_properties_list),
5895         (gst_controller_remove_properties),
5896         (gst_controller_set_property_disabled),
5897         (gst_controller_set_disabled), (gst_controller_set_control_source),
5898         (gst_controller_get_control_source), (gst_controller_get),
5899         (gst_controller_sync_values), (gst_controller_get_value_array),
5900         (_gst_controller_dispose), (gst_controller_get_type),
5901         (gst_controlled_property_set_interpolation_mode),
5902         (gst_controller_set), (gst_controller_set_from_list),
5903         (gst_controller_unset), (gst_controller_unset_all),
5904         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
5905         * libs/gst/controller/gstcontroller.h:
5906         * libs/gst/controller/gstcontrollerprivate.h:
5907         * libs/gst/controller/gstcontrolsource.c:
5908         (gst_control_source_class_init), (gst_control_source_init),
5909         (gst_control_source_get_value),
5910         (gst_control_source_get_value_array), (gst_control_source_bind):
5911         * libs/gst/controller/gstcontrolsource.h:
5912         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
5913         (gst_object_get_control_source):
5914         * libs/gst/controller/gstinterpolation.c:
5915         (gst_interpolation_control_source_find_control_point_node),
5916         (gst_interpolation_control_source_get_first_value),
5917         (_interpolate_none_get), (interpolate_none_get),
5918         (interpolate_none_get_boolean_value_array),
5919         (interpolate_none_get_enum_value_array),
5920         (interpolate_none_get_string_value_array),
5921         (_interpolate_trigger_get), (interpolate_trigger_get),
5922         (interpolate_trigger_get_boolean_value_array),
5923         (interpolate_trigger_get_enum_value_array),
5924         (interpolate_trigger_get_string_value_array):
5925         * libs/gst/controller/gstinterpolationcontrolsource.c:
5926         (gst_control_point_free), (gst_interpolation_control_source_reset),
5927         (gst_interpolation_control_source_new),
5928         (gst_interpolation_control_source_set_interpolation_mode),
5929         (gst_interpolation_control_source_bind),
5930         (gst_control_point_compare), (gst_control_point_find),
5931         (gst_interpolation_control_source_set_internal),
5932         (gst_interpolation_control_source_set),
5933         (gst_interpolation_control_source_set_from_list),
5934         (gst_interpolation_control_source_unset),
5935         (gst_interpolation_control_source_unset_all),
5936         (gst_interpolation_control_source_get_all),
5937         (gst_interpolation_control_source_get_count),
5938         (gst_interpolation_control_source_init),
5939         (gst_interpolation_control_source_finalize),
5940         (gst_interpolation_control_source_dispose),
5941         (gst_interpolation_control_source_class_init):
5942         * libs/gst/controller/gstinterpolationcontrolsource.h:
5943         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
5944         API: Refactor GstController into the core controller which can take
5945         a GstControlSource for providing actual values for timestamps.
5946         Implement a interpolation control source and use this for backward
5947         compatibility, deprecate a bunch of functions that are now handled
5948         by GstControlSource or GstInterpolationControlSource.
5949         Make it possible to disable the controller completely or only for
5950         specific properties. Fixes #450711.
5951         * docs/libs/gstreamer-libs-docs.sgml:
5952         * docs/libs/gstreamer-libs-sections.txt:
5953         * docs/libs/gstreamer-libs.types:
5954         Add new functions and classes to the docs.
5955         * tests/check/libs/controller.c: (GST_START_TEST),
5956         (gst_controller_suite):
5957         * tests/examples/controller/audio-example.c: (main):
5958         Port unit test and example to the new API and add some new
5959         unit tests.
5960
5961 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
5962
5963         Patch by: Mark Nauwelaerts <manauw at skynet be>
5964
5965         * plugins/elements/gstmultiqueue.c:
5966         (gst_multi_queue_get_internal_links), (apply_buffer),
5967         (single_queue_overrun_cb), (gst_single_queue_new):
5968         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
5969         the pipeline layout can be tracked correctly. Fixes #453732.
5970
5971 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
5972
5973         * docs/gst/Makefile.am:
5974         * docs/libs/Makefile.am:
5975         * docs/plugins/Makefile.am:
5976           Simplify --extra-dir as gtkdoc scans recursively.
5977
5978 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
5979
5980         * tools/gst-launch.c: (main):
5981         When we got an error, there is no point in waiting for preroll when
5982         shutting down.
5983
5984 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
5985
5986         * plugins/elements/gsttee.c: (gst_tee_base_init),
5987         (gst_tee_request_new_pad), (gst_tee_release_pad),
5988         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
5989         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
5990         (gst_tee_chain):
5991         Be a lot smarter when deciding what srcpad to use for proxying
5992         the buffer_alloc. Also handle pad added/removed when doing so.
5993         Fixes #357959.
5994         Keep track of what pads we already pushed on in case we have pads
5995         added/removed while pushing. Fixes #374639 
5996
5997         * tests/check/Makefile.am:
5998         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
5999         (tee_suite):
6000         Added unit test for pad resync.
6001
6002 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6003
6004         * po/nl.po:
6005         * po/sv.po:
6006           Updated translations.
6007
6008 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6009
6010         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
6011
6012         * po/LINGUAS:
6013         * po/fi.po:
6014           Added new Finnish translation.
6015
6016 2007-06-28  Wim Taymans  <wim@fluendo.com>
6017
6018         * plugins/elements/gstmultiqueue.c: (apply_buffer),
6019         (single_queue_overrun_cb):
6020         When figuring out when a queue is filled, use our internal time estimate
6021         based on segments, just like check_full does.
6022
6023 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
6024
6025         * gst/gstminiobject.c: (gst_mini_object_get_type):
6026           Remove 3 do-nothing methods.
6027
6028 2007-06-27  Wim Taymans  <wim@fluendo.com>
6029
6030         Patch by: Tim Angus <tim at ngus dot net>
6031
6032         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
6033         (gst_capsfilter_set_property):
6034         Take a reference instead of a copy when setting "caps".
6035         Fix documentation to clarify this behaviour. Fixes #449414.
6036
6037 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
6038
6039         * gst/gstindexfactory.c: (gst_index_factory_get_type):
6040         * gst/gstplugin.c: (gst_plugin_init):
6041         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
6042         * gst/gstquery.c: (gst_query_get_type):
6043         * gst/gstregistry.c: (gst_registry_init):
6044         * gst/gsturi.c: (gst_uri_handler_base_init):
6045           Remove empty instance_init() functions to save relocs and lessen the
6046           noise. Remove some of the function prototypes that are doubled by
6047           G_DEFINE_TYPE.
6048           
6049 2007-06-27  Wim Taymans  <wim@fluendo.com>
6050
6051         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
6052
6053         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
6054         Add peer and direction in the XML serialisation of ghostpads.
6055         Fixes #449226.
6056
6057 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
6058
6059         * configure.ac:
6060           Preserve useful information, thanks Tim.
6061
6062 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
6063
6064         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
6065         (gst_single_queue_flush), (apply_segment), (apply_buffer),
6066         (gst_single_queue_push_one), (gst_multi_queue_loop),
6067         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
6068         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
6069         (compute_high_id), (gst_single_queue_new):
6070         * plugins/elements/gstmultiqueue.h:
6071         Take the multiqueue lock when updating the fill level so we don't get
6072         confused. 
6073
6074         After applying a buffer or event on the src pad segment, make sure to
6075         call gst_data_queue_limits_changed() to get the data queue to unblock
6076         and check the filled state again.
6077         
6078         Rework the not-linked pad handling so the logic is that not-linked 
6079         pads can push as fast as they like, but only so they never get 
6080         ahead of any linked pads.
6081
6082         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
6083         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
6084         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
6085
6086         Add a test to check that not-linked pads always stay behind
6087         linked pads.
6088
6089         Fixes: #430682
6090
6091 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
6092
6093         * docs/random/release:
6094           Some updates to the release procedure.
6095
6096 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
6097
6098         * gst/gstelementfactory.c: (__gst_element_details_clear):
6099           Microoptimization that saves stunning 80 bytes.
6100
6101 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
6102
6103         * docs/plugins/gstreamer-plugins.args:
6104         * docs/plugins/inspect/plugin-coreelements.xml:
6105         * docs/plugins/inspect/plugin-coreindexers.xml:
6106           Update docs with caps info.
6107
6108 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6109
6110         * po/it.po:
6111           Updated Italian translation.
6112
6113 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6114
6115         * ChangeLog:
6116         * po/vi.po:
6117           Update Vietnamese translations.
6118
6119 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
6120
6121         * libs/gst/base/gstbasesink.c:
6122           Remove unused signal enum.
6123
6124 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
6125
6126         * docs/gst/gstreamer-sections.txt:
6127         * gst/gstelement.c:
6128         * gst/gstutils.c: (gst_type_register_static_full):
6129         Beef up and include the docs for gst_type_register_static_full and
6130         gst_element_class_set_details_simple and add the API keyword
6131         in the ChangeLog.
6132
6133 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
6134
6135         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6136         (update_time_level), (gst_single_queue_push_one),
6137         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
6138         (single_queue_overrun_cb), (single_queue_underrun_cb),
6139         (single_queue_check_full):
6140         Fix setting max-* properties after adding queues.
6141         Use IS_FILLED for checking visible items.
6142         Signal overrun if multiple queues overrun.
6143         Add extra debug output.
6144         Patch by: Wim Taymans <wim@fluendo.com>
6145
6146 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
6147
6148         * gst/gstelement.c: (gst_element_class_set_details_simple):
6149         * gst/gstelement.h:
6150         * gst/gstutils.c: (gst_type_register_static_full):
6151         * gst/gstutils.h:
6152         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
6153         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
6154         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
6155         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
6156         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
6157         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
6158         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
6159         * plugins/elements/gstidentity.c: (gst_identity_base_init):
6160         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
6161         * plugins/elements/gstqueue.c: (gst_queue_base_init),
6162         (apply_buffer), (gst_queue_chain):
6163         * plugins/elements/gsttee.c: (gst_tee_base_init):
6164         * plugins/elements/gsttypefindelement.c:
6165         (gst_type_find_element_base_init),
6166         (gst_type_find_element_class_init):
6167           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
6168           API: add gst_type_register_static_full
6169           API: add gst_element_class_set_details_simple
6170
6171 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
6172
6173         * docs/pwg/advanced-types.xml:
6174           Fix typo in iana.org URI.
6175
6176 2007-06-19  Andy Wingo  <wingo@pobox.com>
6177
6178         * tests/check/pipelines/simple-launch-lines.c
6179         (test_state_change_returns): Enable pull-mode tests now that
6180         basesink has been fixed.
6181
6182         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
6183         Changed from gst_base_sink_is_prerolled, reversing the sense of
6184         the return value. Returns FALSE also if the sink is in pull mode,
6185         in which case it needs no preroll.
6186         (gst_base_sink_query, gst_base_sink_change_state): Update for
6187         needs_preroll change.
6188         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
6189         chaining up, in which we return SUCCESS directly if we activated
6190         in pull mode instead of ASYNC. Involves countering an async_start
6191         message sent before chaining up; not sure if this is correct, in
6192         an ideal world we only send async-start when activating in push
6193         mode.
6194
6195         * tests/check/pipelines/simple-launch-lines.c
6196         (test_state_change_returns): New test, partially disabled until
6197         basesink is fixed.
6198
6199 2007-06-19  Wim Taymans  <wim@fluendo.com>
6200
6201         * plugins/elements/gstmultiqueue.c: (apply_buffer),
6202         (gst_multi_queue_sink_event):
6203         Fix event leak.
6204
6205 2007-06-19  Wim Taymans  <wim@fluendo.com>
6206
6207         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6208         (gst_bin_change_state_func), (bin_push_state_continue),
6209         (bin_handle_async_start), (bin_handle_async_done),
6210         (gst_bin_handle_message_func):
6211         Move the common code for posting state-change messages into
6212         one function.
6213         Broadcast the state signal after we posted the messages.
6214         Mark the bin as busy when it's doing a state-change.
6215         Make sure async-start/done messages don't interfere with the bin's
6216         state when it's busy.
6217         After the state change, let the bin check which elements completed the
6218         state change while it was busy so that it can update its state.
6219
6220 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
6221
6222         * docs/random/release:
6223         Add a note about updating the doap file to the release checklist
6224
6225 2007-06-18  Wim Taymans  <wim@fluendo.com>
6226
6227         * plugins/elements/gstmultiqueue.c: (apply_buffer),
6228         (gst_single_queue_push_one), (gst_multi_queue_chain),
6229         (gst_multi_queue_sink_event):
6230         Make sure we don't reference the buffer/event after we have given away
6231         ownership in the queue.
6232
6233 2007-06-18  Wim Taymans  <wim@fluendo.com>
6234
6235         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
6236         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
6237         Update queue state _after_ adding the item in the queue because else we
6238         could end up being full without the element added yet.
6239
6240 2007-06-18  Wim Taymans  <wim@fluendo.com>
6241
6242         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
6243         (gst_bin_remove_func), (gst_bin_get_state_func),
6244         (gst_bin_element_set_state), (gst_bin_continue_func),
6245         (bin_push_state_continue), (bin_handle_async_start),
6246         (bin_handle_async_done), (gst_bin_handle_message_func):
6247         * gst/gstbin.h:
6248         Immediatly commit the toplevel bin state when receiving an async-done
6249         message. This enables us to avoid spawning a thread to commit the state
6250         in some common cases and it also avoids some races.
6251         Avoid spawning a state thread when adding/removing async elements to a
6252         toplevel bin. Instead we immediatly update the bin state.
6253         Get rid of iterating all the children when getting the state in the bin
6254         because it is now always up-to-date.
6255         Fix bug where locked elements would always return _SUCCESS even it they
6256         returned NO_PREROLL before being locked.
6257         Fix the order of the state_change, async-start/done messages that was
6258         sometimes incorrect.
6259         Mark the state_dirty field as deprecated, we don't need it anymore as we
6260         are always up-to-date.
6261
6262         * gst/gstelement.c: (gst_element_get_state_func),
6263         (gst_element_continue_state):
6264         Small debug inprovements.
6265         Return the previous element state return when nothing is pending instead
6266         of blindly returning SUCCESS.
6267
6268         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
6269         (gst_sinks_suite):
6270         Add a whole bunch of new testcases.
6271
6272 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6273
6274         * po/uk.po:
6275         * po/vi.po:
6276           Update translations.
6277
6278 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
6279
6280         * gst/gstpad.c:
6281         Fix typo in the docs.
6282
6283 2007-06-15  Wim Taymans  <wim@fluendo.com>
6284
6285         * docs/libs/gstreamer-libs-sections.txt:
6286         Add docs for new methods.
6287
6288 2007-06-15  Wim Taymans  <wim@fluendo.com>
6289
6290         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
6291         (gst_multi_queue_item_new):
6292         Don't use GSlice because we don't depend on >= 2.10 yet.
6293
6294 2007-06-15  Wim Taymans  <wim@fluendo.com>
6295
6296         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
6297         (update_time_level), (apply_segment), (apply_buffer),
6298         (gst_single_queue_push_one), (gst_multi_queue_item_new),
6299         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
6300         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
6301         (single_queue_underrun_cb), (single_queue_check_full):
6302         Remove debug printf.
6303
6304 2007-06-15  Wim Taymans  <wim@fluendo.com>
6305
6306         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
6307         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
6308         (gst_data_queue_set_flushing), (gst_data_queue_push),
6309         (gst_data_queue_pop), (gst_data_queue_drop_head),
6310         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
6311         * libs/gst/base/gstdataqueue.h:
6312         Various cleanups.
6313         Added methods to get the current levels and to inform the queue that the
6314         'full' limits changed.
6315
6316         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
6317         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
6318         (gst_single_queue_flush), (update_time_level), (apply_segment),
6319         (apply_buffer), (gst_single_queue_push_one),
6320         (gst_multi_queue_item_steal_object),
6321         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
6322         (gst_multi_queue_loop), (gst_multi_queue_chain),
6323         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
6324         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
6325         (gst_multi_queue_src_query), (single_queue_overrun_cb),
6326         (single_queue_underrun_cb), (single_queue_check_full),
6327         (gst_single_queue_new):
6328         Keep track of time in the queue by measuring the difference between
6329         running_time on input and output. This gives more accurate results and
6330         can compensate for segments correctly.
6331         Make a queue by default only 5 buffers deep. We will now increase the
6332         buffer size depending on the filledness of the other queues.
6333         Factor out commong flush code.
6334         Make sure we don't add additional refcounts to buffers when we can avoid
6335         it.
6336         Propagate GstFlowReturn differently.
6337         Use GSlice for intermediate GstMultiQueueItems.
6338         Keep track of EOS.
6339         Resize queues on over and underruns based on filled level of other
6340         queues.
6341         When checking if the queue is filled, prefer to measure in time if we
6342         can and fall back to bytes when no time is known.
6343
6344         * plugins/elements/gstqueue.c:
6345         Fix return value.
6346
6347 2007-06-15  Wim Taymans  <wim@fluendo.com>
6348
6349         * libs/gst/base/gstbasetransform.c:
6350         (gst_base_transform_sink_event):
6351         Work around the brokenness of the event vmethod in basetransform. Prefer
6352         to return TRUE when the subclass returned FALSE (meaning don't forward
6353         the event). 
6354
6355         * libs/gst/base/gstbasetransform.h:
6356         Clarify the docs.
6357
6358 2007-06-15  Wim Taymans  <wim@fluendo.com>
6359
6360         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
6361         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6362         (gst_base_src_default_query), (gst_base_src_get_range),
6363         (gst_base_src_start):
6364         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
6365         Improve debugging.
6366
6367 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
6368
6369         * docs/pwg/advanced-types.xml:
6370           Added more formats to caps table.
6371
6372 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
6373
6374         * tools/gst-launch.c: (main):
6375           Remove crufy code. GOption does not need this workaround.
6376
6377 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
6378
6379         * libs/gst/controller/gstcontroller.c:
6380         (gst_controlled_property_set_interpolation_mode):
6381           Fix wrong getter for enums in controller.
6382
6383 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6384
6385         * libs/gst/check/gstcheck.c: (gst_check_init):
6386           Intercept criticals and warnings in the Gst-Phonon log domain, so
6387           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
6388           well.
6389         
6390 2007-06-14  Edward Hervey  <edward@fluendo.com>
6391
6392         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
6393         Since this file doesn't include "gst.h" it will not go through the
6394         macros that disable GST_LOG if debugging was disabled.
6395
6396 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6397
6398         * libs/gst/check/Makefile.am:
6399         * libs/gst/check/gstcheck.h:
6400         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6401         * pkgconfig/gstreamer-check.pc.in:
6402           Ugly 'fix' for the controller unit test on the p5 bot: in
6403           fail_unless_equals_float() check whether the values are 'almost
6404           equal' by allowing a small absolute error, which should be good
6405           enough for our use cases (normal numbers and values close to 0).
6406           Proper fixage left to floating point arithmetic aficionados.
6407
6408 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
6409
6410         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
6411         (gst_base_sink_render_object), (gst_base_sink_get_position):
6412           Add two breaks thats where missing.
6413
6414 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6415
6416         * docs/libs/gstreamer-libs-sections.txt:
6417         * libs/gst/check/gstcheck.h:
6418           API: add fail_unless_equals_float() and assert_equals_float().
6419           Add documentation for some of the macros.
6420
6421         * tests/check/libs/controller.c: (GST_START_TEST):
6422           Use newly-added asserts.
6423
6424 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
6425
6426         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
6427           Show the caps change in the log to help spotting the case of not
6428           exactly matching caps.
6429
6430 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6431
6432         * docs/pwg/building-boiler.xml:
6433           Fix typos, spotted by Thijs Vermeir (#447190).
6434
6435 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6436
6437         * docs/plugins/tmpl/.cvsignore:
6438         Ignore file to keep the buildbots happy
6439
6440 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6441
6442         * docs/plugins/Makefile.am:
6443         * docs/plugins/gstreamer-plugins-docs.sgml:
6444         * docs/plugins/gstreamer-plugins-sections.txt:
6445         Pull fdsink into the docs too.
6446
6447 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
6448
6449         * libs/gst/controller/gstinterpolation.c:
6450         Actually use the new functions with min/max checks for the trigger and
6451         none interpolation modes for get() and get_value_array() instead of
6452         just the latter.
6453
6454 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
6455
6456         * libs/gst/controller/gstcontroller.c:
6457         (gst_controlled_property_free):
6458         Unset the minimum and maximum GValues when freeing the corresponding
6459         GstControllerProperty struct.
6460
6461 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
6462
6463         * libs/gst/controller/gstcontroller.c:
6464         (gst_controlled_property_new):
6465         * libs/gst/controller/gstcontrollerprivate.h:
6466         * libs/gst/controller/gstinterpolation.c:
6467         (gst_controlled_property_find_control_point_node),
6468         (interpolate_none_get), (interpolate_none_get_enum_value_array),
6469         (interpolate_none_get_string_value_array),
6470         (interpolate_trigger_get),
6471         (interpolate_trigger_get_enum_value_array),
6472         (interpolate_trigger_get_string_value_array):
6473         Protect against values larger or smaller than the minimum or maximum
6474         allowed value for the property when using values that can be compared.
6475
6476         Optimize trigger interpolator a bit by taking the last requested value
6477         into account instead of always looping through the complete list.
6478
6479         Fix coding style a bit, everywhere else we use "return foo" instead
6480         of "return (foo)".
6481         
6482         * tests/check/libs/controller.c: (GST_START_TEST),
6483         (gst_controller_suite):
6484         Add unit test for the protection against too large or too small
6485         values.
6486
6487 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
6488
6489         * docs/random/slomo/controller.txt:
6490         Add some thoughts about the future of the controller.
6491
6492 2007-06-08  Wim Taymans  <wim@fluendo.com>
6493
6494         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6495         Don't overflow in retimestamping code.
6496
6497 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
6498
6499         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
6500         Use gst_util_guint64_to_gdouble for conversions.
6501         * win32/common/libgstreamer.def:
6502         Add new exported functions.
6503
6504 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
6505
6506         * gst/gstutils.c:
6507           Small docs addition.
6508
6509 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
6510
6511         * README:
6512           Remove that test line again.
6513
6514 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
6515
6516         * README:
6517           Test commit mail sending.
6518
6519 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
6520
6521         * configure.ac:
6522           Fix typo and test commit mail sending.
6523
6524 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
6525
6526         * tests/examples/controller/audio-example.c:
6527           Improve comment and test commit mail sending.
6528
6529 2007-06-07  Wim Taymans  <wim@fluendo.com>
6530
6531         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
6532         (gst_bin_remove_func), (gst_bin_element_set_state),
6533         (bin_handle_async_start), (bin_handle_async_done),
6534         (gst_bin_handle_message_func):
6535         Add helper function to find messages.
6536         Generate the async-done messages together with the state change
6537         messages.
6538         Small cleanups in handling toplevel bins.
6539
6540 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
6541
6542         * libs/gst/base/gstdataqueue.c:
6543         * libs/gst/base/gstdataqueue.h:
6544         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6545         (gst_multi_queue_item_new), (gst_multi_queue_chain),
6546         (gst_multi_queue_sink_event):
6547         * tests/check/elements/multiqueue.c: (multiqueue_suite):
6548           Fix multiqueue leaking buffers and events when downstream or the
6549           queue are flushing. Make refcounting assumptions explicit and
6550           document them (shouldn't break existing code that uses it other than
6551           maybe leak miniobjects, but that already happens anyway). Add unit
6552           test for the most common flushing case. Fixes #423700.
6553           
6554 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
6555
6556         * libs/gst/controller/gstcontroller.c:
6557         Clarify docs: The get_all, get_value_array(s) functions
6558         don't modify the GObject properties.
6559
6560 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
6561
6562         * libs/gst/controller/gstcontroller.c:
6563         (gst_controlled_property_set_interpolation_mode),
6564         (gst_controlled_property_prepend_default),
6565         (gst_controlled_property_new), (gst_controller_set_unlocked),
6566         (gst_controller_set), (gst_controller_set_from_list),
6567         (gst_controller_unset), (gst_controller_unset_all):
6568         * libs/gst/controller/gstcontrollerprivate.h:
6569         * libs/gst/controller/gstinterpolation.c:
6570         Factor out the 'set' logic into gst_controller_set_unlocked for the
6571         gst_controller_set and gst_controller_set_from_list functions.
6572
6573         To make life of the interpolators easier always add a control point
6574         at timestamp zero with the default value.
6575
6576         In the linear interpolator make things more obvious by better variable
6577         naming (slope).
6578
6579         Implement cubic interpolation mode (by using a natural cubic spline)
6580         and map the quadratic interpolation mode to this too (as quadratic
6581         doesn't make much sense, see discussion on the list).
6582
6583         * tests/check/libs/controller.c: (GST_START_TEST),
6584         (gst_controller_suite):
6585         Add unit test for the cubic interpolation mode and check everywhere
6586         if the interpolation mode could be set as expected.
6587
6588 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
6589
6590         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
6591           Don't use GLib-2.10 functions, we still depend on
6592           GLib-how-old-is-it-again-2.8.
6593
6594 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
6595
6596         * docs/gst/gstreamer-sections.txt:
6597         * gst/Makefile.am:
6598         * gst/gst.c:
6599         * gst/gst.h:
6600         * gst/gstparamspecs.c: (_gst_param_fraction_init),
6601         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
6602         (_gst_param_fraction_values_cmp),
6603         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
6604         * gst/gstparamspecs.h:
6605         * gst/gstvalue.c:
6606         * tests/check/Makefile.am:
6607         * tests/check/gst/.cvsignore:
6608         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
6609         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
6610         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
6611         (GST_START_TEST), (gst_param_spec_suite):
6612           API: add GstParamSpecFraction, so elements can have fraction
6613           properties without lots of painful string parsing (#444648).
6614
6615 2007-06-05  Wim Taymans  <wim@fluendo.com>
6616
6617         * gst/gstobject.c: (gst_object_class_init):
6618         Fix signal signature.
6619
6620         * gst/gstsegment.c:
6621         Add small clarification in the api docs.
6622
6623         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
6624         States are protected with object lock.
6625
6626 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
6627
6628         * AUTHORS:
6629         I should probably be listed as an author by now.
6630
6631         * docs/random/release:
6632         Update the release doc
6633
6634 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
6635
6636         * gst/gstvalue.c:
6637           Make docs for gst_value_compare() mention return enums that
6638           actually exist.
6639
6640 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
6641
6642         * configure.ac:
6643           Back to CVS
6644
6645 === release 0.10.13 ===
6646
6647 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
6648
6649         * configure.ac:
6650           releasing 0.10.13, "With or without you"
6651
6652 2007-05-25  Wim Taymans  <wim@fluendo.com>
6653
6654         * gst/gstbin.c: (bin_handle_async_done):
6655         Make sure that the child bin stops after completing the async state
6656         change so that the parent can continue the state change to PLAYING.
6657         Fixes #441159.
6658
6659 2007-05-25  Wim Taymans  <wim@fluendo.com>
6660
6661         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6662         (unref_data), (gst_collect_pads_remove_pad),
6663         (gst_collect_pads_check_pads):
6664         Use additional refcounting to avoid crashes when dynamically adding and
6665         removing pads. Fixes #420206.
6666
6667 2007-05-24  Wim Taymans  <wim@fluendo.com>
6668
6669         * tools/gst-launch.c: (event_loop):
6670         When buffering goes from a two digit to a single digit number, make sure
6671         to remove the old second digit by writing a blank over it.
6672
6673 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
6674
6675         * libs/gst/base/gstdataqueue.c:
6676           Eliminate tabs and trailing comma in enum list; fix some typos.
6677
6678 2007-05-24  Wim Taymans  <wim@fluendo.com>
6679
6680         * tests/check/gst/gstbin.c: (GST_START_TEST):
6681         Allow refcount of 3 and 4 because some state thread might still be busy
6682         with it.
6683
6684 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
6685
6686         * plugins/elements/Makefile.am:
6687         * plugins/elements/gstmultiqueue.h:
6688         * plugins/elements/gstqueue.h:
6689           These are not installed headers, no need for padding.
6690
6691 2007-05-24  Wim Taymans  <wim@fluendo.com>
6692
6693         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
6694         (gst_bin_continue_func):
6695         Enable latency for next release.
6696         Restore STATE_LOCK around recalc_state that was left out during the
6697         rewrite and could result in racy behaviour when _get_state and
6698         recalc_state are run concurrently. See #440463.
6699
6700 2007-05-23  Wim Taymans  <wim@fluendo.com>
6701
6702         * tests/check/gst/gstsystemclock.c: (store_callback),
6703         (GST_START_TEST):
6704         Improve test_async_order to also work when both timers are already
6705         expired when we get scheduled to check it.
6706
6707 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
6708
6709         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
6710         (gst_bin_set_property), (gst_bin_get_property),
6711         (gst_bin_remove_func), (gst_bin_handle_message_func):
6712         * gst/gstbin.h:
6713           'private' is a c++ keyword, let's not use that in header files,
6714           otherwise c++ compilers will throw a tantrum.
6715
6716 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
6717
6718         * plugins/elements/gstelements.c:
6719         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
6720         (gst_file_sink_get_current_offset):
6721         * plugins/indexers/gstindexers.c: (plugin_init):
6722           Use #ifdef for HAVE_XYZ for consistency.
6723
6724         * tests/check/Makefile.am:
6725         * tests/check/elements/.cvsignore:
6726         * tests/check/elements/filesink.c: (setup_filesink),
6727         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
6728           Add some unit tests for filesink.
6729
6730 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
6731
6732         Patch by: Mark Nauwelaerts <manauw at skynet be>
6733
6734         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
6735         (gst_file_sink_query), (gst_file_sink_do_seek),
6736         (gst_file_sink_get_current_offset), (gst_file_sink_render):
6737         * plugins/elements/gstfilesink.h:
6738           Fix position reporting; rename data_written member to current_pos to
6739           reflect its real meaning (fixes #412648).
6740
6741 2007-05-22  Edward Hervey  <edward@fluendo.com>
6742
6743         * docs/gst/gstreamer-sections.txt:
6744         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
6745         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
6746         (gst_bin_remove_func), (gst_bin_handle_message_func):
6747         * gst/gstbin.h:
6748         Add a property for bins that handle the state change of their childs.
6749         Fixes #435880
6750
6751 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
6752
6753         * libs/gst/controller/gstinterpolation.c:
6754         Use an array of the correct type when using _get_value_array with
6755         linear interpolation.
6756
6757 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
6758
6759         * gst/gstelement.c (gst_element_requires_clock,
6760           gst_element_provides_clock, gst_element_request_pad,
6761           gst_element_class_set_details, gst_element_class_set_details_simple,
6762           gst_element_default_send_event, gst_element_abort_state,
6763           gst_element_continue_state, gst_element_set_state,
6764           gst_element_set_state_func, iterator_activate_fold_with_resync):
6765         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
6766           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
6767           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
6768           gst_pad_get_range, gst_pad_pull_range):
6769         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
6770           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
6771           GstPadActivateModeFunction, GstPadChainFunction,
6772           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
6773           GstPadFixateCapsFunction, GstPadTemplate):
6774         * gst/gstpipeline.c (gst_pipeline_change_state,
6775           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
6776           gst_pipeline_set_clock, gst_pipeline_auto_clock,
6777           gst_pipeline_get_delay):
6778           Whitespace and docs fixes.
6779
6780 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
6781
6782         * libs/gst/controller/gstinterpolation.c:
6783         (interpolate_trigger_get_enum_value_array),
6784         (interpolate_trigger_get_string_value_array):
6785         Add support for retrieving value arrays when using the trigger
6786         interpolation mode. 
6787
6788 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
6789
6790         * libs/gst/controller/gstcontroller.c:
6791         (gst_controller_get_value_array):
6792         * libs/gst/controller/gstcontroller.h:
6793         Clarify the docs of gst_controller_get_value_array(): The array where
6794         the values should be written to must be allocated as there seems to be
6795         no way to get the size of a random GType. This doesn't change any
6796         behaviour. Also fix some typos all over the place and remove an unused,
6797         commented function that is not necessary as g_object_set() could be
6798         used instead.
6799         * tests/check/libs/controller.c: (GST_START_TEST),
6800         (gst_controller_suite):
6801         Add unit test for gst_controller_get_value_array().
6802
6803 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
6804
6805         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6806
6807         Disable part of the gst_buffer_try_new_and_alloc test, because
6808         it can happily succeed on 64-bit systems where there's more address
6809         space available.
6810
6811 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
6812
6813         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
6814         Add unit test for the improved caps checking from bug #421543.
6815
6816 2007-05-21  Wim Taymans  <wim@fluendo.com>
6817
6818         * docs/design/part-synchronisation.txt:
6819         Small addition.
6820
6821         * gst/gstbin.c: (gst_bin_query):
6822         * plugins/elements/gstqueue.c: (apply_segment):
6823         Improve debugging.
6824
6825         * gst/gstmessage.h:
6826         Improve docs.
6827
6828 2007-05-21  Wim Taymans  <wim@fluendo.com>
6829
6830         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
6831         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
6832         (gst_pad_configure_src):
6833         Added simple version of improved caps checking. It was previously
6834         assumed that a setcaps function would check the validity of the caps but
6835         people prefer us to check caps against the template automatically. 
6836         Fixes #421543.
6837
6838 2007-05-21  Wim Taymans  <wim@fluendo.com>
6839
6840         * libs/gst/base/gstbasetransform.h:
6841         Fix macro for locking/unlocking the transform lock.
6842
6843 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
6844
6845         * docs/plugins/tmpl/.cvsignore:
6846           Ignore more.
6847
6848 2007-05-18  Edward Hervey  <edward@fluendo.com>
6849
6850         * plugins/elements/gstqueue.c: (gst_queue_loop):
6851         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
6852         for the subtle art of warning a potentially blocking thread that it
6853         should check the source pad return value, and relay the information
6854         upstream.
6855
6856 2007-05-18  Edward Hervey  <edward@fluendo.com>
6857
6858         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6859         Release the queue lock !
6860
6861 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
6862
6863         * docs/libs/gstreamer-libs-sections.txt:
6864         Add the two new controller functions to the appropiate places.
6865
6866 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
6867
6868         reviewed by: Stefan Kost <ensonic@users.sf.net>
6869
6870         * libs/gst/controller/gstcontroller.c:
6871         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
6872         (_gst_controller_get_property), (_gst_controller_set_property),
6873         (_gst_controller_init), (_gst_controller_class_init):
6874         * libs/gst/controller/gstcontroller.h:
6875         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
6876         (gst_object_get_control_rate), (gst_object_set_control_rate):
6877         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
6878         Add API that provides sync suggestion timestamps for elements that
6879         call gst_object_sync_values() from which those elements can subdivide
6880         their processing loop to get the best results for the controlled
6881         properties. For now it just suggests last_sync + control_rate as
6882         new timestamp but this will be improved in the future.
6883
6884         While doing that change the control-rate property to a GstClockTime
6885         from guint and change it's meaning from samples to nanoseconds as
6886         the GstController doesn't know anything about sampling rate. Strictly
6887         speaking this breaks ABI but as the control-rate property didn't do
6888         anything in the past and as such couldn't be used this should be no
6889         problem.        
6890
6891 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
6892
6893         reviewed by: Stefan Kost <ensonic@users.sf.net>
6894
6895         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6896         (gst_controller_unset_all):
6897         * libs/gst/controller/gstcontrollerprivate.h:
6898         * libs/gst/controller/gstinterpolation.c:
6899         (gst_controlled_property_find_control_point_node):
6900         Save last synced value from the list to continue searching from there
6901         in future syncs. This speeds everything up a bit.
6902         
6903 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
6904
6905         reviewed by: Stefan Kost <ensonic@users.sf.net>
6906
6907         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
6908         (gst_control_point_find), (gst_controlled_property_new),
6909         (gst_control_point_free), (gst_controlled_property_free),
6910         (gst_controller_set), (gst_controller_set_from_list),
6911         (gst_controller_unset), (gst_controller_unset_all),
6912         (gst_controller_sync_values):
6913         * libs/gst/controller/gstcontroller.h:
6914         * libs/gst/controller/gstcontrollerprivate.h:
6915         * libs/gst/controller/gstinterpolation.c:
6916         (gst_controlled_property_find_control_point_node),
6917         (interpolate_none_get), (interpolate_trigger_get):
6918         Add a new private GstControlPoint struct which "inherits" from
6919         GstTimedValue to allow different interpolators to store internal
6920         values next to each control point. From the outside everything is
6921         still a GstControlPoint so we don't loose binary compatibility.
6922         Also fixup all the GValue handling to not leak GValues or list nodes.
6923         * tests/check/libs/controller.c: (GST_START_TEST):
6924         Free the list nodes and GValues in the controller_misc test.
6925
6926 2007-05-17  Edward Hervey  <edward@fluendo.com>
6927
6928         * gst/gstsegment.c:
6929         Small doc fix.
6930
6931 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
6932
6933         * gst/gstplugin.c: (gst_plugin_load_file):
6934           If we fail to load a plugin because of unresolved symbols or missing
6935           libraries and spew a warning to stderr, we may just as well mention
6936           which plugin it was that failed to load.
6937
6938 2007-05-13  David Schleef  <ds@schleef.org>
6939
6940         * docs/Makefile.am: the gtk-doc makefile snippet correctly
6941           handles the case when ENABLE_GTK_DOC is false, and installs
6942           the prebuilt documentation.  So gtk-doc subdirs are 
6943           unconditionally enabled.  Fixes: #349099.
6944
6945 2007-05-13  David Schleef  <ds@schleef.org>
6946
6947         * gst/gstutils.h: Reword some documentation.
6948
6949 2007-05-12  David Schleef  <ds@schleef.org>
6950
6951         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
6952           do anything with the passed "module" parameter, so remove it.
6953           Allows removal of additional vestigal code.
6954
6955 2007-05-12  David Schleef  <ds@schleef.org>
6956
6957         * gst/gstplugin.c:
6958           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
6959           Switch to using g_stat() because it's more portable.
6960
6961 2007-05-12  David Schleef  <ds@schleef.org>
6962
6963         * gst/gst.c:
6964           Add GST_DISABLE_OPTION_PARSING, in order to disable option
6965           parsing for embedded systems.
6966         * gst/gstelementfactory.c:
6967           Allow gst_element_register() to be called with plugin==NULL.
6968           Did nobody notice that static elements were broken?
6969
6970 2007-05-12  Wim Taymans  <wim@fluendo.com>
6971
6972         * tools/gst-launch.c: (event_loop):
6973         Give more interesting info when buffering starts and stops.
6974         Fix case where buffering starts but we fail to update the buffering flag
6975         because the target state is not PLAYING.
6976
6977 2007-05-12  Wim Taymans  <wim@fluendo.com>
6978
6979         * plugins/elements/gstqueue.c: (gst_queue_init),
6980         (gst_queue_finalize), (update_time_level), (apply_segment),
6981         (apply_buffer), (gst_queue_locked_flush),
6982         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
6983         (gst_queue_handle_sink_event), (gst_queue_chain),
6984         (gst_queue_push_one), (gst_queue_loop):
6985         * plugins/elements/gstqueue.h:
6986         Refactor an cleanup queue a bit.
6987         Do better time level calculations that also work when the srcpad is not
6988         yet running.
6989         Remove some unneeded debug lines.
6990
6991         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
6992         Added testcase for time level measurement.
6993         Try to make some stuff more racefree.
6994
6995 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
6996
6997         * gst/gsturi.c: (gst_element_make_from_uri):
6998           Don't leak plugin feature.
6999
7000         * tests/check/Makefile.am:
7001         * tests/check/gst/.cvsignore:
7002         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
7003           Add brain-dead unit test.
7004
7005 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
7006
7007         Patch by: Jeroen Wouters <woutersj at gmail com>
7008
7009         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
7010           Treat protocol strings in a case-insensitive way (#437563).
7011
7012 2007-05-11  Michael Smith <msmith@fluendo.com>
7013
7014         * gst/gstplugin.c: (gst_plugin_load_file):
7015         * gst/gstregistry.c: (gst_registry_scan_path_level):
7016           Don't print a g_warning for any failure to load a shared object.
7017           Instead, push this down into gstplugin.c, and warn _only_ if we
7018           failed to open the module (i.e. failure to link).
7019           Avoids warnings on normal, working, non-plugin .so files.
7020
7021 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
7022
7023         * gst/gstplugin.c (gst_plugin_load_file):
7024         * gst/gstregistry.c (GST_CAT_DEFAULT,
7025           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
7026           Print a g_warning if there was an error when loading a plugins during
7027           registry scan. The shuld help beginners starting with gst-plugin
7028           template.
7029
7030 2007-05-10  Wim Taymans  <wim@fluendo.com>
7031
7032         * plugins/elements/gstqueue.c: (gst_queue_class_init),
7033         (update_time_level), (gst_queue_locked_flush),
7034         (gst_queue_handle_sink_event), (gst_queue_chain),
7035         (gst_queue_push_one), (gst_queue_loop):
7036         * plugins/elements/gstqueue.h:
7037         Be smarter when calculating the current amount of data in the queue by
7038         measuring the difference between start and end timestamps (in running
7039         time) inside the queue. Fixes #432876.
7040         API: GstQueue::pushing to notify elements that we are pushing data again
7041         since the running signal is rather broken for this purpose.
7042
7043 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
7044
7045         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
7046           gst_queue_base_init, gst_queue_init):
7047           use GST_BOILERPLATE
7048
7049 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
7050
7051         * win32/common/libgstreamer.def:
7052         Add new exported functions.
7053         * win32/vs6/grammar.dsp:
7054         Use grammar pre-generated files.
7055
7056 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7057
7058         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
7059
7060         * gst/Makefile.am:
7061         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
7062         * gst/gstparse.h:
7063         * gst/gstutils.c: (gst_parse_bin_from_description):
7064         * gst/gstutils.h:
7065           Maintain API and ABI when --disable-parse is used. Now that
7066           we have an appropriate error code, we can just return NULL and the
7067           appropriate error when gst_parse_launch() is used despite it having
7068           been disabled (#342564).
7069
7070         * tests/check/Makefile.am:
7071         * tests/check/pipelines/.cvsignore:
7072         * tests/check/pipelines/parse-disabled.c:
7073           Make sure these functions exist and return NULL plus a GError when
7074           --disable-parse is used.
7075
7076 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
7077
7078         * tests/benchmarks/complexity.c: (main):
7079         * tests/benchmarks/mass-elements.c: (main):
7080           Set a good example and don't leak messages.
7081
7082 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
7083
7084         * docs/gst/Makefile.am:
7085         * docs/libs/Makefile.am:
7086           Correct fixxrefs options.
7087
7088         * docs/plugins/Makefile.am:
7089         * docs/plugins/gstreamer-plugins-docs.sgml:
7090         * docs/plugins/gstreamer-plugins-sections.txt:
7091         * plugins/elements/Makefile.am:
7092         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
7093         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
7094           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
7095           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
7096           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
7097           _GstCapsFilterClass, trans_class):
7098         * plugins/elements/gstelements.c (name, rank, type, _elements):
7099         * plugins/elements/gstidentity.c
7100           (gst_identity_check_imperfect_timestamp,
7101           gst_identity_check_imperfect_offset):
7102           Document capsfilter and add doc-blurb to identity.
7103
7104 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
7105
7106         * libs/gst/controller/gstcontroller.c:
7107         (gst_controlled_property_set_interpolation_mode):
7108         * libs/gst/controller/gstinterpolation.c:
7109           Don't crash if someone tries to set an interpolation mode that
7110           is invalid or that isn't supported yet. Fixes #422295.
7111
7112         * tests/check/libs/controller.c: (GST_START_TEST),
7113         (gst_controller_suite):
7114           Add a test case for the above.
7115
7116 2007-05-03  Edward Hervey  <edward@fluendo.com>
7117
7118         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
7119         Properly set the last_stop position on GstSegment. This will only happen
7120         if there is a buffer to push out.
7121
7122 2007-05-03  Wim Taymans  <wim@fluendo.com>
7123
7124         * libs/gst/base/gstbasetransform.c:
7125         (gst_base_transform_buffer_alloc):
7126         always_in_place does not mean that the sink and source caps are the
7127         same! Make sure we don't blindly proxy the buffer_alloc in this case.
7128
7129 2007-05-03  Wim Taymans  <wim@fluendo.com>
7130
7131         * docs/libs/gstreamer-libs-sections.txt:
7132         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7133         (gst_base_src_default_query), (gst_base_src_get_range):
7134         * libs/gst/base/gstbasesrc.h:
7135         API: gst_base_src_query_latency(). Added method so that subclasses can
7136         easily get the latency values of the base source class.
7137
7138 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
7139
7140         * tools/gst-inspect.c (print_implementation_info):
7141         Remove 0.8 cruft.
7142
7143 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
7144
7145         * tools/Makefile.am:
7146         * tools/gst-launch.1.in:
7147           Don't create a customised man page based on the host architecture,
7148           describe the default registry path generically. That way the man
7149           page is the same for all architectures and packagers have one
7150           multilib issue less to deal with. Fixes #434926.
7151
7152 2007-05-02  Wim Taymans  <wim@fluendo.com>
7153
7154         * gst/gstpad.c:
7155         Fix documentation as spotted by rg on IRC. 
7156
7157 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
7158
7159         * gst/gstutils.c:
7160           Improve docs for gst_element_{link,unlink}.
7161
7162 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
7163
7164         * docs/design/part-events.txt:
7165         * docs/design/part-overview.txt:
7166         * gst/gstevent.c:
7167         * gst/gsturi.c:
7168         * gst/gsturi.h:
7169         * libs/gst/base/gstbasesink.c:
7170           Typo fixes; minor docs addition.
7171
7172 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
7173
7174         * docs/gst/gstreamer-sections.txt:
7175         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
7176         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
7177         * gst/gsturi.h:
7178         API: Add gst_uri_protocol_is_supported(), which checks if a sink
7179         or src that supports a given URI protocol exists.
7180
7181 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
7182
7183         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
7184         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
7185         Set the location to NULL if "file://" is set as URI. Otherwise
7186         some random previous URI would still be set if "file://" is
7187         set on an already used filesink/filesrc.
7188
7189 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
7190
7191         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
7192         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
7193         Special case the "file://" URI as as this is used by some
7194         applications to test with gst_element_make_from_uri if there's
7195         an element that supports the URI protocol.
7196         Also move the g_path_is_absolute() check for the location part
7197         of the URI to also check this for "file://localhost/bla" URIs.
7198
7199 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
7200
7201         * docs/gst/gstreamer-sections.txt:
7202         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
7203         * gst/gstbuffer.h:
7204         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
7205         (gst_buffer_suite):
7206           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
7207
7208 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
7209
7210         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
7211         (gst_registry_binary_load_pad_template),
7212         (gst_registry_binary_load_plugin),
7213         (gst_registry_binary_read_cache):
7214         * gst/gstregistrybinary.h:
7215           Implement no-mmap alternative for registry reading. Do code cleanups.
7216           Add more comments about avoiding strdups for all text data. Comments
7217           welcome.
7218
7219 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
7220
7221         * gst/gstregistrybinary.h (GstBinaryPluginElement,
7222           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
7223           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
7224           Comment structs and reformat to fix the build (that stuff should go
7225           into a priv. header).
7226
7227 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
7228
7229         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
7230         (gst_registry_binary_load_feature):
7231         * gst/gstregistrybinary.h:
7232           Refactor so that we can implement multiple features. Add support for
7233           TypeFindFactory features.
7234
7235 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
7236
7237         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
7238
7239         * configure.ac:
7240           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
7241
7242 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
7243
7244         * gst/gstbin.c: (gst_bin_element_set_state),
7245         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
7246         (bin_handle_async_done), (gst_bin_handle_message_func):
7247           Fix build with --gst-disable-gst-debug
7248
7249 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
7250
7251         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
7252           Make sure streaming has finished before calling the ::stop() vfunc,
7253           since that vfunc might clear state which is being used in the
7254           streaming thread. This fixes a race that caused crashes in
7255           audioresample when shutting down a pipeline (#420106).
7256
7257 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
7258
7259         * docs/gst/gstreamer-sections.txt:
7260           That was one byte missing.
7261
7262 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
7263
7264         * configure.ac:
7265         * docs/gst/gstreamer-sections.txt:
7266         * gst/Makefile.am:
7267         * gst/gstconfig.h.in:
7268         * gst/gstobject.c: (gst_object_class_init),
7269         (gst_signal_object_class_init):
7270         * gst/gstobject.h:
7271           2nd attempt to have a xml-less build as a joined effort of #413123
7272           and #421480.
7273
7274 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
7275
7276         * docs/design/draft-tagreading.txt:
7277           Added open issues/thoughts to draft.
7278
7279 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
7280
7281         * gst/parse/grammar.tab.pre.c:
7282         * gst/parse/grammar.tab.pre.h:
7283         * gst/parse/lex._gst_parse_yy.pre.c:
7284         Update the prebuild parser sources.
7285
7286 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
7287
7288         * gst/parse/Makefile.am:
7289         And now fix the building of the flex sources. Now everything should
7290         work as expected.
7291
7292 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
7293
7294         * gst/parse/Makefile.am:
7295         Now hopefully fix the build failures by setting proper rule
7296         dependencies and moving instead of copying.
7297
7298 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
7299
7300         * tests/benchmarks/complexity.gnuplot:
7301         * tests/benchmarks/complexity.scm:
7302         * tests/benchmarks/mass-elements.gnuplot:
7303         * tests/benchmarks/mass-elements.scm:
7304           Total licensification.
7305
7306 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
7307
7308         * gst/parse/Makefile.am:
7309           Fix the build by correcting the rule that gave wrong files to flex.
7310
7311 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
7312
7313         * tests/benchmarks/complexity.c:
7314         * tests/benchmarks/mass-elements.c:
7315           Change licence to LGPL as granted by Benjamin and Andy.
7316
7317 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
7318
7319         * gst/parse/Makefile.am:
7320         Add correct grammar.tab.h dependency if compiling without new enough
7321         flex. Fixes #431150.
7322
7323 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
7324
7325         * gst/parse/Makefile.am:
7326         Fix typo and use outdated sources if the flex/bison sources are newer
7327         than the pregenerated ones but flex is too old. Print a warning in
7328         that case. This should fix the build on the build bot.
7329
7330 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
7331
7332         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
7333         * gst/parse/Makefile.am:
7334         * gst/parse/grammar.y:
7335         * gst/parse/parse.l:
7336         Make the parser reentrant and recursively callable. This requires flex
7337         >= 2.5.31, for older versions pregenerated sources are used as we
7338         can't bump the build dependency. Finally fixes #349180.
7339
7340         * gst/gstparse.c: (gst_parse_launch):
7341         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
7342         now anyway.
7343
7344         * docs/gst/Makefile.am:
7345         * docs/gst/Makefile.am:
7346         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
7347         (__gst_parse_strfree), (__gst_parse_link_new),
7348         (__gst_parse_link_free), (__gst_parse_chain_new),
7349         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
7350         (gst_parse_element_set), (gst_parse_free_link),
7351         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
7352         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
7353         (_gst_parse_launch):
7354         * gst/parse/grammar.tab.pre.h:
7355         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
7356         (yy_get_previous_state), (yy_try_NUL_trans), (input),
7357         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
7358         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
7359         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
7360         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
7361         (_gst_parse_yypop_buffer_state),
7362         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
7363         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
7364         (yy_fatal_error), (_gst_parse_yyget_extra),
7365         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
7366         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
7367         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
7368         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
7369         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
7370         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
7371         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
7372         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
7373         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
7374         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
7375         (_gst_parse_yyfree):
7376         If the installed flex version is too old use pre-generated parser
7377         sources. These pre-generated parser sources are always updated when
7378         the actual flex/bison sources change but require everybody who wants
7379         to change something in the parser to have flex >= 2.5.31 installed.
7380
7381 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
7382
7383         * common/m4/gst-gettext.m4:
7384         * gst/gst-i18n-lib.h:
7385           Make --disable-nls to work
7386
7387 2007-04-17  Wim Taymans  <wim@fluendo.com>
7388
7389         * gst/gstconfig.h.in:
7390         Revert previous change that broke the build.
7391
7392 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
7393
7394         * configure.ac:
7395         * gst/Makefile.am:
7396         * gst/gstconfig.h.in:
7397           Drop libxml2 dependency when building with 
7398           --enable-binary-registry --disable-loadsave
7399
7400 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
7401
7402         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
7403         (gst_registry_binary_read_cache):
7404         * gst/gstregistrybinary.h:
7405           Remove unnecessary <sys/mman.h> include which broke the win32 build
7406           with MingW; move includes from header file to .c file, even if the
7407           header file isn't installed; use g_strerror() where UTF-8 strings
7408           are expected, such as in GST_DEBUG messages.
7409
7410 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
7411
7412         * docs/libs/gstreamer-libs-sections.txt:
7413         Remove bogus addition for API I didn't end up keeping.
7414
7415         * libs/gst/base/gstbasesrc.h:
7416         Mention Since: 0.10.13 in the documentation.
7417
7418         Add the API keyword to the previous ChangeLog entry.
7419
7420 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
7421
7422         * docs/libs/gstreamer-libs-sections.txt:
7423         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7424         (gst_base_src_default_prepare_seek_segment),
7425         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
7426         * libs/gst/base/gstbasesrc.h:
7427         Allow basesrc derived classes to execute seeks in other formats
7428         by providing a prepare_seek_segment vmethod. Sub-classes can choose
7429         to prepare the GstSegment in any format that their perform_seek method
7430         will be able to understand. The default implementation provides the
7431         old behaviour of attempting to convert the seek offsets to the 
7432         configured native format.
7433
7434         API: basesrc::prepare_seek_segment vmethod.
7435
7436 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
7437
7438         * gst/gstelement.c: (gst_element_get_state_func):
7439         Don't output the same debug statement twice.
7440
7441         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
7442         (gst_adapter_peek), (gst_adapter_take_buffer):
7443         Optimise the case where we have buffers at the head of the queue that
7444         can be joined quickly (because they're contiguous sub-buffers) by
7445         merging them together rather than copying data out into new memory.
7446
7447         * gst/parse/grammar.y:
7448         * tests/check/pipelines/parse-launch.c:
7449         Fix a leak in an error path for parse_launch, and add a check 
7450         for it to the testsuite.
7451
7452 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
7453
7454         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
7455           Don't deadlock when releasing a pad - gst_pad_set_active may try
7456           and take the multiqueue lock too.
7457
7458 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
7459
7460         * gst/gsterror.c: (_gst_core_errors_init):
7461         * gst/gsterror.h:
7462           API: add GST_CORE_ERROR_DISABLED (#392804).
7463
7464 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7465
7466         * docs/faq/gst-uninstalled:
7467           don't get empty paths on the PATH variables
7468         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
7469           Don't format for the uncommon terminal width of 84 characters.
7470
7471 2007-04-06  Wim Taymans  <wim@fluendo.com>
7472
7473         * gst/gstpipeline.c: (reset_stream_time),
7474         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
7475         Only try to select a different pipeline clock when we went back to
7476         PAUSED and not when we merely got flushed.
7477
7478 2007-04-05  Michael Smith  <msmith@fluendo.com>
7479
7480         * tools/gst-launch.1.in:
7481           fractions are better supported in gstreamer than ractions, so
7482           suggest using those.
7483
7484 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7485
7486         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
7487
7488         * po/LINGUAS:
7489         * po/da.po:
7490           Added Danish translation.
7491
7492 2007-04-05  Wim Taymans  <wim@fluendo.com>
7493
7494         * libs/gst/base/gstbasesink.c:
7495         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
7496         Fix leak caused when refusing newsegment after EOS.
7497
7498         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
7499         (gst_fake_sink_init), (gst_fake_sink_set_property),
7500         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
7501         (gst_fake_sink_render), (gst_fake_sink_change_state):
7502         * plugins/elements/gstfakesink.h:
7503         Add num-buffers property to make the element generate EOS after a
7504         configurable amount of buffers.
7505         API: fakesink::num-buffers property.
7506
7507         * tests/check/elements/fakesink.c: (GST_START_TEST),
7508         (fakesink_suite):
7509         Fix GstBus leak in test.
7510         Test for fakesink num-buffers.
7511
7512 2007-04-05  Wim Taymans  <wim@fluendo.com>
7513
7514         * libs/gst/base/gstbasesink.c:
7515         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
7516         (gst_base_sink_change_state):
7517         Don't accept anything after an EOS, return UNEXPECTED instead.
7518
7519         * tests/check/elements/fakesink.c: (GST_START_TEST),
7520         (fakesink_suite):
7521         Unit test for new EOS behaviour.
7522
7523 2007-04-05  Wim Taymans  <wim@fluendo.com>
7524
7525         * gst/gstelement.c: (gst_element_get_request_pad):
7526         Make padtemplates also work when they don't contain %s or %d.
7527
7528 2007-04-05  Wim Taymans  <wim@fluendo.com>
7529
7530         * docs/gst/gstreamer-sections.txt:
7531         * gst/gstclock.c: (gst_clock_adjust_unlocked),
7532         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
7533         * gst/gstclock.h:
7534         Improve _adjust_unlocked() so that it overflows less.
7535         Add gst_clock_unadjust_unlocked to convert from external time to
7536         internal time based on calibration.
7537         Add some more debug.
7538         API: GstClock::gst_clock_unadjust_unlocked()
7539
7540 2007-04-03  Wim Taymans  <wim@fluendo.com>
7541
7542         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
7543
7544         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
7545         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
7546         when releasing sink pad. Fixes #425400.
7547
7548 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
7549
7550         * docs/random/ensonic/dynlink.txt:
7551           More work on proposal for new core api.
7552
7553         * docs/libs/gstreamer-libs-sections.txt:
7554         * libs/gst/base/gstbasetransform.h:
7555           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
7556           
7557         * libs/gst/controller/gstcontroller.c:
7558         (on_object_controlled_property_changed),
7559         (gst_controller_sync_values),
7560         (gst_controller_set_interpolation_mode):
7561         * libs/gst/controller/gstcontroller.h:
7562           Less verbose logging add docs for unimplemented parts and correctly
7563           return when using unavailable parts.
7564
7565 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
7566
7567         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
7568         Move all the debug to the CLOCK category, and associate it with
7569         the clock object.
7570
7571 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
7572
7573         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
7574         Make take_buffer a bit quicker by removing redundant checks
7575         caused by calling gst_adapter_take.
7576
7577 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
7578
7579         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
7580           Don't leak GCond.
7581
7582         * tests/check/Makefile.am:
7583         * tests/check/elements/.cvsignore:
7584         * tests/check/elements/multiqueue.c: (setup_multiqueue),
7585         (GST_START_TEST), (multiqueue_suite):
7586           Add some dead simple unit tests for the 'multiqueue' element
7587           (some bits don't work yet and are disabled for now).
7588
7589 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
7590
7591         * gst/gstelement.c: (gst_element_get_request_pad),
7592         (gst_element_class_get_request_pad_template):
7593           Make gst_element_get_request_pad() create request pads only for
7594           request pad templates and not for, say, sometimes pad templates.
7595
7596 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
7597
7598         * docs/design/draft-klass.txt:
7599           Add example that needs more thinking.
7600         
7601         * docs/design/draft-missing-plugins.txt:
7602           More thoughts about wrapper plugins.
7603         
7604         * docs/random/ensonic/embedded.txt:
7605         * docs/random/ensonic/profiling.txt:
7606           More design work.
7607
7608 2007-03-25  Wim Taymans  <wim@fluendo.com>
7609
7610         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
7611         (gst_base_src_loop):
7612         Only push the segment events in the PLAYING state for live sources.
7613
7614 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
7615
7616         * gst/gstpipeline.c: (gst_pipeline_change_state):
7617         Modify the clock distribution path in PAUSED->PLAYING so that we 
7618         never attempt to choose a new clock unless we're actually leaving
7619         the PAUSED state for the first time. This prevents choosing a
7620         different clock when the state_change gets called for a 2nd time due
7621         to some element doing an async state change.
7622
7623 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
7624
7625         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
7626         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
7627         (gst_pad_chain_unchecked), (gst_pad_push):
7628         Revert last commit. This needs some more thoughts.
7629
7630 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
7631
7632         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
7633         (gst_pad_chain_unchecked), (gst_pad_push):
7634         Check in set_caps if the caps are compatible with the pad and remove
7635         two functions that are redundant now. Fixes #421543.
7636
7637 2007-03-22  Wim Taymans  <wim@fluendo.com>
7638
7639         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
7640         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
7641         Unref some more to make valgrind happy.
7642
7643 2007-03-22  Wim Taymans  <wim@fluendo.com>
7644
7645         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
7646         (gst_system_clock_id_wait_jitter),
7647         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
7648         Fix anoying regression that survived a few releases. When adding an
7649         async entry while blocking on a sync entry, the sync entry will unblock
7650         but still be busy, so it should continue to wait instead of returning
7651         _BUSY to the app.
7652         Add some comments here and there.
7653
7654         * tests/check/gst/gstsystemclock.c: (mixed_thread),
7655         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
7656         Add testcase for this.
7657
7658 2007-03-22  Wim Taymans  <wim@fluendo.com>
7659
7660         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
7661         Handle errors from the clock sync better, only UNSCHEDULED indicates a
7662         WRONG_STATE and can silently pause the task. All other cases should
7663         error out.
7664
7665 2007-03-22  Wim Taymans  <wim@fluendo.com>
7666
7667         Patch by: Ville Syrjala <syrjala at sci dot fi>
7668
7669         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
7670         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
7671         Improve debugging.
7672
7673 2007-03-21  Michael Smith  <msmith@fluendo.com>
7674
7675         * docs/pwg/advanced-types.xml:
7676           Fix some errors in the typefinding docs pointed out on irc.
7677
7678 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
7679
7680         * libs/gst/base/gstbasesrc.c:
7681         Clarify FIXME comment in the face of having added unlock_stop()
7682
7683 2007-03-21  Wim Taymans  <wim@fluendo.com>
7684
7685         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
7686         Prepare for release where we warn against possible app breakage in the
7687         case of live pipelines along with an env var to enable/disable live
7688         preroll mode (GST_COMPAT=[no-]live-preroll).
7689
7690 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7691
7692         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
7693         So we should use correct constants for checking for None offset.
7694
7695 2007-03-20  Wim Taymans  <wim@fluendo.com>
7696
7697         * docs/design/part-block.txt:
7698         Mention the fact that the newly switched element should be set to at
7699         least PAUSED.
7700
7701 2007-03-20  Wim Taymans  <wim@fluendo.com>
7702
7703         * gst/gst.c:
7704         Fix compilation with registry disabled as spotted by Saur.
7705
7706 2007-03-20  Wim Taymans  <wim@fluendo.com>
7707
7708         Patch by: Olivier Crete <tester at tester dot ca>
7709
7710         * gst/gstelement.c: (gst_element_sync_state_with_parent):
7711         Look at the pending state too when syncing the element state to the
7712         parent. Fixes #420133.
7713
7714 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
7715
7716         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
7717         (gst_base_sink_change_state):
7718         * libs/gst/base/gstbasesink.h:
7719         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7720         (gst_base_src_default_event), (gst_base_src_unlock_stop),
7721         (gst_base_src_deactivate):
7722         * libs/gst/base/gstbasesrc.h:
7723         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
7724         for sub-classes to correctly clear any state they set trying to
7725         unlock, such as clearing out unlock commands from a command fd.
7726         API: basesrc::unlock_stop
7727         API: basesink::unlock_stop
7728
7729         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
7730         (gst_fd_sink_render), (gst_fd_sink_unlock),
7731         (gst_fd_sink_unlock_stop):
7732         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
7733         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
7734         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
7735
7736         Implement unlock_stop in fdsrc and fdsink.
7737         Implement seeking in fdsrc when a seekable fd is passed, as in
7738         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
7739
7740 2007-03-19  Wim Taymans  <wim@fluendo.com>
7741
7742         Patch by: Evan Nemerson <evan at coeus dash group dot com>
7743
7744         * gst/gstelement.c: (gst_element_class_init):
7745         Fix pad-added and pad-removed signal signatures so that the pad type is
7746         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
7747
7748 2007-03-19  Wim Taymans  <wim@fluendo.com>
7749
7750         * docs/gst/gstreamer-sections.txt:
7751         Add new element field and method.
7752
7753         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
7754         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
7755         (gst_bin_recalc_state), (gst_bin_get_state_func),
7756         (gst_bin_element_set_state), (gst_bin_change_state_func),
7757         (gst_bin_continue_func), (bin_bus_handler),
7758         (bin_push_state_continue), (bin_handle_async_start),
7759         (bin_handle_async_done), (gst_bin_handle_message_func):
7760         Make async state changes a bit smarter by using new ASYNC_START and
7761         ASYNC_DONE messages. This reduces the number of times we run the state
7762         recalculation thread.
7763         Don't change state of element with a pending ASYNC_START message.
7764         Deprecate STATE_DIRTY messages.
7765         
7766         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
7767         (gst_element_get_state_func), (gst_element_continue_state),
7768         (gst_element_lost_state), (gst_element_set_state_func),
7769         (gst_element_change_state):
7770         * gst/gstelement.h:
7771         Keep the state that was last set by the app in a new element field.
7772         Don't allow state changes when handling an element event.
7773         Post ASYNC_START and ASYNC_DONE messages.
7774         Change lost_state so that we go to PAUSED and wait for the parent to set
7775         us to PLAYING again (so latency calculation can be performed)
7776         Export gst_element_change_state() method so that subclasses can use it.
7777         API: gst_element_change_state()
7778         API: GST_STATE_TARGET
7779
7780         * gst/gstpipeline.c: (gst_pipeline_class_init),
7781         (reset_stream_time), (gst_pipeline_change_state),
7782         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
7783         Using the new ASYNC_START message we can reset the base_time when
7784         needed. This can then be used to implement base_time redistribution in
7785         flushing seeks so that we can remove the explicit seek handling.
7786         Perform latency query and configuration when going to PLAYING.
7787
7788         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7789         (gst_base_sink_query), (gst_base_sink_change_state):
7790         Post new ASYNC_START/ASYNC_DONE messages.
7791
7792         * tests/check/generic/sinks.c: (GST_START_TEST):
7793         Fix test because the bin will not set the async element to PLAYING right
7794         away.
7795
7796         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
7797         Make the message check a little stronger.
7798         Handle ASYNC messages.
7799
7800         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
7801         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
7802         Expect ASYNC_DONE messages.
7803
7804 2007-03-19  Wim Taymans  <wim@fluendo.com>
7805
7806         * docs/gst/gstreamer-sections.txt:
7807         * gst/gstmessage.c: (gst_message_new_async_start),
7808         (gst_message_new_async_done), (gst_message_parse_info),
7809         (gst_message_parse_async_start):
7810         * gst/gstmessage.h:
7811         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
7812         support.
7813
7814 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
7815
7816         * tools/gst-inspect.c:
7817         (print_plugin_automatic_install_info_codecs):
7818           Now that we don't check for the 'Codec' keyword any longer in the
7819           klass, we shouldn't spew a warning if the klass isn't a decoder or
7820           encoder (since it might be a Source/Network, for example).
7821
7822 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7823
7824         * tools/gst-inspect.c:
7825         (print_plugin_automatic_install_info_codecs):
7826           Don't require decoder/demuxer/depayloader elements or
7827           encoder/muxer/paylader elements to have 'Codec' as part of their
7828           factory class string when introspecting a plugin's capabilities.
7829           draft-klass.txt mentions that it might be removed in future, and
7830           flump3dec doesn't have it as part of its class string, so chances
7831           are others might also not have it.
7832
7833 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7834
7835         * po/af.po:
7836         * po/az.po:
7837         * po/bg.po:
7838         * po/ca.po:
7839         * po/cs.po:
7840         * po/de.po:
7841         * po/en_GB.po:
7842         * po/fr.po:
7843         * po/it.po:
7844         * po/nb.po:
7845         * po/nl.po:
7846         * po/ru.po:
7847         * po/sq.po:
7848         * po/sr.po:
7849         * po/sv.po:
7850         * po/tr.po:
7851         * po/uk.po:
7852         * po/vi.po:
7853         * po/zh_CN.po:
7854         * po/zh_TW.po:
7855           Update translations from translation project
7856
7857 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
7858
7859         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
7860         (gst_child_proxy_set_property):
7861           Invert precondition check to be alike the ones in the mimiced gobject
7862           api.
7863
7864 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
7865
7866         * docs/design/draft-tagreading.txt:
7867         * docs/random/ensonic/audiobaseclasses.txt:
7868           Do some Architect work.
7869
7870         * gst/gstobject.c: (gst_object_set_name):
7871           Add a WARNING.
7872
7873         * gst/gstpad.c:
7874           Add docs that point from gst_pad_get_range to gst_pad_pull_range
7875
7876 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
7877
7878         * gst/gstsystemclock.c: (gst_system_clock_init),
7879         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
7880         Defer starting the async system clock thread until the first async
7881         wait is scheduled. Fixes #414986.
7882
7883 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
7884
7885         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
7886         (gst_single_queue_free):
7887           Fix small leak (free GstSingleQueue structure too, not only contents).
7888
7889 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
7890
7891         * gst/gstbin.c:(gst_bin_add):
7892         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
7893         * win32/common/libgstbase.def:
7894         * win32/common/libgstreamer.def:
7895         Add new exported functions.
7896
7897 2007-03-09  Wim Taymans  <wim@fluendo.com>
7898
7899         * docs/plugins/gstreamer-plugins-sections.txt:
7900         Fix GstTee docs.
7901
7902 2007-03-09  Wim Taymans  <wim@fluendo.com>
7903
7904         * docs/gst/gstreamer-sections.txt:
7905         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
7906         * gst/gstbuffer.h:
7907         Add metadata copy functions. Fixes #393099.
7908         API: gst_buffer_copy_metadata()
7909
7910         * gst/gstutils.c: (gst_buffer_stamp):
7911         * libs/gst/base/gstbasetransform.c:
7912         (gst_base_transform_prepare_output_buffer):
7913         Use new metadata copy functions.
7914
7915 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7916
7917         * plugins/elements/gstidentity.c: (gst_identity_class_init),
7918         (gst_identity_init), (gst_identity_check_perfect),
7919         (gst_identity_check_imperfect_timestamp),
7920         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
7921         (gst_identity_set_property), (gst_identity_get_property):
7922         * plugins/elements/gstidentity.h:
7923         Separate out check-imperfect-timestamp and check-imperfect-offset.
7924         Put back check-perfect as it was to keep compatibility.
7925
7926 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
7927
7928         * gst/gstelement.c: (gst_element_dispose):
7929         There's no need to warn if VOID_PENDING is not NONE here, as
7930         long as the state is NULL it's ok, and that's checked immediately
7931         above.
7932
7933 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7934
7935         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
7936         Fix check for perfect stream to ignore buffers with -1 
7937         offsets/offset ends when checking data contiguity.
7938
7939 2007-03-08  Wim Taymans  <wim@fluendo.com>
7940
7941         * tools/gst-launch.c: (event_loop):
7942         Print INFO messages.
7943
7944 2007-03-08  Wim Taymans  <wim@fluendo.com>
7945
7946         * libs/gst/base/gstbasetransform.c:
7947         (gst_base_transform_sink_eventfunc),
7948         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7949         (gst_base_transform_activate):
7950         * libs/gst/base/gstbasetransform.h:
7951         Add support for dropping buffers with custom GstFlowReturn.
7952         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
7953         buffers or dropped buffers.
7954
7955         * docs/libs/gstreamer-libs-sections.txt:
7956         docs for new custom return code.
7957
7958         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7959         Use drop support in base class to implement drop-probability.
7960
7961 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
7962
7963         * gst/gst.c: (load_plugin_func):
7964         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
7965         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7966         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
7967           Remove newlines at end of debug log strings.
7968
7969 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7970
7971         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
7972         Only post bus message at max, once per buffer received.
7973
7974 2007-03-07  Wim Taymans  <wim@fluendo.com>
7975
7976         * docs/design/Makefile.am:
7977         * docs/design/part-synchronisation.txt:
7978         Add doc about synchronisation
7979
7980         * docs/design/draft-latency.txt:
7981         * docs/design/part-TODO.txt:
7982         * docs/design/part-clocks.txt:
7983         * docs/design/part-events.txt:
7984         * docs/design/part-gstbus.txt:
7985         * docs/design/part-gstpipeline.txt:
7986         * docs/design/part-live-source.txt:
7987         * docs/design/part-messages.txt:
7988         * docs/design/part-overview.txt:
7989         * docs/design/part-streams.txt:
7990         * docs/design/part-trickmodes.txt:
7991         Documentation updates.
7992
7993 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
7994
7995         * gstreamer.doap:
7996         Update the doap file.
7997
7998 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7999
8000         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
8001         Rename non-perfect to imperfect for Mike and for the sanctity of the
8002         language.
8003         Also make sure bus message gets emitted for data-incontiguities.
8004
8005 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8006
8007         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
8008         (gst_identity_start):
8009         * plugins/elements/gstidentity.h:
8010         Emit bus message if check-perfect is true and we encounter a
8011         non-perfect stream between 2 consecutive buffers.
8012         Fixes #415394.
8013
8014 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
8015
8016         * configure.ac:
8017         Back to CVS
8018
8019 === release 0.10.12 ===
8020
8021 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
8022
8023         * configure.ac:
8024           releasing 0.10.12, "Inevitable Demise"
8025
8026 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
8027
8028         * configure.ac:
8029          Version 0.10.11.2 (0.10.12 pre-release)
8030          Bump libtool versioning.
8031
8032 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
8033
8034         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
8035           Log flow-names and not numbers.
8036
8037 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8038
8039         * configure.ac:
8040           Convert to new AG_GST style.
8041
8042 2007-02-28  Wim Taymans  <wim@fluendo.com>
8043
8044         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
8045         Don't unref query twice.
8046
8047 2007-02-28  Wim Taymans  <wim@fluendo.com>
8048
8049         * gst/gstvalue.c: (gst_value_transform_object_string),
8050         (_gst_value_initialize):
8051         Implement GstObject -> string transform so we print object names
8052         when serializing GValues containing GstObjects.
8053
8054 2007-02-28  Wim Taymans  <wim@fluendo.com>
8055
8056         * docs/gst/gstreamer-sections.txt:
8057         Add new stuff to docs.
8058
8059 2007-02-28  Wim Taymans  <wim@fluendo.com>
8060
8061         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
8062         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
8063         (gst_base_sink_change_state):
8064         Improve latency query code.
8065         Don't leak latency events.
8066
8067         * tests/check/gst/gstbin.c: (GST_START_TEST):
8068         Improve debugging.
8069
8070 2007-02-28  Wim Taymans  <wim@fluendo.com>
8071
8072         * gst/gstelement.c: (gst_element_message_full),
8073         (gst_element_get_state_func):
8074         * gst/gstelement.h:
8075         Improve docs a little. Added Since: for new macro.
8076
8077         * gst/gstobject.c: (gst_object_sink):
8078         * gst/gstpipeline.c: (gst_pipeline_change_state),
8079         (gst_pipeline_set_new_stream_time):
8080         * gst/gstpipeline.h:
8081         Improve debugging and docs.
8082
8083         * gst/gstutils.c: (gst_element_state_change_return_get_name):
8084         Improve debugging.
8085
8086 2007-02-28  Wim Taymans  <wim@fluendo.com>
8087
8088         * gst/gstelement.c: (gst_element_message_full),
8089         (gst_element_set_locked_state), (gst_element_get_state_func),
8090         (gst_element_change_state):
8091         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
8092         Documentation updates.
8093         Small code cleanups.
8094
8095         * gst/gstmessage.c: (gst_message_new_info),
8096         (gst_message_parse_info):
8097         * gst/gstmessage.h:
8098         API: gst_message_new_info()
8099         API: gst_message_parse_info()
8100         Add INFO message create and parse code.
8101
8102 2007-02-28  Wim Taymans  <wim@fluendo.com>
8103
8104         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
8105         (bin_query_latency_done):
8106         Also report the live parameter of a latency query.
8107
8108 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8109
8110         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
8111           Copy the current generic/states example from -base and adapt so
8112           we can use the exact same code everywhere.
8113           Check a STATES_IGNORE_ELEMENTS env var which can be used
8114           to ignore certain element factories for this test, which is
8115           what is being done in -base
8116         * tests/check/Makefile.am:
8117           Mention this environment variable.
8118
8119 2007-02-27  Wim Taymans  <wim@fluendo.com>
8120
8121         * docs/gst/gstreamer-sections.txt:
8122         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
8123         (gst_bus_timed_pop), (gst_bus_pop):
8124         * gst/gstbus.h:
8125         API: gst_bus_timed_pop()
8126         Implement gst_bus_timed_pop() to do a blocking timed wait for a
8127         message to arrive on the bus.
8128
8129         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
8130         (gst_bus_suite):
8131         Two unit tests for new _timed_pop() function.
8132
8133 2007-02-23  Wim Taymans  <wim@fluendo.com>
8134
8135         * gst/gstpipeline.c: (gst_pipeline_change_state),
8136         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
8137         Don't ref a NULL clock in _provide_clock_func().
8138         Don't allow an INVALID delay.
8139         Don't try to calculate base_time with an invalid start_time.
8140         Also distribute and notify a NULL clock when it was selected.
8141
8142         * tools/gst-launch.c: (event_loop):
8143         Don't crash when a NULL clock was selected in the pipeline.
8144
8145 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8146
8147         * docs/design/Makefile.am:
8148         * docs/design/draft-missing-plugins.txt:
8149         * docs/random/draft-missing-plugins.txt:
8150           Some small updates: update plugin system identifier prefix
8151           ('gstreamer.net' to 'gstreamer'), mention our new install
8152           API in libgstbaseutils rather than libgimme-codec, add
8153           reference to the online docs.
8154
8155 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8156
8157         * win32/common/config.h:
8158           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
8159           use moap cl ci to only check in what is mentioned in the ChangeLog.
8160
8161 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8162
8163         * docs/gst/gstreamer-sections.txt:
8164         * gst/gstelement.h:
8165           Fix up documentation to link to the correct GstGError section.
8166           Add GST_ELEMENT_INFO macro since someone else added a Info message.
8167
8168 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8169
8170         * tools/gst-launch.c: (event_loop):
8171           Make sure that we actually show the important message part of a
8172           warning message.
8173           No need to check if the gerror is not NULL to free; first of all
8174           g_free accepts NULL; and second the default error handler would
8175           segfault if gerror was NULL.
8176
8177 2007-02-21  Wim Taymans  <wim@fluendo.com>
8178
8179         * docs/gst/gstreamer-sections.txt:
8180         Removed docs as well.
8181
8182 2007-02-21  Wim Taymans  <wim@fluendo.com>
8183
8184         * gst/gstmessage.c: (gst_message_parse_duration):
8185         * gst/gstmessage.h:
8186         Remove new messages for release.
8187
8188 2007-02-20  Wim Taymans  <wim@fluendo.com>
8189
8190         * docs/design/part-gstghostpad.txt:
8191         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
8192         (gst_ghost_pad_new_full):
8193         Make the ghostpad a parent of the internal pad again for better backward
8194         compatibility. Don't write code that relies on this however.
8195
8196         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
8197         (gst_pad_link_check_hierarchy):
8198         Require that parents should be GstElements in the hierarchy check.
8199
8200 2007-02-20  Wim Taymans  <wim@fluendo.com>
8201
8202         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
8203         (gst_bin_change_state_func), (bin_query_min_max_init),
8204         (bin_query_latency_fold), (bin_query_latency_done),
8205         (gst_bin_query):
8206         Improve debug info.
8207         Implement latency query.
8208
8209 2007-02-20  Wim Taymans  <wim@fluendo.com>
8210
8211         * docs/design/part-gstghostpad.txt:
8212         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
8213         (gst_ghost_pad_internal_do_activate_push),
8214         (gst_ghost_pad_internal_do_activate_pull),
8215         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
8216         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
8217         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
8218         Do not set the internal pad as a parent anymore so we can avoid
8219         hierarchy linking errors when the ghostpad has no parent yet. This also
8220         fixes failed activation because of unlinked internal pads, which in
8221         turn fixes the impossible case where you have to activate a pad before
8222         you can add it to a running element.
8223         Also fix the docs.
8224
8225         * gst/gstpad.c: (pre_activate), (post_activate),
8226         (gst_pad_set_active), (gst_pad_activate_pull),
8227         (gst_pad_activate_push), (gst_pad_check_pull_range):
8228         Add some more debug info.
8229         Mark activation mode in pre_activate so that we don't try to activate in
8230         endless loops. Fixes #385084.
8231
8232 2007-02-19  Wim Taymans  <wim@fluendo.com>
8233
8234         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
8235         (gst_base_transform_check_get_range):
8236         Implement a checkgetrange function instead of relying on the default
8237         core behaviour that assumes we can operate in pull mode if we have a
8238         getrange function. First step at fixing #385084.
8239
8240 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
8241
8242         * gst/gstchildproxy.h:
8243         * libs/gst/base/gstbasesink.h:
8244         * libs/gst/base/gstbasesrc.h:
8245         * libs/gst/base/gstbasetransform.h:
8246         More docs coverage and some ChangeLog surgery (add missing names)
8247
8248 2007-02-15  Wim Taymans  <wim@fluendo.com>
8249
8250         * docs/design/part-TODO.txt:
8251         * docs/design/part-activation.txt:
8252         * docs/design/part-block.txt:
8253         * docs/design/part-buffering.txt:
8254         * docs/design/part-clocks.txt:
8255         * docs/design/part-element-source.txt:
8256         * docs/design/part-events.txt:
8257         * docs/design/part-gstbin.txt:
8258         * docs/design/part-gstbus.txt:
8259         * docs/design/part-gstpipeline.txt:
8260         * docs/design/part-live-source.txt:
8261         * docs/design/part-messages.txt:
8262         * docs/design/part-overview.txt:
8263         * docs/design/part-qos.txt:
8264         * docs/design/part-query.txt:
8265         * docs/design/part-states.txt:
8266         * docs/design/part-trickmodes.txt:
8267         Some doc updates. Start renaming from stream_time to running_time where
8268         it was used wrongly.
8269
8270 2007-02-15  Wim Taymans  <wim@fluendo.com>
8271
8272         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
8273         Answer LATENCY query.
8274
8275 2007-02-15  Wim Taymans  <wim@fluendo.com>
8276
8277         * tests/check/gst/gstevent.c: (event_probe), (test_event),
8278         (GST_START_TEST):
8279         Improve debugging.
8280
8281 2007-02-15  Wim Taymans  <wim@fluendo.com>
8282
8283         * gst/gstpad.c: (gst_pad_get_internal_links_default),
8284         (gst_pad_dispatcher):
8285         Improve debugging of default pad dispatcher and query functions.
8286
8287 2007-02-15  Wim Taymans  <wim@fluendo.com>
8288
8289         * docs/gst/gstreamer-sections.txt:
8290         Remove old unused method.
8291
8292 2007-02-13  Wim Taymans  <wim@fluendo.com>
8293
8294         * tests/check/gst/gstsegment.c: (GST_START_TEST):
8295         Fix check
8296
8297 2007-02-13  Wim Taymans  <wim@fluendo.com>
8298
8299         * docs/design/part-seeking.txt:
8300         Some small update.
8301
8302         * gst/gstsegment.c: (gst_segment_set_seek):
8303         Revert old bogus change that should make seeking work again.
8304
8305 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
8306
8307         * docs/random/ensonic/dynlink.txt:
8308         * docs/random/ensonic/interfaces.txt:
8309         * docs/random/ensonic/receipies.txt:
8310           Possible dynamic reconnection api, plus some type fixes the other two
8311           docs.
8312
8313 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
8314
8315         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8316         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8317         Also check for an absolute path following file:// in the filesrc
8318         element. Remove redundant check and call g_path_is_absolute() on the
8319         unescaped location.
8320
8321 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
8322
8323         * docs/design/draft-klass.txt:
8324           Add existing category analysis.
8325           
8326         * gst/gstcaps.c:
8327           Fix doc example, framerate is a fraction.
8328
8329 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
8330
8331         * configure.ac:
8332         * docs/gst/Makefile.am:
8333         * docs/gst/gstreamer-sections.txt:
8334         * docs/libs/Makefile.am:
8335           Erm, forgot a bunch of --extra-dir.
8336
8337 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
8338
8339         * configure.ac:
8340         * docs/gst/Makefile.am:
8341         * docs/libs/Makefile.am:
8342         * docs/plugins/Makefile.am:
8343           Add crossreferences to glib/gobject docs.
8344
8345 2007-02-12  Wim Taymans  <wim@fluendo.com>
8346
8347         * docs/design/draft-latency.txt:
8348         Small update.
8349
8350         * docs/libs/gstreamer-libs-sections.txt:
8351         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
8352         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
8353         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
8354         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
8355         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
8356         (gst_base_sink_get_position), (gst_base_sink_query),
8357         (gst_base_sink_change_state):
8358         * libs/gst/base/gstbasesink.h:
8359         API: gst_base_sink_query_latency() to let subclasses query the upstream
8360         latency.
8361         API: gst_base_sink_get_latency() to let subclasses query the configured
8362         latency in the sink.
8363         Implement query and set latency.
8364         Update some docs.
8365         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
8366         don't continue preroll when we are flushing. Fixes #405284.
8367
8368         * tests/check/pipelines/stress.c: (change_state_timeout),
8369         (quit_timeout), (GST_START_TEST), (stress_suite):
8370         Test for #405284.
8371
8372 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
8373
8374         Patch by: René Stadler <mail at renestadler de>
8375
8376         * docs/gst/gstreamer-sections.txt:
8377         * gst/gsttaglist.c: (_gst_tag_initialize):
8378         * gst/gsttaglist.h:
8379           API: add GST_TAG_REFERENCE_LEVEL (#403597).
8380
8381 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
8382
8383         * docs/libs/Makefile.am:
8384           Fix path to core docs.
8385
8386         * gst/gstbin.c: (gst_bin_get_by_interface),
8387         (gst_bin_iterate_all_by_interface):
8388           Refix docs by also renaming 'interface' to 'iface' in implementation.
8389
8390         * docs/gst/gstreamer-sections.txt:
8391         * gst/gstcaps.c:
8392         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
8393         * gst/gstchildproxy.h:
8394         * gst/gstelementfactory.c:
8395         * gst/gstpadtemplate.h:
8396         * libs/gst/controller/gstcontroller.c:
8397         (gst_controlled_property_new):
8398           Document more.
8399
8400 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
8401
8402         * gst/gstbin.h:(gst_bin_get_by_interface),
8403         (gst_bin_iterate_all_by_interface):
8404         Replace interface parameter name by iface as interface is 
8405         a reserved keyword in Visual Studio for C++ projects so it removes
8406         a build error for application developpers using VS.
8407         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
8408         Fix a bug on Windows in uri format check. Now the prefix checked
8409         is file:// and next we check if the path after file:// is absolute.
8410         * win32/common/libgstbase.def:
8411         * win32/common/libgstdataprotocol.def:
8412         * win32/common/libgstgstreamer.def:
8413         Add new exported functions.
8414
8415 2007-02-09  Andy Wingo  <wingo@pobox.com>
8416
8417         * tests/check/pipelines/simple-launch-lines.c
8418         (simple_launch_lines_suite, test_tee): Disable tee test until I
8419         have time to fix it :-(
8420
8421         * tests/check/Makefile.am (noinst_HEADERS): 
8422         * tests/check/libs/libsabi.c: 
8423         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
8424         * tests/check/gst/gstabi.c: 
8425         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
8426
8427         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
8428         tests for push and pull tee behavior.
8429
8430         * plugins/elements/gsttee.h: 
8431         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
8432         mark as deprecated as well as unimplemented. It was a crack idea.
8433         Add support for tee operating in pull mode, off by default.
8434
8435         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
8436         normal-case logs down to LOG, raise errors to WARNING.
8437         (gst_registry_xml_read_cache): Don't log before calling a function
8438         that logs.
8439
8440         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
8441         exit (registry finalize).
8442         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
8443         DEBUG log when we emit signals that people don't even have the
8444         chance to connect to.
8445         (gst_registry_scan_path_level): Less logging in the normal case.
8446
8447 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
8448
8449         Patch by: Michal Benes <michal dot benes at itonis dot tv>
8450
8451         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
8452         Correctly generate EOS for non-seekable files. We don't have a total
8453         length for them and would get an unexpected end of file if we only
8454         special-cased for regular files. (Fixes: #404569)
8455
8456 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
8457
8458         * tests/check/elements/filesrc.c: (GST_START_TEST),
8459         (filesrc_suite):
8460         Add unit test for the GstURIHandler interface in filesrc. This also
8461         tests the newly added file://localhost/foo/bar support.
8462
8463 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8464
8465         * gst/gstelementfactory.h:
8466           The klass string is not a hierarchy. Add reference to the design doc
8467           for more information and common types.
8468
8469 2007-02-02  Wim Taymans  <wim@fluendo.com>
8470
8471         * gst/gstquery.c: (gst_query_new_latency):
8472         Remove old structure field.
8473
8474 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
8475
8476         * tools/gst-launch.1.in:
8477           Give example for network streaming (#351998)
8478
8479 2007-02-02  Wim Taymans  <wim@fluendo.com>
8480
8481         * docs/gst/gstreamer-sections.txt:
8482         Add docs for new methods.
8483
8484         * gst/gstevent.c: (gst_event_new_latency),
8485         (gst_event_parse_latency):
8486         * gst/gstevent.h:
8487         Add new LATENCY event to configure latency in a pipeline.
8488         API: gst_event_new_latency
8489         API: gst_event_parse_latency
8490
8491         * gst/gstmessage.c: (gst_message_new_buffering),
8492         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
8493         (gst_message_new_latency), (gst_message_parse_buffering),
8494         (gst_message_parse_lost_preroll):
8495         * gst/gstmessage.h:
8496         Added messages used in draft-latency.
8497         API: gst_message_new_lost_preroll
8498         API: gst_message_parse_lost_preroll
8499         API: gst_message_new_prerolled
8500         API: gst_message_new_latency
8501
8502         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
8503         (gst_query_parse_latency):
8504         * gst/gstquery.h:
8505         Implemented new latency query as in design doc.
8506         API: gst_query_new_latency
8507         API: gst_query_set_latency
8508         API: gst_query_parse_latency
8509
8510 2007-02-02  Wim Taymans  <wim@fluendo.com>
8511
8512         * docs/design/draft-latency.txt:
8513         Slight redesign to allow for dynamic latency adjustments.
8514
8515         * docs/design/part-negotiation.txt:
8516         Fix some typos.
8517
8518 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
8519
8520         reviewed by: Wim Taymans <wim@fluendo.com>
8521
8522         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8523         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8524         Allow file://localhost/foo/bar URLs and correctly fail for every other
8525         hostname that one sets. This was gnomevfssrc is linked for those if
8526         installed as it can handle it (#403172)
8527
8528 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
8529
8530         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
8531
8532         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8533         (unref_data), (gst_collect_pads_add_pad_full):
8534         * libs/gst/base/gstcollectpads.h:
8535         Don't put the previously added destroy notify in the GstCollectData
8536         struct as all it's padding is already used and we don't want to break
8537         ABI. Instead put in the pad's GObject data for now. This should be
8538         cleaned up for 0.11 (#402393).
8539
8540 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
8541
8542         reviewed by: Wim Taymans <wim@fluendo.com>
8543
8544         * docs/libs/gstreamer-libs-sections.txt:
8545         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8546         (unref_data), (gst_collect_pads_add_pad),
8547         (gst_collect_pads_add_pad_full):
8548         * libs/gst/base/gstcollectpads.h:
8549         API: Add function to specify a destroy notification for custom
8550         GstCollectData when adding new pads in GstCollectPads (#402393).
8551
8552 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
8553
8554         * po/sv.po:
8555           Update Swedish translation (#378255).
8556
8557 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
8558
8559         * docs/design/draft-klass.txt:
8560           Fix the previous change, this is a list of categories and not a hierarchy.
8561
8562 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
8563
8564         * docs/design/draft-klass.txt:
8565           Add info about how to get a list of used classes.
8566
8567 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
8568
8569         * plugins/elements/gsttypefindelement.c:
8570         (gst_type_find_element_chain_do_typefinding),
8571         (gst_type_find_element_change_state):
8572           Don't leak found caps in chain function (no idea why that never
8573           showed up as a leak anywhere).
8574
8575 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
8576
8577         * gst/gstplugin.h:
8578           Fix and expand GstPluginDesc API docs.
8579
8580 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
8581
8582         * gst/gstcaps.c:
8583         * gst/gstelementfactory.c:
8584         * gst/gstpadtemplate.h:
8585           api doc fixes
8586
8587         * libs/gst/controller/gstcontroller.c:
8588         (gst_controlled_property_new):
8589         * tests/examples/controller/audio-example.c:
8590           comment fixes
8591
8592 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
8593
8594         * configure.ac:
8595           comment about refining the xml deps
8596
8597         * docs/manuals.mak:
8598           comments about moving away from jade for docs
8599         
8600         * gst/gst.c:
8601           recommit the ifdefs to use the binary registry
8602         
8603         * gst/gstbin.c: (gst_bin_change_state_func):
8604           this break is obsolete
8605
8606         * gst/gstelementfactory.h:
8607           better GST_ELEMENT_DETAILS docs, add comment about translation
8608
8609         * gst/gstinfo.h:
8610           remove eol slash
8611
8612         * gst/gstobject.c: (gst_signal_object_get_type):
8613           add G_UNLIKELY as usual
8614
8615         * gst/gstpad.c: (gst_pad_event_default):
8616           add fall trhu comment
8617
8618         * gst/gstregistrybinary.c: (gst_registry_binary_write),
8619         (gst_registry_binary_initialize_magic),
8620         (gst_registry_binary_save_string),
8621         (gst_registry_binary_save_pad_template),
8622         (gst_registry_binary_save_feature),
8623         (gst_registry_binary_save_plugin),
8624         (gst_registry_binary_write_cache),
8625         (gst_registry_binary_check_magic),
8626         (gst_registry_binary_load_pad_template),
8627         (gst_registry_binary_load_feature),
8628         (gst_registry_binary_load_plugin),
8629         (gst_registry_binary_read_cache):
8630           comment typo and formatting
8631
8632         * gst/gstutils.c: (gst_element_state_get_name),
8633         (gst_element_state_change_return_get_name):
8634           remove obsolete breaks
8635
8636         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8637           add FIXME 0.11 and remove cpp comment
8638
8639 2007-01-29  Edward Hervey  <edward@fluendo.com>
8640
8641         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
8642         Fix print statement in an even more portable way.
8643
8644 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
8645
8646         * docs/gst/gstreamer-sections.txt:
8647         * gst/gstutils.h:
8648           API: add GST_ROUND_DOWN_* macros (#401781).
8649
8650 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
8651
8652         * docs/gst/gstreamer.types.in:
8653         * gst/gstregistry.c: (gst_registry_class_init):
8654           Document registry signals and make gtk-doc pick them up (#401381).
8655
8656 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
8657
8658         * docs/pwg/building-testapp.xml:
8659           Add some audioconverts and audioresample to the pipeline, and some
8660           more comments and error handling.
8661
8662 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
8663
8664         * docs/manual/manual.xml:
8665         * docs/pwg/pwg.xml:
8666           Fix typo (#400987).
8667
8668 2007-01-26  Wim Taymans  <wim@fluendo.com>
8669
8670         * gst/gstcaps.c: (gst_static_caps_get):
8671         Init caps flags too.
8672
8673 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
8674
8675         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
8676
8677         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
8678         If not using mmap'ed files try to seek to the end instead of the
8679         start to determine whether we can seek at all. This fixes the case
8680         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
8681         seeks for everything afterwards fail. Fixes #400656
8682
8683 2007-01-25  Wim Taymans  <wim@fluendo.com>
8684
8685         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
8686         Add some refcount debugging.
8687         Make gst_static_caps_get threadsafe, which is needed when autoplugging
8688         in multiple streaming threads.
8689
8690 2007-01-25  Wim Taymans  <wim@fluendo.com>
8691
8692         Patch by: David Schleef <ds at schleef dot org>
8693
8694         * docs/libs/gstreamer-libs-sections.txt:
8695         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
8696         * libs/gst/base/gstadapter.h:
8697         API: gst_adapter_copy() that can reduce the amount of memcpy when
8698         getting data from the adapter. Fixes #388201.
8699
8700 2007-01-25  Edward Hervey  <edward@fluendo.com>
8701
8702         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
8703         In print statements, "%x" is for guint. Fixes build on macosx.
8704
8705 2007-01-24  Edward Hervey  <edward@fluendo.com>
8706
8707         * plugins/elements/gstmultiqueue.c:
8708         (gst_multi_queue_loop):
8709         Small fix.
8710         (single_queue_overrun_cb), (single_queue_underrun_cb),
8711         (single_queue_check_full), (gst_single_queue_new):
8712         Implement single queue growth system.
8713         This uses the extra-size properties, and will grow single queues by
8714         that much if one goes full whereas there are others empty. This is
8715         called extra-mode in the code.
8716         When a single queue's levels go back below the initial max-size
8717         limits, it is no longer in extra-mode. This is to ensure we don't
8718         consume too much memory.
8719         Fixes #399875
8720
8721 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
8722
8723         * gst/gst.c: (gst_init_get_option_group):
8724           Make warning about late g_thread_init() calls a bit more explicit,
8725           so that it's more obvious to application developers what they need
8726           to do if a user files a bug against their application.
8727
8728 2007-01-22  Edward Hervey  <edward@fluendo.com>
8729
8730         * plugins/elements/gstmultiqueue.c:
8731         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
8732         Remove previous hack of unsetting the flushing flag for the source pad
8733         instead of activating it. Instead, fix the source pad activate function
8734         so that it no longer depends on having a parent set or not.
8735
8736 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
8737
8738         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
8739
8740         * docs/manual/basics-bus.xml:
8741           Fix example code, gst_element_unref() doesn't exist any longer.
8742
8743 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
8744
8745         Patch by: Mark Nauwelaerts <manauw at skynet be>
8746
8747         * gst/gstpad.c:
8748           Fix two docs typoes (#399094).
8749
8750 2007-01-19  Edward Hervey  <edward@fluendo.com>
8751
8752         * docs/faq/gst-uninstalled:
8753         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
8754         depending on libgstbaseutils can work in uninstalled environment.
8755
8756 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
8757
8758         * gst/gsttaglist.h:
8759         * gst/gsttagsetter.c:
8760         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
8761         statement for new tag.
8762
8763 2007-01-17  Edward Hervey  <edward@fluendo.com>
8764
8765         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
8766         When dynamically creating single queues, activate sinkpad before adding
8767         it.
8768         We should be doing the same thing for the source pad, but we can't
8769         since it would call a method which needs the parent to be set in order
8770         to work propertly. Instead of activating the source pad, we just unset
8771         the flushing flag, which is the minimal requirement for adding a pad
8772         to an element in a state greater than READY.
8773
8774 2007-01-17  Edward Hervey  <edward@fluendo.com>
8775
8776         * docs/faq/gst-uninstalled:
8777         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
8778         Mac OS X.
8779
8780 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
8781
8782         * tests/check/gst/gstabi.c:
8783         * tests/check/gst/struct_hppa.h:
8784         * tests/check/libs/libsabi.c:
8785         * tests/check/libs/struct_hppa.h:
8786           Add ABI structs for HPPA (see #393796).
8787
8788 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
8789
8790         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
8791           Actually write ABI structs to the file specified in the GST_ABI
8792           environment variable, as the message we print claims we would.
8793
8794 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
8795
8796         * tests/check/gst/gsttask.c:
8797           Fix header comment.
8798
8799 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
8800
8801         * gst/gsttaglist.c: (_gst_tag_initialize):
8802           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
8803           previous two entries.
8804
8805 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
8806
8807         * docs/gst/gstreamer-sections.txt:
8808         * gst/gsttaglist.c: (_gst_tag_initialize):
8809         * gst/gsttaglist.h:
8810           Add tag support for beat-per-minute.
8811
8812 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
8813
8814         * gst/gstregistrybinary.c: (gst_registry_binary_write),
8815         (gst_registry_binary_initialize_magic),
8816         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
8817         (gst_registry_binary_save_pad_template),
8818         (gst_registry_binary_save_feature),
8819         (gst_registry_binary_save_plugin),
8820         (gst_registry_binary_write_cache),
8821         (gst_registry_binary_check_magic),
8822         (gst_registry_binary_load_pad_template),
8823         (gst_registry_binary_load_feature),
8824         (gst_registry_binary_load_plugin),
8825         (gst_registry_binary_read_cache):
8826         * gst/gstregistrybinary.h:
8827           Use glib types, cleanup comments, impement interfaces and uri-types.
8828
8829 2007-01-13  Andy Wingo  <wingo@pobox.com>
8830
8831         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
8832         getrange() to return buffers with other caps, while we fix
8833         demuxers and typefind, or otherwise change part-negotiation.txt.
8834
8835 2007-01-12  Andy Wingo  <wingo@pobox.com>
8836
8837         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
8838         Factor start/stop into this private function instead of partially
8839         in activate functions and partially in the change_state function.
8840         Fixes setup before the element has changed from READY->PAUSED, as
8841         is the case in pull-mode pipelines.
8842         (gst_base_transform_sink_activate_push)
8843         (gst_base_transform_src_activate_pull): Refactor to use
8844         gst_base_transform_activate().
8845         (gst_base_transform_change_state): Removed, not needed any more.
8846
8847         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
8848         Truncate before fixating.
8849         
8850         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
8851         Don't set_caps() if the result of fixating is ANY, as it's not
8852         supported, and not necessary in the case of a link with no
8853         template caps on either side. Fixes tests/check/libs/basesrc in
8854         some pull-mode tests.
8855
8856         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
8857         (gst_base_transform_init, gst_base_transform_sink_activate_push)
8858         (gst_base_transform_src_activate_pull): 
8859         Track the activation mode.
8860         (gst_base_transform_setcaps): In pull mode, when activating the
8861         src pad, after activating the sink pad, activate the sink pad's
8862         peer, as discussed in part-negotiation.txt.
8863
8864         * libs/gst/base/gstbasesrc.h: 
8865         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
8866         vmethod, as in basesink.
8867
8868         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
8869
8870         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
8871         mode, first proxy the setcaps to the peer pad.
8872         (gst_base_sink_pad_fixate): Add a fixate function that calls the
8873         new fixate vmethod.
8874         (gst_base_sink_default_activate_pull): Rename from
8875         gst_base_sink_activate_pull.
8876         (gst_base_sink_negotiate_pull): New function, performs negotiation
8877         in pull mode before calling ::activate_pull().
8878         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
8879         vmethod instead of the default implementation. I have no idea how
8880         this worked before. Negotiate before calling activate_pull.
8881
8882         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
8883         sink pads in pull mode. In addition to being correct, fixes
8884         filesrc ! decodebin ! identity ! fakesink.
8885         (gst_pad_get_range, gst_pad_pull_range): Don't call
8886         gst_pad_set_caps() if the caps changes; instead error out with
8887         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
8888
8889 2007-01-12  Andy Wingo  <wingo@pobox.com>
8890
8891         * docs/design/part-negotiation.txt: Update with more policy.
8892
8893 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
8894
8895         * libs/gst/check/gstbufferstraw.h:
8896         * libs/gst/check/gstcheck.h:
8897           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
8898           belongs.
8899
8900 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
8901
8902         * tests/check/Makefile.am:
8903         * tests/check/gst/.cvsignore:
8904         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
8905         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
8906         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
8907         (GST_START_TEST), (gst_tag_setter_suite):
8908           Add minimal unit test for beforementioned GstTagSetter bug.
8909
8910 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
8911
8912         Patch by: René Stadler <mail at renestadler dot de>
8913
8914         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
8915           gst_tag_list_merge() returns a new list, so it's not the best idea
8916           to ingore its return value. Effectively meant that tags could only
8917           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
8918           Also add function guard to require a non-NULL taglist as input (has
8919           always been so due to gst_tag_list_copy(), just making it explicit).
8920
8921 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
8922
8923         * docs/random/draft-missing-plugins.txt:
8924           Some additions: mention new API that is supposed to be used at the
8925           various stages; short blob about new gst-inspect introspection
8926           option; mention potential future problem with plugins that have
8927           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
8928
8929 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
8930
8931         * tools/gst-inspect.c:
8932         (print_plugin_automatic_install_info_codecs),
8933         (print_plugin_automatic_install_info_protocols),
8934         (print_plugin_automatic_install_info), (main):
8935         Add --print-plugin-auto-install-info option to gst-inspect, so we can
8936         introspect plugin files and get machine-parsable output that corresponds
8937         to the last bit of the missing-plugin installer string (small gotcha:
8938         doesn't take into account ranks).
8939
8940 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
8941
8942         * configure.ac:
8943         * docs/gst/gstreamer-sections.txt:
8944         * gst/Makefile.am:
8945         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
8946         (gst_registry_lookup_locked):
8947         * gst/gstregistry.h:
8948         * gst/gstregistrybinary.c: (gst_registry_binary_write),
8949         (gst_registry_binary_initialize_magic),
8950         (gst_registry_binary_save_string),
8951         (gst_registry_binary_save_pad_template),
8952         (gst_registry_binary_save_feature),
8953         (gst_registry_binary_save_plugin),
8954         (gst_registry_binary_write_cache),
8955         (gst_registry_binary_check_magic),
8956         (gst_registry_binary_load_pad_template),
8957         (gst_registry_binary_load_feature),
8958         (gst_registry_binary_load_plugin),
8959         (gst_registry_binary_read_cache):
8960         * gst/gstregistrybinary.h:
8961         * gst/gstregistryxml.c: (load_feature),
8962         (gst_registry_xml_read_cache):
8963           commit binary registry (disabled by default, see #359653)
8964
8965 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
8966
8967         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
8968           Fix 'make check' too.
8969
8970 2007-01-10  Andy Wingo  <wingo@pobox.com>
8971
8972         * docs/design/part-negotiation.txt: Fix a typo, add a couple
8973         notes.
8974         
8975         * docs/design/part-negotiation.txt: Update with, um, one way that
8976         pull-mode negotiation might work?
8977
8978         * gst/gstpad.h: 
8979         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
8980         that the pad must be a src pad; makes sense to call it the other
8981         way in pull mode, and the logic is symmetric anyway.
8982
8983 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
8984
8985         * plugins/elements/gstfilesink.c:
8986           Include <stdio.h> for fseeko().
8987
8988 2007-01-10  Wim Taymans  <wim@fluendo.com>
8989
8990         * gst/gstevent.c:
8991         * gst/gstevent.h:
8992         Reserve LATENCY event.
8993
8994 2007-01-09  Wim Taymans  <wim@fluendo.com>
8995
8996         * docs/design/draft-latency.txt:
8997         Updates.
8998
8999 2007-01-09  Wim Taymans  <wim@fluendo.com>
9000
9001         * docs/design/draft-latency.txt:
9002         Updates.
9003
9004         * gst/gstelement.h:
9005         * gst/gststructure.c:
9006         * gst/gsttrace.c:
9007         Small typo fixes.
9008
9009 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
9010
9011         * tests/check/.cvsignore:
9012           Ignore test-registry.xml as well.
9013
9014 2007-01-09  Wim Taymans  <wim@fluendo.com>
9015
9016         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
9017         unref data at the end when we are done with the pad.
9018
9019 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
9020
9021         * docs/gst/gstreamer-sections.txt:
9022         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
9023         (init_post), (gst_deinit), (gst_update_registry):
9024         * gst/gst.h:
9025           API: add gst_update_registry() (#391296).
9026
9027         * tests/check/Makefile.am:
9028         * tests/check/gst/gstregistry.c:
9029         * tests/check/gst/.cvsignore:
9030           Simple unit test for the above.
9031
9032 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
9033
9034         * gst/gstregistry.c: (gst_registry_scan_path_level):
9035           Plugin extension on HP-UX is .sl, add that to the list of approved
9036           plugin extensions (see #393796).
9037
9038         * tests/check/gst/gstpad.c: (GST_START_TEST):
9039           ulong => gulong. Fixes compilation with HP-UX compiler.
9040
9041         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
9042           Fix compilation if valgrind headers are not available.
9043
9044 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
9045
9046         * win32/common/libgstreamer.def: 
9047           Add new exported function.
9048         * win32/vs6/libgstbase.dsp: 
9049           Add gstdataqueue.c to the build.
9050         * win32/vs6/libgstcoreelements.dsp:
9051           Add gstmultiqueue.c to the build.
9052         
9053 2007-01-06  Andy Wingo  <wingo@pobox.com>
9054
9055         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
9056         activate_pull(), providing for a way to specialize the process of
9057         spawning a thread to pull on the sink pad. There is a default
9058         implementation.
9059
9060         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
9061         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
9062         (gst_base_sink_init): Renamed pad activation functions (inserting
9063         "_pad" in their names). Refactor to use the new activate_pull
9064         vmethod, as appropriate.
9065         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
9066         default activate_pull function to start a task pulling from the
9067         sink pad, as before.
9068
9069         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
9070         on the pads if necessary, as in push()/chain(). Update docs.
9071         Shouldn't affect existing pull() usage as it is currently only
9072         being used on buffers without caps.
9073
9074 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
9075
9076         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9077         (init_pre):
9078           Call g_thread_init() first thing in gst_init() / gst_check_init().
9079           When initialisation is done via gst_init_get_option_group() and
9080           GOption parsing, issue a warning if the GLib thread system has not
9081           been initialised yet by the time gst_init_get_option_group() is
9082           called, as it's quite likely other GLib functions such as
9083           g_option_context_new() have been called already then, and
9084           g_thread_init() must be called before any other GLib function. The
9085           application in question must be fixed in that case, since memory
9086           corruption might happen otherwise.
9087           We issue the warning because even if the GLib folks decide to work
9088           around the problem on their end in future, this is still an issue
9089           with all GLib versions >= 2.10.0, so we should warn until we depend
9090           on a GLib version we know to be safe.
9091           Update documentation as well.
9092           Closes bug #391278.
9093
9094 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
9095
9096         * tools/gst-inspect.c: (main):
9097         * tools/gst-launch.c: (main):
9098         * tools/gst-typefind.c: (main):
9099         * tools/gst-xmlinspect.c: (main):
9100           Call g_thread_init() really really early, before any other GLib
9101           function (see #342564 and recent discussion on gtk-devel-list).
9102
9103 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
9104
9105         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
9106
9107         * gst/gst_private.h:
9108         * gst/gstconfig.h.in:
9109         * gst/gstinfo.h:
9110           On win32, all the __declspec stuff for symbol exporting is
9111           apparently only needed with MSVC, but doesn't work with MingW.
9112           Fixes compilation with MingW and #391909.
9113
9114 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
9115
9116         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
9117           Change some GST_ERROR_OBJECT that aren't really errors to
9118           GST_WARNING_OBJECT in order to reduce terminal spam.
9119
9120 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
9121
9122         * tests/check/Makefile.am:
9123           disable test again, as there seem to be still race problems
9124
9125 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
9126
9127         * tests/check/Makefile.am:
9128         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9129         (GST_START_TEST), (queue_suite):
9130           enable queue test again, add tests for the leaky behaviour
9131
9132 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
9133
9134         * configure.ac:
9135         * tests/examples/Makefile.am:
9136           Compile adapter test/example only if the required headers are
9137           available (fixes #391915).
9138
9139 2007-01-01  David Schleef  <ds@schleef.org>
9140
9141         * gst/gstplugin.c:
9142           Restore the previous signal handler for SIGSEGV instead of
9143           setting to default, since we may have stolen it away from
9144           someone.  (i.e., Mono)
9145
9146 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
9147
9148         * docs/random/draft-missing-plugins.txt:
9149           Some small additions and clarifications.
9150
9151 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
9152
9153         * gst/gstregistryxml.c: (gst_registry_save_escaped):
9154           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
9155           since that can lead to random memory corruptions and crashes
9156           (may or may not be related to #383244, #386711, and #386711).
9157
9158 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9159
9160         * tests/check/.cvsignore:
9161         * tests/check/Makefile.am:
9162           sync .cvsignome and CLEANFILES
9163
9164 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9165
9166         * tests/check/Makefile.am:
9167           fix distcheck
9168
9169 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9170
9171         * docs/design/part-states.txt:
9172           two tiny additional comments
9173         
9174         * gst/gststructure.c:
9175           doc fixing
9176
9177         * tests/check/Makefile.am:
9178         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9179         (GST_START_TEST):
9180           disable test for now, unless it gets fixed
9181
9182 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9183
9184         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9185         (GST_START_TEST):
9186           fix race in underrun test
9187
9188 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9189
9190         * tests/check/elements/.cvsignore:
9191           ignore more
9192
9193         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9194         (GST_START_TEST):
9195           try to narrow test failure
9196
9197 2006-12-21  David Schleef  <ds@schleef.org>
9198
9199         * plugins/elements/gstfakesrc.c:
9200           Use g_random_int_range(), since it produces better random
9201           numbers in a range than almost-correct floating point code.
9202
9203 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9204
9205         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
9206         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
9207         (gst_check_teardown_sink_pad):
9208           do not automatically (de)activate pads
9209
9210         * tests/check/Makefile.am:
9211         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9212         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
9213           add new, yet simple tests for queue
9214
9215         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
9216         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
9217         * tests/check/elements/filesrc.c: (cleanup_filesrc),
9218         (GST_START_TEST):
9219         * tests/check/elements/identity.c: (cleanup_identity):
9220           consistent pad (de)activation
9221
9222 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
9223
9224         Patch by: Sebastian Dröge  <slomo ubuntu com>
9225
9226         * libs/gst/base/gstcollectpads.c:
9227           Fix two doc typos (#387866).
9228
9229 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
9230
9231         * docs/manual/advanced-dparams.xml:
9232           Fix typo (g_object_control_properties() doesn't exist).
9233
9234 2006-12-19  Edward Hervey  <edward@fluendo.com>
9235
9236         * gst/gstsegment.c: (gst_segment_set_seek):
9237         Fine tune the cases where the segment start/stop values are really
9238         updated.
9239         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9240         Add tests for the return values of gst_segment_set_seek().
9241
9242 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
9243
9244         * gst/gst.c:
9245           Docs typo fix.
9246
9247         * plugins/elements/gstqueue.c: (gst_queue_class_init),
9248         (gst_queue_init):
9249           Fix incorrect documentation and flesh it out a bit more.
9250           Set default values for the max properties on the GParamSpec as well,
9251           so it shows up correctly in gst-inspect.
9252
9253 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
9254
9255         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
9256           Correct docs of queue, add more detail and crosslink it more.
9257
9258 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
9259
9260         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9261           Print additional debug info when the stream isn't perfectly
9262           timestamped; don't try to use invalid durations.
9263
9264 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
9265
9266         * docs/design/Makefile.am:
9267           Dist new design docs.
9268
9269 2006-12-16  Wim Taymans  <wim@fluendo.com>
9270
9271         Patch by: Sjoerd Simons <sjoerd at luon dot net>
9272
9273         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
9274         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
9275         (gst_collect_pads_stop), (gst_collect_pads_event),
9276         (gst_collect_pads_chain):
9277         * libs/gst/base/gstcollectpads.h:
9278         Add refcounting to the collectpads data so we can track when it's safe
9279         to free the data. Fixes #383382.
9280
9281 2006-12-15  Wim Taymans  <wim@fluendo.com>
9282
9283         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
9284         (gst_collect_pads_remove_pad):
9285         Automatically activate/deactivate pads when they are added to a
9286         started/stoped collectpads.
9287
9288 2006-12-15  Wim Taymans  <wim@fluendo.com>
9289
9290         * gst/gstelement.c: (gst_element_add_pad):
9291         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
9292         * gst/gstpad.c: (gst_pad_init):
9293         Set pads to FLUSHING when they are created. Check, warn and fix when a
9294         demuxer adds an inactive pad to itself when running. Fixes #339326.
9295
9296 2006-12-15  Wim Taymans  <wim@fluendo.com>
9297
9298         * gst/gstelement.c: (gst_element_class_init),
9299         (gst_element_default_send_event), (gst_element_send_event),
9300         (gst_element_default_query), (gst_element_query):
9301         Expose default element send_event and query handling as vmethods that
9302         subclasses can chain up to.
9303
9304 2006-12-15  Wim Taymans  <wim@fluendo.com>
9305
9306         * gst/gstelement.c: (gst_element_set_state_func):
9307         Small documentation fixes.
9308
9309 2006-12-15  Wim Taymans  <wim@fluendo.com>
9310
9311         * docs/design/draft-latency.txt:
9312         Checked in draft for handling latency in pipelines.
9313
9314 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9315
9316         * Makefile.am:
9317         * gstreamer.doap:
9318         * gstreamer.spec.in:
9319           adding .doap file
9320
9321 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
9322
9323         * gst/gst.c: (init_pre), (init_post):
9324           init_pre() and init_post() might be called via our GOptionGroup or
9325           from gst_init(), and we should skip both of them if we've already
9326           been initialised, otherwise we will init some things twice or add
9327           two default log functions.
9328
9329 2006-12-13  Edward Hervey  <edward@fluendo.com>
9330
9331         * docs/manual/basics-bus.xml:
9332         No, gst_main_loop does not exist. Its g_main_loop.
9333         Discovered by somebody who abused the copy-paste technique of coding :)
9334
9335 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
9336
9337         * gst/gstghostpad.c:
9338           Log ghostpad debug stuff to the GST_PADS category as well rather
9339           than just to the default category.
9340
9341 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9342
9343         * configure.ac:
9344         * gst/gst.c: (init_pre):
9345           Add some basic system details such as OS and architecture
9346           to the debug output if possible, courtesy of uname().
9347
9348 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9349
9350         * docs/gst/running.xml:
9351           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
9352           environment variables.
9353
9354 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
9355
9356         * tests/check/gst/gstbin.c: (GST_START_TEST):
9357         It is acceptable to have a refcount of 2 or 3 at this point in the
9358         test, because the pipeline might be just posting its state_change
9359         message. The next line then waits for that message to appear using
9360         bus_poll, so that should be fine too.
9361
9362 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
9363
9364         * gst/gst.c: (ensure_current_registry_forking):
9365         Ignore EINTR when reading from the child registry pipe.
9366         Explicitly ignore the return value from close, since it makes no
9367         difference.
9368
9369         * gst/gstminiobject.c: (gst_mini_object_ref),
9370         (gst_mini_object_unref):
9371         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
9372
9373         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
9374         When removing cached plugins, remove their features too, so they're
9375         not visible after they've disappeared.
9376
9377         * gst/gstutils.c: (prepare_link_maybe_ghosting):
9378         In the unlikely case that we are linking pads with no parents, don't
9379         crash trying to get the non-existent parent bin.
9380
9381         * gst/parse/grammar.y:
9382         Output debug in the PIPELINE category
9383
9384 2005-03-08  Wim Taymans  <wim@fluendo.com>
9385
9386         Patch by: René Stadler <mail at renestadler dot de>
9387
9388         * gst/gstclock.c: (gst_clock_new_periodic_id):
9389         Reject invalid clock times for interval of periodic ids.
9390         Fixes ##383506.
9391
9392 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
9393
9394         * gst/gstelementfactory.c: (gst_element_factory_create):
9395         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9396         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
9397         * tools/gst-inspect.c: (print_element_info):
9398         Fix refcounting of gst_plugin_feature_load to match the docs. 
9399         Fixes: #380129
9400
9401 2006-12-07  Wim Taymans  <wim@fluendo.com>
9402
9403         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
9404         (gst_base_sink_get_position):
9405         Improve debugging of events.
9406
9407 2006-12-07  Wim Taymans  <wim@fluendo.com>
9408
9409         Patch by: René Stadler <mail at renestadler dot de>
9410
9411         * gst/gstclock.c: (gst_clock_id_wait):
9412         Make period ids add the interval to the origial requested time instead
9413         of the possibly updated time which can be wrong when there are multiple
9414         waiters for the same id. Fixes #382592.
9415
9416         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
9417         (gst_system_clock_id_wait_jitter_unlocked),
9418         (gst_system_clock_id_wait_jitter):
9419         Fix restart in the async notify thread when an async entry is added to
9420         the front of the list. Fixes #381492. 
9421
9422         * tests/check/gst/gstsystemclock.c: (store_callback),
9423         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
9424         Added test for multiple async waits.
9425         Added test for async wait order.
9426
9427 2006-12-07  Wim Taymans  <wim@fluendo.com>
9428
9429         * gst/gstbin.c: (gst_bin_query):
9430         Add some more docs about the POSITION query.
9431
9432 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
9433
9434         * configure.ac:
9435         Bump version nano - back to CVS.
9436
9437 === release 0.10.11 ===
9438
9439 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
9440
9441         * configure.ac:
9442           releasing 0.10.11, "Love never runs on time"
9443
9444 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
9445
9446         * win32/common/libgstbase.def:
9447         * win32/common/libgstreamer.def:
9448         * win32/vs8/libgstbase.vcproj:
9449         * win32/vs8/libgstcoreelements.vcproj:
9450         * win32/vs8/libgstreamer.vcproj:
9451         Fix compilation on win32 under VS8
9452         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
9453         Partially fixes #381175
9454
9455 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
9456
9457         * gst/gstvalue.c: (gst_value_compare_fraction):
9458         If someone is foolish enough to compare 2 fractions with denominator =
9459         0, return UNORDERED rather than aborting.
9460
9461 2006-11-28  Edward Hervey  <edward@fluendo.com>
9462
9463         * libs/gst/base/Makefile.am:
9464         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
9465         (gst_data_queue_base_init), (gst_data_queue_class_init),
9466         (gst_data_queue_init), (gst_data_queue_new),
9467         (gst_data_queue_cleanup), (gst_data_queue_finalize),
9468         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
9469         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
9470         (gst_data_queue_is_empty), (gst_data_queue_is_full),
9471         (gst_data_queue_set_flushing), (gst_data_queue_push),
9472         (gst_data_queue_pop), (gst_data_queue_drop_head),
9473         (gst_data_queue_set_property), (gst_data_queue_get_property):
9474         * libs/gst/base/gstdataqueue.h:
9475         New GstDataQueue object for threadsafe queueing. Most useful for
9476         elements that need some queueing functionnality.
9477         * docs/libs/gstreamer-libs-docs.sgml:
9478         * docs/libs/gstreamer-libs-sections.txt:
9479         Insert documentation for GstDataQueue
9480         * plugins/elements/Makefile.am:
9481         * plugins/elements/gstelements.c:
9482         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
9483         (gst_multi_queue_class_init), (gst_multi_queue_init),
9484         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
9485         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
9486         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
9487         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
9488         (gst_multi_queue_loop), (gst_multi_queue_chain),
9489         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
9490         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
9491         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
9492         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
9493         (wake_up_next_non_linked), (compute_next_non_linked),
9494         (single_queue_overrun_cb), (single_queue_underrun_cb),
9495         (single_queue_check_full), (gst_single_queue_new):
9496         * plugins/elements/gstmultiqueue.h:
9497         New multiqueue element, using GstDataQueue. Used for queuing multiple
9498         streams.
9499         Closes #344639 and #347785
9500
9501 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
9502
9503         * docs/pwg/advanced-types.xml:
9504           add more missing type details
9505
9506         * tools/gst-run.c: (main):
9507           remove unused variable
9508
9509 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
9510
9511         * docs/libs/Makefile.am:
9512         * docs/libs/gstreamer-libs.types:
9513           add types of base classes to enable gobject specific stuff in the docs
9514
9515         * docs/random/ensonic/embedded.txt:
9516           more ideas about isolating platform specific things
9517
9518 2006-11-20  Wim Taymans  <wim@fluendo.com>
9519
9520         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
9521
9522         * libs/gst/check/gstcheck.h:
9523         Fix compilation and running against 0.9.4. Fixes #377332.
9524
9525 2006-11-20  Wim Taymans  <wim@fluendo.com>
9526
9527         * gst/gstsegment.c: (gst_segment_set_seek),
9528         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
9529         (gst_segment_to_running_time):
9530         Fix boundary checking in to_running_time() and to_stream_time().
9531         Fixes #377183.
9532
9533         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9534         stream and running time can now be calculated for the complete
9535         clipped segment.
9536
9537 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
9538
9539         * gst/gstpad.c: (gst_pad_push_event):
9540           Can't access event structure after giving away ownership of
9541           the event.
9542
9543 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
9544
9545         * docs/random/ensonic/embedded.txt:
9546         * docs/random/ensonic/profiling.txt:
9547         * docs/random/ensonic/receipies.txt:
9548           more thinking
9549
9550 2006-11-13  Wim Taymans  <wim@fluendo.com>
9551
9552         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
9553
9554         * gst/gstpad.c:
9555         Fix documentation for gst_pad_dispatcher. Fixes #374475.
9556
9557 2006-11-13  Wim Taymans  <wim@fluendo.com>
9558
9559         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
9560
9561         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
9562         Store new length in segment duration so we don't keep on calling the
9563         potentially expensize get_size() call. Fixes #370865.
9564
9565 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
9566
9567         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
9568
9569         * win32/common/libgstreamer.def:
9570           Add two missing symbols (#366492).
9571
9572 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
9573
9574         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
9575         (gst_adapter_take_buffer):
9576         Fix format string to use all its arguments.
9577         Remove useless >= check on a guint
9578
9579 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
9580
9581         * tests/examples/adapter/.cvsignore:
9582         Ignore build file as commanded by the build-bot
9583
9584 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
9585
9586         * tests/examples/adapter/Makefile.am:
9587         * tests/examples/adapter/adapter_test.c: (run_test_take),
9588         (run_test_take_buffer), (run_tests), (main):
9589
9590         Add new files from the previous commit
9591
9592 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
9593
9594         * Makefile.am:
9595         * configure.ac:
9596         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
9597         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
9598         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
9599         * libs/gst/base/gstadapter.h:
9600         * tests/check/libs/adapter.c: (create_and_fill_adapter),
9601         (GST_START_TEST), (gst_adapter_suite):
9602         * tests/examples/Makefile.am:
9603         Do some optimisation work in GstAdapter to avoid copies in more cases.
9604         It could still do slightly better by merging buffers when
9605         gst_buffer_is_span_fast is true, but is already faster. 
9606
9607         Also, avoid traversing a single-linked list to append each incoming 
9608         buffer inside the adapter.
9609
9610         Add simple test app that times the adapter behaviour in different
9611         situations, and extend the unit test to check that bytes enter and
9612         exit the adapter in their original order.
9613
9614 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
9615
9616         * docs/random/draft-missing-plugins.txt:
9617           Update: use element message instead of adding a new message
9618           type to the core; don't provide GStreamer API to initiate the
9619           plugin download, just provide API to compose the strings needed
9620           and let an external libgimmestuff handle the rest.
9621
9622 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
9623
9624         * tools/gst-inspect.c: (print_element_properties_info):
9625         Print a string instead of 'unknown type' for GValueArray properties
9626
9627 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
9628
9629         * docs/random/draft-missing-plugins.txt:
9630         More small fixes.
9631
9632 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
9633
9634         * tests/examples/typefind/typefind.c: (type_found), (main):
9635           Make typefind element example work again (#371894); add a
9636           license header.
9637
9638 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
9639
9640         * docs/random/draft-missing-plugins.txt:
9641           Commit initial draft about how to deal with missing plugins,
9642           needs work (API too).
9643
9644 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
9645
9646         * docs/pwg/advanced-types.xml:
9647           documents the new caps elements (see #363118)
9648
9649 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
9650
9651         * gst/gstplugin.c: (gst_plugin_load_file):
9652         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
9653         (gst_file_src_map_region), (gst_file_src_start):
9654         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
9655         (gst_file_index_commit):
9656           Use g_strerror() instead of strerror() - we want UTF-8.
9657
9658 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
9659
9660         Patch by: Peter Kjellerstedt <pkj at axis com>
9661
9662         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
9663           Another printf fix (#371493).
9664
9665 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
9666
9667         * tests/check/gst/gsttag.c:
9668           relicence (okay with author=company)
9669
9670 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
9671
9672         * gst/gstpad.c: (gst_pad_event_default_dispatch),
9673         (gst_pad_push_event):
9674           Enhance debug and improve docs
9675         
9676         * gst/gsturi.c:
9677           Fix docs
9678
9679 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
9680
9681         * docs/random/ensonic/distributed.txt:
9682         * docs/random/ensonic/profiling.txt:
9683           more ideas
9684
9685 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
9686
9687         * docs/gst/gstreamer-sections.txt:
9688           add new API and fix the build
9689           
9690         * gst/gstbin.c: (gst_bin_recalc_state):
9691         * gst/gstelement.c: (gst_element_message_full),
9692         (gst_element_get_state_func), (gst_element_set_state_func):
9693           use new API and improve logging
9694         
9695         * gst/gstutils.c: (gst_element_state_change_return_get_name):
9696         * gst/gstutils.h:
9697           API: add function to get StateChangereturn names to improve logs 
9698
9699 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9700
9701         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
9702           I'm considering shooting the next person to put strerror stuff
9703           in the translateable part of the message.
9704
9705 2006-11-03  Wim Taymans  <wim@fluendo.com>
9706
9707         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
9708         Get the type and printf conversion specifiers right.
9709
9710 2006-11-03  Wim Taymans  <wim@fluendo.com>
9711
9712         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
9713
9714         * gst/gstpad.c: (gst_pad_init), (pre_activate),
9715         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
9716         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
9717         Some small cleanups. Improve debugging.
9718         * gst/gstpad.h:
9719         Signal all waiting threads with a broadcast instead of just one.
9720         Fixes #369942.
9721
9722 2006-11-03  Wim Taymans  <wim@fluendo.com>
9723
9724         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
9725         (gst_fd_src_create):
9726         Add some debugging. 
9727         Only update fd when it's different from the old.
9728
9729 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
9730
9731         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
9732           Printf fixes for PPC/OSX, take two (#369366).
9733
9734 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
9735
9736         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
9737
9738         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
9739         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
9740         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
9741           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
9742           don't cast to long long for portability reasons, but use
9743           GLib's types instead.
9744
9745 2006-10-30  Michael Smith  <msmith@fluendo.com>
9746
9747         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
9748           Get the arguments to lseek() the right way around.
9749           Fixes 367677.
9750
9751 2006-10-30  Wim Taymans  <wim@fluendo.com>
9752
9753         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
9754
9755         * gst/gstinfo.h:
9756         _declspec should be __declspec (two underscores, not one). Fixes 366572.
9757
9758 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
9759
9760         Patch by: Kjartan Maraas  <kmaraas at gnome org>
9761
9762         * docs/design/part-MT-refcounting.txt:
9763         * docs/random/wtay/capsnego2-docs:
9764         * gst/gstclock.c:
9765         * gst/gstxml.c:
9766           Typo fixes (#366212).
9767
9768 2006-10-28  Wim Taymans  <wim@fluendo.com>
9769
9770         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
9771
9772         * gst/gst.c:
9773         * win32/common/libgstbase.def:
9774         * win32/common/libgstreamer.def:
9775         * win32/vs8/libgstbase.vcproj:
9776         * win32/vs8/libgstcontroller.vcproj:
9777         Add needed entries in .def files.
9778         Use HAVE_UNISTD_H.
9779         Rearrange def files in vs8 solutions. Fixes #366286.
9780
9781 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
9782
9783         * win32/common/gstconfig.h:
9784           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
9785           hand-made win32 gstconfig.h. Fixes #366321.
9786
9787 2006-10-27  Wim Taymans  <wim@fluendo.com>
9788
9789         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
9790         (gst_ghost_pad_new_full):
9791         Make acceptcaps return TRUE when we don't have a target, just like
9792         setcaps does.
9793
9794 2006-10-27  Wim Taymans  <wim@fluendo.com>
9795
9796         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
9797         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
9798
9799 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
9800
9801         * gst/gststructure.c: (gst_structure_id_set_value):
9802           If someone tries to set a non-UTF8 string field on a structure,
9803           don't just print a warning, but also ignore the request and do
9804           not change/add that field to the structure.
9805
9806         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9807           Test for the above.
9808
9809 2006-10-25  David Schleef  <ds@schleef.org>
9810
9811         * gst/gstinfo.c:
9812           g_hash_table_insert() needs a cast to a non-const pointer duh.
9813
9814 2006-10-25  David Schleef  <ds@schleef.org>
9815
9816         * gst/gstinfo.c:
9817         * gst/gstinfo.h:
9818           Change name parameter of _gst_debug_register_funcptr to const
9819           to reflect the constness of its use in the function as well
9820           as to quiet a gcc warning.
9821
9822 2006-10-25  Edward Hervey  <edward@fluendo.com>
9823
9824         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
9825         Don't push the buffer if it's empty.
9826         Closes #363095
9827
9828 2006-10-24  Wim Taymans  <wim@fluendo.com>
9829
9830         * gst/gstevent.h:
9831         Add small comment.
9832
9833         * libs/gst/base/gstbasetransform.c:
9834         (gst_base_transform_sink_eventfunc):
9835         Debug segment values *after* updating them as this is more
9836         interesting.
9837
9838 2006-10-23  Wim Taymans  <wim@fluendo.com>
9839
9840         * docs/design/part-events.txt:
9841         Update some docs.
9842
9843         * docs/design/part-block.txt:
9844         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
9845         (gst_pad_push_event):
9846         Revert BLOCKING patch, it tries to be smart without really having a
9847         clear idea what or how. So, now we discard all FLUSHING events again on
9848         a blocking pad. Should fix gnonlin again.
9849
9850 2006-10-23  Wim Taymans  <wim@fluendo.com>
9851
9852         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
9853
9854         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
9855         (gst_base_src_start), (gst_base_src_activate_push):
9856         Make sure size is always initialized. Fixes #364388.
9857
9858 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
9859
9860         * docs/random/ensonic/distributed.txt:
9861           add some ideas about doing distributed processing
9862
9863         * docs/random/ensonic/profiling.txt:
9864           get_rusage look promising
9865
9866 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
9867
9868         * docs/manual/basics-helloworld.xml:
9869           Add a cast in example to fix compile warning
9870
9871 2006-10-18  Wim Taymans  <wim@fluendo.com>
9872
9873         * gst/gstsegment.c: (gst_segment_set_last_stop),
9874         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
9875         Relax arg checking again, -1 is allowed.
9876
9877 2006-10-18  Wim Taymans  <wim@fluendo.com>
9878
9879         * gst/gstsegment.c: (gst_segment_set_last_stop),
9880         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
9881         _set_last_stop() must be with a value != -1
9882         A _TYPE_SET to -1 means seek to 0.
9883         Calc last_stop correctly for negative rates.
9884         Make sure we work with positive durations when updating a segment.
9885
9886 2006-10-18  Wim Taymans  <wim@fluendo.com>
9887
9888         * docs/design/part-live-source.txt:
9889         * gst/gstclock.h:
9890         Small docs fixes.
9891
9892 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
9893
9894         * gst/gstbuffer.h:
9895           Add an explicit cast to GstBuffer** to keep old code that added an
9896           explicit cast to GstMiniObject** for gst_mini_object_replace()
9897           compiling without warning.
9898
9899 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
9900
9901         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
9902           check for validity of dates
9903
9904 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
9905
9906         * docs/gst/gstreamer-sections.txt:
9907           Forgot this one, makes gtk-doc shut up.
9908
9909 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
9910
9911         Patch by: Peter Kjellerstedt <pkj at axis com>
9912
9913         * gst/gstobject.h:
9914           Don't define xmlNodePtr to gpointer if the core was built with
9915           --disable-loadsave and --disable-registry, this will break
9916           applications that want to use libxml2 but are buildling against a
9917           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
9918           instead so we don't have to mess with the libxml2 namespace
9919           (#361675).
9920
9921 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
9922
9923         * gst/gstbuffer.h:
9924           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
9925           type-punned pointer warnings.
9926
9927 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
9928
9929         * gst/gstelement.h:
9930           Add casts to the correct return type to state <=> state transition
9931           macros.
9932
9933 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
9934
9935         * docs/design/part-live-source.txt:
9936           describe howto handle latency
9937         
9938         * docs/random/ensonic/profiling.txt:
9939           more ideas
9940
9941         * tools/gst-plot-timeline.py:
9942           fix log parsing for solaris, remove unused function
9943
9944 2006-10-16  Wim Taymans  <wim@fluendo.com>
9945
9946         * docs/design/part-trickmodes.txt:
9947         * gst/gstevent.c:
9948         Update some docs regarding reverse playback.
9949
9950 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
9951
9952         Patch by: Marcus Granado  <mrc dot gran at gmail com>
9953
9954         * win32/vs8/grammar.vcproj:
9955           Error out with a warning if glib-genmarshal.exe is not in path,
9956           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
9957
9958 2006-10-13  Wim Taymans  <wim@fluendo.com>
9959
9960         * gst/gstsegment.c: (gst_segment_set_seek):
9961         When seeking to stop -1, set last_stop (current position) to the
9962         duration of the segment.
9963
9964 2006-10-13  Wim Taymans  <wim@fluendo.com>
9965
9966         * gst/gstelement.h:
9967         Clarify _NO_PREROLL a bit more.
9968
9969         * gst/gstevent.c:
9970         Fix docs.
9971
9972         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
9973         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
9974         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
9975         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
9976         due to wrong locking order. Fixes #361769.
9977         Remove some redundant/misplaced checks in pad_block.
9978
9979         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9980         For negative rates, count backwards from the duration.
9981
9982 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9983
9984         * gst/gsterror.c: (_gst_library_errors_init):
9985           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
9986           up with something better).
9987
9988 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
9989
9990         * win32/vs6/libgstreamer.dsp:
9991         * win32/vs7/libgstreamer.vcproj:
9992         * win32/vs8/libgstreamer.vcproj:
9993           Don't reference glib-compat.c which is currently not used and not
9994           disted; add gstquark.c which was recently added. Fixes #361730.
9995
9996 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
9997
9998         * win32/common/libgstbase.def:
9999         * win32/common/libgstcontroller.def:
10000         * win32/common/libgstreamer.def:
10001           Add gst_caps_merge() and a bunch of other recently-added functions.
10002           Fixes #361732.
10003
10004 2006-10-11  Wim Taymans  <wim@fluendo.com>
10005
10006         * docs/plugins/gstreamer-plugins.args:
10007         * docs/plugins/inspect/plugin-coreelements.xml:
10008         * docs/plugins/inspect/plugin-coreindexers.xml:
10009         Update element args.
10010
10011         * gst/gstsystemclock.c:
10012         Small comment update.
10013
10014         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
10015         (gst_tee_request_new_pad), (gst_tee_release_pad),
10016         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
10017         (gst_tee_sink_activate_pull):
10018         * plugins/elements/gsttee.h:
10019         Some tee loving:
10020         Add default property defines.
10021         Implement release pad function.
10022         Give properties better blubs etc.
10023         Activate pads before adding them to a running tee.
10024         Do simple buffer_alloc on the first requested pad.
10025         Post error when activation fails.
10026
10027 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
10028
10029         * gst/gst.c: (ensure_current_registry_forking):
10030           Check return value of write() to make compiler happy.
10031
10032 2006-10-11  Wim Taymans  <wim@fluendo.com>
10033
10034         Patch by: Sjoerd Simons <sjoerd at luon dot net>
10035
10036         * plugins/elements/gstqueue.c: (gst_queue_chain):
10037         Recheck queue filledness after signalling the overrun when we're about
10038         to leak downstream because we released the lock when emitting the signal
10039         and the queue could be empty again. Fixes #352345.
10040
10041 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
10042
10043         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
10044           Fix refcounting here too, just like we did for _new_valist() a few
10045           days ago (#357180) (thanks to René Stadler). Also remove all those
10046           'Since: 0.9' from the gtk-doc blobs.
10047
10048         * tests/check/libs/controller.c: (controller_refcount_new_list),
10049         (gst_controller_suite):
10050           Unit test for the above.
10051
10052 2006-10-10  Wim Taymans  <wim@fluendo.com>
10053
10054         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
10055
10056         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
10057         (gst_pad_save_thyself):
10058         Update some docs.
10059         Write pad direction in XML output. Fixes #345496.
10060
10061 2006-10-10  Wim Taymans  <wim@fluendo.com>
10062
10063         Patch by: René Stadler <mail at renestadler dot de>
10064
10065         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10066         (gst_controller_new_list), (_gst_controller_dispose),
10067         (_gst_controller_finalize), (_gst_controller_class_init):
10068         Take ref to controlled object so that it cannot disappear. 
10069         Fixes #357432.
10070
10071 2006-10-10  Wim Taymans  <wim@fluendo.com>
10072
10073         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
10074         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10075         (gst_check_teardown_sink_pad):
10076         Activate/deactivate pads in setup/teardown respectively.
10077
10078 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10079
10080         Patch by: Josep Torra Valles <josep@fluendo.com>
10081
10082         * gst/Makefile.am:
10083         Cast values when making gstenumtypes.h.  This pacifies Forte
10084         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
10085         in the enumeration.
10086
10087 2006-10-09  Wim Taymans  <wim@fluendo.com>
10088
10089         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
10090         Rename some more @cur to @start to fix docs. 
10091
10092         * gst/gstsegment.c: (gst_segment_set_seek):
10093         Fix typo.
10094         time and start must always stay in sync as defined in design doc.
10095
10096         * gst/gsttaglist.c: (gst_tag_list_is_empty):
10097         Rename param to fix docs.
10098
10099         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10100         Check that start and time are in sync.
10101
10102         * tests/check/pipelines/parse-launch.c:
10103         (gst_parse_test_element_change_state):
10104         Activate pad before adding to the element.
10105
10106 2006-10-09  Wim Taymans  <wim@fluendo.com>
10107
10108         * docs/design/part-qos.txt:
10109         Fix typo.
10110
10111         * gst/gstevent.c:
10112         * gst/gstevent.h:
10113         Update seek event docs regarding negative rates.
10114         Rename @cur to @start. 
10115
10116         * gst/gstsegment.c: (gst_segment_set_seek):
10117         * gst/gstsegment.h:
10118         Update set_seek docs regarding negative rates.
10119         Correctly update last_stop to @stop when dealing with negative
10120         rates.
10121         Rename @cur to @start. 
10122
10123         * tests/check/gst/gstpad.c: (GST_START_TEST):
10124         Activate pads before trying to use them.
10125
10126         * tests/check/gst/gstsegment.c: (GST_START_TEST),
10127         (gst_segment_suite):
10128         Add simple check for segments and negative rates.
10129
10130 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
10131
10132         * gst/gsttaglist.c: (gst_tag_list_is_empty):
10133         * gst/gsttaglist.h:
10134         * docs/gst/gstreamer-sections.txt:
10135           API: add gst_tag_list_is_empty() (#360467).
10136
10137         * tests/check/gst/gsttag.c: (GST_START_TEST):
10138           And a test case.
10139
10140 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10141
10142         * gst/gstmessage.h:
10143         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
10144         a value that doesn't fit on enumeration.
10145
10146 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10147
10148         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
10149         Remove local debugging system and use Gstreamer's instead.
10150
10151 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10152
10153         Patch by: Josep Torra Valles <josep@fluendo.com>
10154
10155         * common/m4/gst-error.m4:
10156         Disable warning of statement not reached on Forte.
10157         * gst/gstmessage.h:
10158         Fix warning on Forte (value doesn't fit on enumeration).
10159         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
10160         Fix warning on Forte (value doesn't fit on enumeration).
10161         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
10162         DEBUG macro says it takes minimum of 2 args and so Forte
10163         complains about the use with just 1 arg.
10164         * plugins/elements/gstfdsink.c:
10165         * plugins/elements/gstfdsrc.c:
10166         * plugins/elements/gstfilesink.c:
10167         * plugins/elements/gstfilesrc.c:
10168         Use correct return type for the uri handler implementations.
10169
10170         All these fix warnings in Forte.  Fixes bug #360860.
10171
10172 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
10173
10174         * gst/gstelement.h:
10175           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
10176           format string, so don't use G_GNUC_PRINTF for those versions.
10177
10178 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
10179
10180         * gst/gsttaglist.c: (gst_is_tag_list):
10181         * gst/gsttaglist.h:
10182           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
10183
10184         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10185           Small test for the above.
10186
10187 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
10188
10189         * gst/gsttaglist.h:
10190           Less tabs, more spaces.
10191
10192 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
10193
10194         * gst/gstinfo.h:
10195           Those two function declarations do actually belong there, revert
10196           commit from yesterday that turned them intro macros.
10197
10198 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10199
10200         Patch by: Josep Torra Valles <josep@fluendo.com>
10201
10202         * gst/gst.c: (gst_init_get_option_group):
10203         Fix empty declaration and type mismatch.
10204         * gst/gstbin.c: (gst_bin_change_state_func):
10205         Fix type mismatch.
10206         * gst/gstelement.c: (gst_element_continue_state),
10207         (gst_element_set_state_func), (gst_element_change_state),
10208         (gst_element_change_state_func):
10209         Fix type mismatches.
10210         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
10211         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
10212         Cast as appropriate.
10213         * gst/gstobject.c: (gst_class_signal_connect):
10214         Cast as appropriate.  The function pointer parameter really
10215         has the wrong type but would break API if we change it.
10216         * gst/gstquery.c:
10217         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
10218         order of including string.h.
10219         * gst/gstutils.c: (gst_element_state_get_name):
10220         Remove unreachable line.
10221         * gst/gstxml.c: (gst_xml_parse_doc):
10222         Fix type mismatch.
10223         All these caught by Forte.
10224
10225 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10226
10227         Patch by: Josep Torra Valles <josep@fluendo.com>
10228
10229         * common/m4/gst-error.m4:
10230         Fixed bug #360151.
10231         We need to disable warnings on Forte for empty declarations
10232         due to gst-indent adding ;s to lines that just use macros
10233         where the macro actually doesn't need a ; at end to end
10234         statement.
10235
10236 2006-10-06  Wim Taymans  <wim@fluendo.com>
10237
10238         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
10239         (gst_file_sink_close_file), (gst_file_sink_event),
10240         (gst_file_sink_render):
10241         Add some FIXME for the NEWSEGMENT handling.
10242
10243 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10244
10245         * gst/parse/grammar.y:
10246         Remove static function gst_parse_element_lock as all it does
10247         is return.  Looks like cruft from 0.8.
10248
10249 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10250
10251         Patch by: Josep Torra Valles <josep@fluendo.com>
10252
10253         * common/m4/gst-error.m4:
10254         * configure.ac:
10255         * libs/gst/net/Makefile.am:
10256         Fix a compilation issue with Forte on Solaris.  inet_aton is in
10257         libresolv.
10258
10259 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
10260
10261         * gst/gstpad.c: (pre_activate):
10262         * gst/gstregistry.c: (gst_registry_scan_path_level):
10263         * gst/gstregistryxml.c: (load_plugin):
10264         * libs/gst/controller/gstcontroller.c:
10265         (gst_controlled_property_set_interpolation_mode):
10266         * libs/gst/dataprotocol/dataprotocol.c:
10267         (gst_dp_packet_from_event_1_0):
10268         * libs/gst/net/gstnetclientclock.c:
10269         (gst_net_client_clock_observe_times):
10270         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
10271           Printf fixes.
10272
10273 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
10274
10275         * configure.ac:
10276         * docs/gst/gstreamer-sections.txt:
10277         * gst/gstconfig.h.in:
10278         * gst/gstelement.h:
10279         * gst/gstinfo.h:
10280           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
10281           whether we can use G_GNUC_PRINTF in other header files and at
10282           least check the printf format/arguments of debug messages and
10283           GST_ELEMENT_ERROR messages when the printf extension is not
10284           being used.
10285           Replace more tabs with spaces in gstinfo.h and remove two spurious
10286           function declarations in GST_DISABLE_DEBUG part with macros.
10287
10288 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
10289
10290         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
10291           More docs for the sync-message signal (mention that it is not
10292           emitted by default); log message structures of messages posted on
10293           the bus as well.
10294
10295 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
10296
10297         * gst/gst.c: (ensure_current_registry_forking):
10298         Use a pipe pair to receive status results from the forked child, and
10299         ignore the result from waitpid. Fixes #355499
10300
10301 2006-10-02  Wim Taymans  <wim@fluendo.com>
10302
10303         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
10304         (gst_ghost_pad_suite):
10305         Fix leak in check.
10306
10307 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
10308
10309         * gst/gstpad.c:
10310           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
10311
10312 2006-10-02  Edward Hervey  <edward@fluendo.com>
10313
10314         * docs/design/part-block.txt:
10315         Further explain the use of flushing on blocked pads.
10316         * docs/gst/gstreamer-sections.txt:
10317         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
10318         (gst_pad_push_event):
10319         * gst/gstpad.h:
10320         Added new GstPadFlag : GST_PAD_BLOCKING.
10321         Adds the notion of pads really blocking, which enables to properly
10322         handle FLUSH_START/FLUSH_STOP events on blocked pads.
10323         Fixes #358999
10324         API: gst_pad_is_blocking()
10325         API: GST_PAD_IS_BLOCKING() macro
10326         API: GST_PAD_BLOCKING GstPadFlag
10327         
10328 2006-10-02  Wim Taymans  <wim@fluendo.com>
10329
10330         Patch by: mrcgran <mrc.gran at gmail dot com>
10331
10332         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
10333         Filter the proxied caps against the padtemplate if we have one.
10334
10335         * gst/gstquery.c: (gst_query_new_segment):
10336         Add include for gstinfo.h so that compilation with
10337         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
10338
10339 2006-10-02  Wim Taymans  <wim@fluendo.com>
10340
10341         Patch by: Alessandro Decina  <alessandro at nnva org>
10342
10343         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
10344         (gst_file_sink_set_location), (gst_file_sink_open_file),
10345         (gst_file_sink_close_file), (gst_file_sink_event),
10346         (gst_file_sink_render):
10347         Set file to NULL when closing filesink so that we can set a new filename
10348         in READY. Fixes #358613.
10349
10350 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
10351
10352         Patch by: Alessandro Decina  <alessandro at nnva org>
10353
10354         * gst/gstevent.c: (_gst_event_copy):
10355           Fix gst_mini_object_make_writable() and gst_event_copy() for events
10356           with event structures by setting the parent refcount address of the
10357           copied structure to the address of the refcount member of the newly
10358           copied event rather than the address of the refcount member of the
10359           original event. Fixes #358737.
10360
10361         * tests/check/gst/gstevent.c: (GST_START_TEST):
10362           Unit test for the above.
10363
10364 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
10365
10366         * docs/design/Makefile.am:
10367           Dist some more files.
10368
10369 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10370
10371         * tests/check/libs/controller.c: (GST_START_TEST),
10372         (gst_controller_suite):
10373           Add test for the previous fix; add some more tests
10374           for correct refcounting behaviour; fix a few leaks
10375           in test cases; call gst_controller_init() at start
10376           of all tests.
10377
10378 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10379
10380         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10381         (gst_controller_set_from_list):
10382           Don't g_return_val_if_fail() on timed values with invalid timestamps
10383           inside a critical section without unlocking the mutex. Spotted by
10384           René Stadler. (#357617)
10385           Also, fix up refcounting properly: when returning an existing
10386           controller, we should increase the reference only once and not
10387           once per property and when trying to control a property again
10388           we should also increase the refcount.
10389
10390 2006-09-29  Wim Taymans  <wim@fluendo.com>
10391
10392         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
10393         * libs/gst/net/gstnettimeprovider.c:
10394         (gst_net_time_provider_thread):
10395         Stop reading commands when EOF as well.
10396
10397         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
10398         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
10399         * plugins/elements/gstidentity.c: (gst_identity_class_init):
10400         Unify description of the dump property.
10401
10402 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
10403
10404         * tests/examples/manual/.cvsignore:
10405         OK, so it's actually cvsignore that needs changing. Stop laughing.
10406
10407 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
10408
10409         * tests/examples/manual/Makefile.am:
10410         Gah, declare vars *before* using them
10411
10412 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
10413
10414         * gst/gst.c: (init_pre), (scan_and_update_registry),
10415         (ensure_current_registry_nonforking),
10416         (ensure_current_registry_forking), (ensure_current_registry),
10417         (init_post), (gst_debug_help), (gst_deinit):
10418         * gst/gst_private.h:
10419         * gst/gstregistry.c: (gst_registry_finalize),
10420         (gst_registry_remove_features_for_plugin_unlocked),
10421         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
10422         (gst_registry_scan_path),
10423         (_priv_gst_registry_remove_cache_plugins),
10424         (_priv_gst_registry_cleanup):
10425         * gst/gstregistry.h:
10426         Re-commit the registry changes, along with an extra fix:
10427           When a cached plugin is encountered at a different file path,
10428           update the stored path in the registry cache so that the parent
10429           process knows where it actually is now when it re-reads the registry
10430           cache. Fixes the thing that broke distcheck with the previous commit.
10431
10432         * tests/check/Makefile.am:
10433         Clean up files named 'core' too when running make clean.
10434
10435         * tests/examples/manual/Makefile.am:
10436         Set up a registry path for running these tests, and clean it properly
10437         for distcheck.
10438
10439 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
10440
10441         * configure.ac:
10442         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
10443         want gmodule-no-export-2.0.pc instead so that we don't drag in
10444         --export-dynamic on every project that links to GStreamer.
10445
10446         Also, make our export regex only match the start of symbols, rather 
10447         than any symbol that contains '_gst' somewhere.
10448
10449         * libs/gst/check/Makefile.am:
10450         The libgstcheck we build does however need export-dynamic, as it
10451         produces some symbols that don't match our _gst... style regex.
10452         Fixes: #318031
10453
10454 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
10455
10456         * gst/gst.c: (init_pre), (scan_and_update_registry),
10457         (ensure_current_registry_nonforking),
10458         (ensure_current_registry_forking), (ensure_current_registry),
10459         (init_post), (gst_debug_help), (gst_deinit):
10460         * gst/gst_private.h:
10461         * gst/gstregistry.c: (gst_registry_finalize),
10462         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
10463         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
10464         (_gst_registry_cleanup):
10465         * gst/gstregistry.h:
10466           Revert previous change until I figure out why it breaks distcheck.
10467
10468 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
10469
10470         * gst/gst.c: (init_pre), (scan_and_update_registry),
10471         (ensure_current_registry_nonforking),
10472         (ensure_current_registry_forking), (ensure_current_registry),
10473         (init_post), (gst_debug_help), (gst_deinit):
10474
10475           Make init_pre and init_post take the full complement of GOptionFunc
10476           args so they can return useful GErrors. Make the registry updating
10477           functions do so.
10478
10479           Call _priv_gst_registry_remove_cache_plugins after scanning files to
10480           ensure that the registry we're about to write out doesn't contain
10481           stale information about old-deleted plugin files.
10482
10483           Make _priv_gst_registry_remove_cache_plugins return a boolean so
10484           that deletion of plugin files is considered a registry change.
10485
10486         * gst/gst_private.h:
10487         * gst/gstregistry.c: (gst_registry_finalize),
10488         (gst_registry_remove_features_for_plugin_unlocked),
10489         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
10490         (gst_registry_scan_path),
10491         (_priv_gst_registry_remove_cache_plugins),
10492         (_priv_gst_registry_cleanup):
10493         * gst/gstregistry.h:
10494         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
10495         by adding _priv prefix, so that they won't appear in the global
10496         symbol table. They still do atm though because of #318031. Move the
10497         prototypes to gst_private.h
10498
10499         When removing a plugin, remove all features for that plugin too. 
10500         Fixes #340878.
10501
10502 2006-09-27  Wim Taymans  <wim@fluendo.com>
10503
10504         * docs/random/moving-plugins:
10505         Make it clear that the "compiled-in descriptions" really mean
10506         the element details.
10507
10508         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10509         (gst_base_sink_wait_preroll):
10510         Update docs.
10511
10512         * docs/libs/gstreamer-libs-sections.txt:
10513         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
10514         (gst_base_src_get_range), (gst_base_src_activate_push):
10515         * libs/gst/base/gstbasesrc.h:
10516         Added function to block while waiting for PLAYING, this function
10517         is used by live sources that block on the clock.
10518         API: gst_base_src_wait_playing()
10519
10520 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10521
10522         Patch by: Peter Kjellerstedt <pkj at axis com>
10523
10524         * Makefile.am:
10525           gst-element-check.m4 is generated and should therefore be
10526           copied from the build dir rather than the source dir (#357593).
10527           'make distcheck' hasn't noticed this because we were disting
10528           the file as well, so stop doing that.
10529
10530 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10531
10532         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
10533           Add some tests for gst_caps_intersect().
10534
10535         * tools/gst-launch.c: (event_loop):
10536           Print all buffering percentages we get, even the 100% one.
10537
10538 2006-09-26  Wim Taymans  <wim@fluendo.com>
10539
10540         * tools/gst-inspect.c: (print_element_properties_info),
10541         (print_signal_info):
10542         Fix printing of flags to match the look of enums.
10543
10544 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
10545
10546         * gst/gstelementfactory.c:
10547           Fix typo in docs blurb.
10548
10549 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
10550
10551         * gst/gsturi.c: (search_by_entry):
10552           Don't assert/crash here if a uri handler doesn't return any
10553           supported protocols. The list of protocols could be generated
10554           dynamically at runtime or at plugin registration, and an error
10555           in the underlying library shouldn't be fatal (#353301).
10556
10557 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
10558
10559         * gst/gstinfo.c:
10560           Fix warning if HAVE_PRINTF_EXTENSION is undefined
10561           (spotted by Peter Kjellerstedt).
10562
10563 2006-09-23  Wim Taymans  <wim@fluendo.com>
10564
10565         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
10566
10567         * libs/gst/base/gstbasesrc.c:
10568         (gst_base_src_default_check_get_range), (gst_base_src_start),
10569         (gst_base_src_activate_push), (gst_base_src_activate_pull),
10570         (gst_base_src_change_state):
10571         Match _start/_stop calls in the activate functions. Remove redundant
10572         _stop call from the state change function. Fixes #356910.
10573         Turn failure DEBUG into ERROR. 
10574
10575 2006-09-22  Wim Taymans  <wim@fluendo.com>
10576
10577         * docs/design/part-buffering.txt:
10578         * gst/gstmessage.c: (gst_message_new_buffering),
10579         (gst_message_parse_buffering):
10580         Update docs about buffering.
10581
10582         * docs/design/part-trickmodes.txt:
10583         Fix typo.
10584
10585 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
10586
10587         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10588         (gst_controller_new_list):
10589           Ref instances when returning them again (fixes #357180)
10590
10591 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10592
10593         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
10594           Don't forget to release proxy lock when there's an error.
10595
10596 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
10597
10598         * gst/gstcaps.h:
10599           Add extra initialisers for Caps things, to fix some plugin warnings
10600           when using -Wextra
10601
10602 2006-09-18  Wim Taymans  <wim@fluendo.com>
10603
10604         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
10605           Also set template on the internal pad so that a getcaps from the 
10606           target pad returns the template caps.
10607
10608 2006-09-18  Wim Taymans  <wim@fluendo.com>
10609
10610         * gst/gstelement.c: (gst_element_post_message),
10611         (gst_element_dispose):
10612         Use _DEBUG_OBJECT some more.
10613
10614         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
10615         Avoid typechecks.
10616
10617         * tools/gst-launch.c: (main):
10618         If the toplevel element is not a GstPipeline, it must be put in a
10619         pipeline so that a bus and clock is selected.
10620
10621 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
10622
10623         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
10624           JITTER, RATE, and LATENCY query should be handled by the
10625           default case and not by the CONVERT query code.
10626
10627 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
10628
10629         * gst/gstformat.c: (gst_format_register):
10630           Fix locking order (must take lock before using n_values).
10631
10632         * gst/gstvalue.c: (gst_value_serialize_enum),
10633         (gst_value_deserialize_enum_iter_cmp),
10634         (gst_value_deserialize_enum):
10635           Fix serialisation/deserialisation of custom registered GstFormats.
10636
10637         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10638           Unit test for custom format serialisation/deserialisation.
10639
10640 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
10641
10642         * docs/pwg/building-boiler.xml:
10643         * plugins/elements/gstcapsfilter.c:
10644         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
10645         section.
10646
10647 2006-09-16  Edward Hervey  <edward@fluendo.com>
10648
10649         * libs/gst/base/gstbasetransform.c:
10650         (gst_base_transform_buffer_alloc):
10651         Check if requested caps are the same as the sinks caps IF
10652         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
10653         is FALSE.
10654         This fixes the renegotiation issues stated in #352827.
10655
10656 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10657
10658         * configure.ac:
10659         * docs/manual/advanced-autoplugging.xml:
10660         * tests/examples/Makefile.am:
10661         * tests/examples/manual/.cvsignore:
10662         * tests/examples/manual/Makefile.am:
10663         * tests/examples/manual/extract.pl:
10664           Extract the manual examples again like we used to do.
10665           Fix one of them.
10666
10667 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10668
10669         * win32/common/config.h:
10670           update for version
10671
10672 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
10673
10674         * gst/gsterror.c:
10675           Documents how to receive errors.
10676
10677 2006-09-15  Wim Taymans  <wim@fluendo.com>
10678
10679         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
10680         (event_loop), (main):
10681         Added some comments here and there.
10682         Post an application message when an interrupt is caught instead of doing
10683         an uncontrolled state change.
10684         Clean up the event loop.
10685         Handle buffering messages, pause/resume the pipeline.
10686         Make shutdown because of an interrupt more reliable.
10687
10688 2006-09-15  Wim Taymans  <wim@fluendo.com>
10689
10690         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10691         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
10692         (gst_base_sink_preroll_object):
10693         Make sure that our internal state is correct when we commit our state
10694         asynchronously. This solves a race where a state change to PLAYING
10695         could cause the sink to remain blocked in preroll in some situations.
10696
10697 2006-09-15  Wim Taymans  <wim@fluendo.com>
10698
10699         * tools/gst-inspect.c: (print_element_properties_info),
10700         (print_signal_info):
10701         List flags as hex so it's easier to deal with.
10702
10703 2006-09-15  Wim Taymans  <wim@fluendo.com>
10704
10705         * docs/libs/gstreamer-libs-sections.txt:
10706         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
10707         (gst_base_sink_do_sync):
10708         * libs/gst/base/gstbasesink.h:
10709         Expose logic to wait for preroll so that subclasses such as audiosink
10710         can also use this method.
10711         API: gst_base_sink_wait_preroll()
10712
10713 2006-09-15  Wim Taymans  <wim@fluendo.com>
10714
10715         * gst/gstobject.c: (gst_object_set_parent):
10716         * gst/gstpipeline.c: (do_pipeline_seek):
10717         Small cleanups in docs and code.
10718
10719         * gst/gstsegment.c: (gst_segment_clip):
10720         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10721         if stop == start and start is in the segment, no clipping should be
10722         done. Also add a test for this.
10723
10724 2006-09-15  Wim Taymans  <wim@fluendo.com>
10725
10726         * docs/design/part-buffering.txt:
10727         * docs/gst/gstreamer-sections.txt:
10728         * gst/gstmessage.c: (gst_message_new_buffering),
10729         (gst_message_parse_buffering):
10730         * gst/gstmessage.h:
10731         Added methods to create and parse BUFFERING messages.
10732         Added preliminary docs about buffering.
10733         API: gst_message_new_buffering
10734         API: gst_message_parse_buffering
10735
10736 2006-09-06  Wim Taymans  <wim@fluendo.com>
10737
10738         * gst/gstbin.c:
10739         Update documentation.
10740
10741         * gst/gstelement.c: (gst_element_class_init),
10742         (gst_element_release_request_pad), (gst_element_set_clock),
10743         (gst_element_get_index), (gst_element_add_pad),
10744         (gst_element_remove_pad), (gst_element_get_random_pad),
10745         (gst_element_send_event), (gst_element_get_query_types),
10746         (gst_element_query), (gst_element_post_message),
10747         (gst_element_message_full), (gst_element_continue_state),
10748         (gst_element_lost_state), (gst_element_save_thyself),
10749         (gst_element_restore_thyself):
10750         Documentation updates.
10751         Rename last bit of the new-pad -> pad-added signal rename.
10752         Fix the case where an element query would only work if the source
10753         pad was linked.
10754         Avoid some useless type checking in message handling.
10755
10756         * gst/gstevent.c:
10757         * gst/gstevent.h:
10758         * gst/gstutils.c:
10759         Documentation updates.
10760
10761 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10762
10763         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
10764           add an INFO line for when we actually update the fd
10765
10766 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10767
10768         * configure.ac:
10769           back to TRUNK
10770
10771 === release 0.10.10 ===
10772
10773 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
10774
10775         * configure.ac:
10776           releasing 0.10.10, "Pais"
10777
10778 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
10779
10780         * docs/manual/advanced-position.xml:
10781           Fix typo in sample code.
10782
10783 2006-09-05  Wim Taymans  <wim@fluendo.com>
10784
10785         * libs/gst/net/gstnetclientclock.c: (inet_aton),
10786         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
10787         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
10788         * libs/gst/net/gstnetclientclock.h:
10789         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
10790         * libs/gst/net/gstnettimepacket.h:
10791         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
10792         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
10793         (gst_net_time_provider_thread), (gst_net_time_provider_new):
10794         * libs/gst/net/gstnettimeprovider.h:
10795         Make stuff compile on windows. Fixes #345295.
10796
10797 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
10798
10799         * gst/gst.c: (ensure_current_registry_forking):
10800           Print better details when child was terminated by signal.
10801
10802 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
10803
10804         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
10805           Print a warning rather than g_assert() if a plugin feature
10806           is a URI handler but returns no protocols (#353976).
10807
10808 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
10809
10810         * docs/random/moving-plugins:
10811         Fix two typos.         
10812
10813 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
10814
10815         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
10816           Fix locking order, handle NULL function values properly.
10817
10818         * gst/gstinfo.h:
10819           Fix docs.
10820
10821         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
10822           Initialise variable before using it and fix debug statement to
10823           print the address of the function rather than the address of the
10824           variable on the stack holding the address of the function.
10825
10826 2006-09-01  Wim Taymans  <wim@fluendo.com>
10827
10828         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
10829         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
10830         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10831         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
10832         (gst_ghost_pad_parent_unset),
10833         (gst_ghost_pad_internal_do_activate_push),
10834         (gst_ghost_pad_internal_do_activate_pull),
10835         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10836         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
10837         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10838         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
10839         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
10840         (gst_ghost_pad_new_no_target_from_template),
10841         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
10842         More cleanups.
10843         Avoid needless typechecking in macros.
10844         Since the internal pad is always present and never changes, there is
10845         no need to locking or ref when retrieving it.
10846         Improve debugging a bit.
10847         Handle link errors when setting the target. Fixes #341029.
10848
10849 2006-09-01  Wim Taymans  <wim@fluendo.com>
10850
10851         * docs/libs/gstreamer-libs-sections.txt:
10852         * docs/plugins/gstreamer-plugins-sections.txt:
10853         Fix docs some more.
10854
10855         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
10856         (gst_collect_pads_event):
10857         * libs/gst/base/gstcollectpads.h:
10858         Documentation updates.
10859         Free queued buffer when removing a pad.
10860
10861 2006-08-31  Michael Smith  <msmith@fluendo.com>
10862
10863         * gst/gstutils.c: (gst_element_link_pads),
10864         (gst_element_link_pads_filtered):
10865           Ensure that we set a capsfilter to NULL if we failed to link it
10866           when doing filtered linking, to avoid criticals.
10867
10868           No need to check for unreffing srcpad, which is explicly NULLed
10869           above (a trivial code cleanup).
10870
10871 2006-08-31  Wim Taymans  <wim@fluendo.com>
10872
10873         * docs/design/part-gstghostpad.txt:
10874         Update ascii art in documentation.
10875
10876         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
10877         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
10878         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
10879         (gst_ghost_pad_internal_do_activate_push),
10880         (gst_ghost_pad_internal_do_activate_pull),
10881         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10882         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
10883         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
10884         (gst_ghost_pad_set_target):
10885         Small cleanups and leak fixes.
10886         Remove some checks now that the internal pad is never NULL.
10887         Fix the case where linking pads without a target would create nasty
10888         criticals. Fixes #341029.
10889         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
10890         value of _set_target().
10891
10892         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
10893         (gst_ghost_pad_suite):
10894         Some more tests for creating and linking untargeted ghostpads.
10895
10896 2006-08-31  Edward Hervey  <edward@fluendo.com>
10897
10898         * docs/gst/gstreamer-sections.txt:
10899         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
10900         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
10901         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
10902         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
10903         (gst_ghost_pad_new_from_template),
10904         (gst_ghost_pad_new_no_target_from_template):
10905         * gst/gstghostpad.h:
10906         Refactored *_new() functions.
10907         Templates are now used as a g_object_new() parameter.
10908         Use template in _do_getcaps() if we don't have a target.
10909         Small documentation cleanups.
10910         Added two new constructors:
10911         gst_ghost_pad_new_from_template()
10912         gst_ghost_pad_new_no_target_from_template()
10913         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
10914         (gst_ghost_pad_suite):
10915         Added tests for new ghostpad instanciation functions.
10916
10917         API additions: gst_ghost_pad_new_from_template,
10918         gst_ghost_pad_new_no_target_from_template
10919
10920 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
10921
10922         * docs/random/ensonic/profiling.txt:
10923           Ideas about qos profiling.
10924
10925 2006-08-29  Wim Taymans  <wim@fluendo.com>
10926
10927         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
10928         Code cleanups.
10929         Fix memleak.
10930
10931 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
10932
10933         * gst/gstxml.c:
10934           Improve and detypofy docs.
10935
10936         * tests/check/Makefile.am:
10937         * tests/check/gst/.cvsignore:
10938         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
10939           Add a basic test suite for GstXML.
10940
10941 2006-08-29  Wim Taymans  <wim@fluendo.com>
10942
10943         * gst/gstelement.c: (activate_pads), (clear_caps),
10944         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
10945         Clear the pad caps when the element shut down all of the pads and
10946         is not streaming data that could modify the caps. 
10947         Fixes #352958.
10948
10949 2006-08-28  Michael Smith  <msmith@fluendo.com>
10950
10951         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10952           Revert previous change; I misunderstood single-segment mode.
10953
10954 2006-08-28  Michael Smith  <msmith@fluendo.com>
10955
10956         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10957           Unset DISCONT on buffers when using single-segment mode.
10958
10959 2006-08-28  Wim Taymans  <wim@fluendo.com>
10960
10961         * gst/gstcaps.c: (gst_caps_merge_structure):
10962         * gst/gstcaps.h:
10963         Fix docs and indentation again.
10964
10965         * tests/check/gst/gstquery.c: (GST_START_TEST):
10966         Fix leak in tests and add some more tests.
10967
10968 2006-08-28  Edward Hervey  <edward@fluendo.com>
10969
10970         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
10971         Inform GstSegment of the last stop position in order for the current
10972         segment to have a proper duration if it doesn't have a specific stop
10973         position from which a duration could be calculated.
10974         This bug was noticeable when a non-flushing, non-update new segment was
10975         followed by another segment (all buffers from the new segment were being
10976         dropped).
10977
10978 2006-08-28  Wim Taymans  <wim@fluendo.com>
10979
10980         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
10981         Small comment update.
10982
10983         * plugins/elements/gstidentity.c: (gst_identity_class_init),
10984         (gst_identity_transform_ip):
10985         Drop-probability is broken, mention this in the code with a 
10986         FIXME and also in the property description.
10987         Make silent also be silent about the drop messages.
10988
10989 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
10990
10991         * docs/manual/appendix-win32.xml:
10992           Remove mention of popt, we don't depend on that any
10993           longer (#353136). Add some comments pointing out that
10994           this section is slightly outdated.
10995
10996 2006-08-28  Wim Taymans  <wim@fluendo.com>
10997
10998         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
10999
11000         * gst/gstquery.c: (gst_query_new_segment):
11001         * tests/check/gst/gstquery.c: (GST_START_TEST):
11002         Initialize variables when creating a new segment query.
11003         Fixes #353121.
11004
11005 2006-08-28  Wim Taymans  <wim@fluendo.com>
11006
11007         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
11008
11009         * gst/gstelement.c: (gst_element_get_bus):
11010         * tests/check/gst/gstelement.c: (GST_START_TEST):
11011         Check for NULL before _reffing the bus. Fixes #353122.
11012
11013 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
11014
11015         * docs/manual/basics-bus.xml:
11016           Docs update: fix wrong callback return value explanation; add
11017           some lines about the implicit relationship between main loop
11018           and main context; remove duplicate main loop variable declaration.
11019
11020 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
11021
11022         * tests/check/gst/gstcaps.c: (GST_START_TEST):
11023           Don't leak caps in unit test; add a few more simple
11024           checks. 
11025
11026 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
11027
11028         * docs/gst/gstreamer-sections.txt:
11029         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
11030         (gst_caps_structure_is_subset), (gst_caps_merge),
11031         (gst_caps_merge_structure):
11032         * gst/gstcaps.h:
11033         * libs/gst/base/gstbasetransform.c:
11034         (gst_base_transform_transform_caps):
11035         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11036           implement caps merging (fixes #352580)
11037
11038 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
11039
11040         * tools/Makefile.am:
11041         * tools/gst-plot-timeline.py:
11042           add debug-log plotting developer tool (#340674)
11043
11044 2006-08-23  Wim Taymans  <wim@fluendo.com>
11045
11046         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
11047         (gst_pad_stop_task):
11048         Improve debugging for task functions.
11049
11050         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
11051         (gst_task_start), (gst_task_pause), (gst_task_join):
11052         Make sure that the task function started and finished after a 
11053         join(). 
11054         Don't try to push the task function on the threadpool multiple
11055         times.
11056         Improve the g_warning message with some useful suggestions
11057         about how to fix the problem. 
11058
11059 2006-08-23  Wim Taymans  <wim@fluendo.com>
11060
11061         * gst/gstutils.c: (gst_pad_proxy_getcaps):
11062         Handle RESYNC correctly in _proxy_getcaps.
11063
11064 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
11065
11066         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
11067         (gst_xml_parse_memory), (gst_xml_get_element):
11068           Chain up to parent class in dispose function and also
11069           unref the elements in the toplevel_elements GList.
11070           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
11071           Always return a reference in gst_xml_get_element() rather
11072           than only sometimes.
11073
11074         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
11075           Don't leak GstXml object.
11076
11077 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
11078
11079         * docs/gst/gstreamer-sections.txt:
11080         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
11081         (gst_caps_merge):
11082         * gst/gstcaps.h:
11083         * libs/gst/base/gstbasetransform.c:
11084         (gst_base_transform_transform_caps):
11085           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
11086           in a better way
11087
11088 2006-08-21  Edward Hervey  <edward@fluendo.com>
11089
11090         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
11091         Implement GObject::dispose virtual method in GstXML so we can free the
11092         top_elements GList.
11093
11094 2006-08-21  Wim Taymans  <wim@fluendo.com>
11095
11096         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
11097         (gst_buffer_create_sub):
11098         Copy duration/offset_end/caps when creating a subbuffer of the
11099         complete parent.
11100         Make the subbuffer read-only when we make the metadata writable for
11101         now. Fixes #351768.
11102
11103         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
11104         Added check for metadata copy when creating subbuffers.
11105
11106 2006-08-21  Edward Hervey  <edward@fluendo.com>
11107
11108         * libs/gst/base/gstbasetransform.c:
11109         (gst_base_transform_buffer_alloc):
11110         Only call downstream buffer_alloc if transform element is passthrough
11111         or always_in_place. Closes #350449.
11112
11113 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
11114
11115         * ChangeLog:
11116           ChangeLog surgery to add comments to previous changes
11117
11118 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
11119
11120         * gst/gst.c:
11121           Add comments
11122
11123         * gst/gstpad.c: (gst_pad_set_active):
11124           Be more verbose in the log
11125
11126         * libs/gst/base/gstbasetransform.c:
11127         (gst_base_transform_transform_caps):
11128           Simplify caps to get rid of duplicates, fixes #345444
11129
11130 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
11131
11132         * gst/gstvalue.c:
11133         * gst/gstvalue.h:
11134           Use these optimizations only internally.
11135
11136 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
11137
11138         * gst/gstvalue.c: (gst_value_compare_list),
11139         (gst_value_compare_fraction_range),
11140         (gst_value_intersect_fraction_fraction_range),
11141         (gst_value_intersect_fraction_range_fraction_range),
11142         (gst_value_subtract_fraction_fraction_range),
11143         (gst_value_subtract_fraction_range_fraction_range),
11144         (gst_value_get_compare_func), (gst_value_compare),
11145         (gst_value_compare_with_func):
11146         * gst/gstvalue.h:
11147           Saves the expensive lookup of the compare function in many cases
11148          (#345444)
11149
11150 2006-08-18  Edward Hervey  <edward@fluendo.com>
11151
11152         * tests/check/gst/gstinfo.c: (gst_info_suite):
11153         Disable test that require gstdebug if it wasn't built in core.
11154
11155 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
11156
11157         * docs/random/ensonic/logging.txt:
11158           update ideas
11159           
11160         * gst/gstinfo.c: (gst_debug_log_default):
11161           reorder fields, save some columns, add optional color codes for log
11162           levels
11163
11164 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
11165
11166         * docs/random/ensonic/logging.txt:
11167           add ideas about making the logs a bit more useful
11168
11169 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
11170
11171         * docs/pwg/advanced-events.xml:
11172         * docs/pwg/titlepage.xml:
11173           Update for 0.10 API (#340627). Add myself
11174           to authors list.
11175
11176 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
11177
11178         * docs/libs/gstreamer-libs-docs.sgml:
11179         * docs/libs/gstreamer-libs-sections.txt:
11180         * libs/gst/check/gstbufferstraw.c:
11181           Make gstcheck stuff show up in docs (still needs to
11182           be documented properly though).
11183
11184 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
11185
11186         * docs/gst/gstreamer-sections.txt:
11187         * gst/Makefile.am:
11188         * gst/gst.c: (init_post):
11189         * gst/gst_private.h:
11190         * gst/gstquark.c: (_priv_gst_quarks_initialize):
11191         * gst/gstquark.h:
11192         * gst/gstquery.c: (gst_query_new_position),
11193         (gst_query_set_position), (gst_query_parse_position),
11194         (gst_query_new_duration), (gst_query_set_duration),
11195         (gst_query_parse_duration), (gst_query_new_convert),
11196         (gst_query_set_convert), (gst_query_parse_convert),
11197         (gst_query_new_segment), (gst_query_set_segment),
11198         (gst_query_parse_segment), (gst_query_new_seeking),
11199         (gst_query_set_seeking), (gst_query_parse_seeking):
11200         Add internal helpers for pre-registering quarks from static strings
11201         and using the quark values directly instead of looking them up when
11202         creating and parsing queries. Can be used for event construction too.
11203         Closes #350432.
11204
11205 2006-08-16  Wim Taymans  <wim@fluendo.com>
11206
11207         * gst/gstbin.c:
11208         Fix bogus docs.
11209
11210 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
11211
11212         * gst/gstutils.c: (gst_util_set_value_from_string):
11213           Fix memleak (#351502).
11214
11215         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11216           Add unit test for most of gst_util_set_value_from_string()
11217           (not that one would want to encourage use of this function).
11218
11219 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
11220
11221         * libs/gst/check/gstcheck.h:
11222           Use const gchar * variables in fail_unless_equals_string
11223           macro to avoid compiler warnings (and don't use tabs for
11224           indenting).
11225
11226 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
11227
11228         * tools/gst-launch.c: (print_tag):
11229           More space on the left for the tag names, to cater
11230           for the 'extended comment' tag (not touching the
11231           string for the first line since it's translated).
11232
11233 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
11234
11235         * libs/gst/check/gstcheck.h:
11236           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
11237           print something when they fail.
11238
11239 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
11240
11241         * docs/gst/gstreamer-sections.txt:
11242         * gst/gsttaglist.c: (_gst_tag_initialize):
11243         * gst/gsttaglist.h:
11244           API: add GST_TAG_EXTENDED_COMMENT (#350935).
11245           Also change merge function for GST_TAG_COMMENT to
11246           use_first.
11247
11248 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
11249
11250         * gst/gstinfo.c: (gst_debug_print_object):
11251           Make GST_PTR_FORMAT print messages as well.
11252
11253         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
11254         (GST_START_TEST), (gst_info_suite):
11255           More tests.
11256
11257 2006-08-14  Edward Hervey  <edward@fluendo.com>
11258
11259         * gst/gstelementfactory.c: (gst_element_register):
11260         If the GstElementClass doesn't have a GstElementDetails with all fields
11261         filled up correctly (longname, description AND author), then error out
11262         nicely instead of crashing.
11263
11264 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
11265
11266         * gst/gststructure.c:
11267           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
11268
11269         * gst/gstvalue.h:
11270           Expand on the difference between arrays and lists as we use them.
11271           
11272 2006-08-14  Wim Taymans  <wim@fluendo.com>
11273
11274         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
11275         If the parent state change function failed, don't assume we can safely
11276         stop the source, this will be done when the pads are deactivated.
11277
11278 2006-08-14  Wim Taymans  <wim@fluendo.com>
11279
11280         * gst/gstbuffer.c:
11281         * gst/gsttask.c: (gst_task_join):
11282         Small doc updates.
11283
11284         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
11285         (gst_pad_stop_task):
11286         When pad (de)activation failed for some reason, restore the old
11287         activation mode and set the pad to flushing instead of assuming the
11288         pad is deactivated.
11289         If the _task_join() failed, reinstall the task on the pad so that it can
11290         be stopped later and return an error.
11291
11292 2006-08-11  Andy Wingo  <wingo@pobox.com>
11293
11294         * configure.ac:
11295         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
11296         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
11297         is only for users of API that don't want to see deprecated
11298         functions in the headers; people that want to compile out
11299         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
11300         CFLAGS. Fixes the build of multifdsink, or will soon..
11301
11302 2006-08-11  Wim Taymans  <wim@fluendo.com>
11303
11304         * docs/gst/gstreamer-sections.txt:
11305         Add GstClockClass vmethod docs.
11306
11307         * gst/gstcaps.h:
11308         Mark #endif with comment for associated #if
11309
11310         * gst/gstclock.c: (gst_clock_id_wait):
11311         * gst/gstclock.h:
11312         Add vmethod wait_jitter to avoid an unneeded _get_time() for
11313         most clock implementations.
11314         Document vmethods.
11315         Flesh out docs about resolution methods.
11316         API: GstClockClass::wait_jitter
11317
11318         * gst/gstsystemclock.c: (gst_system_clock_class_init),
11319         (gst_system_clock_async_thread),
11320         (gst_system_clock_id_wait_jitter_unlocked),
11321         (gst_system_clock_id_wait_jitter):
11322         Use base class wait_jitter variant for improved performance
11323         due to less clock polling.
11324
11325 2006-08-11  Edward Hervey  <edward@fluendo.com>
11326
11327         * gst/gst.c: (gst_init_check), (init_post):
11328         Set gst as being initialized before scanning/updating the registry,
11329         since there might be my python plugin loader that calls gst_init() and
11330         we don't want to loop back in.
11331         Closes #350879
11332
11333 2006-08-11  Wim Taymans  <wim@fluendo.com>
11334
11335         * docs/design/part-qos.txt:
11336         Bring docs in line with the code. Mostly the sign of the jitter was
11337         wrong in the docs. Fixes #349943.
11338
11339         * gst/gstclock.c:
11340         Fix the docs for the jitter.
11341
11342         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
11343         (gst_event_parse_tag), (gst_event_new_buffer_size),
11344         (gst_event_parse_buffer_size), (gst_event_parse_qos),
11345         (gst_event_new_seek), (gst_event_parse_seek),
11346         (gst_event_new_navigation):
11347         Make sure the GstStructure has no parent when creating custom
11348         events.
11349         Add some more argument checking so that we avoid 0.0 rates.
11350         Flesh out the docs for the QoS event some more.
11351
11352 2006-08-11  Wim Taymans  <wim@fluendo.com>
11353
11354         * docs/gst/gstreamer-sections.txt:
11355         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
11356         (ensure_current_registry_forking), (ensure_current_registry),
11357         (parse_one_option), (parse_goption_arg), (gst_deinit),
11358         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
11359         * gst/gst.h:
11360         Doc updates.
11361         Added API and command line option to disable registry forking in
11362         addition to the environment variable.
11363         Constify some static arrays.
11364         Added some more debug.
11365         Don't deinit twice.
11366         API: gst_registry_fork_is_enabled()
11367         API: gst_registry_fork_set_enabled()
11368         API: --gst-disable-registry-fork command line option
11369         Fixes #348918.
11370
11371 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
11372
11373         * gst/gst.c: (gst_init):
11374           Fix typo in error message.
11375
11376 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
11377
11378         * libs/gst/controller/gstcontroller.h:
11379           fix ABI size-correction
11380
11381         * tests/check/libs/gdp.c: (gst_dp_suite):
11382           make tests that use deprecated API conditional
11383
11384 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
11385
11386         * docs/libs/gstreamer-libs-sections.txt:
11387         * libs/gst/controller/gstcontroller.c:
11388         (_gst_controller_get_property), (_gst_controller_set_property),
11389         (_gst_controller_init), (_gst_controller_class_init):
11390         * libs/gst/controller/gstcontroller.h:
11391         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
11392         (gst_object_set_control_rate):
11393           API: add gst_object_{s,g}et_control_rate(), add private data section,
11394           fix docs
11395
11396         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
11397         * libs/gst/dataprotocol/dataprotocol.h:
11398           add deprecation guards to make gtk-doc happy and allow disabling cruft
11399
11400 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
11401
11402         * tests/check/Makefile.am:
11403         * tests/check/gst/.cvsignore:
11404           Let's enable the new unit test as well.
11405
11406 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
11407
11408         * configure.ac:
11409         * docs/gst/gstreamer-sections.txt:
11410         * gst/gstconfig.h.in:
11411         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
11412         (_gst_info_printf_extension_ptr),
11413         (_gst_info_printf_extension_segment):
11414           API: add GST_SEGMENT_FORMAT, which is a printf extension we
11415           register that lets us easily dump GstSegments into debug
11416           logs (#350419).
11417
11418         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
11419         (info_segment_format_printf_extension), (gst_info_suite):
11420           Add simple unit test that logs a bunch of different segments (not
11421           valgrinded at the moment because of leaks in
11422           gst_debug_add_log_function).
11423
11424 2006-08-09  Edward Hervey  <edward@fluendo.com>
11425
11426         * libs/gst/base/gstbasetransform.c:
11427         (gst_base_transform_buffer_alloc):
11428         Even if we can't figure out the proper format to request downstream,
11429         call buffer_alloc() downstream with the input parameters without setting
11430         the caps on the srcpad. This will force negotiation in the chain
11431         function.
11432         Closes #350449
11433
11434 2006-08-08  Edward Hervey  <edward@fluendo.com>
11435
11436         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
11437         Unlinking from a pad without a target is now a perfectly valid case
11438         which should NOT raise an assertion.
11439         This case would happen if a linked ghostpad its target set to NULL after
11440         it was previously linked.
11441
11442 2006-08-08  Edward Hervey  <edward@fluendo.com>
11443
11444         * tests/check/libs/gdp.c:
11445         Also comment out the test (see below).
11446
11447 2006-08-08  Edward Hervey  <edward@fluendo.com>
11448
11449         * tests/check/libs/gdp.c: (gst_dp_suite):
11450         Use the architecture information from config.h and not gcc macros
11451         in order to properly disable a test that fails on PPC64.
11452
11453 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
11454
11455         * gst/gstelement.c: (gst_element_remove_pad):
11456           Don't crash printing the warning if the pad has no parent.
11457
11458 2006-08-02  Wim Taymans  <wim@fluendo.com>
11459
11460         * libs/gst/dataprotocol/dataprotocol.c:
11461         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
11462         (gst_dp_crc), (gst_dp_header_payload_length),
11463         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
11464         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
11465         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
11466         (gst_dp_event_from_packet), (gst_dp_validate_header),
11467         (gst_dp_validate_payload):
11468         Make debug category static
11469         Constify the crc table.
11470         Do some more arg checking in public functions.
11471         Fix some docs and do some small cleanups.
11472
11473         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
11474         Add some more checks to see if GDP deals with bogus input.
11475
11476 2006-07-31  Wim Taymans  <wim@fluendo.com>
11477
11478         * gst/gstvalue.c: (gst_value_compare_list):
11479         Fix GstValueList comparison code. Fixes #347293.
11480
11481         * tests/check/gst/gstvalue.c: (GST_START_TEST):
11482         Check to test GstValueList comparison.
11483
11484 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
11485
11486         * gst/gstelementfactory.c: (gst_element_factory_create):
11487         Remove unnecessary ref/unref pair
11488
11489         * gst/parse/grammar.y:
11490         Make sure to free the parse buffer on all code paths.
11491         Move a g_free up to the error handler where it's easier to see.
11492
11493         * tests/check/gst/gstevent.c: (test_event):
11494         Extending timeout for downstream travelling events to 10 seconds to
11495         hopefully avoid intermittent failure on the buildbots.
11496
11497         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
11498         Don't manually set the state of the src element - it will happen as a
11499         natural consequence of the pipeline changing state, and that way it
11500         will do it in the right order too.
11501
11502 2006-07-31  Wim Taymans  <wim@fluendo.com>
11503
11504         * libs/gst/base/gstbasetransform.c:
11505         (gst_base_transform_buffer_alloc):
11506         Use OBJECT_LOCK and refcounting to get the pad caps in the
11507         buffer_alloc function because the caps could change while we are
11508         busy with them. Fixes #349105
11509
11510 2006-07-31  Wim Taymans  <wim@fluendo.com>
11511
11512         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
11513         Protect _PAD_CAPS with OBJECT_LOCK.
11514
11515 2006-07-31  Wim Taymans  <wim@fluendo.com>
11516
11517         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
11518         (gst_pad_get_property), (gst_pad_activate_pull),
11519         (gst_pad_activate_push), (gst_pad_set_blocked_async),
11520         (gst_pad_set_activate_function),
11521         (gst_pad_set_activatepull_function),
11522         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
11523         (gst_pad_set_getrange_function),
11524         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
11525         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
11526         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
11527         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
11528         (gst_pad_set_acceptcaps_function),
11529         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11530         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
11531         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
11532         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
11533         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
11534         (gst_pad_configure_sink), (gst_pad_configure_src),
11535         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
11536         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
11537         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
11538         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
11539         (gst_pad_send_event):
11540         Use _DEBUG_OBJECT when it makes sense.
11541         Protect GST_PAD_CAPS with the OBJECT_LOCK.
11542         Small cleanups and code reflows.
11543         Avoid caps refcounting in _accept_caps.
11544         Refactor alloc_buffer so that the code performed on the peer is in a
11545         separate function. Also if the pad does not implement a buffer alloc
11546         function, we should still check if the pad is flushing before falling
11547         back to the default allocator.
11548
11549 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
11550
11551         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
11552         Make all uses of identity and fakesink have silent=true to avoid
11553         serialising every passing data structure, which is breaking tests
11554         on FC4 for some unknown reason.
11555
11556 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
11557
11558         * gst/parse/Makefile.am:
11559         * gst/parse/grammar.y:
11560         * gst/parse/parse.l:
11561           Reverted previous patch as it required to bump the flex dependency to
11562           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
11563
11564 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
11565
11566         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
11567
11568         * gst/parse/Makefile.am:
11569         * gst/parse/grammar.y:
11570         * gst/parse/parse.l:
11571           push & pop the state of the lexer for reentrant use case
11572           Fixes #349180
11573
11574 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
11575
11576         * libs/gst/base/gstbasesrc.h:
11577           Note in the docs that the ::newsegment vfunc is not actually used by
11578           GstBaseSrc.
11579
11580 2006-07-28  Wim Taymans  <wim@fluendo.com>
11581
11582         * libs/gst/base/gstcollectpads.c:
11583         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
11584         (gst_collect_pads_clear), (gst_collect_pads_flush),
11585         (gst_collect_pads_event), (gst_collect_pads_chain):
11586         When flushing a pad, also clear the queued buffer so that we don't
11587         accidentally use it when we shouldn't.
11588         Fix leaks by inreffing incomming buffer.
11589         Flush out queued buffers in case of errors.
11590         Fixes #347452.
11591
11592 2006-07-28  Wim Taymans  <wim@fluendo.com>
11593
11594         * docs/random/phonon-gst:
11595         Random notes about a Phonon backend.
11596
11597 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
11598
11599         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
11600         Extra debug output
11601         * tests/check/libs/gdp.c: (gst_dp_suite):
11602         Take a whack at fixing the ppc compile using a different define to
11603         disable the broken test.
11604
11605         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
11606         Remove excess g_print()
11607
11608 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
11609
11610         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
11611         Oops, meant to uncomment this line too to dampen the noise a bit.
11612
11613 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
11614
11615         * gst/parse/grammar.y:
11616         * gst/parse/parse.l:
11617         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
11618         (GST_START_TEST), (parse_suite):
11619         Fix some of the leaks exposed by extending the parse-launch testsuite,
11620         and move the 3 I can't figure out into a separate test that won't run
11621         the pipelines unless the appropriate line is uncommented.
11622
11623 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
11624
11625         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
11626           Requesting 0 bytes before the end of the file should result in
11627           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
11628           unit test.
11629
11630 2006-07-27  Wim Taymans  <wim@fluendo.com>
11631
11632         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
11633         Fix useless assert, a uint is always positive.
11634
11635         * gst/gststructure.c: (gst_structure_nth_field_name),
11636         (gst_structure_foreach), (gst_structure_map_in_place):
11637         Check input arguments for public functions to avoid obvious crashes.
11638
11639         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
11640         * plugins/elements/gstfakesink.h:
11641         Do less useless typechecking.
11642
11643 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
11644
11645         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
11646           Do not use mmap() by default since there are a number of error
11647           conditions that we would like to handle in a non-fatal way that
11648           will result in a SIGBUS if we use mmap(). Examples: external
11649           devices (USB harddrive, portable music player) being unplugged
11650           while in use; file on mounted CD/DVD that can't be read because
11651           the medium is partly damaged. Fixes #348455 and #348475.
11652
11653 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
11654
11655         * gst/gstquery.h:
11656         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
11657         rates are a gdouble
11658
11659 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
11660
11661         * gst/gstregistry.c:
11662           Move big documentation comment into class section header, so that it
11663           appears in the API docs.
11664
11665 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
11666
11667         * docs/gst/gstreamer-sections.txt:
11668         Oops. Commit the docs additions too for new API.
11669         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
11670
11671 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
11672
11673         * gst/gststructure.c: (gst_structure_id_set),
11674         (gst_structure_id_set_valist):
11675         * gst/gststructure.h:
11676         Add API for setting values into structures without performing
11677         a quark lookup, if the appropriate quark is already known.
11678
11679         API: gst_structure_id_set
11680         API: gst_structure_id_set_valist
11681
11682         * gst/parse/grammar.y:
11683         * gst/parse/parse.l:
11684         Remove some dead code shown by the coverage information.
11685         Don't throw a critical g_warning when encountering a syntax error,
11686         just warn and let the normal error path handle it.
11687
11688         * plugins/elements/gstelements.c:
11689         Bump the rank of filesink up to PRIMARY so that it is preferred over
11690         gnomevfssink for file:// sink uri's
11691
11692         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
11693         (GST_START_TEST), (run_delayed_test),
11694         (gst_parse_test_element_base_init),
11695         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
11696         (gst_parse_test_element_change_state),
11697         (gst_register_parse_element), (parse_suite):
11698         Beef up the tests for parse syntax to check that more error cases
11699         fail as they are supposed to. Increases the test coverage a bit.
11700
11701 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
11702
11703         * docs/manual/basics-elements.xml:
11704           Fix gst_element_link() example.
11705
11706         * gst/gstutils.c:
11707           Mention in API docs that one should usually gst_bin_add()
11708           elements to a bin or pipeline before doing the linking.
11709           
11710 2006-07-26  Wim Taymans  <wim@fluendo.com>
11711
11712         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
11713         (gst_subbuffer_get_type), (gst_buffer_create_sub):
11714         Avoid function call for known types by keeping the buffer and
11715         subbuffer GType global.
11716
11717         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
11718         Random silly optimisations in read() path.
11719
11720 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
11721
11722         * tools/gst-launch.c: (main):
11723           If the top-level of the parse is a normal bin, it doesn't do the
11724           right logic to run as a top-level element, so place it inside a
11725           pipeline.
11726
11727 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
11728
11729         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
11730           Remove superfluous g_object_notify() calls, GObject does
11731           that for us automatically.
11732
11733 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
11734
11735         * gst/gstinfo.h:
11736           on Win32, use dllspec to export the debug category symbols
11737
11738 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
11739
11740         * gst/gsttaglist.c: (_gst_tag_initialize):
11741           Allow more than one GST_TAG_IMAGE per taglist.
11742
11743 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11744
11745         * gst/gstminiobject.c:
11746           update docs
11747         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
11748         (gst_fd_src_create):
11749           log recurring events at LOG level
11750           add more debug for when the fd gets set
11751
11752 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
11753
11754         * gst/gstparse.c: (gst_parse_launch):
11755           Also remove reentrance checks if flex is MT safe (#348179)
11756          Fix my empty ChangeLog entry below
11757
11758 2006-07-21  Andy Wingo  <wingo@pobox.com>
11759
11760         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
11761
11762         * libs/gst/check/Makefile.am
11763         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
11764         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
11765         * libs/gst/check/gstbufferstraw.h:
11766         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
11767         functions, thus proving I am still a GStreamer haxor. OK I wrote
11768         them a long time ago, but anyways.
11769
11770 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
11771
11772         * configure.ac:
11773         * gst/gstparse.c: (gst_parse_launch):
11774           Check for flex version and omit mutex if we have a MT save flex
11775           (fixes #348179)
11776
11777 2006-07-21  Wim Taymans  <wim@fluendo.com>
11778
11779         * gst/gstparse.c: (gst_parse_launch):
11780         Protect recursive calls to _parse with a recursive mutex
11781         and busy flag.
11782
11783 2006-07-21  Wim Taymans  <wim@fluendo.com>
11784
11785         * tests/check/gst/gstpad.c: (GST_START_TEST):
11786         Fix leak in test.
11787
11788 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
11789
11790         * gst/gstparse.c: (gst_parse_launch):
11791           Do not hang on recursive usage of gst_parse_launch()
11792
11793 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
11794
11795         * gst/gsttaglist.c:
11796           Add some more docs, comments and FIXME 0.11s here and there
11797           and also fix some typos.
11798
11799 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
11800
11801         * gst/gstsegment.h:
11802           Convert tabs to spaces for better readability. 
11803
11804 2006-07-20  Edward Hervey  <edward@fluendo.com>
11805
11806         * tests/check/libs/gdp.c: (gst_dp_suite):
11807         the test_buffer test fails at line 140 on ppc64 at the following
11808         check:
11809         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
11810                 GST_BUFFER_FLAG_IN_CAPS),
11811                 "GST_BUFFER_IN_CAPS flag should have been copied !");
11812         See bug #348114 for more details.
11813
11814 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
11815
11816         * docs/pwg/advanced-scheduling.xml:
11817         * gst/gstpad.c:
11818           Fix typos (#348000).
11819
11820 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
11821
11822         * docs/pwg/intro-basics.xml:
11823           Fix wrong links (#347927).
11824
11825 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
11826
11827         * gst/gstregistry.h:
11828         * gst/gstregistryxml.c: (load_feature),
11829         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
11830         * win32/common/config.h:
11831           make --disable-index work (#342564)
11832
11833 2006-07-18  Wim Taymans  <wim@fluendo.com>
11834
11835         Patch by: Peter Kjellerstedt <pkj at axis dot com>
11836
11837         * gst/Makefile.am:
11838         * gst/gsttrace.h:
11839         The attached patch adds two missing defines to gsttrace.h when tracing
11840         is disabled.  It also corrects one existing define.
11841         Fixes #347756.
11842
11843 2006-07-17  Wim Taymans  <wim@fluendo.com>
11844
11845         * docs/gst/gstreamer-sections.txt:
11846         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
11847         * gst/gst.h:
11848         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
11849         Add two functions to check and change the SIGSEGV behaviour
11850         when loading plugins.
11851         Don't mess with the SIGSEGV handler when we were told not to.
11852         Fixes #347794.
11853         API: gst_segtrap_is_enabled
11854         API: gst_segtrap_set_enabled
11855
11856 2006-07-14  Wim Taymans  <wim@fluendo.com>
11857
11858         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11859         * tests/check/elements/filesrc.c: (GST_START_TEST):
11860         Revert fix for regression in #347408 after release.
11861
11862 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
11863
11864         Patch by: Antoine Tremblay <hexa00 at gmail com>
11865
11866         * gst/gstutils.c: (gst_element_unlink):
11867           Free iterator when done (#347311).
11868
11869         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11870           And add a test case for this.
11871
11872 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
11873
11874         * configure.ac:
11875         Bump nano back to CVS
11876
11877 === release 0.10.9 ===
11878
11879 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
11880
11881         * configure.ac:
11882           releasing 0.10.9, "On the road again"
11883
11884 2006-07-13  Wim Taymans  <wim@fluendo.com>
11885
11886         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11887         * tests/check/elements/filesrc.c: (GST_START_TEST):
11888         Revert pull-0 fix for release. Disable check. Fixes #347408.
11889
11890 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11891
11892         * libs/gst/dataprotocol/dataprotocol.c:
11893         (gst_dp_event_from_packet_1_0):
11894           Fixes #347337: failure to deserialize event packets with
11895           empty payload (only event type)
11896
11897 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11898
11899         * gst/Makefile.am:
11900           do not install a .c file in the header directory
11901
11902 2006-07-13  Edward Hervey  <edward@fluendo.com>
11903
11904         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
11905         GhostPad no longer implicitely use the padtemplates of the targets.
11906         Fixes #347384
11907
11908 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
11909
11910         * gst/gstvalue.c: (gst_value_compare_list),
11911         (gst_value_compare_array), (_gst_value_initialize):
11912         * tests/check/gst/gstvalue.c: (GST_START_TEST):
11913         Make GstValueArray comparison be order dependent as designed.
11914         Add checks for value lists and value array comparisons.
11915         Fixes #347221
11916
11917 2006-07-11  Edward Hervey  <edward@fluendo.com>
11918
11919         * gst/gstbin.c: (activate_pads),
11920         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
11921         (gst_bin_change_state_func):
11922         (de)activate src pads before calling state_change on the childs.
11923         This is to avoid the case where a src ghostpad is blocked (holding the
11924         stream lock), which would block the deactivation of the ghostpad's
11925         target pad.
11926         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
11927         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
11928         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
11929         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
11930         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
11931         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
11932         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
11933         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
11934         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
11935         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
11936         (gst_ghost_pad_class_init),
11937         (gst_ghost_pad_internal_do_activate_push),
11938         (gst_ghost_pad_internal_do_activate_pull),
11939         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
11940         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
11941         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
11942         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
11943         GhostPads now create their internal GstProxyPad at creation (and not
11944         when they're linked, as it was being done previously).
11945         The internal and target pads are linked straight away.
11946         The data will also travel through the other pad in order to make
11947         pad blocking and probes non-hackish (the probe/block now really happens
11948         on the GhostPad and not on the target).
11949         * gst/gstpad.c: (gst_pad_set_blocked_async),
11950         (gst_pad_link_prepare), (gst_pad_push_event):
11951         Remove previous ghostpad cruft.
11952         * gst/gstutils.c: (gst_pad_add_data_probe),
11953         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11954         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11955         (gst_pad_remove_buffer_probe):
11956         Remove previous ghost pad cruft.
11957         Added more detailed debug statements.
11958         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
11959         Fix the testsuite for refcounting changes.
11960         The comments about who has references were correct, but the refcount
11961         being checked wasn't the same (!?!).
11962
11963         Fixes #341029
11964
11965 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
11966
11967         * docs/gst/gstreamer-sections.txt:
11968         * gst/gstconfig.h.in:
11969         More docs for configuration options, add docs to gtk-doc.
11970
11971 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
11972
11973         * gst/Makefile.am:
11974         * gst/gstconfig.h.in:
11975         * win32/common/config.h:
11976         Fix build when disabling tracing (fixes #344016). Also start to document
11977         the defines that disable the sub-systems.
11978
11979 2006-07-10  Edward Hervey  <edward@fluendo.com>
11980
11981         * gst/gst.c: (ensure_current_registry_forking):
11982         let's make valgrind happy...
11983
11984 2006-07-09  Wim Taymans  <wim@fluendo.com>
11985
11986         * gst/gstelement.c: (activate_pads),
11987         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
11988         Better pad activation code: Reset the collect value too on resync.
11989         Add some comments.
11990
11991 2006-07-09  Wim Taymans  <wim@fluendo.com>
11992
11993         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
11994         (gst_pad_activate_push):
11995         Use some more macros where it makes sense.
11996         Allow pad mode switching instead of asserting. When a pad
11997         is activated in one mode and we activate it in another, 
11998         deactivate it first before activating it in a different mode.
11999         Fixes #329198.
12000
12001 2006-07-08  Andy Wingo  <wingo@pobox.com>
12002
12003         * tools/gst-launch.c (main): Handle err == NULL.
12004
12005         * gst/gst.c (init_post, ensure_current_registry)
12006         (ensure_current_registry_forking)
12007         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
12008         factoring out the registry scanning into separate functions. Don't
12009         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
12010         Better environment var name/interface suggestions accepted.
12011
12012 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
12013
12014         * gst/gstobject.c: (gst_object_set_name_default),
12015         (gst_object_set_name):
12016           Random micro-optimisation: don't use a hash table
12017           with strings as keys and the usual strdup/strcmp
12018           involved, but rather just use the GQuark of the
12019           type name as key, since it needs to be looked up
12020           anyway to get the type name string.
12021
12022         * tests/check/gst/gstobject.c: (GST_START_TEST):
12023           Fix various leaks.
12024
12025 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
12026
12027         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
12028         (gst_bin_iterate_all_by_interface):
12029           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
12030           GTypes are gulongs and thus the top 4 bytes might be cut
12031           off on some platforms when doing GPOINTER_TO_INT, leading
12032           to invalid GTypes and bad things happening (see RH bug #179654).
12033           Also add a check to make sure the type passed in is really
12034           an interface type.
12035
12036 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
12037
12038         * .cvsignore:
12039           Ignore more.
12040
12041 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
12042
12043         * Makefile.am:
12044         * configure.ac:
12045         * gst-element-check.m4:
12046         * gst-element-check.m4.in:
12047           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
12048           instead of the unversioned gst-inspect (#324176, #168659).
12049
12050 2006-07-06  Wim Taymans  <wim@fluendo.com>
12051
12052         * gst/gstmessage.h:
12053         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
12054         warnings.
12055
12056 2006-07-06  Wim Taymans  <wim@fluendo.com>
12057
12058         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12059         (gst_base_src_wait), (gst_base_src_update_length),
12060         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
12061         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
12062         (gst_base_src_loop), (gst_base_src_start),
12063         (gst_base_src_activate_pull):
12064         Update docs.
12065         blocksize == 0 now means the default blocksize when working in push
12066         based mode.
12067         Remove some pointless asserts in _wait function.
12068         Fix offset/length calculations and EOS handling. We can now pull 0
12069         bytes as well, which is allowed.
12070         use _check_get_range() to decide if we can operate in _pull based
12071         mode.
12072         Fix refcounting leak when check_get_range function was not 
12073         implemented.
12074         API GstBaseSrc::blocksize range can be 0 too now (default)
12075
12076         * tests/check/elements/filesrc.c: (GST_START_TEST),
12077         (filesrc_suite):
12078         Added check to test _get_range() behaviour.
12079
12080 2006-07-06  Wim Taymans  <wim@fluendo.com>
12081
12082         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
12083         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
12084         (gst_pad_pull_range):
12085         * gst/gstpad.h:
12086         Lots of comments and docs added to the pad functions.
12087         Flesh out the expected behaviour of the get_range() functions.
12088
12089 2006-07-06  Wim Taymans  <wim@fluendo.com>
12090
12091         * gst/gstbus.h:
12092         * gst/gstclock.h:
12093         * gst/gstevent.h:
12094         * gst/gstiterator.h:
12095         * gst/gstpad.h:
12096         * gst/gstplugin.h:
12097         * gst/gsttask.h:
12098         Remove comma at end of enumerator list. 
12099
12100 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
12101
12102         * win32/common/libgstbase.def:
12103         * win32/common/libgstdataprotocol.def:
12104         * win32/common/libsgtreamer.def:
12105         Add new exported functions.
12106
12107 2006-07-05  Wim Taymans  <wim@fluendo.com>
12108
12109         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
12110         Add some more docs here and there.
12111
12112 2006-07-05  Wim Taymans  <wim@fluendo.com>
12113
12114         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
12115         (gst_base_sink_loop), (gst_base_sink_get_position):
12116         When operating in pull mode update the offset so that we
12117         read sequentially.
12118
12119 2006-07-05  Wim Taymans  <wim@fluendo.com>
12120
12121         * gst/gstregistryxml.c: (read_string):
12122         Avoid strdup. (will happen in libxml, but hey!)
12123
12124         * gst/gsturi.c:
12125         Add some more docs.
12126
12127 2006-07-05  Wim Taymans  <wim@fluendo.com>
12128
12129         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
12130         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
12131         (gst_buffer_suite):
12132         No point in checking if the size of the subbuffer > 0, the
12133         code handles it correclty as demonstrated by unit test.
12134         Also add a unit test for the zero sized _new_and_alloc and
12135         _copy. Fixes #346663.
12136
12137 2006-07-05  Wim Taymans  <wim@fluendo.com>
12138
12139         * libs/gst/base/gstbasetransform.c:
12140         (gst_base_transform_prepare_output_buffer),
12141         (gst_base_transform_buffer_alloc),
12142         (gst_base_transform_handle_buffer):
12143         Make sure the buffer we pass to transform_ip has a refcount of
12144         1 and thus is writable. Fixes #343196
12145
12146 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
12147
12148         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
12149         (gst_file_src_init), (gst_file_src_set_property),
12150         (gst_file_src_get_property), (gst_file_src_map_region):
12151         * plugins/elements/gstfilesrc.h:
12152         Add "sequential" property, off by default, to use madvise and hint
12153         to the kernel that sequential access is desired.
12154         Touch all retrieved pages by default to ensure they are pulled
12155         into memory. (Closes #345720)
12156
12157 2006-07-03  Wim Taymans  <wim@fluendo.com>
12158
12159         * docs/design/part-block.txt:
12160         * docs/design/part-dynamic.txt:
12161         Small docs updates.
12162
12163 2006-07-03  Wim Taymans  <wim@fluendo.com>
12164
12165         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
12166         (gst_caps_unref), (gst_static_caps_get),
12167         (gst_caps_append_structure):
12168         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
12169         Use GSlice when the glib we build against is >= 2.10
12170
12171 2006-07-03  Wim Taymans  <wim@fluendo.com>
12172
12173         * gst/gstelement.c: (gst_element_pads_activate):
12174         Small cleanup in pad activation code.
12175
12176 2006-07-03  Wim Taymans  <wim@fluendo.com>
12177
12178         Patch by: Peter Kjellerstedt <pkj at axis dot com>
12179
12180         * gst/gst-i18n-app.h:
12181         * gst/gst-i18n-lib.h:
12182         * tools/gst-inspect.c: (print_signal_info):
12183         The attached patch will make the inclusion of gettext.h unconditional in
12184         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
12185         libintl.h in tools/gst-inspect.c.
12186         This allows use of --disable-nls again and fixes #344642.
12187
12188 2006-07-03  Edward Hervey  <edward@fluendo.com>
12189
12190         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
12191         Implement pad blocking on events according to part-block.txt.
12192         More comments on behaviour.
12193         * tests/check/gst/gstevent.c: (test_event):
12194         Send event to peer pad of blocked pad (else it will block).
12195
12196 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12197
12198         * libs/gst/check/gstcheck.c: (gst_check_message_error),
12199         (gst_check_run_suite):
12200           if we get the wrong message, give us the types as string
12201         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
12202           Fix a translatable
12203         * tests/check/elements/filesrc.c: (GST_START_TEST):
12204           add a test for trying to open a non-existing file
12205
12206 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12207
12208         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12209           add a test for adding self
12210
12211 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12212
12213         * libs/gst/check/gstcheck.h:
12214           add some assert_ as alias for fail_unless_*
12215         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
12216           increase test coverage
12217
12218 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12219
12220         * Makefile.am:
12221           include lcov.mak for lcov coverage generation
12222         * tools/Makefile.am:
12223           add to CLEANFILES
12224
12225 2006-07-02  Edward Hervey  <edward@fluendo.com>
12226
12227         * tests/check/elements/.cvsignore:
12228         moaping
12229
12230 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12231
12232         * configure.ac:
12233           don't set CFLAGS and friends for gcov, done from GST_GCOV now
12234         * tests/check/Makefile.am:
12235           clean up gcov files
12236
12237 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12238
12239         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
12240           remove gst_caps_simplify; it was not declared and not used
12241           and deprecated in 0.8
12242
12243 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12244
12245         * docs/faq/gst-uninstalled:
12246           don't put empty paths on PYTHONPATH
12247         * docs/gst/gstreamer-sections.txt:
12248           remove some symbols that are not there
12249
12250 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12251
12252         * gst/gstcaps.c: (gst_caps_compare_structures):
12253           whitespace fixes
12254         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12255         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12256           add more tests
12257
12258 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12259
12260         * libs/gst/dataprotocol/Makefile.am:
12261           build dataprotocol test by linking to the lib, instead of
12262           compiling the source, so we get coverage
12263         * tests/check/Makefile.am:
12264         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
12265         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
12266           add a test for filesrc
12267
12268 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12269
12270         * tests/check/gst/gststructure.c: (GST_START_TEST),
12271         (gst_structure_suite):
12272           Push coverage from 59.04% to 70.00%
12273
12274 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12275
12276         * tests/check/Makefile.am:
12277           gst-inspect every element; this makes sure that we also get
12278           coverage on element's get/set functions
12279
12280 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12281
12282         * configure.ac:
12283           set CFLAGS and friends to -O0 if gcov is being used
12284           add GCOV LIBS
12285         * gst/Makefile.am:
12286         * libs/gst/base/Makefile.am:
12287         * libs/gst/check/Makefile.am:
12288         * libs/gst/controller/Makefile.am:
12289         * libs/gst/dataprotocol/Makefile.am:
12290         * libs/gst/net/Makefile.am:
12291         * plugins/elements/Makefile.am:
12292         * plugins/indexers/Makefile.am:
12293           add makefile rules to generate gcov data and clean up
12294         * tests/check/Makefile.am:
12295           add a coverage target that generates an html overview
12296           of coverage data
12297
12298 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12299
12300         * tests/check/elements/fakesink.c:
12301         * tests/check/elements/fakesrc.c:
12302         * tests/check/elements/fdsrc.c:
12303         * tests/check/elements/identity.c:
12304         * tests/check/generic/sinks.c: (gst_sinks_suite):
12305         * tests/check/generic/states.c:
12306         * tests/check/gst/gst.c:
12307         * tests/check/gst/gstabi.c:
12308         * tests/check/gst/gstbin.c:
12309         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
12310         * tests/check/gst/gstbus.c: (gst_bus_suite):
12311         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12312         * tests/check/gst/gstelement.c:
12313         * tests/check/gst/gstevent.c: (gst_event_suite):
12314         * tests/check/gst/gstghostpad.c:
12315         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
12316         * tests/check/gst/gstmessage.c: (gst_message_suite):
12317         * tests/check/gst/gstminiobject.c:
12318         * tests/check/gst/gstobject.c:
12319         * tests/check/gst/gstpad.c:
12320         * tests/check/gst/gstpipeline.c:
12321         * tests/check/gst/gstplugin.c:
12322         * tests/check/gst/gstquery.c: (gst_query_suite):
12323         * tests/check/gst/gstsegment.c: (gst_segment_suite):
12324         * tests/check/gst/gststructure.c:
12325         * tests/check/gst/gstsystemclock.c:
12326         * tests/check/gst/gsttag.c:
12327         * tests/check/gst/gsttask.c: (gst_task_suite):
12328         * tests/check/gst/gstutils.c:
12329         * tests/check/gst/gstvalue.c:
12330         * tests/check/libs/adapter.c:
12331         * tests/check/libs/basesrc.c:
12332         * tests/check/libs/collectpads.c:
12333         * tests/check/libs/controller.c:
12334         * tests/check/libs/gdp.c: (gst_dp_suite):
12335         * tests/check/libs/gstnetclientclock.c:
12336         * tests/check/libs/gstnettimeprovider.c:
12337         * tests/check/libs/libsabi.c: (libsabi_suite):
12338         * tests/check/libs/typefindhelper.c:
12339         * tests/check/pipelines/cleanup.c:
12340         * tests/check/pipelines/parse-launch.c:
12341         * tests/check/pipelines/simple-launch-lines.c:
12342         * tests/check/pipelines/stress.c: (stress_suite):
12343           use the new macro
12344
12345 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12346
12347         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
12348         * libs/gst/check/gstcheck.h:
12349           create a macro and function so that the simple unit test
12350           case can be just one macro to create main()
12351
12352 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
12353
12354         * gst/gstbin.c: (gst_bin_restore_thyself):
12355         * gst/gstxml.c: (gst_xml_make_element):
12356           Fix deserialisation from XML. Set parent manually
12357           instead of using gst_bin_add(), since gst_bin_add()
12358           will unlink all pads of the element being added.
12359           Fixes #341667.
12360
12361 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
12362
12363         Patch by: Peter Kjellerstedt <pkj at axis com>
12364
12365         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
12366           Fix missing g_strdup() and double free when using the
12367           --gst-plugin-load command line option (#346097).
12368
12369 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
12370
12371         * gst/gstinfo.c:
12372           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
12373
12374         * libs/gst/net/gstnetclientclock.c:
12375         * libs/gst/net/gstnettimeprovider.c:
12376           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
12377
12378 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
12379
12380         * docs/manual/advanced-dataaccess.xml:
12381           Fix buffer probe example compilation in
12382           ADM (#345708).
12383         
12384 2006-06-22  Edward Hervey  <edward@fluendo.com>
12385
12386         * gst/gstelement.c: (gst_element_pads_activate):
12387         We need to deactivate src pads first and then sink pads.
12388         The reason is the src pads might be blocking while holding the streaming
12389         lock, so we need to deactivate them first so that deactivating the sink
12390         pads doesn't block (since it will require the streaming lock).
12391
12392 2006-06-22  Wim Taymans  <wim@fluendo.com>
12393
12394         * libs/gst/base/gstbasetransform.c:
12395         (gst_base_transform_buffer_alloc):
12396         Forgot to remove two unneeded unrefs.
12397         Simplify a check _is_equal allready checks the obvious case.
12398
12399 2006-06-22  Wim Taymans  <wim@fluendo.com>
12400
12401         * docs/design/part-block.txt:
12402         Some docs about what pad_block should do.
12403
12404 2006-06-22  Wim Taymans  <wim@fluendo.com>
12405
12406         * gst/gstcaps.c: (gst_caps_replace):
12407         Fix crasher when passed NULL. Doc clarification.
12408         Optimize for the trivial case.
12409
12410         * gst/gstpipeline.c: (gst_pipeline_change_state):
12411         Small cleanups.
12412
12413         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12414         Small documentation cleanup.
12415
12416         * libs/gst/base/gstbasetransform.c:
12417         (gst_base_transform_buffer_alloc):
12418         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
12419         is what we need and it avoids a whole lot of redundant 
12420         refcount operations.
12421
12422 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
12423
12424         Patch by: Philip Jägenstedt  <philip at lysator liu se>
12425
12426         * docs/manual/advanced-dataaccess.xml:
12427           Fix 'Embedding static elements' section to use
12428           GST_PLUGIN_DEFINE_STATIC (#345607).
12429
12430 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
12431
12432         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
12433           Attempt to 'fix' spuriously failing test case: it seems like the
12434           timeout of half a second is simply too small when the system is under
12435           load otherwise, and the timeout doesn't really seem to serve any
12436           particular purpose here. Give the pipeline a few seconds to preroll
12437           first, and then give it another half a second to go from PAUSED to
12438           PLAYING and marshal the message into the main thread.
12439
12440 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
12441
12442         * tools/gst-feedback-m.m:
12443           Don't only use unversioned tools, try versioned tools as well
12444           (#345086).
12445
12446 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
12447
12448         * gst/gstbus.c: (gst_bus_class_init):
12449           Fix some typos, make docs more explicit.
12450
12451 2006-06-20  Wim Taymans  <wim@fluendo.com>
12452
12453         * tests/check/gst/gstghostpad.c: (block_callback),
12454         (GST_START_TEST), (gst_ghost_pad_suite):
12455         Added some more ghostpad tests, mainly blocking
12456         and probes.
12457
12458 2006-06-16  Wim Taymans  <wim@fluendo.com>
12459
12460         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
12461         (gst_file_sink_close_file), (gst_file_sink_do_seek),
12462         (gst_file_sink_event), (gst_file_sink_render):
12463         * plugins/elements/gstfilesink.h:
12464         Check if we can seek in the file instead of assuming
12465         we always can. Post an error when we are asked to seek in a
12466         non-seekable file (like a fifo). Fixes #343312.
12467         Some cleanups.
12468
12469 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
12470
12471         * tools/gst-launch.1.in:
12472           Un-garble (fourcc) bit in filtered caps section.
12473
12474 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
12475
12476         * docs/manual/advanced-autoplugging.xml:
12477         * docs/manual/basics-helloworld.xml:
12478         * docs/manual/highlevel-components.xml:
12479           Don't leak bus reference in sample code.
12480
12481 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
12482
12483         * autogen.sh:
12484           Add default for new --enable-plugin-docs switch.
12485
12486         * configure.ac:
12487           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
12488           Fixes #344039.
12489
12490         * docs/Makefile.am:
12491           Use new ENABLE_PLUGIN_DOCS conditional.
12492
12493 2006-06-14  Wim Taymans  <wim@fluendo.com>
12494
12495         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
12496         Make it clear with a FIXME and a real define what the #if 0
12497         previously disabled.
12498
12499 2006-06-14  Wim Taymans  <wim@fluendo.com>
12500
12501         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
12502         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
12503         * libs/gst/base/gstbasetransform.c:
12504         (gst_base_transform_sink_eventfunc):
12505         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
12506         Don't randomly and silently reset a segment when the format 
12507         changes as this is a bug somewhere upstream. Fixes #330379.
12508
12509 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
12510
12511         Patch by: Wouter Paesen  <wouter at kangaroot net>
12512
12513         * libs/gst/controller/gstcontroller.c:
12514         (gst_controlled_property_new):
12515           Fix controlling of float properties (#344849).
12516
12517         * tests/check/libs/controller.c:
12518         (gst_test_mono_source_get_property),
12519         (gst_test_mono_source_set_property),
12520         (gst_test_mono_source_class_init), (GST_START_TEST):
12521           While we're at it, add some float stuff to unit test.
12522
12523 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12524
12525         * docs/README:
12526         * docs/images/gdp-header.svg:
12527           add a gdp image
12528         * docs/libs/Makefile.am:
12529         * docs/libs/gdp-header.png:
12530         * libs/gst/dataprotocol/dataprotocol.c:
12531           add it to the API docs
12532         * docs/manual/intro-motivation.xml:
12533           fix typo
12534
12535 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
12536
12537         * gst/gst.c: (scan_and_update_registry), (init_post):
12538           If the fork()'ed child process can't write the updated registry cache
12539           file to disk for some reason, make it exit with a failure exit code,
12540           so that the parent can then re-scan the plugins itself and update the
12541           registry structures in memory and work with that (rather than failing
12542           when creating elements because seemingly no plugins are available).
12543           Refactor registry scanning code into separate function for this and
12544           also separate fork() and non-fork() code paths. Fixes #344748.
12545
12546 2006-06-13  Wim Taymans  <wim@fluendo.com>
12547
12548         * docs/manual/advanced-dataaccess.xml:
12549         Fix wrong PluginDesc. Fixes #344755.
12550
12551 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
12552
12553         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
12554           Fix silly bug that prevented us from creating
12555           ~/.gstreamer-0.10 and writing the registry in one
12556           go (the first call to g_mkstemp() would overwrite the
12557           placeholder in the template string, so the second call
12558           to g_mkstemp() after creating the missing directory
12559           would then error out with 'invalid argument').
12560
12561 2006-06-13  Edward Hervey  <edward@fluendo.com>
12562
12563         * gst/gst.c: (init_post):
12564         Free string.
12565
12566 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12567
12568         * gst/glib-compat-private.h:
12569         * gst/glib-compat.c:
12570         * gst/glib-compat.h:
12571         * gst/gstvalue.c: (gst_value_serialize_flags):
12572           remove GLib 2.6 compatibility code
12573
12574 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
12575
12576         * gst/parse/Makefile.am:
12577           Fix build with 'make -j N' even more (#340016).
12578
12579 2006-06-12  Wim Taymans  <wim@fluendo.com>
12580
12581         * docs/gst/gstreamer-sections.txt:
12582         Fix docs.
12583
12584 2006-06-12  Wim Taymans  <wim@fluendo.com>
12585
12586         * gst/gstsegment.c: (gst_segment_set_duration),
12587         (gst_segment_set_last_stop), (gst_segment_set_seek),
12588         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
12589         (gst_segment_to_running_time), (gst_segment_clip):
12590         Use G_UNLIKELY to help the compiler a bit.
12591
12592 2006-06-12  Wim Taymans  <wim@fluendo.com>
12593
12594         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
12595
12596         * gst/gstevent.c: (gst_event_get_type):
12597         * gst/gstmessage.c:
12598         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
12599         (gst_pad_push):
12600         constify quark registration strings. Fixes #344115
12601         Avoid unneeded type checking is _pad_push() by internally
12602         calling gst_pad_chain_unchecked().
12603
12604 2006-06-12  Wim Taymans  <wim@fluendo.com>
12605
12606         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
12607         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
12608         (gst_subbuffer_finalize), (gst_buffer_create_sub),
12609         (gst_buffer_is_span_fast), (gst_buffer_span):
12610         Init _type for consistency.
12611         Use _FLAGS macro to avoid type check.
12612         Avoid unneeded type checks in subbufer code.
12613
12614 2006-06-12  Wim Taymans  <wim@fluendo.com>
12615
12616         * gst/gst.c: (gst_debug_help):
12617         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
12618         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
12619         (gst_plugin_feature_list_free):
12620         * gst/gstregistry.c: (gst_registry_add_plugin),
12621         (gst_registry_add_feature), (gst_registry_plugin_filter),
12622         (gst_registry_feature_filter), (gst_registry_find_plugin),
12623         (gst_registry_find_feature), (gst_registry_get_plugin_list),
12624         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
12625         * gst/gstregistryxml.c: (load_feature),
12626         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
12627         * gst/gstminiobject.c: (gst_mini_object_unref),
12628         (gst_mini_object_replace), (gst_value_mini_object_free),
12629         (gst_value_mini_object_copy):
12630         Use _CAST macros to avoid unneeded type checking.
12631         Added some more G_UNLIKELY.
12632
12633 2006-06-12  Wim Taymans  <wim@fluendo.com>
12634
12635         * gst/gstbuffer.h:
12636         Avoid unneeded type checking.
12637         API: GST_BUFFER_IS_DISCONT
12638
12639         * gst/gstminiobject.h:
12640         Avoid type check in flag accessor.
12641
12642         * gst/gstelementfactory.h:
12643         * gst/gstplugin.h:
12644         * gst/gstpluginfeature.h:
12645         Add _CAST macros.
12646         API: GST_ELEMENT_FACTORY_CAST
12647         API: GST_PLUGIN_CAST
12648         API: GST_PLUGIN_FEATURE_CAST
12649
12650 2006-06-12  Wim Taymans  <wim@fluendo.com>
12651
12652         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
12653         (gst_object_unref):
12654         Add G_UNLIKELY in type registration.
12655         Avoid type check in _ref/_unref since that is also
12656         done in glib.
12657
12658 2006-06-12  Wim Taymans  <wim@fluendo.com>
12659
12660         * gst/gsterror.c: (gst_g_error_get_type):
12661         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
12662         (gst_static_pad_template_get_type):
12663         * gst/gsttaglist.c: (gst_tag_list_get_type):
12664         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
12665         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
12666         * gst/gsturi.c: (gst_uri_handler_get_type):
12667         * gst/gstvalue.c: (gst_date_get_type):
12668         * gst/gstxml.c: (gst_xml_get_type):
12669         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
12670         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
12671         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
12672         Add G_UNLIKELY in type registration.
12673
12674 2006-06-12  Wim Taymans  <wim@fluendo.com>
12675
12676         * tools/gst-inspect.c: (print_signal_info):
12677         Properly print enum values.
12678
12679 2006-06-12  Wim Taymans  <wim@fluendo.com>
12680
12681         * gst/gstinfo.c: (gst_debug_set_active),
12682         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
12683         * gst/gstinfo.h:
12684         Add some G_[UN]LIKELY.
12685         Maintain __gst_debug_min to avoid formatting the arguments of
12686         debug messages that will be dropped anyway to avoid a lot of 
12687         overhead from the debugging system.
12688
12689 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
12690
12691         * po/POTFILES.in:
12692         * po/POTFILES.skip:
12693           add missing files containing translatable strings, tell intltool about
12694           one exception
12695
12696 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
12697
12698         * tests/check/libs/.cvsignore:
12699         add test-binary to ignore list
12700
12701 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
12702
12703         * docs/libs/gstreamer-libs-docs.sgml:
12704         reorder (put dp into a chapter) and indent
12705
12706 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12707
12708         * configure.ac:
12709           back to HEAD
12710
12711 === release 0.10.8 ===
12712
12713 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
12714
12715         * configure.ac:
12716           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
12717
12718 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12719
12720         * gst/gst.c: (init_post):
12721           move pid declaration to declaration block
12722
12723 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12724
12725         * gst/gst.c: (init_post):
12726           use _exit() instead of exit() in our forked child; this ensures
12727           that none of the registered exit handlers from whatever is using
12728           GStreamer get executed.  This fixes gnome-mixer-applet failing
12729           to load, because ORBit would shut down.
12730           Spotted by: Edward Hervey  <edward@fluendo.com>
12731           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
12732           Fixes #344474
12733
12734 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12735
12736         * configure.ac:
12737           back to TRUNK
12738
12739 === release 0.10.7 ===
12740
12741 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
12742
12743         * configure.ac:
12744           releasing 0.10.7, "Soepeke, ik zie ou"
12745
12746 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12747
12748         * configure.ac:
12749         * po/af.po:
12750         * po/az.po:
12751         * po/bg.po:
12752         * po/ca.po:
12753         * po/cs.po:
12754         * po/de.po:
12755         * po/en_GB.po:
12756         * po/fr.po:
12757         * po/it.po:
12758         * po/nb.po:
12759         * po/nl.po:
12760         * po/ru.po:
12761         * po/sq.po:
12762         * po/sr.po:
12763         * po/sv.po:
12764         * po/tr.po:
12765         * po/uk.po:
12766         * po/vi.po:
12767         * po/zh_CN.po:
12768         * po/zh_TW.po:
12769         * win32/common/config.h:
12770           0.10.6.2 prerelease
12771
12772 2006-06-07  Wim Taymans  <wim@fluendo.com>
12773
12774         * gst/gstindex.c: (gst_index_gtype_resolver):
12775         * tools/gst-xmlinspect.c: (print_plugin_info):
12776         Fix leak spotted by coverity checker. Fixes #343827
12777         Fix another other leak found by paolo borelli.
12778
12779 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12780
12781         * libs/gst/dataprotocol/dataprotocol.c:
12782         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
12783         (gst_dp_version_get_type), (gst_dp_init),
12784         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
12785         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
12786         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
12787         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
12788         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
12789         (gst_dp_packetizer_free):
12790         * libs/gst/dataprotocol/dataprotocol.h:
12791           API: add a GstDPPacketizer object, and create/free functions
12792           API: add GstDPVersion enum
12793           Add 1.0 event function that uses the string serialization
12794           Serialize more useful buffer flags
12795           Fixes #343988
12796
12797 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12798
12799         * tests/check/Makefile.am:
12800         * tests/check/gst/gstabi.c:
12801         * tests/check/gst/struct_ppc64.h:
12802         * tests/check/libs/libsabi.c:
12803         * tests/check/libs/struct_ppc64.h:
12804           add ppc64 structure sizes
12805
12806 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12807
12808         * tests/check/Makefile.am:
12809         * tests/check/gst/gstabi.c:
12810         * tests/check/gst/struct_x86_64.h:
12811         * tests/check/libs/libsabi.c:
12812         * tests/check/libs/struct_x86_64.h:
12813           generate and add structure size lists for x86_64
12814
12815 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12816
12817         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
12818         * libs/gst/check/gstcheck.h:
12819           factor out the method from tests that checks size of structures,
12820           and add code to generate the header containing these sizes
12821         * tests/check/gst/gstabi.c: (GST_START_TEST):
12822         * tests/check/gst/struct_i386.h:
12823         * tests/check/libs/libsabi.c: (GST_START_TEST):
12824         * tests/check/libs/struct_i386.h:
12825           use it
12826
12827 2006-06-06  Michael Smith  <msmith@fluendo.com>
12828
12829         * gst/gstsegment.h:
12830           Don't use c++-style comments, fixes #343929
12831
12832 2006-06-05  Edward Hervey  <edward@fluendo.com>
12833
12834         * gst/gst.c:
12835         plugin_paths is not used if we build without registry support.
12836
12837         * gst/gstsegment.c: (gst_segment_copy): 
12838         _copy() was always returning NULL...
12839
12840 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12841
12842         * libs/gst/dataprotocol/dataprotocol.c:
12843         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
12844         (gst_dp_packet_from_event):
12845           factor out CRC code
12846
12847 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12848
12849         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
12850           make sure we unset caps
12851
12852 2006-06-02  Michael Smith  <msmith@fluendo.com>
12853
12854         * libs/gst/check/gstcheck.c: (gst_check_init),
12855         (gst_check_chain_func):
12856         * libs/gst/check/gstcheck.h:
12857           Add a cond/mutex to the check support lib, signal this whenever we
12858           add to the buffers list. This will allow tests to not busy-wait on
12859           the buffer-list.
12860
12861 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12862
12863         * libs/gst/dataprotocol/dataprotocol.c:
12864         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
12865         (gst_dp_packet_from_event):
12866           factor out some common header init code
12867
12868 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12869
12870         * docs/libs/gstreamer-libs-sections.txt:
12871         * docs/libs/tmpl/gstdataprotocol.sgml:
12872         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
12873         * libs/gst/dataprotocol/dataprotocol.h:
12874           API: make gst_dp_crc() public
12875
12876 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
12877
12878         * plugins/indexers/gstindexers.c: (plugin_init):
12879         conditionally register fileindexer (fixes #343598)
12880
12881 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
12882
12883         * gst/gsttagsetter.h:
12884         Can't cast ifaces to a class
12885
12886         * libs/gst/net/gstnetclientclock.h:
12887         * libs/gst/net/gstnettimeprovider.h:
12888         * plugins/elements/gstfakesink.h:
12889         * plugins/elements/gstfakesrc.h:
12890         * plugins/elements/gstfdsink.h:
12891         * plugins/elements/gstfdsrc.h:
12892         * plugins/elements/gstfilesink.h:
12893         * plugins/elements/gstfilesrc.h:
12894         * plugins/elements/gstidentity.h:
12895         * plugins/elements/gstqueue.h:
12896         * plugins/elements/gsttee.h:
12897         * plugins/indexers/gstfileindex.c:
12898         * plugins/indexers/gstmemindex.c:
12899         * tests/old/examples/plugins/example.h:
12900         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
12901
12902 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12903
12904         * libs/gst/dataprotocol/dataprotocol.c:
12905         (gst_dp_header_from_buffer):
12906           make sure we zero the whole ABI-compatible area
12907
12908 2006-06-01  Wim Taymans  <wim@fluendo.com>
12909
12910         Patch by: Alessandro Decina <alessandro at nnva dot org>
12911
12912         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
12913         Make sure the EOS flag is cleared from pads after a flush
12914         or stop. Fixes #343538.
12915
12916         * tests/check/libs/collectpads.c: (GST_START_TEST),
12917         (gst_collect_pads_suite):
12918         Added test for collectpads reusage after EOS.
12919
12920 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
12921
12922         * gst/gst.c:
12923          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
12924         * win32/common/libgstbase.def:
12925          export gst_collect_pads_set_flushing
12926         * win32/common/libgstreamer.def:
12927          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
12928          gst_value_fraction_multiply
12929         * win32/vs6/gst_inspect.dsp:
12930          add a link to intl.lib
12931
12932 2006-05-30  Wim Taymans  <wim@fluendo.com>
12933
12934         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12935         (gst_collect_pads_chain):
12936         Handle the case where a pad is removed from the collection
12937         that could cause the other pads to become collectable.
12938
12939 2006-05-30  Wim Taymans  <wim@fluendo.com>
12940
12941         * gst/gstelement.c:
12942         Clarify the use of _release_request_pad() and
12943         _get_request_pad() a bit better.
12944
12945         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
12946         (gst_adapter_take_buffer):
12947         Fix some doc and comment typos.
12948
12949 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12950
12951         * docs/gst/gstreamer-sections.txt:
12952         * docs/libs/gstreamer-libs-sections.txt:
12953           add declared symbols
12954
12955 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
12956
12957         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12958         Add debug that can be enabled using a #define at the top of the file,
12959         for dumping stats about how late/early we were when waking up from
12960         waiting on the clock.
12961
12962 2006-05-30  Wim Taymans  <wim@fluendo.com>
12963
12964         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
12965         When rebuilding the pad list, don't leak the previous list.
12966
12967 2006-05-30  Wim Taymans  <wim@fluendo.com>
12968
12969         Patch by: Lutz Mueller <lutz at topfrose dot de>
12970
12971         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12972         (gst_base_src_get_query_types), (gst_base_src_update_length):
12973         Publish supported query types.
12974         Update last_stop field in get_range mode so the position
12975         query works. Fixes #342321.
12976
12977 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
12978
12979         * docs/gst/gstreamer-sections.txt:
12980         * gst/gsttaglist.c: (_gst_tag_initialize):
12981         * gst/gsttaglist.h:
12982           API: add GST_TAG_PREVIEW_IMAGE (#343341).
12983
12984 2006-05-30  Wim Taymans  <wim@fluendo.com>
12985
12986         Patch by: Alessandro Decina <alessandro at nnva dot org>
12987
12988         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
12989         Unlock mutex when removing an unknown pad.
12990         Fixes #343334.
12991
12992         * tests/check/Makefile.am:
12993         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
12994         (push_event), (setup), (teardown), (GST_START_TEST),
12995         (gst_collect_pads_suite), (main):
12996         Added collecpads check, disabled for now as check crashes for
12997         some reason.
12998
12999 2006-05-29  Wim Taymans  <wim@fluendo.com>
13000
13001         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
13002         Don't leak pads lists.
13003
13004 2006-05-29  Wim Taymans  <wim@fluendo.com>
13005
13006         * docs/libs/gstreamer-libs-sections.txt:
13007         * libs/gst/base/gstcollectpads.c:
13008         (gst_collect_pads_set_flushing_unlocked),
13009         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
13010         (gst_collect_pads_stop):
13011         * libs/gst/base/gstcollectpads.h:
13012         API: gst_collect_pads_set_flushing()
13013         Added api to set the pads to flushing, useful for seeking
13014         code in elements using collectpads.
13015         Clear segment when receiving a flush.
13016
13017 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
13018
13019         * gst/gst.c: (add_path_func), (init_post):
13020           Don't scan registry paths passed via --gst-plugin-path immediately
13021           (will crash, because absolutely nothing is set up and no types are
13022           registered etc.); do this later in init_post(). Fixes #343057.
13023
13024 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13025
13026         * gst/gst.c: (init_post):
13027           if we have fork, fork while reading/rebuilding the registry
13028           so the parent doesn't take the hit of having all plugins loaded
13029           in memory.  Fixes #342777.
13030         * configure.ac:
13031           Check if we have fork()
13032         * win32/common/config.h.in:
13033           no fork() on win32
13034
13035 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
13036
13037         * plugins/elements/gstelements.c:
13038         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13039         (gst_file_src_init), (gst_file_src_set_property),
13040         (gst_file_src_get_property), (gst_file_src_start):
13041         * plugins/elements/gstfilesrc.h:
13042           API: GstFileSrc::use-mmap
13043
13044         Add a use-mmap property to enable easier testing of all code paths.
13045         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
13046         in the absence of gnomevfssrc. (Closes #340501)
13047
13048 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
13049
13050         * tools/gst-inspect.c:
13051         Add missing include, removes warning of ngettext not being defined on
13052         some arches.
13053
13054 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
13055
13056         * gst/gstvalue.c: (gst_value_deserialize_fraction):
13057         Handle NULL input and output pointers silently as a failed conversion,
13058         rather than g_warnings.
13059
13060 2006-05-25  Wim Taymans  <wim@fluendo.com>
13061
13062         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
13063         Initialize variable before using. Fixes #342820.
13064
13065 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
13066
13067         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
13068           Fix off-by-one bug that would only allow peeks of N-1 bytes
13069           from the start even if the buffer to typefind on contains
13070           in fact N bytes of data (makes vorbis typefinding from a
13071           vorbis identification header buffer work).
13072
13073         * tests/check/Makefile.am:
13074         * tests/check/libs/.cvsignore:
13075         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
13076         (gst_typefindhelper_suite), (main), (foobar_typefind),
13077         (plugin_init):
13078           Add very basic unit test for gst_type_find_helper_for_buffer()
13079           that checks for the problem fixed above.
13080
13081 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13082
13083         * tools/gst-inspect.c: (print_interfaces),
13084         (print_element_properties_info), (print_element_list), (main):
13085           add more translatable strings
13086
13087 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
13088
13089         Patch by: Julien Moutte  <julien at moutte net>
13090
13091         * docs/gst/gstreamer-sections.txt:
13092           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
13093           
13094         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
13095         (gst_fake_sink_preroll):
13096         * plugins/elements/gstfakesink.h:
13097           API: Add new GstFakeSink::preroll-handoff signal (#337100).
13098
13099 2006-05-23  Wim Taymans  <wim@fluendo.com>
13100
13101         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
13102         * gst/gstpad.h:
13103         Added _CUSTOM error and success GstFlowReturn that can be
13104         used be elements internally. 
13105         Added macro to check for SUCCESS flowreturns.
13106         API: GST_FLOW_CUSTOM_SUCCESS
13107         API: GST_FLOW_CUSTOM_ERROR
13108         API: GST_FLOW_IS_SUCCESS
13109
13110         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
13111         Added check for GstFlowReturn sanity.
13112
13113 2006-05-23  Wim Taymans  <wim@fluendo.com>
13114
13115         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
13116
13117         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
13118         (gst_collect_pads_event):
13119         clear/reset segment info in FLUSH_STOP.
13120         Fixes #336929.
13121
13122 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
13123
13124         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
13125         (gst_collect_pads_check_collected):
13126         Flush queued buffer on _stop(), fixes playing again (#342454)
13127
13128 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13129
13130         * tests/check/gst/gststructure.c: (GST_START_TEST),
13131         (gst_structure_suite):
13132           add a test for a complete structure
13133
13134 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
13135
13136         * docs/faq/developing.xml:
13137         * docs/faq/faq.xml:
13138         * docs/faq/troubleshooting.xml:
13139         * docs/faq/using.xml:
13140           Some minor FAQ updates that won't change the fact that
13141           our FAQ is badly structured, full of information hardly
13142           anyone new to GStreamer needs to know and lacking lots
13143           of information people constantly ask for.
13144           
13145 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
13146
13147         * gst/gstpad.c: (gst_pad_set_caps):
13148           Short-circuit gst_pad_set_caps if setting the existing
13149           caps pointer again, and avoid printing debug and 
13150           reffing/unreffing the caps.
13151
13152         * plugins/elements/gstqueue.c: (gst_queue_push_one):
13153           There's actually no need to set the caps before pushing -
13154           the acceptcaps method will handle it anyway.
13155
13156 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
13157
13158         * docs/gst/gstreamer-sections.txt:
13159         * win32/common/libgstreamer.def:
13160         * gst/gstutils.c: (gst_element_seek_simple):
13161         * gst/gstutils.h:
13162           API: add gst_element_seek_simple() (#342238).
13163
13164 2006-05-18  Edward Hervey  <edward@fluendo.com>
13165
13166         * gst/gsttypefind.c: (gst_type_find_get_type):
13167         * gst/gsttypefind.h:
13168         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
13169         registered for GstTypeFind pointers. This allows wrapping the structure
13170         in bindings (i.e. gst-python).
13171
13172 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
13173
13174         * gst/gsttagsetter.c:
13175           Docs additions and fixes (see #339918).
13176
13177 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
13178
13179         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13180         The caps intersection algorithm can produce multiple copies of the
13181         caps. Until that is fixed, we need to simplify the result to be
13182         sure whether the allowed caps are fixed or not.
13183
13184         * plugins/elements/gstqueue.c: (gst_queue_init),
13185         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
13186         (gst_queue_push_one):
13187         Proxied buffer alloc should not set the caps on the source pad.
13188         When pushing buffers, we always accept the caps change that triggers.
13189         This prevents negotiation errors caused by caps changing mid-stream 
13190         and then being refused on our source pad (because upstream is now
13191         refusing those caps).
13192
13193 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
13194
13195         * tests/examples/helloworld/helloworld.c: (main):
13196           Must plug audioconvert and audioresample between decoder
13197           and audio sink.
13198
13199 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
13200
13201         * gst/gstregistryxml.c: (read_string), (load_pad_template),
13202         (load_feature), (load_plugin):
13203         Allow empty strings for some of the plugin fields so we don't 
13204         drop valid plugin entries that were written out correctly
13205         (Fixes #341479)
13206
13207 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
13208         
13209         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
13210           Use g_remove and g_rename instead of remove and rename that don't 
13211           handle utf8 characters. rename was failing for users who had specific
13212           characters in their name then the registry was built at each 
13213           gstreamer init.
13214         * win32/vs6/gst_inspect.dsp:
13215         * win32/vs6/gst_launch.dsp:
13216         * win32/vs6/libgstbase.dsp:
13217         * win32/vs6/libgstcoreelements.dsp:
13218         * win32/vs6/libgstreamer.dsp:
13219           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
13220           build of libgstreamer and clean unused libraries in projects link 
13221           settings.
13222
13223 2006-05-17  Edward Hervey  <edward@fluendo.com>
13224
13225         * plugins/elements/gstqueue.c: (gst_queue_push_one):
13226         The queue is not responsible for pushing an EOS when receiving a fatal
13227         flow error. It's up to the real element driving the pipeline to do that.
13228
13229 2006-05-16  Edward Hervey  <edward@fluendo.com>
13230
13231         * plugins/elements/gstqueue.c: (gst_queue_push_one):
13232         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
13233         buffer returned a fatal error. It should just send an EOS and stop
13234         its task.
13235         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
13236         when pushing buffers on the queue and will be able to handle the event.
13237
13238 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
13239
13240         * docs/manual/basics-bins.xml:
13241         * docs/manual/basics-init.xml:
13242           Fix typos and minor errors in sample code (#341856).
13243
13244 2006-05-16  Wim Taymans  <wim@fluendo.com>
13245
13246         * docs/design/part-qos.txt:
13247         Fix indexes in formulas to make more sense.
13248
13249 2006-05-15  Wim Taymans  <wim@fluendo.com>
13250
13251         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
13252         Don't report POSITION based on clock time if sync is
13253         disabled in a sink.
13254
13255 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
13256
13257         * gst/gstobject.h:
13258           Add cast to make compiler happy - refcount variable was a gint
13259           in GstObject but is a guint in GObject and g_atomic_int_get()
13260           wants a gint *.
13261
13262 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13263
13264         * gst/parse/Makefile.am:
13265           chain commands using &&, which also makes parallel make work
13266
13267 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
13268
13269         * docs/gst/gstreamer-sections.txt:
13270         * gst/gstevent.c:
13271         * gst/gstevent.h:
13272         * gst/gstmessage.h:
13273           Minor docs fixes.
13274
13275 === release 0.10.6 ===
13276
13277 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
13278
13279         * configure.ac:
13280           releasing 0.10.6, "Take the cannoli"
13281
13282 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
13283
13284         * tools/gst-launch.c: (print_tag):
13285           Fix use of uninitialized variable in the hypothetical
13286           case that some broken plugin creates a GST_TAG_IMAGE
13287           tag containing a NULL buffer (#341667).
13288
13289 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
13290
13291         * tools/gst-launch.c: (print_tag):
13292           Print something more intelligible for image tags when
13293           using the -t switch (#341556).
13294
13295 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13296
13297         * Makefile.am:
13298           updates for win32
13299         * configure.ac:
13300           define GST_MAJORMINOR so we have it available in win32/common/config.h
13301           Possibly remove it from our Makefile.am files later
13302         * win32/common/config.h:
13303         * win32/common/config.h.in:
13304           added GST_MAJORMINOR
13305         * win32/common/gstenumtypes.c: (register_gst_resource_error):
13306         * win32/common/gstversion.h:
13307           updated
13308
13309 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
13310
13311         * win32/MANIFEST:
13312           Update win32 files listing.
13313         * win32/common/gstversion.h:
13314           Add GST_MAJORMINOR definition.
13315         * win32/common/libgstreamer.def:
13316           Add new exported functions.
13317           
13318 2006-05-12  Michael Smith  <msmith@fluendo.com>
13319
13320         * gst/gstplugin.c: (gst_plugin_load_file):
13321           If an so file has no plugin entry point, unload the module.
13322
13323 2006-05-11  Wim Taymans  <wim@fluendo.com>
13324
13325         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
13326         (gst_queue_set_property):
13327         Don't forget to signal the _chain or _loop function 
13328         when the queue size or thresholds change since that might
13329         cause them to make progres again.
13330
13331 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
13332
13333         * gst/gstclock.c: (gst_clock_class_init):
13334         * gst/gstindex.c: (gst_index_class_init):
13335         * gst/gstobject.c: (gst_object_class_init):
13336         * gst/gstpad.c: (gst_pad_class_init):
13337         * gst/gstpipeline.c: (gst_pipeline_class_init):
13338         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
13339         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
13340         * libs/gst/base/gstbasetransform.c:
13341         (gst_base_transform_class_init):
13342         * libs/gst/net/gstnetclientclock.c:
13343         (gst_net_client_clock_class_init):
13344         * libs/gst/net/gstnettimeprovider.c:
13345         (gst_net_time_provider_class_init):
13346         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
13347         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
13348         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
13349         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
13350         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
13351         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
13352         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13353         * plugins/elements/gstidentity.c: (gst_identity_class_init):
13354         * plugins/elements/gsttee.c: (gst_tee_class_init):
13355         * tests/old/examples/plugins/example.c: (gst_example_class_init):
13356         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
13357           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
13358
13359 2006-05-11  Wim Taymans  <wim@fluendo.com>
13360
13361         * gst/gstbuffer.c: (_gst_buffer_initialize):
13362         Register subbufer along with the buffer type so that
13363         it does not accidentally gets registered from N
13364         different streaming threads in a non threadsafe way.
13365
13366 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
13367
13368         * gst/gstbuffer.h:
13369         * gst/gstevent.h:
13370         * gst/gstmessage.h:
13371           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
13372           gst_event_ref() and gst_message_ref() functions again
13373           (ugly hack, please do fix if there's a better way besides
13374           overrides.txt, which doesn't seem to work).
13375
13376 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13377
13378         * libs/gst/check/gstcheck.h:
13379           add an assert for setting state to avoid lots of repetitive code
13380           in the future
13381
13382 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13383
13384         * gst/gstvalue.c: (gst_value_serialize_flags):
13385           fix a leak if no flags are set
13386         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13387           fix leak in tests
13388
13389 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
13390
13391         * docs/manual/basics-pads.xml:
13392           Expand a bit on caps and filtered links and update
13393           examples that were still using the no longer existing
13394           gst_pad_link_filtered() (#338206).
13395
13396 2006-05-10  Wim Taymans  <wim@fluendo.com>
13397
13398         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
13399         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
13400         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
13401         (gst_collect_pads_stop):
13402         * libs/gst/base/gstcollectpads.h:
13403         No need to call _stop in _finalize.
13404         Iterate the main pad list in _finalize.
13405         Added some more debug.
13406         Free lists and data in the right order.
13407         Also free data whem doing _remove_pad when stopped for
13408         backward compatibility protect ::started with PAD_LOCK as
13409         well.
13410
13411 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13412
13413         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
13414         (gst_structure_parse_value):
13415           add some comments
13416           rename a method so that it actually says what it does better
13417
13418 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13419
13420         * gst/gstevent.c: (_gst_event_initialize):
13421         * gst/gstformat.c: (_gst_format_initialize):
13422           make sure some essential types used by events are registered
13423           as part of gst_init()
13424         * gst/gstvalue.c: (gst_value_serialize_flags):
13425           if no flags are set, serialize them to a value that represents NONE
13426           so that deserializing them works
13427         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13428           add tests for serialization and deserialization of flags
13429
13430 2006-05-10  Wim Taymans  <wim@fluendo.com>
13431
13432         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
13433         (gst_collect_pads_collect_range), (gst_collect_pads_available),
13434         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
13435         (gst_collect_pads_event), (gst_collect_pads_chain):
13436         Update docs.
13437         Better debug info.
13438         Catch and return errors from the collect function
13439         Refuse data on eos pads.
13440
13441 2006-05-10  Edward Hervey  <edward@fluendo.com>
13442
13443         * gst/gstinterface.h:
13444         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
13445         GInterface type checking.
13446         They were previously using non-defined macros.
13447
13448 2006-05-09  Wim Taymans  <wim@fluendo.com>
13449
13450         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
13451         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
13452         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
13453         (gst_collect_pads_start), (gst_collect_pads_stop),
13454         (gst_collect_pads_peek), (gst_collect_pads_pop),
13455         (gst_collect_pads_available), (gst_collect_pads_read),
13456         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
13457         (gst_collect_pads_is_collected), (gst_collect_pads_event),
13458         (gst_collect_pads_chain):
13459         * libs/gst/base/gstcollectpads.h:
13460         Clean up the mess that is collectpads, add comments and
13461         FIXMEs where needed.
13462         Maintain a separate pad list so we can add pads while
13463         collecting the other ones. For this we need a new separate 
13464         lock (see comics).
13465         Fix memory leak in finalize.
13466         Refactor some weird code to set/unset pad flushing flags, mark
13467         with comments.
13468         Don't crash in _available, _read, _flush when we're EOS.
13469
13470         * tests/check/libs/.cvsignore:
13471         Ignore adapter check binary.
13472
13473 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13474
13475         * gst/gstindex.c: (gst_index_resolver_get_type):
13476         * plugins/elements/gstfakesink.c:
13477         (gst_fake_sink_state_error_get_type):
13478         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13479         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
13480         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
13481           Const-ify GEnumValue arrays.
13482
13483 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13484
13485         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13486           Add test case for flags + gst_buffer_make_metadata_writable().
13487
13488 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13489
13490         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
13491           gst_buffer_make_metadata_writable() should maintain the
13492           buffer flags (those that make sense at least) (see #340859).
13493
13494 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13495
13496         * tools/gst-inspect.c:
13497         * tools/gst-launch.c:
13498         * tools/gst-typefind.c:
13499         * tools/gst-xmlinspect.c:
13500         * tools/tools.h:
13501           Fix up includes: need to include stdlib.h in tools.h for exit().
13502
13503 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13504
13505         * gst/gsttaglist.c: (_gst_tag_initialize):
13506         * gst/gsttaglist.h:
13507           API: add GST_TAG_IMAGE tag (#340721).
13508
13509 2006-05-08  Wim Taymans  <wim@fluendo.com>
13510
13511         * gst/gstquery.c:
13512         Added some docs for the segment query.
13513
13514 2006-05-08  Wim Taymans  <wim@fluendo.com>
13515
13516         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
13517         (gst_base_src_loop), (gst_base_src_change_state):
13518         Always push non-flushing serialized events in the streaming 
13519         thread.
13520
13521 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13522
13523         * gst/gsterror.c: (_gst_stream_errors_init):
13524           Add a missing error string.
13525
13526 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
13527
13528         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
13529         Add applied_rate to the debug
13530
13531         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
13532         Copy applied_rate into the outgoing NEWSEGMENT event
13533
13534 2006-05-08  Wim Taymans  <wim@fluendo.com>
13535
13536         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
13537
13538         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
13539         (gst_base_sink_change_state):
13540         call ::unlock before taking the PREROLL_LOCK so we can safely
13541         handle elements that lock in ::render.
13542         Fixes #340174.
13543
13544 2006-05-08  Edward Hervey  <edward@fluendo.com>
13545
13546         * autogen.sh: (CONFIGURE_DEF_OPT): 
13547         Darwin's libtoolize is in fact called glibtoolize.
13548         Adding glibtoolize to the list of accepted names for libtoolize.
13549
13550 2006-05-08  Wim Taymans  <wim@fluendo.com>
13551
13552         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
13553         Unify error handling, don't post an error message
13554         when a push() returns EOS but perform our normal EOS
13555         handling code. Fixes #340772.
13556
13557 2006-05-08  Wim Taymans  <wim@fluendo.com>
13558
13559         * docs/design/part-overview.txt:
13560         Make upsteam/downstream concepts more clear.
13561         Give an example of serialized/non-serialized events.
13562
13563         * docs/design/part-events.txt:
13564         * docs/design/part-streams.txt:
13565         Mention applied_rate.
13566
13567         * docs/design/part-trickmodes.txt:
13568         Mention applied rate, flesh out some more use cases.
13569
13570         * gst/gstevent.c: (gst_event_new_new_segment),
13571         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
13572         (gst_event_parse_new_segment_full), (gst_event_new_tag),
13573         (gst_event_parse_tag), (gst_event_new_buffer_size),
13574         (gst_event_parse_buffer_size), (gst_event_new_qos),
13575         (gst_event_parse_qos), (gst_event_parse_seek),
13576         (gst_event_new_navigation):
13577         * gst/gstevent.h:
13578         Add applied_rate field to NEWSEGMENT event.
13579         API: gst_event_new_new_segment_full()
13580         API: gst_event_parse_new_segment_full()
13581
13582         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
13583         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
13584         (gst_segment_to_stream_time), (gst_segment_to_running_time):
13585         * gst/gstsegment.h:
13586         Add applied_rate to GstSegment structure.
13587         Make calculation of stream_time and running_time more correct
13588         wrt rate/applied_rate.
13589         Add some more docs.
13590         API: GstSegment::applied_rate field
13591         API: gst_segment_set_newsegment_full();
13592
13593         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
13594         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
13595         * libs/gst/base/gstbasetransform.c:
13596         (gst_base_transform_sink_eventfunc),
13597         (gst_base_transform_handle_buffer):
13598         Parse and use applied_rate in the GstSegment field.
13599
13600         * tests/check/gst/gstevent.c: (GST_START_TEST):
13601         Add check for applied_rate field.
13602
13603         * tests/check/gst/gstsegment.c: (GST_START_TEST),
13604         (gstsegments_suite):
13605         Add more checks for various GstSegment operations.
13606
13607 2006-05-08  Wim Taymans  <wim@fluendo.com>
13608
13609         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
13610         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
13611         (gst_base_sink_get_position), (gst_base_sink_change_state):
13612         Store the sync time of the buffer end position separatly in a
13613         new variable eos_rtime so we can properly sync the EOS event.
13614         Fixes #340697.
13615         Fix the docs for gst_base_sink_set_qos_enabled().
13616         Don't set segment start to invalid value when we receive a 
13617         non TIME newsegment.
13618         get closer to handling position reporting for negative rates 
13619         correctly.
13620
13621 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
13622
13623         * gst/gstcaps.c:
13624         Docs about how to print caps for debug purposes.
13625
13626         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
13627         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
13628
13629 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
13630
13631         * gst/gstelement.c:
13632           use full enum names and preprend a '%' in docs strings to make recent 
13633           gtk-doc turn that into a link
13634
13635 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
13636
13637         * docs/manual/basics-bins.xml:
13638         * docs/manual/basics-bus.xml:
13639         * docs/manual/basics-pads.xml:
13640           Some typo fixes, some additions, some clarifications. 
13641
13642 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
13643
13644         * tools/gst-inspect.c: (main):
13645         * tools/gst-launch.c: (main):
13646         * tools/gst-run.c: (main):
13647         * tools/gst-typefind.c: (main):
13648         * tools/gst-xmlinspect.c: (main):
13649           Use the string passed to g_option_context_new() for
13650           what it's intended for - the program name is already
13651           printed elsewhere.
13652
13653 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
13654
13655         * tools/Makefile.am:
13656         * tools/gst-inspect.c: (main):
13657         * tools/gst-launch.c: (main):
13658         * tools/gst-xmlinspect.c: (main):
13659         * tools/tools.h:
13660           Add back --version command line option (#340460).
13661
13662         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
13663           Add --version option and use GOption for argument parsing; refactor a
13664           bit; accept directories as arguments and recurse into them; lastly,
13665           print a decent error message when things go wrong.
13666
13667 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
13668
13669         * docs/manual/basics-bins.xml:
13670         Don't mention GstThread (#340611)
13671         * docs/manual/basics-elements.xml:
13672         Update link to GObject tutorial (#340607)
13673         
13674 2006-05-05  Wim Taymans  <wim@fluendo.com>
13675
13676         * gst/gstbuffer.h:
13677         * gst/gstminiobject.c:
13678         Add note about refcounting and miniobject/buffer writeability
13679         to docs. Fixes #340604
13680
13681         * gst/gstelementfactory.h:
13682         Added some explanation about @klass.
13683
13684 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
13685
13686         * docs/manual/intro-motivation.xml:
13687         * docs/manual/manual.xml:
13688         Avoid CORBA & Bonobo references (#340598)
13689
13690 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
13691
13692         * docs/manual/basics-bus.xml:
13693         * docs/manual/basics-pads.xml:
13694         Fix up some inaccuracies and omissions (#340609)
13695         
13696 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
13697
13698         * gst/gstghostpad.c:
13699           Small typo in docs (#340625)
13700
13701 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
13702
13703         * gst/parse/Makefile.am:
13704           Make 'make -j' proof (see #340698).
13705
13706 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
13707
13708         * configure.ac:
13709           Require GLib-2.8 here as well.
13710
13711 2006-05-05  Wim Taymans  <wim@fluendo.com>
13712
13713         * gst/glib-compat.c:
13714         * gst/gst.c: (init_pre):
13715         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
13716         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
13717         (gst_object_dispatch_properties_changed):
13718         * gst/gstobject.h:
13719         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
13720         * gst/gststructure.c: (gst_structure_set_valist):
13721         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
13722         Remove pre glib2.8 compatibility, fixes #340508
13723
13724 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
13725
13726         * gst/gsttaglist.h:
13727           Mention type of tags in doc blurbs.
13728
13729 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
13730
13731         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
13732         (gst_pad_configure_src), (gst_pad_push):
13733         Restore acceptcaps checking behaviour now that good plugins have
13734         been released.
13735
13736 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
13737
13738         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
13739
13740         * gst/gst.c:
13741         * gst/gstbus.c:
13742         * gst/gstclock.c:
13743         * gst/gstevent.c:
13744         * gst/gstformat.c:
13745         * gst/gstmessage.c:
13746         * gst/gstparse.c:
13747         * gst/gstquery.c:
13748         * gst/gstutils.c:
13749         * gst/parse/Makefile.am:
13750         * libs/gst/base/gstadapter.c:
13751         * libs/gst/base/gstbasesrc.c:
13752         * libs/gst/base/gstpushsrc.c:
13753         * libs/gst/base/gsttypefindhelper.c:
13754         * plugins/elements/gstfakesrc.c:
13755         * plugins/elements/gstidentity.c:
13756           Make sure gstprivate.h and/or config.h are
13757           always included first, otherwise some of our
13758           defines (like _FILE_OFFSET_BITS) might be
13759           redefined in the system headers. Fixes build
13760           on opensolaris (#340016).
13761
13762 2006-05-04  Wim Taymans  <wim@fluendo.com>
13763
13764         * docs/libs/gstreamer-libs-sections.txt:
13765         API: addition: gst_adapter_take_buffer()
13766         
13767         * libs/gst/base/gstadapter.c: (gst_adapter_push),
13768         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
13769         (gst_adapter_available_fast):
13770         * libs/gst/base/gstadapter.h:
13771         Prepare for optimizing the hell out of this hugely inefficient
13772         piece of code. 
13773         Added gst_adapter_take_buffer() so we can at least start thinking
13774         about subbuffering and merging.
13775         Added some comments.
13776
13777         * tests/check/Makefile.am:
13778         * tests/check/libs/adapter.c: (GST_START_TEST),
13779         (gst_adapter_suite), (main):
13780         Added GstAdapter check.
13781
13782 2006-05-04  Wim Taymans  <wim@fluendo.com>
13783
13784         * docs/design/part-overview.txt:
13785         Fix some typos, add blurb about buffer flags.
13786
13787 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13788
13789         * docs/libs/gstreamer-libs-sections.txt:
13790           make sure GstBaseTransformClass shows up in the docs
13791         * libs/gst/base/gstbasetransform.c:
13792         * libs/gst/base/gstbasetransform.h:
13793           move docs so gtk-doc picks it up now
13794
13795 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
13796
13797         * docs/libs/gstreamer-libs-sections.txt:
13798           add missing symbols to docs
13799
13800 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
13801
13802         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
13803           back out the newsegment handling change, see #340060 for ongoing
13804           discussion
13805
13806 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
13807
13808         * tools/gst-run.c: (get_candidates), (main):
13809           Fix wrong g_file_test() usage (see glib docs for why it doesn't
13810           work); fix typo in error message. Fixes #340079.
13811
13812 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13813
13814         * common/Makefile.am:
13815         * docs/Makefile.am:
13816         * docs/faq/Makefile.am:
13817         * docs/gst/Makefile.am:
13818         * docs/libs/Makefile.am:
13819         * docs/manual/Makefile.am:
13820         * docs/plugins/Makefile.am:
13821         * docs/pwg/Makefile.am:
13822         * docs/slides/Makefile.am:
13823         * docs/upload.mak:
13824         * common/upload.mak:
13825           move upload.mak to common
13826
13827 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13828
13829         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13830           add more asserts on refcounts
13831           do more cleanup at end of tests
13832           fix test leaks showing in FC5
13833
13834 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
13835
13836         * plugins/elements/gsttypefindelement.c:
13837         (gst_type_find_element_handle_event):
13838         reverted wrong change and reflowed code to avoid others falling into
13839         this trap
13840
13841 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13842
13843         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
13844           fix changelog entry about last collectpads change,
13845           add notes about proper fix
13846
13847 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13848
13849         * gst/gst.c:
13850         * gst/gstregistry.c: (gst_registry_scan_path_level),
13851         (gst_registry_scan_path):
13852         * gst/gstregistry.h:
13853           only write out registry if it has changed, fixes #338339
13854
13855 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13856
13857         * gst/gstbin.c:
13858         * gst/gstpipeline.c:
13859         * plugins/elements/gstcapsfilter.c:
13860         * plugins/elements/gstfakesink.c:
13861         * plugins/elements/gstfakesrc.c:
13862         * plugins/elements/gstfdsink.c:
13863         * plugins/elements/gstfdsrc.c:
13864         * plugins/elements/gstfilesink.c:
13865         * plugins/elements/gstfilesrc.c:
13866         * plugins/elements/gstidentity.c:
13867         * plugins/elements/gstqueue.c:
13868         * plugins/elements/gsttee.c:
13869         * plugins/elements/gsttypefindelement.c:
13870         (gst_type_find_element_handle_event):
13871           make GstElementDetails const
13872
13873 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13874
13875         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
13876         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
13877         (gst_collect_pads_is_collected), (gst_collect_pads_event):
13878           more detailed debug and formatting cleanup,
13879           forward newsegments to src-pad (so that e.g. adder not eats them)
13880
13881 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13882
13883         * gst/gstutils.c: (gst_element_link_pads):
13884           cleanup double code
13885
13886 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13887
13888         * libs/gst/controller/gstcontroller.c:
13889         (gst_controller_sync_values):
13890           some little tuning
13891         * tests/check/libs/controller.c: (GST_START_TEST),
13892         (gst_controller_suite):
13893           a new test for live value handling
13894
13895 2006-04-28  Wim Taymans  <wim@fluendo.com>
13896
13897         * gst/gstutils.c: (push_and_ref):
13898         Added some more docs.
13899         Fix refcount issue whith gst_element_found_tags() helper 
13900         function. Fixes #338335
13901
13902         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13903         Added testsuite for gst_element_found_tags().
13904
13905 2006-04-28  Michael Smith  <msmith@fluendo.com>
13906
13907         * gst/gstvalue.c: (gst_value_serialize_flags):
13908           Avoid NULL dereference when trying to serialize flags containing
13909           invalid values.
13910
13911 2006-04-28  Michael Smith  <msmith@fluendo.com>
13912
13913         * plugins/elements/gsttypefindelement.c:
13914         (gst_type_find_element_handle_event):
13915           If we get EOS before any data is accumulated, don't use
13916           uninitialised local variables.
13917
13918 2006-04-28  Michael Smith  <msmith@fluendo.com>
13919
13920         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13921         (gst_dp_event_from_packet):
13922           Fixes in reading/writing events over GDP (not currently used?) - 
13923           dereferencing NULL events for unknown/invalid event types, memory
13924           leak, and change g_warning to GST_WARNING.
13925
13926 2006-04-28  Wim Taymans  <wim@fluendo.com>
13927
13928         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
13929         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
13930         (gst_base_sink_get_position), (gst_base_sink_change_state):
13931         When frame dropping is enabled, we should not ignore frames
13932         without a duration.
13933         Update some documentation.
13934
13935 2006-04-28  Wim Taymans  <wim@fluendo.com>
13936
13937         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
13938         (gst_base_src_send_event), (gst_base_src_change_state):
13939         Documentation updates.
13940
13941 2006-04-28  Wim Taymans  <wim@fluendo.com>
13942
13943         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
13944         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
13945         handle EAGAIN, EINTR and short writes correctly. Also clean
13946         up some error cases, avoid a deadlock on bad file descriptors and
13947         use GST_DEBUG_OBJECT.
13948         Fixes #339843
13949
13950 2006-04-28  Wim Taymans  <wim@fluendo.com>
13951
13952         * gst/gstvalue.c: (gst_value_serialize_buffer),
13953         (gst_value_deserialize_buffer):
13954         Don't try to serialize a GValue with a NULL buffer. 
13955         Fixes #339821.
13956
13957         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13958         Added check for serialisation of NULL buffers.
13959
13960 2006-04-28  Wim Taymans  <wim@fluendo.com>
13961
13962         * gst/gstminiobject.c: (gst_value_take_mini_object):
13963         Taking a NULL miniobject is valid, fix the case where
13964         we try to unref the NULL miniobject.
13965
13966 2006-04-28  Wim Taymans  <wim@fluendo.com>
13967
13968         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
13969
13970         * gst/gstbin.c: (gst_bin_handle_message_func):
13971         Update docs.
13972         Don't leak bin refcount when a state recalc is
13973         in progress and we delay another one #339808.
13974
13975 2006-04-28  Wim Taymans  <wim@fluendo.com>
13976
13977         * docs/design/part-TODO.txt:
13978         Mention QoS as an ongoing work item.
13979
13980         * docs/design/part-buffering.txt:
13981         New doc about buffering that needs to be fleshed out
13982         at some point.
13983
13984         * docs/design/part-qos.txt:
13985         More QoS policy for decoders/demuxers/transforms
13986
13987         * docs/design/part-trickmodes.txt:
13988         Small update.
13989
13990 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13991
13992         * configure.ac:
13993           back to HEAD
13994
13995 === release 0.10.5 ===
13996
13997 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
13998
13999         * configure.ac:
14000           releasing 0.10.5, "Fogo"
14001
14002 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14003
14004         patch by: Wim Taymans
14005
14006         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
14007         (gst_pad_configure_src), (gst_pad_push):
14008         * gst/gstpipeline.c: (gst_pipeline_init):
14009           Fix internal data flow errors.  Fixes #338711.
14010
14011 2006-04-12  Wim Taymans  <wim@fluendo.com>
14012
14013         * tests/check/gst/gstelement.c: (GST_START_TEST):
14014         Don't leak the factory.
14015
14016 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14017
14018         * configure.ac:
14019         * win32/common/config.h:
14020           prerelease
14021
14022 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
14023
14024         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
14025         (gst_controller_unset_all):
14026           Free allocated GstTimedValues when freeing list nodes.
14027           Should fix leaks 'make check-valgrind' complains about.
14028
14029         * win32/common/libgstcontroller.def:
14030           Add gst_controller_unset_all.
14031
14032 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
14033
14034         * docs/libs/gstreamer-libs-sections.txt:
14035         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
14036         (gst_controller_unset_all):
14037         * libs/gst/controller/gstcontroller.h:
14038         API: Added new method gst_controller_unset_all()
14039         fixed gst_controller_unset()
14040         * tests/check/libs/controller.c: (GST_START_TEST),
14041         (gst_controller_suite):
14042         Added two testcases for new and fixed method
14043
14044 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
14045
14046         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
14047           MSG_DONTWAIT is not defined on Cygwin, so work
14048           around that (fixes #317048).
14049           
14050 2006-04-11  Wim Taymans  <wim@fluendo.com>
14051
14052         * gst/gstelementfactory.c: (gst_element_register),
14053         (gst_element_factory_create), (gst_element_factory_make):
14054         Some cleanups.
14055         Fixed a FIXME.
14056         Updated docs (Fixes #131079)
14057
14058         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
14059         Small cleanups.
14060
14061         * tests/check/gst/gstelement.c: (GST_START_TEST),
14062         (gst_element_suite):
14063         Added testcase for elementfactory class field.
14064
14065 2006-04-10  Wim Taymans  <wim@fluendo.com>
14066
14067         * gst/gstsegment.c:
14068         Added some more docs.
14069
14070         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
14071         (gst_base_sink_reset_qos):
14072         Calculate more accurate rate values.
14073
14074 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
14075
14076         * gst/gst_private.h:
14077           add a new #ifdef to use __declspec(dllimport) only for
14078           other modules and not for gstreamer core
14079         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
14080           use gst_guint64_to_gdouble for conversion
14081         * win32/common/libgstreamer.def:
14082           add new exported functions
14083         * win32/vs6/gst_inspect.dsp:
14084         * win32/vs6/gst_launch.dsp:
14085         * win32/vs6/libgstbase.dsp:
14086         * win32/vs6/libgstcontroller.dsp:
14087         * win32/vs6/libgstcoreelements.dsp:
14088         * win32/vs6/libgstdataprotocol.dsp:
14089         * win32/vs6/libgstnet.dsp:
14090           update project files
14091
14092 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
14093
14094         * gst/gstbuffer.c: (gst_subbuffer_class_init):
14095         * gst/gstclock.c: (gst_clock_class_init):
14096         * gst/gstelement.c: (gst_element_class_init):
14097         * gst/gstindex.c: (gst_index_class_init):
14098         * gst/gstindexfactory.c: (gst_index_factory_class_init):
14099         * gst/gstobject.c: (gst_object_class_init),
14100         (gst_signal_object_class_init):
14101         * gst/gstpad.c: (gst_pad_class_init):
14102         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
14103         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
14104         * gst/gstregistry.c: (gst_registry_class_init):
14105         * gst/gstsystemclock.c: (gst_system_clock_class_init):
14106         * gst/gsttask.c: (gst_task_class_init):
14107         * gst/gstxml.c: (gst_xml_class_init):
14108         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
14109         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14110         (gst_base_src_loop):
14111         * libs/gst/controller/gstcontroller.c:/
14112         (_gst_controller_class_init):
14113         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
14114         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
14115         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
14116         * tests/old/examples/plugins/example.c: (gst_example_class_init):
14117         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
14118         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
14119
14120 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
14121
14122         * gst/gstpad.c: (gst_pad_link):
14123           Must set peer pads before calling the link function, otherwise
14124           a task started from a link function might get a flow-not-linked
14125           result when trying to push because the other thread where the
14126           linking happens hasn't had a chance to set the peers yet. This
14127           might happen for example when a queue gets linked to a downstream
14128           element, as queue starts a streaming task when its source pad
14129           gets linked. Happens in real life when playing back flac/musepack
14130           files in playbin (#332390).
14131           
14132 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
14133
14134         * gst/gstindex.h:
14135         * gst/gstxml.h:
14136         * libs/gst/base/gstadapter.h:
14137         * libs/gst/base/gstbasesink.h:
14138         * libs/gst/base/gstbasesrc.h:
14139         * libs/gst/base/gstbasetransform.h:
14140         * libs/gst/base/gstcollectpads.h:
14141         * libs/gst/base/gstpushsrc.h:
14142         Fix broken GObject macros
14143
14144 2006-04-07  Wim Taymans  <wim@fluendo.com>
14145
14146         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
14147         Initialize start and stop times, thanks valgrind.
14148
14149 2006-04-07  Wim Taymans  <wim@fluendo.com>
14150
14151         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
14152         Be a bit nicer to badly behaving upstream elements that expect
14153         us to deal with non TIME segments and timestamps (such as fakesrc
14154         in the testsuite).
14155
14156 2006-04-07  Wim Taymans  <wim@fluendo.com>
14157
14158         * gst/gstbus.c:
14159         Small documentation clarification about the signal watch.
14160
14161         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
14162         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
14163         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
14164         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
14165         (gst_base_sink_get_position_last),
14166         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
14167         Convert and store timestamps in stream time and running time, the
14168         raw timestamps are not useful, also document this better.
14169         Use different window sizes for good and bad QoS observations so
14170         we react to badness a little quicker.
14171         Keep track of the amount of rendered and dropped buffers.
14172         Send QoS timestamps in running time.
14173
14174         * libs/gst/base/gstbasetransform.c:
14175         (gst_base_transform_sink_eventfunc),
14176         (gst_base_transform_handle_buffer):
14177         Compare QoS timestamps against running time.
14178
14179 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
14180
14181         * gst/gstpad.c:
14182           Typo fixes in docs.
14183
14184 2006-04-06  Michael Smith  <msmith@fluendo.com>
14185
14186         * gst/gstpad.c: (gst_pad_set_property):
14187           Use g_value_get_object() instead of g_value_dup_gst_object(),
14188           to avoid double-reffing the pad template (which we then sink,
14189           so this worked previously if (and only if) the pad template
14190           was floating.
14191
14192         * gst/gstpadtemplate.c: (gst_pad_template_init),
14193         (gst_pad_template_pad_created):
14194           Never return floating references to pad templates, create
14195           them as initially-sunken.
14196
14197           Document an extra function (and make this stop sinking our
14198           pad template, since that is now guaranteed to do nothing,
14199           since we created it sunken).
14200
14201         * gst/gstghostpad.c:
14202           Fix docs typo.
14203
14204 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
14205
14206         * gst/gstinfo.c: (__gst_in_valgrind):
14207           Add some newlines.
14208
14209         * plugins/elements/gsttypefindelement.c:
14210         (gst_type_find_element_chain):
14211           Don't leak buffer caps.
14212
14213 2006-04-06  Michael Smith  <msmith@fluendo.com>
14214
14215         * gst/parse/grammar.y:
14216           Fix a leak in parse-launch for any source-or-sink named element 
14217           references used.
14218
14219         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
14220           Unref the pipeline if it exists after we've failed parsing.
14221
14222 2006-04-05  Michael Smith  <msmith@fluendo.com>
14223
14224         * gst/gstpipeline.c: (gst_pipeline_init):
14225           When we create a pipeline bus, initially create it in flushing mode.
14226           Fixes leaks in at least one test, and makes a new pipeline work the
14227           same as one that has gone to READY and then back to NULL.
14228
14229         * gst/gstelement.c:
14230           Typo fix in docs.
14231
14232 2006-04-05  Michael Smith  <msmith@fluendo.com>
14233
14234         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
14235           Unref a pad we reffed.
14236         * tests/check/gst/gstutils.c: (GST_START_TEST):
14237           Unref bins
14238
14239 2006-04-05  Michael Smith  <msmith@fluendo.com>
14240
14241         * gst/gstquery.c: (gst_query_set_formats),
14242         (gst_query_set_formatsv):
14243           Fix leaking GValues in queries, as shown by valgrind/testsuite.
14244
14245 2006-04-05  Michael Smith  <msmith@fluendo.com>
14246
14247         * tests/check/generic/sinks.c: (GST_START_TEST):
14248           Fix a variety of memleaks in sinks check, which are only sometimes 
14249           shown by running the tests under valgrind (weird?).
14250
14251 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
14252
14253         * docs/version.entities.in:
14254           Fix the substituted entity name after thomas' changes on the
14255           weekend.
14256
14257 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
14258
14259         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
14260         VALGRIND_PRINTF
14261         
14262 2006-04-05  Andy Wingo  <wingo@pobox.com>
14263
14264         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
14265
14266         * libs/gst/base/gstbasetransform.c
14267         (gst_base_transform_sink_eventfunc): When resetting our segment on
14268         FLUSH_STOP, also update the flag saying we haven't seen a
14269         newsegment.
14270
14271 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
14272
14273         Patch by: Paolo Borelli  <pborelli at katamail dot com>
14274
14275         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
14276         (gst_plugin_check_license):
14277           minor clean-ups: G_DEFINE_TYPE already takes care of the
14278           parent_class stuff, no need to do it twice. Mark array of
14279           license strings as constant. (#337103)
14280           
14281 2006-04-04  Michael Smith  <msmith@fluendo.com>
14282
14283         * tools/gst-inspect.c: (print_element_list):
14284           Free the right plugin list; fixes a memory leak.
14285
14286 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
14287
14288         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
14289
14290         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
14291           Don't error out on empty buffers (#336945).
14292           
14293 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
14294
14295         * docs/libs/gstreamer-libs-sections.txt:
14296         * gst/gsttaglist.c:
14297         * libs/gst/base/gstbasesink.c:
14298         * libs/gst/base/gstbasesink.h:
14299         * libs/gst/base/gstbasesrc.c:
14300         * libs/gst/base/gstbasesrc.h:
14301           Documentation updates. Make BaseSink and BaseSrc docs contain the
14302           class structure so that people can actually see the prototypes for
14303           virtual functions they're supposed to be overriding.
14304
14305 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
14306
14307         * plugins/elements/gsttypefindelement.c:
14308         (gst_type_find_element_chain):
14309           More debug info; when skipping typefinding, send cached
14310           events in all cases.
14311
14312 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14313
14314         * configure.ac:
14315           use new AS_VERSION and AS_NANO macros
14316         * gst/gst-i18n-lib.h:
14317         * gst/gst.c:
14318         * gst/gsterror.c:
14319         * gst/gstversion.h.in:
14320         * win32/common/config.h:
14321         * win32/common/config.h.in:
14322           update accordingly
14323
14324 2006-03-31  Michael Smith  <msmith@fluendo.com>
14325
14326         * plugins/elements/gsttypefindelement.c:
14327         (gst_type_find_element_chain):
14328           Do not typefind content if the buffers already have caps.
14329           Neccesary for icydemux (#333657), and the right thing to do anyway.
14330
14331 2006-03-30  Wim Taymans  <wim@fluendo.com>
14332
14333         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
14334         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
14335         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
14336         (gst_base_sink_record_qos_observation),
14337         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
14338         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
14339         (gst_base_sink_change_state):
14340         More QoS measurements as described in the design doc.
14341         Get rid of ringbuffer with observations, running average is
14342         more simple and equally good.
14343         Calculates valid proportion now.
14344         Added beginning of flood measurement.
14345
14346 2006-03-29  Wim Taymans  <wim@fluendo.com>
14347
14348         * docs/design/part-qos.txt:
14349         * gst/gstclock.c:
14350         Small documentation updates and additions.
14351
14352 2006-03-29  Wim Taymans  <wim@fluendo.com>
14353
14354         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
14355         (gst_base_src_send_event), (gst_base_src_loop),
14356         (gst_base_src_change_state):
14357         Perform the EOS logic when we reach the segment stop position.
14358         Fix compilation on gcc4.1
14359
14360 2006-03-29  Wim Taymans  <wim@fluendo.com>
14361
14362         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
14363
14364         * plugins/elements/gstqueue.c: (gst_queue_init),
14365         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
14366         (gst_queue_set_property):
14367         * plugins/elements/gstqueue.h:
14368         In queue, when EOS is received, if minimum threshold > max_size -
14369         current_level, there is chance that queue blocks forever in conditional
14370         item del wait. This is because the queue is not emptied completely due
14371         to minimum threshold.  Here is another approach. Instead of setting
14372         cur_levels to max in EOS, just zero all minimum threshold levels. This
14373         should make sure that queue gives out all data. When going to READY
14374         (stop) state, just reset the original minimum threshold levels.
14375         Fixes #336336.
14376
14377 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
14378
14379         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
14380         (gst_type_find_element_handle_event),
14381         (gst_type_find_element_send_cached_events),
14382         (gst_type_find_element_change_state):
14383         * plugins/elements/gsttypefindelement.h:
14384           When typefinding is done in push mode, we should cache
14385           events we receive during typefinding instead of just
14386           dropping them (e.g. newsegment, custom events from
14387           dvdreadsrc etc.) and then send them out once we've
14388           determined the type of the stream (and decodebin
14389           has had a chance to plug in a decoder/demuxer).
14390           
14391 2006-03-27  Wim Taymans  <wim@fluendo.com>
14392
14393         * docs/design/part-qos.txt:
14394         First QoS ideas.
14395
14396 2006-03-27  Wim Taymans  <wim@fluendo.com>
14397
14398         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
14399
14400         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
14401         (gst_base_src_send_event), (gst_base_src_change_state):
14402         Handle element seek correctly when we are streaming.
14403         Fixes #326998.
14404
14405 2006-03-24  Michael Smith  <msmith@fluendo.com>
14406
14407         * docs/faq/gst-uninstalled:
14408           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
14409           allow you to correctly run intalled applications built against old 
14410           core, using plugins that require updated core (e.g. running
14411           installed totem against a full uninstalled gstreamer stack)
14412
14413 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
14414
14415         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
14416         more debug details
14417
14418 2006-03-24  Wim Taymans  <wim@fluendo.com>
14419
14420         * docs/gst/gstreamer-sections.txt:
14421         Rearrange the order of the methods so that related methods
14422         are grouped together in sections.
14423
14424 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
14425
14426         * gst/gstelement.c:
14427           Little clarification in the docs
14428
14429 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
14430
14431         * docs/README:
14432         formatting fix
14433         * plugins/elements/gstidentity.c:
14434         * plugins/elements/gstqueue.c:
14435         * plugins/elements/gsttee.c:
14436         * plugins/elements/gsttypefindelement.c:
14437         GST_ELEMENT_DETAILS formatting
14438
14439 2006-03-24  Wim Taymans  <wim@fluendo.com>
14440
14441         * libs/gst/base/gstbasesink.h:
14442         Only add fields, not insert or we break ABI.
14443
14444 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
14445
14446         * win32/common/libgstbase.def:
14447         * win32/common/libgstreamer.def:
14448           Update, add recently added functions.
14449
14450 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
14451
14452         * docs/gst/gstreamer-sections.txt:
14453         * gst/gstutils.c: (gst_pad_query_peer_position),
14454         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
14455         * gst/gstutils.h:
14456           API: add some new utility functions:
14457            - gst_pad_query_peer_position()
14458            - gst_pad_query_peer_duration()
14459            - gst_pad_query_peer_convert()
14460           
14461 2006-03-23  Wim Taymans  <wim@fluendo.com>
14462
14463         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
14464         (gst_base_sink_init), (gst_base_sink_finalize),
14465         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
14466         (gst_base_sink_set_property), (gst_base_sink_get_property),
14467         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
14468         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
14469         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
14470         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
14471         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
14472         (gst_base_sink_preroll_object), (gst_base_sink_event),
14473         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
14474         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
14475         (gst_base_sink_query), (gst_base_sink_change_state):
14476         Decouple max-lateness and the fact that QoS messages are generated
14477         with a new property (qos).
14478         added API: GstBaseSink::async_play()
14479         Add vmethod so subclasses can be notified of ASYNC playing
14480         state changes.
14481         Collect timestamp start and stop to report better current
14482         position in EOS/PLAYING/PAUSED/READY/NULL.
14483         Refactor QoS/frame dropping and other measurements.
14484         API: GstBaseSrc::qos
14485         Fixes #326311
14486
14487         * libs/gst/base/gstbasesink.h:
14488         Added Private struct.
14489         API: gst_base_sink_set_qos_enabled()
14490         API: gst_base_sink_is_qos_enabled()
14491
14492 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
14493
14494         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
14495           If compiling against GLib-2.8 or newer, try to read the
14496           registry file using GMappedFile first before falling back
14497           to fopen() + fread() (#332151).
14498
14499 2006-03-22  Wim Taymans  <wim@fluendo.com>
14500
14501         * gst/gstinfo.c: (gst_debug_set_active),
14502         (gst_debug_category_set_threshold):
14503         Disable debugging unless explicitly activated.
14504         Fixes #335480.
14505
14506 2006-03-22  Wim Taymans  <wim@fluendo.com>
14507
14508         * gst/gstelement.c: (gst_element_set_locked_state),
14509         (gst_element_dispose):
14510         Cleanup the error case.
14511
14512         * gst/gstobject.c: (gst_object_dispose):
14513         print a critical when some object was disposed with
14514         a parent, also revive the object since it might
14515         crash the parent.
14516
14517 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
14518
14519         * tools/gst-launch.1.in:
14520           Fix another typo.
14521
14522 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14523
14524         * configure.ac:
14525         * tests/check/Makefile.am:
14526           disable some tests when we don't have a registry
14527         * tests/check/gst/gstutils.c: (gst_utils_suite):
14528           don't build the part that needs parsing
14529
14530 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14531
14532         * gst/Makefile.am
14533         * tests/examples/Makefile.am:
14534           fix --disable-parse build
14535
14536 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
14537
14538         * tools/gst-feedback.1.in:
14539           Fix typo: s/feeback/feedback/ (#133494).
14540
14541 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
14542
14543         * tools/Makefile.am:
14544         * tools/gst-launch.1.in:
14545           Add FILES section and correct entry about GST_REGISTRY_PATH
14546           environment variable (#133495; #133494).
14547
14548 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
14549
14550         * tools/Makefile.am:
14551         * tools/gst-md5sum.1.in:
14552         * tools/gst-md5sum.c:
14553           Remove gst-md5sum and man page (the md5sink element
14554           required was removed ages ago)
14555
14556 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
14557
14558         * gst/gststructure.c: (gst_structure_id_set_value):
14559           Make sure that string fields in structures/taglists
14560           contain valid UTF-8 - we don't want to pass rubbish to
14561           applications because of a buggy plugin (cp. #334167).
14562
14563 2006-03-21  Edward Hervey  <edward@fluendo.com>
14564
14565         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
14566         (gst_bin_handle_message_func):
14567         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
14568         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
14569         (gst_element_set_bus_func):
14570         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
14571         * gst/gstminiobject.c: (gst_value_set_mini_object),
14572         (gst_value_take_mini_object):
14573         * gst/gstpad.c: (gst_pad_set_pad_template):
14574         * gst/gstpipeline.c: (gst_pipeline_dispose),
14575         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
14576         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
14577         (gst_collect_pads_chain):
14578         * libs/gst/net/gstnettimeprovider.c:
14579         (gst_net_time_provider_set_property):
14580         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
14581         It's in fact all issues with gst_*object_replace().
14582
14583 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
14584
14585         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
14586         
14587         * pkgconfig/gstreamer-check-uninstalled.pc.in:
14588         * pkgconfig/gstreamer-check.pc.in:
14589           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
14590
14591 2006-03-21  Edward Hervey  <edward@fluendo.com>
14592
14593         * gst/gstbuffer.h:
14594         * gst/gstevent.h:
14595         * gst/gstmessage.h:
14596         gst_[buffer|event|message]_ref() macros are replaced by a static
14597         inline functions because gcc-4.1 will about if the return value
14598         isn't used.
14599         * tests/check/gst/gstevent.c: (event_probe):
14600         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
14601
14602 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
14603
14604         * gst/gstutils.h:
14605         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
14606         the type' case. (Closes: #335195 for now). In the future, when we
14607         depend on GLib 2.10, we could also intern the type name using
14608         g_intern_static_string()
14609
14610 2006-03-20  Wim Taymans  <wim@fluendo.com>
14611
14612         * gst/gstbin.c: (gst_bin_handle_message_func),
14613         (bin_query_max_init), (bin_query_position_fold),
14614         (bin_query_position_done), (gst_bin_query):
14615         Position query should also take max of all streams.
14616
14617 2006-03-20  Wim Taymans  <wim@fluendo.com>
14618
14619         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
14620         (gst_fake_src_finalize):
14621         Fix leaks in fakesrc.
14622
14623         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
14624         Fix leaks in the testcase.
14625
14626 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
14627
14628         * gst/gst_private.h:
14629           add win32 specific import decoration(__declspec(dllimport)) 
14630           for all extern GstDebugCategory * variables
14631         * win32/common/libgstbase.def:
14632         * win32/common/libgstcontroller.def:
14633         * win32/common/libgstreamer.def:
14634           Add some exports, remove empty lines
14635         * win32/common/libgstdataprotocol.def:
14636         * win32/common/libgstdataprotocol.dsp:
14637         * win32/common/libgstnet.def:
14638         * win32/common/libgstnet.dsp:
14639           new project files and exportation files added
14640         
14641 2006-03-19  Wim Taymans  <wim@fluendo.com>
14642
14643         * tests/check/libs/basesrc.c: (eos_event_counter):
14644         Use proper return value for probe.
14645
14646 2006-03-17  Wim Taymans  <wim@fluendo.com>
14647
14648         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
14649         (gst_pad_push):
14650         Don't leak buffers, caps and pads on negotiation errors.
14651
14652 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
14653
14654         * docs/faq/cvs.xml:
14655         * docs/faq/dependencies.xml:
14656         * docs/faq/developing.xml:
14657         * docs/faq/faq.xml:
14658         * docs/faq/general.xml:
14659         * docs/faq/getting.xml:
14660         * docs/faq/legal.xml:
14661         * docs/faq/troubleshooting.xml:
14662         * docs/faq/using.xml:
14663         Faq review and update.
14664
14665 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
14666
14667         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
14668         (gst_pad_push):
14669         Don't pound the cpu to pieces by checking get_caps when accept_caps
14670         is called with the same caps as the pad already has.
14671         Use GST_DEBUG_OBJECT when outputting caps change information.
14672
14673 2006-03-15  Wim Taymans  <wim@fluendo.com>
14674
14675         * gst/gstclock.c: (gst_clock_class_init):
14676         Fix docs.
14677
14678 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
14679
14680         * gst/gstbuffer.h:
14681         Documentation fix.
14682
14683         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
14684         (gst_pad_accept_caps), (gst_pad_configure_sink),
14685         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
14686         Make the default acceptcaps behaviour be to check the requested 
14687         caps against the gst_pad_get_caps output. 
14688
14689         Ensure that gst_pad_accept_caps is used to check caps when a pad
14690         doesn't have a setcaps function, so that pads automatically refuse 
14691         caps that they don't allow in their pad template. (Fixes #332986)
14692
14693         When a buffer with attached caps is pushed, ensure that the source 
14694         pad receives those caps even if the element didn't call
14695         gst_pad_set_caps first.
14696
14697 2006-03-15  Wim Taymans  <wim@fluendo.com>
14698
14699         * libs/gst/base/gstadapter.c:
14700         Add some docs.
14701
14702 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
14703
14704         * win32/common/libgstbase.def:
14705         * win32/common/libgstcontroller.def:
14706         * win32/common/libgstreamer.def:
14707           Add a whole bunch of missing functions (#334434).
14708
14709 2006-03-14  Wim Taymans  <wim@fluendo.com>
14710
14711         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14712         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
14713         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
14714         Better debug info when we receive a segment event.
14715         Reorganize a bit so we can pass the get_times() results around.
14716         Use the segment format when calculating the running time.
14717         Don't do QoS is sync is disabled or we have no clock or the
14718         element does not want us to sync to the clock.
14719         Don't drop buffers if QoS is disabled for now.
14720
14721 2006-03-14  Wim Taymans  <wim@fluendo.com>
14722
14723         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
14724         Marked the stats property as unimplemented so people don't get
14725         wild ideas.
14726         Add debug message when regression goes wrong.
14727         Added some more docs.
14728
14729 2006-03-14  Wim Taymans  <wim@fluendo.com>
14730
14731         * gst/gstsegment.c: (gst_segment_to_stream_time):
14732         Return correct return type in case of errors.
14733
14734 2006-03-14  Wim Taymans  <wim@fluendo.com>
14735
14736         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
14737           Don't segfault on invalid formats.
14738
14739 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
14740
14741         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
14742           Can't use gst_segment_to_running_time() when the segment
14743           is not in GST_TIME_FORMAT (like with filesink, for example).
14744           Stops flac encoding pipelines from spewing critical warnings
14745           at EOS (#331248).
14746           
14747 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
14748
14749         * gst/gstpipeline.c: (gst_pipeline_class_init):
14750           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
14751
14752         * plugins/elements/gsttypefindelement.c:
14753         (gst_type_find_element_handle_event):
14754           Don't try to typefind empty streams.
14755
14756 2006-03-14  Wim Taymans  <wim@fluendo.com>
14757
14758         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
14759         (gst_base_sink_do_qos):
14760         Separate QoS calculation.
14761         Only drop buffers when lateness is bigger than the 
14762         duration of the buffer.
14763
14764 2006-03-13  Wim Taymans  <wim@fluendo.com>
14765
14766         * gst/gstpipeline.c: (gst_pipeline_set_property),
14767         (gst_pipeline_get_property), (do_pipeline_seek),
14768         (gst_pipeline_change_state), (gst_pipeline_set_delay),
14769         (gst_pipeline_get_delay):
14770         Don't deadlock when reading properties.
14771
14772 2006-03-13  Wim Taymans  <wim@fluendo.com>
14773
14774         * libs/gst/base/gstbasetransform.c:
14775         (gst_base_transform_class_init), (gst_base_transform_init),
14776         (gst_base_transform_sink_event),
14777         (gst_base_transform_sink_eventfunc),
14778         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
14779         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
14780         (gst_base_transform_set_property),
14781         (gst_base_transform_get_property),
14782         (gst_base_transform_change_state), (gst_base_transform_update_qos),
14783         (gst_base_transform_set_qos_enabled),
14784         (gst_base_transform_is_qos_enabled):
14785         * libs/gst/base/gstbasetransform.h:
14786         Make basetransform virtual method for src events too.
14787         Handle QOS in basetransform.
14788         API: gst_base_transform_update_qos()
14789         API: gst_base_transform_set_qos_enabled()
14790         API: gst_base_transform_is_qos_enabled()
14791
14792 2006-03-13  Wim Taymans  <wim@fluendo.com>
14793
14794         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
14795         (gst_base_sink_do_sync):
14796         Small cleanups.
14797         Use QOS debug category.
14798
14799 2006-03-13  Wim Taymans  <wim@fluendo.com>
14800
14801         * plugins/elements/gstqueue.c:
14802         Very small doc update.
14803
14804 2006-03-13  Wim Taymans  <wim@fluendo.com>
14805
14806         * gst/gst_private.h:
14807         * gst/gstinfo.c: (_gst_debug_init):
14808         Added QOS debug category
14809
14810 2006-03-13  Wim Taymans  <wim@fluendo.com>
14811
14812         * docs/gst/gstreamer-sections.txt:
14813         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
14814         * gst/gstbin.h:
14815         * gst/gstbus.c: (gst_bus_class_init):
14816         * gst/gstbus.h:
14817         * gst/gstclock.c:
14818         * gst/gstelement.c: (gst_element_set_locked_state):
14819         * gst/gstsegment.c:
14820         Documentation updates.
14821
14822         * gst/gstpipeline.c: (gst_pipeline_get_type),
14823         (gst_pipeline_class_init), (gst_pipeline_init),
14824         (gst_pipeline_dispose), (gst_pipeline_set_property),
14825         (gst_pipeline_get_property), (do_pipeline_seek),
14826         (gst_pipeline_send_event), (gst_pipeline_change_state),
14827         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
14828         (gst_pipeline_get_delay):
14829         * gst/gstpipeline.h:
14830         Added methods for setting the delay.
14831         API: gst_pipeline_set_delay()
14832         API: gst_pipeline_get_delay()
14833         Add pipeline debug category
14834         Various cleanups.
14835         Updated docs.
14836         Don't reset stream time when seek failed.
14837
14838 2006-03-13  Wim Taymans  <wim@fluendo.com>
14839
14840         * docs/design/draft-klass.txt:
14841         * docs/design/part-clocks.txt:
14842         * docs/design/part-events.txt:
14843         * docs/design/part-gstbin.txt:
14844         * docs/design/part-gstpipeline.txt:
14845         * docs/design/part-messages.txt:
14846         * docs/design/part-negotiation.txt:
14847         * docs/design/part-overview.txt:
14848         * docs/design/part-preroll.txt:
14849         * docs/design/part-seeking.txt:
14850         * docs/design/part-states.txt:
14851         * docs/design/part-streams.txt:
14852         Documentation updates.
14853
14854 2006-03-12  Julien MOUTTE  <julien@moutte.net>
14855
14856         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
14857         us to leak strings...
14858
14859 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14860
14861         * libs/gst/net/gstnettimeprovider.c:
14862           fix docs
14863         * win32/common/config.h:
14864           update
14865
14866 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
14867
14868         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
14869
14870         * configure.ac:
14871           Don't check for libgnomeui (leftover from old examples
14872           that aren't built or disted any longer) (#334303).
14873           
14874 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
14875
14876         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
14877         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
14878           Emit RESOURCE_NO_SPACE_LEFT error here as well when
14879           there's no space left on the device.
14880
14881 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
14882
14883         * gst/gstclock.h:
14884           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
14885           to cast the input to GstClockTime before comparing with
14886           another GstClockTime value.
14887
14888 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14889
14890         * configure.ac:
14891           back to trunk
14892
14893 === release 0.10.4 ===
14894
14895 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
14896
14897         * configure.ac:
14898           releasing 0.10.4, "Light"
14899
14900 2006-03-10  Michael Smith  <msmith@fluendo.com>
14901
14902         * libs/gst/dataprotocol/dataprotocol.c:
14903           Fix docs for dataprocotol to not get the return types completely
14904           wrong for a few functions.
14905
14906 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
14907
14908         * docs/gst/gstreamer-sections.txt:
14909         * gst/gstpipeline.c: (gst_pipeline_class_init),
14910         (gst_pipeline_init), (gst_pipeline_set_property),
14911         (gst_pipeline_get_property), (gst_pipeline_change_state),
14912         (gst_pipeline_set_auto_flush_bus),
14913         (gst_pipeline_get_auto_flush_bus):
14914         * gst/gstpipeline.h:
14915           Add new API: gst_pipeline_set_auto_flush_bus() and
14916           gst_pipeline_get_auto_flush_bus() to disable automatic
14917           flushing of the pipeline's GstBus when going from READY
14918           to NULL state (#332045).
14919
14920 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
14921
14922         * docs/gst/gstreamer-sections.txt:
14923         * gst/gsturi.c: (gst_uri_has_protocol):
14924         * gst/gsturi.h:
14925            Add new API: gst_uri_has_protocol() (#333779).
14926
14927 2006-03-09  Wim Taymans  <wim@fluendo.com>
14928
14929         * gst/gstclock.c: (gst_clock_entry_new),
14930         (gst_clock_id_compare_func), (gst_clock_id_wait),
14931         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
14932         (gst_clock_init), (gst_clock_get_internal_time),
14933         (gst_clock_set_master), (do_linear_regression),
14934         (gst_clock_add_observation), (gst_clock_set_property):
14935         * gst/gstclock.h:
14936         Review docs.
14937         Small cleanups.
14938         Fix a possible segfault when the window-size is made smaller.
14939         Calculate jitter before performing the clock wait. Ideally
14940         the clock implementation should calculate jitter but we need
14941         API breakage for that.
14942
14943         * gst/gstsystemclock.c: (gst_system_clock_init):
14944         Docs review.
14945         
14946         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
14947         Remove leftover else
14948
14949         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
14950         (gst_systemclock_suite):
14951         Added check to test GST_CLOCK_DIFF.
14952
14953 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
14954
14955         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
14956         (gst_type_find_helper_get_range):
14957           If we are provided with the size, we should implement
14958           GstTypeFind::get_length, so that typefind functions who
14959           want to can actually peek at the middle of a file.
14960
14961 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
14962
14963         * docs/manual/advanced-dataaccess.xml:
14964           Add some very very basic error checking.
14965
14966         * docs/pwg/appendix-checklist.xml:
14967           Some updates to the list of things to check when writing an element.
14968
14969 2006-03-08  Wim Taymans  <wim@fluendo.com>
14970
14971         * docs/design/part-element-transform.txt:
14972         Added some docs about the design of tranform elements.
14973
14974         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
14975         (gst_base_src_loop), (gst_base_src_change_state):
14976         Mark buffers with the DISCONT flag.
14977
14978 2006-03-08  Michael Smith  <msmith@fluendo.com>
14979
14980         * gst/gstregistry.h:
14981         * gst/gstregistryxml.c: (gst_registry_save),
14982         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
14983         (gst_registry_xml_save_pad_template),
14984         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
14985         (gst_registry_xml_write_cache):
14986           Rewrite registry-saving to avoid race conditions and check for
14987           failed writes.
14988
14989 2006-03-08  Wim Taymans  <wim@fluendo.com>
14990
14991         * libs/gst/base/gstbasetransform.c:
14992         (gst_base_transform_transform_caps),
14993         (gst_base_transform_transform_size),
14994         (gst_base_transform_prepare_output_buffer),
14995         (gst_base_transform_get_unit_size),
14996         (gst_base_transform_buffer_alloc),
14997         (gst_base_transform_handle_buffer),
14998         (gst_base_transform_change_state):
14999         Cleanups, separate normal flow from errors, add sensible
15000         DEBUG lines.
15001         Don't try to renegotiate when allocating an output buffer.
15002         Also copy DISCONT buffer flag when copying a buffer.
15003         Reset the transform after we finish streaming, not during.
15004
15005 2006-03-08  Wim Taymans  <wim@fluendo.com>
15006
15007         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
15008         Use last buffer timestamp in qos message.
15009
15010 2006-03-07  Wim Taymans  <wim@fluendo.com>
15011
15012         Patch by: Christophe Fergeau
15013
15014         * docs/pwg/advanced-tagging.xml:
15015         * docs/pwg/building-pads.xml:
15016           fixes #333416
15017
15018 2006-03-07  Wim Taymans  <wim@fluendo.com>
15019
15020         * docs/libs/gstreamer-libs-sections.txt:
15021         Added basesink new methods.
15022
15023         * gst/gstevent.c:
15024         * gst/gstevent.h:
15025         Docs updates. Flesh out the QoS docs.
15026
15027         * libs/gst/base/gstadapter.c:
15028         Small doc clarification about ownership and flushing.
15029
15030         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
15031         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
15032         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
15033         (gst_base_sink_get_property), (gst_base_sink_do_sync):
15034         * libs/gst/base/gstbasesink.h:
15035         API additions: 
15036         Added new methods to allow subclass to control max-lateness 
15037         and sync.
15038         Generate very basic QoS events based on last sync observation.
15039         Updated docs, fix typo, added some QoS blurb.
15040
15041         * libs/gst/base/gstbasesrc.c:
15042         Remove obsolete _get_state() calls from docs.
15043
15044 2006-03-07  Wim Taymans  <wim@fluendo.com>
15045
15046         * docs/libs/gstreamer-libs-sections.txt:
15047         * libs/gst/base/gstbasetransform.h:
15048         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
15049         Fix docs for GstBaseSrc.
15050
15051 2006-03-07  Wim Taymans  <wim@fluendo.com>
15052
15053         * docs/gst/gstreamer-sections.txt:
15054         * gst/gstbuffer.h:
15055         * gst/gstvalue.c:
15056         * libs/gst/base/gstbasetransform.h:
15057         Small documentation fixes.
15058
15059 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
15060
15061         * gst/gstvalue.c:
15062           Document thread-unsafety of gst_value_register_foo_func()
15063           when used at the same time as gst_value_foo() (#322628).
15064
15065 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
15066
15067         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
15068         (gst_push_src_check_get_range):
15069           Push sources don't support pull mode by default.
15070
15071 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
15072
15073         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15074         (gst_base_src_init), (gst_base_src_pad_check_get_range),
15075         (gst_base_src_default_check_get_range):
15076         * libs/gst/base/gstbasesrc.h:
15077           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
15078           provide default implementation, and rename
15079           gst_base_src_check_get_range() to
15080           gst_base_src_pad_check_get_range() for clarity.
15081
15082 2006-03-06  Wim Taymans  <wim@fluendo.com>
15083
15084         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15085         Make property overridable.
15086
15087 2006-03-06  Wim Taymans  <wim@fluendo.com>
15088
15089         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
15090         (gst_base_sink_init), (gst_base_sink_set_property),
15091         (gst_base_sink_get_property), (gst_base_sink_do_sync):
15092         * libs/gst/base/gstbasesink.h:
15093         API addition: Make max-lateness a property.
15094
15095 2006-03-06  Wim Taymans  <wim@fluendo.com>
15096
15097         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
15098         (gst_base_sink_do_sync), (gst_base_sink_render_object):
15099         Don't ever draw a frame that is >10ms late.
15100
15101 2006-03-06  Michael Smith  <msmith@fluendo.com>
15102
15103         * gst/gstmessage.c: (_gst_message_copy):
15104           When copying a message, set the parent_refcount of the enclosed
15105           structure to point at the copy, not the original message.
15106
15107 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
15108
15109         Patch by: Christophe Fergeau
15110
15111         * gst/gstutils.h:
15112           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
15113           usable in c++ code (#333417)
15114
15115 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15116
15117         * gst/gstclock.h:
15118           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
15119
15120 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
15121
15122         * libs/gst/base/gstbasetransform.c:
15123         (gst_base_transform_transform_caps):
15124           Make sure caps are writable before passing them to
15125           gst_caps_append().
15126
15127 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
15128
15129         * gst/gsterror.h:
15130           Fix some minor docs errors.
15131
15132 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
15133
15134           Patch by: Ross Burton <ross at burtonini dot com>
15135
15136         * gst/gsterror.c: (_gst_resource_errors_init):
15137         * gst/gsterror.h:
15138           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
15139
15140 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
15141
15142         * gst/gst.c:
15143         Add a check and output a g_warning when GStreamer is built
15144         against GLib 2.6 but running against 2.8 or higher, and vice 
15145         versa. (Closes: #323542)
15146
15147 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
15148
15149         * gst/parse/parse.l:
15150           Commit patch for parse_launch syntax from #331255. Removes 
15151           support for quoted strings and mimetypes when writing filtered 
15152           caps. See the bug report for more details - I'm pretty sure this
15153           obscure feature is not in use by _anyone_ anywhere.
15154
15155           With this simple change, the size of the gstreamer.so here 
15156           drops from 2193KB to 1565KB.
15157
15158 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
15159
15160         * plugins/elements/gsttypefindelement.h:
15161         * plugins/elements/gsttypefindelement.c:
15162         (gst_type_find_element_src_event), (start_typefinding),
15163         (stop_typefinding), (gst_type_find_element_handle_event),
15164         (gst_type_find_element_chain),
15165         (gst_type_find_element_chain_do_typefinding):
15166           Use gst_type_find_helper_for_buffer() for chain-based
15167           typefinding.
15168
15169 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
15170
15171         * plugins/elements/gsttypefindelement.c:
15172         (gst_type_find_element_class_init),
15173         (gst_type_find_element_set_property),
15174         (gst_type_find_element_get_property):
15175           Deprecate "maximum" property (not only was it only taken into
15176           account for typefinding in push-mode anyway, it also was never
15177           actually possible to set it in the first place because the
15178           property was registered with the numeric property ID for the
15179           "minimum" property). Register "maximum" property correctly,
15180           for the sake of future copy'n'pasters. Remove some cruft
15181           from property get/set functions.
15182
15183 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
15184
15185         * plugins/elements/gsttypefindelement.c:
15186         (gst_type_find_element_activate):
15187           Use gst_type_find_helper_get_range() here, so we
15188           can honour the "minimum" property and also emit
15189           the signal with the correct probability of the found caps.
15190
15191 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
15192
15193         * docs/libs/gstreamer-libs-sections.txt:
15194         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
15195         (helper_find_suggest), (gst_type_find_helper_get_range),
15196         (gst_type_find_helper):
15197         * libs/gst/base/gsttypefindhelper.h:
15198           New API: gst_type_find_helper_get_range() (#333042).
15199
15200 2006-03-02  Michael Smith  <msmith@fluendo.com>
15201
15202         * gst/gstregistryxml.c: (load_feature):
15203           Asserting on a failure to read part of the registry is Not Cool.
15204           Just log a warning and return NULL (which is already handled)
15205
15206 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
15207
15208         * win32/common/libgstbase.def:
15209           added export of gst_type_find_helper_for_buffer
15210         * win32/common/libgstbase.def:
15211           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
15212           gst_ghost_pad_get_target
15213
15214 2006-02-28  Wim Taymans  <wim@fluendo.com>
15215
15216         * docs/design/draft-klass.txt:
15217         We use Filter now.
15218         Added Connector to mark elements that are only used to
15219         allow pipeline connections.
15220         Moved Debug to extra feature since most of them are 
15221         functionally something else.
15222
15223 2006-02-28  Wim Taymans  <wim@fluendo.com>
15224
15225         * docs/design/draft-klass.txt:
15226         Some updates and clarifications.
15227
15228 2006-02-28  Wim Taymans  <wim@fluendo.com>
15229
15230         * docs/design/draft-klass.txt:
15231         Proposal for klass field values.
15232
15233         * docs/design/part-streams.txt:
15234         Start of a doc describing stream anatomy.
15235
15236 2006-02-28  Wim Taymans  <wim@fluendo.com>
15237
15238         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
15239         Help the compiler a bit with type registration.
15240         Use existing forward cod path instead of duplicating it when 
15241         handling a message.
15242         
15243         * gst/gstbus.c: (gst_bus_get_type):
15244         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
15245         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
15246         * gst/gstclock.c: (gst_clock_get_type):
15247         * gst/gstelement.c: (gst_element_get_type),
15248         * gst/gstelementfactory.c: (gst_element_factory_get_type):
15249         * gst/gstindexfactory.c: (gst_index_factory_get_type):
15250         * gst/gstminiobject.c: (gst_mini_object_get_type):
15251         * gst/gstpad.c: (gst_pad_get_type):
15252         * gst/gstsegment.c: (gst_segment_get_type):
15253         * gst/gststructure.c: (gst_structure_get_type):
15254         * gst/gstsystemclock.c: (gst_system_clock_get_type):
15255         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
15256         * gst/gstvalue.c:
15257         Help compiler with type registration.
15258
15259         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
15260         Small doc update.
15261
15262 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
15263
15264         * plugins/elements/gsttypefindelement.c:
15265         (gst_type_find_element_handle_event):
15266           When we get an EOS event and have not found a type yet
15267           (most likely because we had not yet accumulated
15268           TYPE_FIND_MIN_SIZE of data yet), try to determine the
15269           type given the data we have so far. Fixes typefinding
15270           for very short streams again, most notably quicktime
15271           redirections as used on Apple's trailer site (#331701).
15272
15273 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
15274
15275         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
15276         (gst_type_find_helper):
15277           Try typefinding factories with the highest rank first.
15278
15279 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
15280
15281         * docs/libs/gstreamer-libs-docs.sgml:
15282         * docs/libs/gstreamer-libs-sections.txt:
15283         * libs/gst/base/gsttypefindhelper.c:
15284           Add section for typefind helper and add documentation
15285           for the old and the new function.
15286
15287 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
15288
15289         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
15290         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
15291         (gst_type_find_helper_for_buffer):
15292         * libs/gst/base/gsttypefindhelper.h:
15293           New API: gst_type_find_helper_for_buffer() (#332723).
15294           
15295 2006-02-27  Michael Smith  <msmith@fluendo.com>
15296
15297         Patch by: Loïc Minier
15298
15299         * configure.ac:
15300         * docs/Makefile.am:
15301         * docs/slides/Makefile.am:
15302           prevent CVS directories getting disted.
15303
15304 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
15305
15306         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
15307           Use the REFCOUNTING category for caps refcounting.
15308           
15309 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
15310
15311         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
15312           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
15313
15314 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
15315
15316         * plugins/elements/gsttypefindelement.c:
15317         (gst_type_find_element_activate):
15318           Use gst_pad_check_pull_range() before _activate_pull()
15319           to avoid unnecessary open/close (see #331690).
15320
15321 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
15322
15323         * gst/gstutils.c:
15324           Docs enhancement: make it crystal clear what the
15325           gst_pad_add_*_probe() callbacks should look like.
15326
15327 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
15328
15329         * libs/gst/base/gstbasesrc.c:
15330           Document how applications can stop recording from
15331           live sources (see #330996).
15332
15333 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
15334
15335         * tests/check/Makefile.am:
15336         * tests/check/libs/basesrc.c: (eos_event_counter),
15337         (basesrc_eos_events_pull), (basesrc_eos_events_push),
15338         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
15339         (gst_basesrc_suite), (main):
15340           ... and add some tests for the base source EOS stuff.
15341
15342 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
15343
15344         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
15345           Test case originally showed the problem fixed below,
15346           but was then amended. Add checks back at the place
15347           where they used to be.
15348
15349 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
15350
15351         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15352         (gst_base_src_init), (gst_base_src_loop),
15353         (gst_base_src_activate_push), (gst_base_src_activate_pull),
15354         (gst_base_src_change_state):
15355         * libs/gst/base/gstbasesrc.h:
15356           Don't unconditionally send EOS when going from PAUSED to
15357           READY state, esp. make sure we don't send two EOS events
15358           in some cases (e.g. one when reaching EOS and one when
15359           going from PAUSED to READY). Also, we don't want to send
15360           EOS events when operating in pull mode. However, we do
15361           want to send an EOS event when shutting down a live
15362           source explicitly, for example (fixes #330996).
15363           
15364 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
15365
15366         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
15367           Update src->read_position after a seek when not using mmap.
15368           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
15369
15370 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
15371
15372         * gst/Makefile.am:
15373         * gst/gstparse.h:
15374         * gst/gstutils.c:
15375         * gst/gstutils.h:
15376         Make things work with --disable-parse as they do with 
15377         --disable-load-save - the symbols involved disappear, but the
15378         header is still installed and GST_DISABLE_PARSE is included via
15379         gstconfig.h
15380
15381 2006-02-20  Julien MOUTTE  <julien@moutte.net>
15382
15383         * libs/gst/base/gstbasetransform.c:
15384         (gst_base_transform_change_state): Fix a stupid bug. I was 
15385         sure I compiled that.
15386
15387 2006-02-20  Julien MOUTTE  <julien@moutte.net>
15388
15389         * gst/gstpad.c: (gst_pad_set_blocked_async):
15390         * gst/gstutils.c: (gst_pad_add_data_probe),
15391         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15392         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15393         (gst_pad_remove_buffer_probe): Make those function act on the
15394         ghostpad target when it's a ghostpad. (Closes #331727)
15395
15396 2006-02-20  Julien MOUTTE  <julien@moutte.net>
15397
15398         * libs/gst/base/gstbasetransform.c:
15399         (gst_base_transform_change_state): Make basetransform reusable.
15400         (Closes #331898)
15401
15402 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
15403
15404         * docs/random/release:
15405         Move the current documentation of how to do a release to the top
15406         of the file.
15407
15408         * gst/gstbin.c: (gst_bin_class_init),
15409         (gst_bin_handle_message_func):
15410         Allow multiple state-recalculation threads. (Closes #328873)
15411
15412 2006-02-19  Julien MOUTTE  <julien@moutte.net>
15413
15414         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
15415         * gst/gstpad.c: (gst_pad_set_event_function),
15416         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
15417         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
15418         2 strings. You can't use the STR_NULL macro on that.
15419
15420 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
15421
15422         * gst/gstpad.c: (gst_pad_set_event_function),
15423         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
15424         (gst_pad_set_getcaps_function)
15425         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
15426           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
15427           So now, we can use --gst-debug-level=5 on Windows
15428         * win32/common/libgstcontroller.def:
15429           Added export of gst_controller_init
15430         * win32/vs6/libgstcontroller.dsp:
15431           Fixed Release post build configuration
15432
15433 2006-02-17  Wim Taymans  <wim@fluendo.com>
15434
15435         * tests/check/gst/gstquery.c: (GST_START_TEST):
15436         Added another check.
15437
15438 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
15439
15440         * plugins/elements/gsttypefindelement.c: (find_peek):
15441           We can do peeks at non-zero offsets, as long as they
15442           fall within the buffer we have.
15443
15444 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
15445
15446         * tests/check/Makefile.am:
15447         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
15448         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
15449         (parse_suite), (main):
15450           Add testsuite for parse launch syntax
15451
15452 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
15453
15454         * plugins/elements/gsttypefindelement.c:
15455         (gst_type_find_element_chain):
15456           When typefinding is unsuccessful in the chain function, don't
15457           error out immediately. Only error out with NO_CAPS_FOUND if
15458           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
15459           otherwise simply wait for more data so we can try typefinding
15460           again with more data later. Also, don't attempt to typefind
15461           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
15462           this should improve typefinding from network sources where the
15463           size of the first buffer can be somewhat random.
15464
15465 2006-02-14  Wim Taymans  <wim@fluendo.com>
15466
15467         * docs/gst/gstreamer-sections.txt:
15468         * gst/gstpadtemplate.c:
15469         * gst/gstpadtemplate.h:
15470         Fix padtemplate docs, fixes #328805.
15471
15472 2006-02-14  Wim Taymans  <wim@fluendo.com>
15473
15474         * tools/gst-launch.c: (main):
15475         NO_PREROLL is not an ERROR so don't send confusing messages
15476         to the user.
15477
15478 2006-02-14  Wim Taymans  <wim@fluendo.com>
15479
15480         Patch by: Torsten Schoenfeld
15481
15482         * gst/gstregistry.c: (gst_registry_get_default),
15483         (_gst_registry_cleanup):
15484         Protect default registry with lock and ref/sink it.
15485         Fixes #324818
15486
15487 2006-02-14  Wim Taymans  <wim@fluendo.com>
15488
15489         * gst/gstbuffer.c:
15490         * gst/gstquery.c: (gst_query_list_add_format),
15491         (gst_query_set_formatsv), (gst_query_parse_formats_length),
15492         (gst_query_parse_formats_nth):
15493         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15494         Docs fixes.
15495
15496 2006-02-14  Wim Taymans  <wim@fluendo.com>
15497
15498         * docs/gst/gstreamer-sections.txt:
15499         Reworked query docs.
15500
15501         * gst/gstquery.c: (gst_query_new_formats),
15502         (gst_query_list_add_format), (gst_query_set_formats),
15503         (gst_query_set_formatsv), (gst_query_parse_formats_length),
15504         (gst_query_parse_formats_nth):
15505         * gst/gstquery.h:
15506         Flesh out formats query, added some new methods.
15507         Fix part of #324398.
15508
15509         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
15510         Added query creation tests.
15511
15512 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
15513
15514         * gst/gstpad.c: (fixate_value):
15515         Add a default fixation for fraction lists.
15516
15517 2006-02-13  Wim Taymans  <wim@fluendo.com>
15518
15519         * gst/gsttask.c: (gst_task_init), (gst_task_func),
15520         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
15521         (gst_task_join):
15522         * gst/gsttask.h:
15523         Detect and warn for obvious deadlocks. fixes #320340
15524         Fix error case where lock was not released.
15525
15526         * tests/check/Makefile.am:
15527         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
15528         (task_func), (gst_element_suite), (main):
15529         Add task check.
15530
15531 2006-02-13  Wim Taymans  <wim@fluendo.com>
15532
15533         * docs/gst/gstreamer-sections.txt:
15534         * gst/gstbus.c:
15535         Add new functions to docs.
15536
15537 2006-02-13  Wim Taymans  <wim@fluendo.com>
15538
15539         * docs/design/part-TODO.txt:
15540         Updated TODO list, basesrc supports seeking to non-bytes
15541         formats.
15542
15543         * docs/design/part-element-sink.txt:
15544         Update docs.
15545
15546         * gst/gstbin.c: (bin_replace_message),
15547         (gst_bin_handle_message_func):
15548         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
15549         * gst/gstevent.c: (gst_event_finalize):
15550         * gst/gstpad.c: (gst_pad_event_default_dispatch),
15551         (gst_pad_send_event):
15552         Use shiny new _TYPE_NAME macros.
15553
15554         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
15555         Move debug statement up.
15556
15557         * gst/gstelement.c: (gst_element_set_locked_state):
15558         Add some debugging.
15559
15560 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
15561
15562         * docs/gst/gstreamer-sections.txt:
15563         * gst/gstmessage.h:
15564         * gst/gstquery.h:
15565           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
15566           macros (#330906). Also, document the already existing
15567           GST_QUERY_TYPE macro.
15568
15569 2006-02-13  Wim Taymans  <wim@fluendo.com>
15570
15571         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
15572         (event_probe), (GST_START_TEST):
15573         Only events up to the pipeline EOS are counted, there are
15574         some more when going to NULL currently which we don't care
15575         about for now.
15576
15577 2006-02-13  Wim Taymans  <wim@fluendo.com>
15578
15579         * gst/gstpad.c: (gst_pad_send_event):
15580         Correctly check flushing and emit probes. fixes #330125
15581
15582 2006-02-10  Andy Wingo  <wingo@pobox.com>
15583
15584         * gst/gstbus.c (gst_bus_class_init): Declare our private data
15585         structure.
15586         (gst_bus_init): Cache the location of the private data in the
15587         instance structure.
15588         (gst_bus_enable_sync_message_emission) 
15589         (gst_bus_disable_sync_message_emission): Implement new public
15590         functions.
15591         (gst_bus_post): Emit the sync-message signal if the user asked for
15592         it. Fixes #330684.
15593
15594         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
15595         location of the bus-private structure.
15596         (gst_bus_enable_sync_message_emission)
15597         (gst_bus_disable_sync_message_emission): API addition
15598
15599 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
15600
15601         Patch by: Vincent Torri
15602
15603         * docs/pwg/building-boiler.xml:
15604         PWG patch from #326800
15605
15606 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
15607
15608         * configure.ac:
15609         * docs/Makefile.am:
15610         * docs/design/Makefile.am:
15611           Dist design docs.
15612
15613 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
15614
15615         * configure.ac:
15616           back to CVS
15617
15618 === release 0.10.3 ===
15619
15620 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
15621
15622         * configure.ac:
15623           releasing 0.10.3, "Like a virgin"
15624
15625 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
15626
15627         * configure.ac:
15628           2nd prerelease of 0.10.3
15629           Bump libtool versioning.
15630
15631 2006-02-07  Andy Wingo  <wingo@pobox.com>
15632
15633         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
15634         update last_stop if we're in TIME format and the timestamp is
15635         valid.
15636
15637         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
15638         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
15639         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
15640         If we get a new newsegment with a different format, adapt
15641         accordingly.
15642
15643         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
15644         of 0. Not a problem, really.
15645
15646         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
15647         warn if sync=true.
15648
15649 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
15650
15651         * configure.ac:
15652           Prelease of 0.10.3
15653
15654 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
15655
15656         * win32/vs7:
15657           project files updated to the default vs7 configuration
15658         * win32/common/libgstbase.def:
15659         * win32/common/libgstreamer.def:
15660           added new symbols,
15661           removed empty lines,
15662           sorted all exported symbols alphabetically
15663         * win32/common/dirent.c:
15664         * win32/common/dirent.h:
15665         * win32/common/gchar.h:
15666           use windows line end.
15667           
15668 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
15669
15670         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
15671           Send EOS event when stopping.
15672
15673 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
15674
15675         * docs/README:
15676           Tell folks what to do if the plugin-foobar.xml file
15677           hasn't been generated for a newly-added plugin.
15678
15679 2006-02-05  Julien MOUTTE  <julien@moutte.net>
15680
15681         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15682         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15683         (gst_collect_pads_start), (gst_collect_pads_stop),
15684         (gst_collect_pads_event): Collectpads now holds a reference
15685         to the GstPad that was added. Indeed we don't want to look
15686         at pads that might just go away with no warning...
15687
15688 2006-02-05  Julien MOUTTE  <julien@moutte.net>
15689
15690         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
15691         (gst_collect_pads_start), (gst_collect_pads_stop),
15692         (gst_collect_pads_event), (gst_collect_pads_chain):
15693         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
15694         Mark Nauwelaerts's patch on bug #328491.
15695
15696 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
15697
15698         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
15699         (gst_utils_suite):
15700           Add some simple tests for gst_parse_bin_from_description() and
15701           gst_bin_find_unconnected_pad() (#329069).
15702
15703 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
15704
15705         * tools/gst-launch.c: (event_loop), (main):
15706           Catch errors during preroll (#320084).
15707
15708 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
15709
15710         * plugins/elements/gsttypefindelement.c:
15711         (gst_type_find_element_activate):
15712           Post TYPE_NOT_FOUND error message when typefinding
15713           is unsuccessful in the activate function as well.
15714
15715 2006-02-02  Wim Taymans  <wim@fluendo.com>
15716
15717         * docs/design/part-element-sink.txt:
15718         Updated doc.
15719
15720 2006-02-02  Wim Taymans  <wim@fluendo.com>
15721
15722         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
15723         (gst_base_sink_render_object),
15724         (gst_base_sink_queue_object_unlocked):
15725         Only keep track of prerollable items when we are 
15726         prerolling.
15727         Before rendering after preroll, always check if we
15728         have queued items.
15729         Added some more debugging.
15730
15731 2006-02-02  Wim Taymans  <wim@fluendo.com>
15732
15733         * gst/gstelement.c: (gst_element_continue_state),
15734         (gst_element_set_state_func), (gst_element_change_state):
15735         Fixed #326576, been running this for quite some time with
15736         no regressions at all.
15737
15738 2006-02-02  Wim Taymans  <wim@fluendo.com>
15739
15740         * common/gst.supp:
15741         Added more suppressions
15742
15743 2006-02-02  Wim Taymans  <wim@fluendo.com>
15744
15745         * docs/design/part-element-sink.txt:
15746         Updated document.
15747
15748         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15749         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
15750         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
15751         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
15752         (gst_base_sink_do_sync), (gst_base_sink_render_object),
15753         (gst_base_sink_preroll_object),
15754         (gst_base_sink_queue_object_unlocked),
15755         (gst_base_sink_queue_object), (gst_base_sink_event),
15756         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
15757         (gst_base_sink_loop), (gst_base_sink_activate_pull),
15758         (gst_base_sink_get_position), (gst_base_sink_change_state):
15759         * libs/gst/base/gstbasesink.h:
15760         Totally refactored matching the design doc.
15761         Use two segments, one to clip incomming buffers and another to
15762         perform sync.
15763         Handle queueing correctly, bypass the queue when playing.
15764         Make EOS cancelable.
15765         Handle errors correctly when operating in pull based mode.
15766
15767         * tests/check/elements/fakesink.c: (GST_START_TEST),
15768         (fakesink_suite):
15769         Added new check for sinks.
15770
15771 2006-02-02  Wim Taymans  <wim@fluendo.com>
15772
15773         * gst/gstsegment.c: (gst_segment_clip):
15774         No reason to refuse to clip when start == -1
15775
15776 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
15777
15778         * docs/README:
15779         * docs/manual/intro-basics.xml:
15780         * docs/manual/intro-preface.xml:
15781         * docs/manual/manual.xml:
15782         * docs/pwg/advanced-dparams.xml:
15783         * docs/pwg/intro-basics.xml:
15784         * docs/pwg/intro-preface.xml:
15785         * docs/pwg/pwg.xml:
15786           describe dparams (controller) for plugins
15787           unify docs a little more
15788
15789 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
15790
15791         * docs/gst/gstreamer-sections.txt:
15792         * gst/gstutils.c: (element_find_unconnected_pad),
15793         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
15794         * gst/gstutils.h:
15795           Add new API: gst_parse_bin_from_description() and
15796           gst_bin_find_unconnected_pad() (#329069).
15797
15798 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
15799
15800         * docs/manual/README:
15801           uncover a nasty detail of the docs build
15802
15803 2006-01-31  Wim Taymans  <wim@fluendo.com>
15804
15805         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
15806         Don't cache duration messages if we're not going to use or
15807         free them.
15808
15809 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
15810
15811         * docs/manual/advanced-dparams.xml:
15812         * docs/pwg/advanced-dparams.xml:
15813           more dparam docs
15814         * gst/gstindex.c:
15815           fix docs
15816         * libs/gst/controller/lib.c: (gst_controller_init):
15817           init just once
15818
15819 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
15820
15821         * gst/gstelement.c: (gst_element_message_full):
15822           also show file/line/func if no additional debug was given
15823
15824 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
15825         
15826         * win32/vs7/grammar.vcproj:
15827           activate copy of autogenerated files for Release mode
15828
15829 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
15830         
15831         * win32/common/libgstreamer.def:
15832           export gst_value_compare
15833
15834 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
15835
15836         * plugins/elements/Makefile.am:
15837         * plugins/elements/gstelements.c:
15838         * plugins/elements/gstfdsink.c: (_do_init),
15839         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
15840         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
15841         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
15842         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
15843         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
15844         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
15845         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
15846         * plugins/elements/gstfdsink.h:
15847         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
15848
15849 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
15850
15851         * docs/manual/advanced-dparams.xml:
15852           describe controller
15853         * docs/manual/advanced-position.xml:
15854         * docs/manual/basics-init.xml:
15855         * docs/manual/manual.xml:
15856         * docs/manual/titlepage.xml:
15857         * docs/pwg/pwg.xml:
15858         * docs/pwg/titlepage.xml:
15859           cleanup xml (more to come)
15860         * libs/gst/controller/gstcontroller.c:
15861           fix typo
15862
15863 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
15864         
15865         * win32/vs6/grammar.dsp:
15866           add autogen of gstmarshal.c,h for Release mode
15867                 
15868 2006-01-30  Wim Taymans  <wim@fluendo.com>
15869
15870         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15871         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
15872         (gst_base_sink_handle_object), (gst_base_sink_event),
15873         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
15874         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
15875         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
15876         (gst_base_sink_deactivate), (gst_base_sink_activate),
15877         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
15878         (gst_base_sink_query), (gst_base_sink_change_state):
15879         Basesink cleanups, remove some old code.
15880         Handle the case where a subclass can preroll in the render
15881         method (mostly audiosinks).
15882         Handle more events.
15883         Remove some locks around variables that are now protected
15884         with the PREROLL_LOCK (clock_id, flushing, ..).
15885         Optimize position query some more, do correct locking.
15886         Remove old code to push queue in state change, this is not
15887         needed anymore since preroll blocks on all prerollable items 
15888         now.
15889         Almost implemented as described in design doc.
15890
15891 2006-01-30  Wim Taymans  <wim@fluendo.com>
15892
15893         * tests/check/gst/gstbin.c: (GST_START_TEST):
15894         Wait for refcount to settle down before checking.
15895
15896 2006-01-30  Wim Taymans  <wim@fluendo.com>
15897
15898         * docs/design/part-element-sink.txt:
15899         Pseudo code overview of desired sink behaviour regarding
15900         preroll.
15901
15902 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
15903         * win32/vs6/grammar.dsp:
15904           fix some bugs in Release mode for autogenerated files
15905                 
15906 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
15907         * win32/common/libgstbase.def:
15908         * win32/common/libgstreamer.def:
15909           export some new symbols: gst_base_src_set_format,
15910           gst_iterator_next, gst_structure_set_valist
15911
15912 2006-01-29  Julien MOUTTE  <julien@moutte.net>
15913
15914         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
15915         Set pad functions unconditionally. Fixes #329105.
15916
15917 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
15918         * win32/vs8:
15919           add vs8 project files created by Sergey Scobich
15920
15921 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
15922
15923         * gst/gstutils.c: (gst_element_unlink_pads):
15924         Don't leak pad references.
15925
15926         * tests/check/elements/fakesink.c: (GST_START_TEST):
15927         * tests/check/generic/sinks.c: (GST_START_TEST):
15928         * tests/check/generic/states.c: (GST_START_TEST):
15929         * tests/check/gst/gstbin.c: (GST_START_TEST):
15930         * tests/check/gst/gstcaps.c: (GST_START_TEST):
15931         * tests/check/gst/gstelement.c: (GST_START_TEST):
15932         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15933         * tests/check/gst/gstiterator.c: (GST_START_TEST):
15934         * tests/check/gst/gstvalue.c: (GST_START_TEST):
15935         Fix a bunch of leaks. Make generic/sinks.c
15936         use a bit less cpu by slowing the buffer rate
15937         between fakesrc and fakesink.
15938         
15939 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
15940         * gst/gstcaps.c:
15941         * gst/gstelement.c: (gst_element_send_event):
15942         * gst/gstevent.c:
15943         * gst/gstinfo.c:
15944         * gst/gstiterator.c:
15945         * gst/gstiterator.h:
15946         * gst/gstpad.c: (gst_pad_send_event):
15947         * gst/gststructure.c:
15948         * gst/gsturi.c:
15949         * gst/gstutils.c:
15950         * gst/gstvalue.c:
15951         * libs/gst/base/gstadapter.c:
15952           doc fixes, to link to function, just write gst_cool_function(), don't
15953           prefix with '#'
15954
15955 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
15956
15957         * plugins/elements/gsttee.c: (gst_tee_do_push),
15958         (gst_tee_handle_buffer):
15959         Always prefer an actual return value from a src
15960         pad in place of NOT_LINKED. This means we return
15961         WRONG_STATE when all src pads are WRONG_STATE
15962         instead of NOT_LINKED.
15963
15964         Lock when replacing the last message to prevent
15965         racing with the get_property method.
15966
15967         Add debug output
15968
15969 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
15970
15971         * tests/check/Makefile.am:
15972         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
15973         (main):
15974         Add a very simple check that should have caught the memleak I fixed
15975         last night (if not for the slice allocator hiding it)
15976
15977 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
15978
15979         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
15980         (gst_bin_remove_func), (gst_bin_handle_message_func),
15981         (bin_query_duration_fold), (bin_query_generic_fold):
15982         Clean up references to the clock provider when disposed or when
15983         handling a clock-lost message from it.
15984
15985         Unref sinks when performing a query via gst_iterator_fold, as the
15986         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
15987
15988         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
15989         (gst_clock_set_master):
15990         Drop our reference to the master clock, if any, when we are disposed.
15991
15992         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
15993         Chain up in dispose. 
15994
15995 2006-01-26  Wim Taymans  <wim@fluendo.com>
15996
15997         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
15998         Add some debugging.
15999
16000 2006-01-26  Julien MOUTTE  <julien@moutte.net>
16001
16002         * plugins/elements/gsttee.c: (gst_tee_do_push),
16003         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
16004         handles pad being NOT_LINKED or in WRONG_STATE.
16005
16006 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
16007
16008         * win32/MANIFEST:
16009           more updating
16010
16011 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
16012
16013         * win32/MANIFEST:
16014           remove obsolete entry
16015
16016 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
16017
16018         * docs/gst/gstreamer-sections.txt:
16019         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
16020         (gst_bin_iterate_sources), (gst_bin_send_event):
16021         * gst/gstbin.h:
16022         * gst/gstelement.c: (gst_element_send_event):
16023         * gst/gstevent.c:
16024         * gst/gstpad.c: (gst_pad_send_event):
16025           added code for downstream events, reviewed docs in gstevent.c
16026
16027 2006-01-25  Julien MOUTTE  <julien@moutte.net>
16028
16029         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
16030         We only query position using the clock in the playing state.
16031         Query peer in the other cases.
16032         * win32/common/config.h: Updates.
16033
16034 2006-01-24  Wim Taymans  <wim@fluendo.com>
16035
16036         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16037         A clock entry that is scheduled for the exact time of the
16038         clock is still in time.
16039
16040         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16041         (gst_base_sink_do_sync):
16042         Add some more debug info.
16043
16044 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
16045
16046         * win32/vs7:
16047           Add new vs7 project files and solution.
16048
16049 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
16050
16051         * win32/vs7:
16052           all files removed as they were out-dated.
16053
16054 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16055
16056         * docs/random/release:
16057           update notes
16058         * gst/gstbin.c: (gst_bin_init):
16059         * gst/gstbus.c: (gst_bus_new):
16060         * gst/gstbus.h:
16061         * gst/gstpipeline.c: (gst_pipeline_init):
16062           use gst_bus_new(), improve logging, fix docs
16063         * win32/common/config.h:
16064           update for cvs build
16065
16066 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16067
16068         * autogen.sh:
16069           up required version of automake to 1.7
16070
16071 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
16072
16073         * win32/common/libgstreamer.def:
16074           export gst_buffer_is_metadata_writable
16075
16076 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
16077
16078         * docs/gst/gstreamer-sections.txt:
16079         * gst/gstevent.h:
16080           Add gst_event_replace() (#327001)
16081
16082 2006-01-20  Wim Taymans  <wim@fluendo.com>
16083
16084         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
16085         Make it actually compile too..
16086
16087 2006-01-20  Wim Taymans  <wim@fluendo.com>
16088
16089         * gst/gstcaps.c:
16090         Clarify behaviour of _is_equal() when passing NULL parameters.
16091
16092         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
16093         (gst_pad_set_caps):
16094         Cleanups. Don't unref NULL caps.
16095         When setting the same caps, protect caps of the pad with
16096         proper lock.
16097         Use full functionality of _is_equal() when comparing caps.
16098
16099 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
16100
16101         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16102         Don't loop infinitely if there are no buffers to present. Partially
16103         fixes #327197, but collectpads is just broken for reusing elements
16104         to do multiple encodes atm.
16105
16106 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
16107
16108         * tools/gst-inspect.c: (print_element_features):
16109         * tools/gst-xmlinspect.c: (main):
16110         URL_HANDLER is not a plugin feature we can search for in
16111         the registry.
16112
16113 2006-01-19  Edward Hervey  <edward@fluendo.com>
16114
16115         * gst/gstelement.c: (gst_element_pads_activate): 
16116         When activating, do src pads first, then sink pads.
16117         When de-activating, do sink pads first, then src pads.
16118
16119 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
16120
16121         * docs/gst/gstreamer-sections.txt:
16122         Add gst_index_add_associationv to the docs
16123
16124 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
16125
16126         * gst/gstevent.c:
16127           Fix docs typo
16128
16129         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
16130         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
16131           Do some refactoring. Doesn't actually change functionality,
16132           but makes landing the DRAIN event easier later.
16133
16134 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
16135
16136         * docs/pwg/advanced-scheduling.xml:
16137           Update from 0.9.x to 0.10 API and make example a bit
16138           clearer.
16139
16140 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
16141
16142         * docs/gst/gstreamer-sections.txt:
16143         Add gst_buffer_(is|make)_metadata_writable methods.
16144
16145 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
16146
16147         * docs/design/part-sparsestreams.txt:
16148         Update sparse streams doc, hopefully for greater clarity
16149
16150 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
16151
16152         * docs/design/part-events.txt:
16153         Remove mention of FILLER events.
16154         Add DRAIN event.
16155
16156         * docs/design/part-sparsestreams.txt:
16157         Write some things about using NEWSEGMENT to keep sparse streams
16158         flowing.
16159
16160 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
16161
16162         * gst/gstbin.c: (gst_bin_dispose):
16163           Guard gst_object_unref call against a NULL object (dispose
16164           can theoretically be called multiple times).
16165           
16166 2006-01-18  Wim Taymans  <wim@fluendo.com>
16167
16168         * gst/gstbin.c: (gst_bin_element_set_state):
16169         * gst/gstclock.c: (gst_clock_id_wait):
16170         Added some more debug info.
16171
16172         * libs/gst/base/gstadapter.c:
16173         Added more docs.
16174
16175         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16176         (gst_base_sink_do_sync), (gst_base_sink_chain):
16177         Added some comments.
16178
16179 2006-01-18  Wim Taymans  <wim@fluendo.com>
16180
16181         * tests/check/Makefile.am:
16182         * tests/check/elements/fakesink.c: (chain_async_buffer),
16183         (chain_async), (chain_async_return), (GST_START_TEST),
16184         (fakesink_suite), (main):
16185         Added fakesink test that checks prerolling and clipping
16186         behaviour.
16187
16188         * tests/check/gst/gstutils.c: (GST_START_TEST):
16189         Make check run faster so that buildbots don't timeout.
16190
16191 2006-01-18  Wim Taymans  <wim@fluendo.com>
16192
16193         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16194         (gst_base_sink_do_sync):
16195         Some cleanups.
16196         When the sink finishes blocking on the preroll buffer, it can
16197         immediatly render it instead of rendering when the next buffer
16198         arrives.
16199
16200 2006-01-18  Wim Taymans  <wim@fluendo.com>
16201
16202         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
16203         (gst_base_sink_get_property), (gst_base_sink_do_sync),
16204         (gst_base_sink_chain):
16205         Small cleanups.
16206         GST_ELEMENT_CLOCK and sync are protected with LOCK.
16207         Don't store _last_stop if the buffer is dropped.
16208
16209 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
16210
16211         * plugins/elements/gsttypefindelement.c:
16212         (gst_type_find_element_class_init):
16213           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
16214           object method handler that sets the caps on the pad and we want
16215           that to happen before we emit the signal (fixes e.g. feeding a
16216           plain text file to decodebin).
16217
16218 2006-01-18  Christian Schaller  <Christian@fluendo.com>
16219
16220         * gst/gstplugin.c: Add MPL and Proprietary as license options
16221
16222 2006-01-18  Andy Wingo  <wingo@pobox.com>
16223
16224         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
16225         symbol was exported before, it appears this was just an oversight.
16226         Fixes #168703.
16227         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
16228
16229         * gst/gstindex.c (gst_index_add_associationv): Changed int in
16230         prototype to gint. OK since this prototype was not in the header.
16231
16232 2006-01-17  Andy Wingo  <wingo@pobox.com>
16233
16234         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
16235         registry while we remove plugins.
16236
16237         * tools/gst-inspect.c (print_element_info): Don't unref the
16238         factory arg, that should be the responsibility of whatever code
16239         received the ref. Fixes a double-free when called from
16240         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
16241         (main): Unref the factory if we have one.
16242         (print_element_list): No change -- relies on the
16243         plugin_feature_list_free to free the list of features.
16244
16245 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
16246
16247         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
16248         (gst_buffer_make_metadata_writable):
16249         * gst/gstbuffer.h:
16250         * libs/gst/base/gstbasetransform.c:
16251         (gst_base_transform_prepare_output_buf):
16252         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
16253         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16254           Replace gst_buffer_(make|is)_metadata_writable patch now
16255           that the release is out.
16256
16257 2006-01-17  Andy Wingo  <wingo@pobox.com>
16258
16259         * gst/gstregistry.c: Reflow design comment. Update so as to speak
16260         in the present tense without reference to versions.
16261
16262         * gst/gstregistry.c (gst_registry_add_plugin)
16263         (gst_registry_remove_plugin, gst_registry_remove_feature)
16264         (gst_registry_find_feature, gst_registry_get_feature_list)
16265         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
16266         (gst_registry_lookup, gst_registry_scan_path)
16267         (_gst_registry_remove_cache_plugins)
16268         (gst_registry_get_feature_list_by_plugin): Add argument
16269         validation.
16270
16271 === release 0.10.2 ===
16272
16273 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
16274
16275         * configure.ac:
16276           releasing 0.10.2, "If man is five"
16277
16278 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
16279
16280         * gst/gstbuffer.c:
16281         * gst/gstbuffer.h:
16282         * libs/gst/base/gstbasetransform.c:
16283         (gst_base_transform_prepare_output_buf):
16284         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
16285         * tests/check/gst/gstbuffer.c: (gst_test_suite):
16286           Back out patch until after the release.
16287
16288 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
16289
16290         * gst/gstminiobject.c:
16291           Spelling fix in docs.
16292         * ChangeLog - remove conflict indicator
16293
16294 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
16295
16296         Reviewed By: Andy Wingo
16297
16298         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
16299         (gst_buffer_make_metadata_writable):
16300         * gst/gstbuffer.h:
16301           Add gst_buffer_(is|make)_metadata_writable as analogues of
16302           gst_buffer_(is|make)_writable.
16303
16304         * libs/gst/base/gstbasetransform.c:
16305         (gst_base_transform_prepare_output_buf):
16306         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
16307           Use name gst_buffer_(is|make)_metadata_writable functions.
16308
16309         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16310           Test gst_buffer_(is|make)_metadata_writable
16311         
16312           (Closes: #324162)
16313
16314 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
16315
16316         * docs/manual/Makefile.am:
16317           don't do parallel make
16318         * configure.ac:
16319           AC_SUBST HOST_CPU
16320         * win32/common/config.h.in:
16321           add generations for HOST_CPU and GST_MAJORMINOR
16322         * win32/common/config.h:
16323           commit generated result
16324
16325 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
16326
16327         * docs/manual/appendix-integration.xml:
16328           Update GNOME integration section to use gst_init_get_option_group()
16329           instead of the old popt stuff (#322911). Also, GNOME applications
16330           should  now use gconf*sink and gconf*src instead of the old gconf
16331           helper lib we had.
16332
16333 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
16334
16335
16336         * docs/gst/gstreamer-docs.sgml:
16337         * docs/gst/gstreamer-sections.txt:
16338         * docs/libs/gstreamer-libs-sections.txt:
16339           add new API entries to the docs
16340         * libs/gst/controller/Makefile.am:
16341         * libs/gst/controller/gstcontroller.c:
16342         * libs/gst/controller/gstcontroller.h:
16343         * libs/gst/controller/gstcontrollerprivate.h:
16344         * libs/gst/controller/gsthelper.c:
16345         * libs/gst/controller/gstinterpolation.c:
16346           move private structs to private header
16347         * po/README:
16348           gstreamer-0.7 -> gstreamer-0.10
16349         * tests/check/libs/struct_i386.h:
16350           remove private structs
16351
16352 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16353
16354         * plugins/indexers/Makefile.am:
16355           Fixes as part of #317048
16356
16357 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16358
16359         * plugins/indexers/Makefile.am:
16360           fix #316086 - compilation when mmap is missing
16361
16362 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
16363
16364         * libs/gst/base/gstbasesink.c:
16365           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
16366           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
16367         * win32/common/config.h:
16368           added some defines GST_MAJORMINOR and HOST_CPU
16369         * win32/common/libgstbase.def:
16370         * win32/common/libgstreamer.def:
16371           added some exported functions.
16372
16373 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
16374
16375         * libs/gst/controller/gstcontroller.c:
16376         (gst_controlled_property_set_interpolation_mode),
16377         (gst_controlled_property_new):
16378         * libs/gst/controller/gstcontroller.h:
16379         * libs/gst/controller/gstinterpolation.c:
16380         (interpolate_none_get_string_value_array):
16381           make G_TYPE_STRING controlable
16382
16383 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
16384
16385         * tools/README:
16386         * tools/gst-feedback.1.in:
16387         * tools/gst-inspect.1.in:
16388         * tools/gst-launch.1.in:
16389         * tools/gst-md5sum.1.in:
16390         * tools/gst-typefind.1.in:
16391         * tools/gst-xmlinspect.1.in:
16392         * tools/gst-xmllaunch.1.in:
16393           cleanup man-pages, remove reference to gst-register, document env-vars
16394
16395 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
16396
16397         * gst/gstbuffer.c: (gst_buffer_span):
16398           gst_buffer_span should copy the timestamp of the first buffer
16399           if they were both originally overlapping subbuffers of the 
16400           same parent, using the same logic as the 'slow copy' case.
16401
16402 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
16403
16404         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
16405           Need to awaken ALL the pads when we pop a buffer, otherwise
16406           collectpads only works when there is 2 input streams.
16407
16408 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
16409
16410         * docs/random/ensonic/media-device-daemon.txt:
16411           more ideas (dbus)
16412         * gst/gstbuffer.c:
16413           fix doc example, add clarification
16414         * tools/gst-launch.1.in:
16415           add initial info about GST_PLUGIN_PATH, needs more work
16416
16417 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
16418
16419         * docs/manual/basics-bins.xml:
16420         * docs/manual/basics-elements.xml:
16421         * docs/manual/intro-basics.xml:
16422           Some more minor docs additions and updates.
16423
16424 2006-01-11  Wim Taymans  <wim@fluendo.com>
16425
16426         * docs/manual/basics-bins.xml:
16427         * docs/manual/basics-elements.xml:
16428         Some small fixes as pointed out by Ser-ver on IRC.
16429
16430 2006-01-10  Edward Hervey  <edward@fluendo.com>
16431
16432         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
16433         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
16434         the single-segment mode.
16435
16436 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
16437
16438         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
16439
16440         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
16441         (gst_base_src_perform_seek), (gst_base_src_send_event),
16442         (gst_base_src_set_property), (gst_base_src_get_property),
16443         (gst_base_src_loop), (gst_base_src_start),
16444         (gst_base_src_activate_push):
16445         * libs/gst/base/gstbasesrc.h:
16446           Name (private) union; makes Sun's Forte compiler happy (#324900).
16447
16448 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
16449
16450         * README:
16451           gst-register is gone.
16452
16453 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16454
16455         * gst/gstvalue.c: (_gst_value_initialize):
16456           make the G_TYPE_DATE instantiation work if debug is disabled
16457
16458 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
16459
16460         * gst/gstmessage.c: (gst_message_parse_tag),
16461         (gst_message_parse_error), (gst_message_parse_warning):
16462           Don't crash when return location for error/warning debug
16463           string is NULL; add fact that return locations can be
16464           NULL to docs where appropriate.
16465
16466 2006-01-05  Wim Taymans  <wim@fluendo.com>
16467
16468         * gst/gstplugin.c: (gst_plugin_load_file):
16469         Replace strdup by g_strdup.
16470
16471 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16472
16473         * docs/pwg/advanced-types.xml:
16474           fix doc borkage
16475
16476 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16477
16478         submitted by: Abel Cheung
16479
16480         * po/LINGUAS:
16481         * po/zh_TW.po:
16482           Added Chinese (traditional) translation
16483
16484 2006-01-04  Wim Taymans  <wim@fluendo.com>
16485
16486         * docs/manual/basics-pads.xml:
16487         * docs/plugins/Makefile.am:
16488         * docs/plugins/gstreamer-plugins-docs.sgml:
16489         * docs/plugins/gstreamer-plugins-sections.txt:
16490         * docs/pwg/advanced-clock.xml:
16491         * docs/pwg/advanced-scheduling.xml:
16492         * docs/pwg/advanced-types.xml:
16493         * plugins/elements/gstfdsink.c:
16494         * plugins/elements/gstfdsrc.c:
16495         * plugins/elements/gstfdsrc.h:
16496         * plugins/elements/gstidentity.c: (gst_identity_class_init):
16497         * plugins/elements/gstidentity.h:
16498         * plugins/elements/gstqueue.h:
16499         * plugins/elements/gsttee.c:
16500         * plugins/elements/gsttee.h:
16501         * plugins/elements/gsttypefindelement.c:
16502         (gst_type_find_element_class_init):
16503         * plugins/elements/gsttypefindelement.h:
16504         Small updates to various docs.
16505         Added core plugins to docs.
16506
16507 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16508
16509         * common/gst.supp:
16510           add a suppression for liboil's uninitialized variable
16511
16512 2006-01-02  James Livingston  <jrl at ids dot org dot au>
16513
16514         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
16515
16516         * gst/gstutils.h:
16517           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
16518           macro, so that gcc doesn't complain if the -Wmissing-prototypes
16519           compiler switch is being used (#325429).
16520
16521 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
16522
16523         * gst/gstbin.c: (gst_bin_query):
16524           Disable duration query caching in bins until it gets
16525           fixed (see #324807).
16526
16527 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
16528
16529         * tools/gst-inspect.c: (print_element_properties_info):
16530           Handle properties of POINTER and BOXED type.
16531
16532 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
16533
16534         * gst/gst.c: (init_post):
16535           Init tags stuff and some other things before loading
16536           any static plugins (there may be other static plugins
16537           than just the GStreamer ones, and they may want to
16538           register their own tags or formats or whatever, and
16539           preferably without segfaulting).
16540
16541         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
16542           Print at least a warning in the debug logs if we drop a
16543           query just because we don't know how to adjust the value
16544           in the particular format.
16545
16546 2005-12-24  David Schleef  <ds@schleef.org>
16547
16548         * tools/gstreamer-completion:
16549           Replacement for gst-complete written in sh and sed.  Only
16550           completes names of features, but that's 90% of what I want
16551           it for.  Properties are not available in registry.xml.  (Maybe
16552           they should be...)
16553
16554 === release 0.10.1 ===
16555
16556 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
16557
16558         * configure.ac:
16559           releasing 0.10.1, "Nollaig chridheil"
16560
16561 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
16562
16563         * docs/faq/cvs.xml:
16564           Add missing quote, should be make ERROR_CFLAGS="".
16565
16566 2005-12-20  Wim Taymans  <wim@fluendo.com>
16567
16568         * docs/design/part-trickmodes.txt:
16569         More documentation on trickmodes.
16570
16571 2005-12-20  Edward Hervey  <edward@fluendo.com>
16572
16573         * gst/gstcaps.c: (gst_static_caps_get_type):
16574         * gst/gstcaps.h:
16575           API addition: GST_TYPE_STATIC_CAPS
16576         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
16577         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
16578         * gst/gstpadtemplate.h:
16579           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
16580         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
16581         bindings.
16582
16583 2005-12-18  Wim Taymans  <wim@fluendo.com>
16584
16585         * libs/gst/base/gstadapter.c:
16586         * libs/gst/base/gstadapter.h:
16587         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16588         (gst_base_sink_get_position):
16589         * libs/gst/base/gstbasesink.h:
16590         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16591         (gst_base_src_default_query), (gst_base_src_default_do_seek),
16592         (gst_base_src_do_seek), (gst_base_src_perform_seek),
16593         (gst_base_src_send_event), (gst_base_src_update_length),
16594         (gst_base_src_get_range), (gst_base_src_loop),
16595         (gst_base_src_start):
16596         * libs/gst/base/gstbasesrc.h:
16597         * libs/gst/base/gstbasetransform.h:
16598         * libs/gst/base/gstcollectpads.h:
16599         * libs/gst/base/gstpushsrc.c:
16600         * libs/gst/base/gstpushsrc.h:
16601         * libs/gst/dataprotocol/dataprotocol.c:
16602         * libs/gst/dataprotocol/dataprotocol.h:
16603         * libs/gst/net/gstnetclientclock.h:
16604         * libs/gst/net/gstnettimeprovider.h:
16605         Documentation updates.
16606
16607 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
16608
16609         * docs/manual/basics-helloworld.xml:
16610           Remove superfluous closing bracket in helloworld example.
16611
16612 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
16613
16614         * tools/gst-launch.1.in:
16615           Update gst-launch man page; add a section with useful
16616           environment variables. Fixes #323882.
16617
16618 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
16619
16620         * gst/gst.c:
16621         * gst/gst_private.h:
16622           change some char* into char[]
16623
16624 2005-12-16  Wim Taymans  <wim@fluendo.com>
16625
16626         * gst/gstregistryxml.c: (load_feature):
16627         Cleanups.
16628         Don't use g_object_unref on GstObjects so that we avoid
16629         leaks on unsafe glibs.
16630
16631 2005-12-16  Wim Taymans  <wim@fluendo.com>
16632
16633         * gst/gstbin.c: (gst_bin_recalc_state):
16634         Small doc updates.
16635
16636 2005-12-16  Wim Taymans  <wim@fluendo.com>
16637
16638         * common/check.mak:
16639         Added make forever target for check.
16640
16641 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16642
16643         * gst/gst.c: (init_post):
16644           make the registry cache file HOST_CPU-dependent
16645
16646 2005-12-16  Andy Wingo  <wingo@pobox.com>
16647
16648         * plugins/elements/gstbufferstore.c
16649         (gst_buffer_store_cleared_func): Pay attention to g_list_append
16650         return value.
16651
16652         * tests/check/gst/gstobject.c
16653         (test_fake_object_name_threaded_unique): Pay attention to
16654         g_list_sort return value.
16655
16656 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
16657
16658         * tools/gst-feedback-m.m:
16659           Update for 0.9/0.10 (fixes #323870).
16660
16661 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
16662
16663         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
16664           Fix lcopy for mini objects, the mini object needs to be ref'ed.
16665           
16666         * tests/check/gst/gstminiobject.c: (my_foo_init),
16667         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
16668         (test_value_collection), (gst_mini_object_suite):
16669           Add test to ensure refcounts end up as expected when passing
16670           GstMiniObjects through g_object_get() and g_object_set().
16671
16672 2005-12-14  Julien MOUTTE  <julien@moutte.net>
16673
16674         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
16675         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
16676         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
16677         of collectpads. This version removes a lot of races without
16678         touching API/ABI. Yay !
16679
16680 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
16681
16682         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
16683           Don't allow activation of a srcpad in pull_range if it has no
16684           getrange function.
16685           Change some debug statements to be a little clearer
16686
16687         * plugins/elements/gsttypefindelement.c:
16688         (gst_type_find_handle_src_query):
16689           Check that we have a peer before executing queries thereupon.
16690
16691         * tests/examples/metadata/read-metadata.c: (message_loop):
16692           Use gst_bus_pop instead of gst_bus_poll when we just want it to
16693           immediately return us any available message with 0 timeout.
16694
16695 2005-12-12  Michael Smith  <msmith@fluendo.com>
16696
16697         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
16698           Don't unref factories after calling them.
16699         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
16700         * plugins/elements/gsttypefindelement.c:
16701         (gst_type_find_element_chain):
16702           Free lists of factories after using them. Fixing typefinding memory
16703           leaks.
16704
16705 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16706
16707         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
16708         (gst_plugin_feature_load):
16709           more meaningful debug output
16710         * configure.ac:
16711         * tests/Makefile.am:
16712         * tests/old/examples/Makefile.am:
16713           make make distcheck happy again
16714
16715 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
16716
16717         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
16718           Catch the special case where we are operating chain-based,
16719           but the downstream peer pad has no chain function. Emit a
16720           custom error message in this case instead of letting the
16721           core generate one implying that this is some sort of core
16722           bug. It's not, it just means that whatever got plugged
16723           into the pipeline downstream when we announced the type
16724           can only operate pull-based, while our source can only
16725           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
16726           Error string has not been marked for translation yet, as
16727           it probably needs some more work first.
16728
16729         (gst_type_find_element_get_best_possibility):
16730           Add helper function to find the best of all available
16731           found possibilities that qualify given the min. threshold.
16732
16733         (gst_type_find_element_handle_event):
16734           Fix the case where we get an EOS while still in TYPEFIND
16735           mode (we want to chose the best of all possible types,
16736           not just the first type that happens to be in our unsorted
16737           list of possible types).
16738
16739         (gst_type_find_element_chain):
16740           Make sure we return GST_FLOW_ERROR when we errored out
16741           in stop_typefinding(); also, don't just find the best of
16742           all found type entries and then use the last examined
16743           type entry, but actually use the best entry.
16744
16745 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
16746
16747         * tests/examples/typefind/typefind.c: (type_found):
16748         * tests/examples/xml/runxml.c: (xml_loaded):
16749           More gcc4 fixes and a mem leak fix.
16750
16751 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16752
16753         * tests/examples/xml/createxml.c: (object_saved):
16754           gcc 4 fixes
16755
16756 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16757
16758         * tests/Makefile.am:
16759           enable the examples even more
16760
16761 2005-12-12  Andy Wingo  <wingo@pobox.com>
16762
16763         * libs/gst/net/gstnettimeprovider.c
16764         (gst_net_time_provider_class_init, gst_net_time_provider_init)
16765         (gst_net_time_provider_set_property)
16766         (gst_net_time_provider_get_property):
16767         API addition: Export "active" as a GObject property.
16768         (gst_net_time_provider_thread): Only respond to time queries if
16769         the time provider is active.
16770
16771         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
16772         NetTimeProvider, preserving binary compat.
16773
16774 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16775
16776         * tests/examples/controller/audio-example.c: (main):
16777         * tests/examples/launch/Makefile.am:
16778           convert comments again
16779
16780 2005-12-12  Wim Taymans  <wim@fluendo.com>
16781
16782         * libs/gst/base/gstpushsrc.c:
16783         Fix typo.
16784
16785 2005-12-12  Wim Taymans  <wim@fluendo.com>
16786
16787         * docs/libs/gstreamer-libs-sections.txt:
16788         Added new symbol to docs.
16789
16790         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16791         (gst_base_src_init), (gst_base_src_set_format),
16792         (gst_base_src_default_query), (gst_base_src_query),
16793         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
16794         (gst_base_src_perform_seek), (gst_base_src_send_event),
16795         (gst_base_src_default_event), (gst_base_src_event_handler),
16796         (gst_base_src_set_property), (gst_base_src_get_property),
16797         (gst_base_src_wait), (gst_base_src_do_sync),
16798         (gst_base_src_update_length), (gst_base_src_get_range),
16799         (gst_base_src_check_get_range), (gst_base_src_loop),
16800         (gst_base_src_default_negotiate), (gst_base_src_start),
16801         (gst_base_src_activate_push), (gst_base_src_activate_pull),
16802         (gst_base_src_change_state):
16803         * libs/gst/base/gstbasesrc.h:
16804         Implement seeking to other formats than _BYTES.
16805         Implement more seeking methods correctly.
16806         Doc updates.
16807         Added query vmethod.
16808         Added do_seek vmethod to make life easier for subclasses
16809         when seeking.
16810         API addition: gst_base_src_set_format()
16811
16812 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16813
16814         * tests/examples/Makefile.am:
16815           added that too
16816
16817 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16818
16819         * configure.ac:
16820         * docs/random/ensonic/media-device-daemon.txt:
16821         * tests/examples/controller/.cvsignore:
16822         * tests/examples/controller/Makefile.am:
16823         * tests/examples/controller/audio-example.c: (main):
16824         * tests/examples/helloworld/.cvsignore:
16825         * tests/examples/helloworld/Makefile.am:
16826         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
16827         * tests/examples/launch/.cvsignore:
16828         * tests/examples/launch/Makefile.am:
16829         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
16830         * tests/examples/metadata/.cvsignore:
16831         * tests/examples/metadata/Makefile.am:
16832         * tests/examples/metadata/read-metadata.c: (message_loop),
16833         (make_pipeline), (print_tag), (main):
16834         * tests/examples/queue/.cvsignore:
16835         * tests/examples/queue/Makefile.am:
16836         * tests/examples/queue/queue.c: (event_loop), (main):
16837         * tests/examples/typefind/.cvsignore:
16838         * tests/examples/typefind/Makefile.am:
16839         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
16840         (main):
16841         * tests/examples/xml/.cvsignore:
16842         * tests/examples/xml/Makefile.am:
16843         * tests/examples/xml/createxml.c: (object_saved), (main):
16844         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
16845         * tests/old/examples/Makefile.am:
16846         * tests/old/examples/TODO:
16847         * tests/old/examples/controller/.cvsignore:
16848         * tests/old/examples/controller/Makefile.am:
16849         * tests/old/examples/controller/audio-example.c:
16850         * tests/old/examples/helloworld/.cvsignore:
16851         * tests/old/examples/helloworld/Makefile.am:
16852         * tests/old/examples/helloworld/helloworld.c:
16853         * tests/old/examples/launch/.cvsignore:
16854         * tests/old/examples/launch/Makefile.am:
16855         * tests/old/examples/launch/mp3parselaunch.c:
16856         * tests/old/examples/launch/mp3play:
16857         * tests/old/examples/manual/Makefile.am:
16858         * tests/old/examples/metadata/Makefile.am:
16859         * tests/old/examples/metadata/read-metadata.c:
16860         * tests/old/examples/queue/.cvsignore:
16861         * tests/old/examples/queue/Makefile.am:
16862         * tests/old/examples/queue/queue.c:
16863         * tests/old/examples/typefind/.cvsignore:
16864         * tests/old/examples/typefind/Makefile.am:
16865         * tests/old/examples/typefind/typefind.c:
16866         * tests/old/examples/xml/.cvsignore:
16867         * tests/old/examples/xml/Makefile.am:
16868         * tests/old/examples/xml/createxml.c:
16869         * tests/old/examples/xml/runxml.c:
16870           applied some simple fixing to some examples
16871           re-enabled the working examples
16872
16873 2005-12-12  Wim Taymans  <wim@fluendo.com>
16874
16875         * gst/gstsegment.c: (gst_segment_init),
16876         (gst_segment_set_last_stop), (gst_segment_set_seek),
16877         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
16878         (gst_segment_to_running_time):
16879         Added more documentation.
16880         Make sure the last_pos value is updated properly.
16881         Make sure to_stream_time and to_running_time don't
16882         operate on wrong values.
16883
16884         * tests/check/gst/gstsegment.c: (GST_START_TEST):
16885         Update check.
16886
16887 2005-12-12  Michael Smith  <msmith@fluendo.com>
16888
16889         * plugins/elements/gsttypefindelement.c: (free_entry),
16890         (gst_type_find_element_chain):
16891           Now that we're not leaking factories, make sure we keep references
16892           to them while we need them.
16893
16894 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16895
16896         * tests/check/gst/struct_i386.h:
16897           ifdef out the XML structs
16898
16899 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16900
16901         * gst/gstvalue.c: (gst_value_transform_double_fraction):
16902           floor is not needed, F is always positive; this obviates the
16903           need for adding -lm when building without libxml
16904
16905 2005-12-12  Wim Taymans  <wim@fluendo.com>
16906
16907         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
16908         Take current playback rate into account when reporting
16909         the position.
16910
16911 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
16912
16913         * docs/manual/mime-world.fig:
16914           Let's try this again, this time with a file that is
16915           actually in XFig format.
16916
16917 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
16918
16919         * docs/manual/mime-world.fig:
16920           Add audioconvert element to diagram so that it
16921           matches the text and the code (fixes #319526).
16922
16923 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
16924
16925         * docs/pwg/building-chainfn.xml:
16926         * docs/pwg/building-pads.xml:
16927         * docs/pwg/building-state.xml:
16928         * docs/pwg/other-source.xml:
16929           Update state change stuff for 0.10 (fixes #322969).
16930
16931 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
16932
16933         * docs/manual/advanced-dataaccess.xml:
16934         * docs/manual/appendix-checklist.xml:
16935         * docs/manual/appendix-programs.xml:
16936         * docs/manual/basics-pads.xml:
16937         * docs/manual/highlevel-components.xml:
16938         * docs/manual/manual.xml:
16939           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
16940           add converters in front of pipelines; remove curly
16941           brackets for threads stuff, they no longer exist; use
16942           GST_TYPE_FRACTION for framerates; update some pieces of
16943           code to 0.10, but there's plenty more to do.
16944
16945         * docs/manual/appendix-porting.xml:
16946           Expand on asynchroneous state changes; s/0.9/0.10/;
16947           mention disappearance of gst_init_get_popt_table()
16948           (fixes #322916).
16949
16950 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
16951
16952         * docs/faq/using.xml:
16953           Spider no longer exists, and neither does gst-launch-ext.
16954           Update examples to use decodebin and playbin and put
16955           converters in front of sinks (fixes #323726).
16956
16957 2005-12-09  Michael Smith  <msmith@fluendo.com>
16958
16959         * plugins/elements/gsttypefindelement.c: (find_peek),
16960         (gst_type_find_element_chain):
16961           Fix leaking element factories in typefinding.
16962           Fix problem where we forgot about a probable type on non-seekable
16963           files, and thus later mis-typefound it.
16964
16965 2005-12-09  Michael Smith  <msmith@fluendo.com>
16966
16967         * common/m4/gst-makecontext.m4:
16968         * common/m4/gst-mcsc.m4:
16969         * configure.ac:
16970         * win32/common/config.h:
16971         * win32/common/config.h.in:
16972           Remove makecontext stuff; not used in 0.10 and causes problems on
16973           HPUX according to bug #322441
16974
16975 2005-12-07  Wim Taymans  <wim@fluendo.com>
16976
16977         * tests/check/Makefile.am:
16978         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
16979         (main):
16980         * tests/check/libs/struct_i386.h:
16981         Added ABI check for libs
16982
16983 2005-12-07  Wim Taymans  <wim@fluendo.com>
16984
16985         * tests/check/Makefile.am:
16986         And add the struct_i386.h to dist.
16987
16988 2005-12-07  Wim Taymans  <wim@fluendo.com>
16989
16990         * tests/check/Makefile.am:
16991         * tests/check/gst/.cvsignore:
16992         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
16993         (main):
16994         * tests/check/gst/struct_i386.h:
16995         Added check for ABI compatibility.
16996
16997 2005-12-07  Wim Taymans  <wim@fluendo.com>
16998
16999         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
17000         (gst_fake_src_get_times), (gst_fake_src_create):
17001         Fix broken sync option, fixes #323259
17002
17003 2005-12-07  Wim Taymans  <wim@fluendo.com>
17004
17005         * gst/gstbuffer.c:
17006         Small docs update.
17007
17008         * gst/gstcaps.c: (gst_caps_is_equal):
17009         Don't assert on NULL <--> X. Fixes #323260
17010
17011         * gst/gstminiobject.c: (gst_mini_object_replace):
17012         If we're doing atomic operations, we might just as well use
17013         the proper way to get an atomic pointer.
17014
17015         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17016         Clean up debugging.
17017
17018 2005-12-07  Michael Smith  <msmith@fluendo.com>
17019
17020         * gst/parse/grammar.y:
17021           Remove handling of { } for threads.
17022
17023 2005-12-06  David Schleef  <ds@schleef.org>
17024
17025         * libs/gst/base/gstbasetransform.c: speling fix.
17026
17027 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17028
17029         * docs/libs/tmpl/gstdataprotocol.sgml:
17030         * docs/random/omega/testing/gstobject.c:
17031         * gst/gst.c:
17032         * gst/gstclock.c:
17033         * gst/gstelement.c:
17034         * gst/gstelementfactory.c:
17035         * gst/gsterror.c:
17036         * gst/gstevent.c:
17037         * gst/gstghostpad.c:
17038         * gst/gstinfo.c:
17039         * gst/gstpadtemplate.c:
17040         * gst/gstregistryxml.c:
17041         * gst/gsttaglist.c:
17042         * gst/gsttagsetter.c:
17043         * gst/gsttypefind.c:
17044         * gst/gstvalue.c:
17045         * libs/gst/base/gstbasesrc.c:
17046         * libs/gst/net/gstnetclientclock.c:
17047         * libs/gst/net/gstnettimeprovider.c:
17048         * plugins/elements/gstfakesrc.c:
17049         * plugins/elements/gstfdsrc.c:
17050         * plugins/elements/gstfilesrc.c:
17051         * plugins/elements/gstidentity.c:
17052         * plugins/elements/gstqueue.c:
17053         * plugins/elements/gsttypefindelement.c:
17054         * plugins/indexers/gstfileindex.c:
17055         * plugins/indexers/gstmemindex.c:
17056         * tests/check/gst/gsttag.c:
17057         * tests/old/examples/cutter/cutter.c:
17058         * tests/old/examples/mixer/mixer.c:
17059         * tests/old/examples/xml/runxml.c: (main):
17060         * tests/old/testsuite/caps/normalisation.c:
17061         * tests/old/testsuite/debug/global.c:
17062         * tests/old/testsuite/parse/parse1.c:
17063         * tools/gst-xmlinspect.c:
17064         * win32/common/dirent.c:
17065           expand tabs
17066
17067 === release 0.10.0 ===
17068
17069 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17070
17071         * configure.ac:
17072           releasing 0.10.0, "Maroilles"
17073
17074 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17075
17076         submitted by: Funda Wang <fundawang@linux.net.cn>
17077
17078         * po/LINGUAS:
17079         * po/zh_CN.po:
17080           added Chinese (Traditional) translation
17081
17082 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17083
17084         * docs/gst/gstreamer-sections.txt:
17085         * docs/libs/tmpl/gstdataprotocol.sgml:
17086         * docs/random/thomasvs/TODO:
17087         * gst/gstutils.c:
17088         * gst/gstutils.h:
17089           fix docs
17090
17091 2005-12-05  Andy Wingo  <wingo@pobox.com>
17092
17093         patch by: Wim Taymans <wim@fluendo.com>
17094
17095         * libs/gst/base/gstbasetransform.c
17096         (gst_base_transform_prepare_output_buf)
17097         (gst_base_transform_buffer_alloc):
17098         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
17099         alloc_buffer_and_set_caps.
17100
17101         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
17102         set_caps on the source pad.
17103         (gst_pad_alloc_buffer_and_set_caps): New function, does what
17104         alloc_buffer used to do. Fixes #322874.
17105
17106         * docs/gst/gstreamer-sections.txt: 
17107         * docs/design/part-negotiation.txt: 
17108         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
17109         changes.
17110
17111 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17112
17113         patch by: Sebastien Moutte
17114
17115         * win32/MANIFEST:
17116         * win32/common/config.h.in:
17117         * win32/vs6/libgstcontroller.dsp:
17118           win32 build fixes
17119
17120 2005-12-05  Wim Taymans  <wim@fluendo.com>
17121
17122         * gst/gstcaps.c: (gst_caps_is_equal):
17123         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
17124         (gst_fake_src_create):
17125         Back out previous code changes, leave doc updates, file bugs 
17126         instead. 
17127
17128 2005-12-05  Wim Taymans  <wim@fluendo.com>
17129
17130         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
17131         (gst_fake_src_get_times), (gst_fake_src_create):
17132         * plugins/elements/gstfakesrc.h:
17133         Fix broken sync code.
17134
17135 2005-12-05  Wim Taymans  <wim@fluendo.com>
17136
17137         * gst/gstcaps.c: (gst_caps_is_equal):
17138         Comparing NULL against !NULL yields different caps, not a
17139         failure.
17140
17141 2005-12-05  Wim Taymans  <wim@fluendo.com>
17142
17143         * gst/gstpipeline.c:
17144         Fix small typo in docs.
17145
17146 2005-12-05  Andy Wingo  <wingo@pobox.com>
17147
17148         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
17149
17150         * gst/gst.c (init_post): remove hard-coded 0.9 location for
17151         registries/plugins with a MAJORMINOR one.
17152         (plugin_desc): Rename library from gstcoreleements to
17153         staticelements. Fixes #323222.
17154
17155 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
17156
17157         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
17158           Change debug category to 'collectpads' from 'collect_pads'
17159           (fixes #323250).
17160
17161 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
17162
17163         patch by: Sebastien Moutte
17164
17165         * libs/gst/controller/gstinterpolation.c:
17166           use convert function for uint64/double
17167         * win32/vs6/libgstcontroller.dsp:
17168           link to GLib
17169
17170 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
17171
17172         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
17173         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
17174         * gst/gstutils.h:
17175         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
17176           add tests that seem to show that the guint64/gdouble conversions
17177           are correct.
17178
17179 2005-12-02  Wim Taymans  <wim@fluendo.com>
17180
17181         * gst/gstregistry.c: (gst_registry_add_path):
17182         * gst/gstregistry.h:
17183         * gst/gstregistryxml.c:
17184         Fix docs again.
17185
17186 2005-12-02  Wim Taymans  <wim@fluendo.com>
17187
17188         * gst/gstutils.c: (gst_util_uint64_scale_int64),
17189         (gst_util_uint64_scale_int):
17190         Small cleanup.
17191
17192         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17193         Add debug log line.
17194
17195         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
17196         Add FIXME.
17197
17198 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17199
17200         * win32/MANIFEST:
17201         * win32/common/config.h:
17202         * win32/vs6/gstreamer.dsw:
17203         * win32/vs6/libgstcoreelements.dsp:
17204         * win32/vs6/libgstelements.dsp:
17205           renamed core elements plugin
17206
17207 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17208
17209         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
17210         (get_candidates):
17211           do piece-wise major/minor comparison so 0.9 < 0.10
17212           also allow .exe extensions for tools
17213
17214 2005-12-02  Michael Smith  <msmith@fluendo.com>
17215
17216         * gst/gst.c:
17217           Escape a % to make gtkdoc happier; bug 322958.
17218
17219 === release 0.9.7 ===
17220
17221 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
17222
17223         * configure.ac:
17224           releasing 0.9.7, "My Dog Has No Nose"
17225
17226 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17227
17228         * common/gst-xmlinspect.py:
17229         * configure.ac:
17230         * docs/libs/tmpl/gstdataprotocol.sgml:
17231         * docs/random/release:
17232         * po/af.po:
17233         * po/az.po:
17234         * po/bg.po:
17235         * po/ca.po:
17236         * po/cs.po:
17237         * po/de.po:
17238         * po/en_GB.po:
17239         * po/fr.po:
17240         * po/it.po:
17241         * po/nb.po:
17242         * po/nl.po:
17243         * po/ru.po:
17244         * po/sq.po:
17245         * po/sr.po:
17246         * po/sv.po:
17247         * po/tr.po:
17248         * po/uk.po:
17249         * po/vi.po:
17250         * win32/common/config.h:
17251         * win32/common/config.h.in:
17252         * win32/vs6/gst_inspect.dsp:
17253         * win32/vs6/gst_launch.dsp:
17254         * win32/vs6/libgstbase.dsp:
17255         * win32/vs6/libgstelements.dsp:
17256         * win32/vs6/libgstreamer.dsp:
17257         * win32/vs7/GStreamer.vcproj:
17258         * win32/vs7/gst-inspect.vcproj:
17259         * win32/vs7/gst-launch.vcproj:
17260         * win32/vs7/libgstbase.vcproj:
17261           bump GST_MAJORMINOR to 0.10
17262           reset libtool version
17263
17264 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17265
17266         * po/LINGUAS:
17267         * po/bg.po:
17268           Added Bulgarian translation by (Alexander Shopov)
17269
17270 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17271
17272         * tests/check/gst/gstplugin.c:
17273           fix test
17274
17275 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17276
17277         * common/gst-xmlinspect.py:
17278         * common/gtk-doc-plugins.mak:
17279         * configure.ac:
17280         * docs/Makefile.am:
17281         * docs/gst/Makefile.am:
17282         * docs/gst/gstreamer-docs.sgml:
17283         * docs/gst/gstreamer-sections.txt:
17284         * docs/gst/gstreamer.types:
17285         * docs/gst/gstreamer.types.in:
17286         * docs/plugins/Makefile.am:
17287         * docs/plugins/gstreamer-plugins-docs.sgml:
17288         * docs/plugins/gstreamer-plugins-sections.txt:
17289         * docs/plugins/gstreamer-plugins.types:
17290         * docs/plugins/inspect.stamp:
17291         * docs/plugins/inspect/plugin-coreelements.xml:
17292         * docs/plugins/inspect/plugin-coreindexers.xml:
17293         * docs/plugins/scanobj-build.stamp:
17294         * gstreamer.spec.in:
17295         * plugins/elements/Makefile.am:
17296         * plugins/elements/gstelements.c:
17297         * plugins/elements/gstfakesink.c:
17298         * plugins/elements/gstfakesrc.c:
17299         * plugins/elements/gstfilesink.c:
17300         * plugins/elements/gstfilesrc.c:
17301         * plugins/elements/gstqueue.c:
17302         * plugins/indexers/Makefile.am:
17303         * plugins/indexers/gstindexers.c:
17304           document core plugins in a separate document just like all the
17305           others
17306           rename these plugins to something starting with core
17307
17308 2005-12-01  Andy Wingo  <wingo@pobox.com>
17309
17310         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
17311         padding here before, but it missed the commit.
17312
17313 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
17314
17315         * libs/gst/controller/gstinterpolation.c:
17316           whitespace prices have crashed, we should feel free to use some now
17317           use gst_guint64_to_gdouble
17318
17319 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
17320
17321         * libs/gst/controller/gstcontroller.c:
17322         * libs/gst/controller/gsthelper.c:
17323         * libs/gst/controller/gstinterpolation.c:
17324         * libs/gst/controller/lib.c:
17325           wrap config.h include
17326
17327 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
17328
17329         * docs/gst/gstreamer-sections.txt:
17330           update docs
17331
17332 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
17333
17334         * plugins/elements/gstelements.c:
17335         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
17336         (gst_fd_sink__class_init), (gst_fd_sink__init),
17337         (gst_fd_sink__chain), (gst_fd_sink__set_property),
17338         (gst_fd_sink__get_property):
17339         * plugins/elements/gstfdsink.h:
17340         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
17341         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
17342         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
17343         (gst_fd_src_unlock), (gst_fd_src_set_property),
17344         (gst_fd_src_get_property), (gst_fd_src_create),
17345         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
17346         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
17347         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
17348         (gst_fd_src_uri_handler_init):
17349         * plugins/elements/gstfdsrc.h:
17350         * plugins/elements/gstqueue.c: (gst_queue_get_type):
17351           more anal cleanup
17352
17353 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17354
17355         * docs/gst/Makefile.am:
17356         * docs/gst/gstreamer.types.in:
17357         * gst/Makefile.am:
17358           fix the docs build
17359
17360 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17361
17362         * configure.ac:
17363         * gst/Makefile.am:
17364         * gst/gst.c:
17365         * gst/gstplugin.h:
17366         * gst/gstregistry.h:
17367         * tests/benchmarks/complexity.c:
17368         * tests/benchmarks/mass-elements.c:
17369         * tests/check/Makefile.am:
17370         * tools/Makefile.am:
17371         * tools/gst-inspect.c:
17372         * tools/gst-xmlinspect.c:
17373           various fixes to make
17374           --disable-nls --disable-registry --disable-loadsave
17375           --disable-parse --disable-gst-debug
17376           work and get the core .so down to 360444 bytes after stripping
17377
17378 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17379
17380         * Makefile.am:
17381         * configure.ac:
17382           descend into tests
17383         * docs/random/thomasvs/TODO:
17384         * tests/Makefile.am:
17385         * tests/README:
17386           add a README
17387
17388 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17389
17390         * win32/GStreamer.vcproj:
17391         * win32/MANIFEST:
17392         * win32/Makefile:
17393         * win32/Makefile.inspect:
17394         * win32/Makefile.launch:
17395         * win32/Makefile.register:
17396         * win32/README.txt:
17397         * win32/gst-inspect.vcproj:
17398         * win32/gst-launch.vcproj:
17399         * win32/gst-register.vcproj:
17400         * win32/gstelements.vcproj:
17401         * win32/gstgetbits.def:
17402         * win32/gstgetbits.vcproj:
17403         * win32/gstreamer-dbg.def:
17404         * win32/gstreamer.def:
17405         * win32/libgstbase.def:
17406         * win32/libgstbase.vcproj:
17407         * win32/link_oldruntime.c:
17408         * win32/mman.c:
17409         * win32/mman.h:
17410         * win32/mman.inl:
17411         * win32/msvc71.sln:
17412           move even more stuff, win32/ is nice and clean now
17413
17414 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17415
17416         * libs/gst/control/.cvsignore:
17417         * win32/MANIFEST:
17418         * win32/config.h:
17419         * win32/dirent.c:
17420         * win32/dirent.h:
17421         * win32/gstbytestream.def:
17422         * win32/gstbytestream.vcproj:
17423         * win32/gstconfig.h:
17424         * win32/gstenumtypes.c:
17425         * win32/gstenumtypes.h:
17426         * win32/gstoptimalscheduler.vcproj:
17427         * win32/gstversion.h:
17428         * win32/gtchar.h:
17429         * win32/testsuite/bins.vcproj:
17430         * win32/testsuite/bytestream.vcproj:
17431         * win32/testsuite/caps.vcproj:
17432         * win32/testsuite/cleanup.vcproj:
17433         * win32/testsuite/clock.vcproj:
17434         * win32/testsuite/debug.vcproj:
17435         * win32/testsuite/dlopen.vcproj:
17436         * win32/testsuite/dynparams.vcproj:
17437         * win32/testsuite/elements.vcproj:
17438         * win32/testsuite/ghostpads.vcproj:
17439         * win32/testsuite/indexers.vcproj:
17440         * win32/testsuite/negotiation.vcproj:
17441         * win32/testsuite/parse.vcproj:
17442         * win32/testsuite/plugin.vcproj:
17443         * win32/testsuite/refcounting.vcproj:
17444         * win32/testsuite/schedulers.vcproj:
17445         * win32/testsuite/states.vcproj:
17446         * win32/testsuite/tags.vcproj:
17447         * win32/testsuite/threads.vcproj:
17448           remove old win32 stuff that isn't maintained and should be
17449           reorganized
17450
17451 2005-11-30  Andy Wingo  <wingo@pobox.com>
17452
17453         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
17454         loading the gst.interfaces python module bork.
17455
17456         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
17457         available since GLib 2.2. Fixes #318031.
17458
17459 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17460
17461         * Makefile.am:
17462         * check/.cvsignore:
17463         * check/Makefile.am:
17464         * check/elements/.cvsignore:
17465         * check/elements/fakesrc.c:
17466         * check/elements/fdsrc.c:
17467         * check/elements/identity.c:
17468         * check/generic/.cvsignore:
17469         * check/generic/states.c:
17470         * check/gst-libs/.cvsignore:
17471         * check/gst-libs/controller.c:
17472         * check/gst-libs/gdp.c:
17473         * check/gst/.cvsignore:
17474         * check/gst/capslist.h:
17475         * check/gst/gst.c:
17476         * check/gst/gstbin.c:
17477         * check/gst/gstbuffer.c:
17478         * check/gst/gstbus.c:
17479         * check/gst/gstcaps.c:
17480         * check/gst/gstelement.c:
17481         * check/gst/gstevent.c:
17482         * check/gst/gstghostpad.c:
17483         * check/gst/gstiterator.c:
17484         * check/gst/gstmessage.c:
17485         * check/gst/gstminiobject.c:
17486         * check/gst/gstobject.c:
17487         * check/gst/gstpad.c:
17488         * check/gst/gstpipeline.c:
17489         * check/gst/gstplugin.c:
17490         * check/gst/gstsegment.c:
17491         * check/gst/gststructure.c:
17492         * check/gst/gstsystemclock.c:
17493         * check/gst/gsttag.c:
17494         * check/gst/gstutils.c:
17495         * check/gst/gstvalue.c:
17496         * check/net/.cvsignore:
17497         * check/net/gstnetclientclock.c:
17498         * check/net/gstnettimeprovider.c:
17499         * check/pipelines/.cvsignore:
17500         * check/pipelines/cleanup.c:
17501         * check/pipelines/simple_launch_lines.c:
17502         * check/pipelines/stress.c:
17503         * check/states/.cvsignore:
17504         * check/states/sinks.c:
17505         * configure.ac:
17506         * examples/Makefile.am:
17507         * examples/appreader/.cvsignore:
17508         * examples/appreader/Makefile.am:
17509         * examples/appreader/appreader.c:
17510         * examples/controller/.cvsignore:
17511         * examples/controller/Makefile.am:
17512         * examples/controller/audio-example.c:
17513         * examples/cutter/.cvsignore:
17514         * examples/cutter/Makefile.am:
17515         * examples/cutter/cutter.c:
17516         * examples/cutter/cutter.h:
17517         * examples/events/Makefile.am:
17518         * examples/events/seek.c:
17519         * examples/helloworld/.cvsignore:
17520         * examples/helloworld/Makefile.am:
17521         * examples/helloworld/helloworld.c:
17522         * examples/helloworld2/.cvsignore:
17523         * examples/helloworld2/Makefile.am:
17524         * examples/helloworld2/helloworld2.c:
17525         * examples/launch/.cvsignore:
17526         * examples/launch/Makefile.am:
17527         * examples/launch/mp3parselaunch.c:
17528         * examples/launch/mp3play:
17529         * examples/manual/.cvsignore:
17530         * examples/manual/Makefile.am:
17531         * examples/manual/extract.pl:
17532         * examples/metadata/Makefile.am:
17533         * examples/metadata/read-metadata.c:
17534         * examples/mixer/.cvsignore:
17535         * examples/mixer/Makefile.am:
17536         * examples/mixer/mixer.c:
17537         * examples/mixer/mixer.h:
17538         * examples/pingpong/.cvsignore:
17539         * examples/pingpong/Makefile.am:
17540         * examples/pingpong/pingpong.c:
17541         * examples/plugins/.cvsignore:
17542         * examples/plugins/Makefile.am:
17543         * examples/plugins/example.c:
17544         * examples/plugins/example.h:
17545         * examples/pwg/.cvsignore:
17546         * examples/pwg/Makefile.am:
17547         * examples/pwg/extract.pl:
17548         * examples/queue/.cvsignore:
17549         * examples/queue/Makefile.am:
17550         * examples/queue/queue.c:
17551         * examples/queue2/.cvsignore:
17552         * examples/queue2/Makefile.am:
17553         * examples/queue2/queue2.c:
17554         * examples/queue3/.cvsignore:
17555         * examples/queue3/Makefile.am:
17556         * examples/queue3/queue3.c:
17557         * examples/queue4/.cvsignore:
17558         * examples/queue4/Makefile.am:
17559         * examples/queue4/queue4.c:
17560         * examples/retag/.cvsignore:
17561         * examples/retag/Makefile.am:
17562         * examples/retag/retag.c:
17563         * examples/retag/transcode.c:
17564         * examples/thread/.cvsignore:
17565         * examples/thread/Makefile.am:
17566         * examples/thread/thread.c:
17567         * examples/typefind/.cvsignore:
17568         * examples/typefind/Makefile.am:
17569         * examples/typefind/typefind.c:
17570         * examples/xml/.cvsignore:
17571         * examples/xml/Makefile.am:
17572         * examples/xml/createxml.c:
17573         * examples/xml/runxml.c:
17574         * tests/Makefile.am:
17575         * tests/check/Makefile.am:
17576         * testsuite/.cvsignore:
17577         * testsuite/Makefile.am:
17578         * testsuite/Rules:
17579         * testsuite/caps/.cvsignore:
17580         * testsuite/caps/Makefile.am:
17581         * testsuite/caps/app_fixate.c:
17582         * testsuite/caps/audioscale.c:
17583         * testsuite/caps/caps.c:
17584         * testsuite/caps/caps.h:
17585         * testsuite/caps/caps_strings:
17586         * testsuite/caps/compatibility.c:
17587         * testsuite/caps/deserialize.c:
17588         * testsuite/caps/enumcaps.c:
17589         * testsuite/caps/eratosthenes.c:
17590         * testsuite/caps/filtercaps.c:
17591         * testsuite/caps/fixed.c:
17592         * testsuite/caps/fraction-convert.c:
17593         * testsuite/caps/fraction-multiply-and-zero.c:
17594         * testsuite/caps/intersect2.c:
17595         * testsuite/caps/intersection.c:
17596         * testsuite/caps/normalisation.c:
17597         * testsuite/caps/random.c:
17598         * testsuite/caps/renegotiate.c:
17599         * testsuite/caps/sets.c:
17600         * testsuite/caps/simplify.c:
17601         * testsuite/caps/string-conversions.c:
17602         * testsuite/caps/structure.c:
17603         * testsuite/caps/subtract.c:
17604         * testsuite/caps/union.c:
17605         * testsuite/debug/.cvsignore:
17606         * testsuite/debug/Makefile.am:
17607         * testsuite/debug/category.c:
17608         * testsuite/debug/commandline.c:
17609         * testsuite/debug/global.c:
17610         * testsuite/debug/output.c:
17611         * testsuite/debug/printf_extension.c:
17612         * testsuite/dlopen/.cvsignore:
17613         * testsuite/dlopen/Makefile.am:
17614         * testsuite/dlopen/dlopen_gst.c:
17615         * testsuite/dlopen/loadgst.c:
17616         * testsuite/elements/.cvsignore:
17617         * testsuite/elements/Makefile.am:
17618         * testsuite/elements/gst-inspect-check.in:
17619         * testsuite/elements/struct_i386.h:
17620         * testsuite/elements/struct_size.c:
17621         * testsuite/indexers/.cvsignore:
17622         * testsuite/indexers/Makefile.am:
17623         * testsuite/indexers/cache1.c:
17624         * testsuite/indexers/indexdump.c:
17625         * testsuite/parse/.cvsignore:
17626         * testsuite/parse/Makefile.am:
17627         * testsuite/parse/parse1.c:
17628         * testsuite/parse/parse2.c:
17629         * testsuite/plugin/.cvsignore:
17630         * testsuite/plugin/Makefile.am:
17631         * testsuite/plugin/README:
17632         * testsuite/plugin/dynamic.c:
17633         * testsuite/plugin/linked.c:
17634         * testsuite/plugin/loading.c:
17635         * testsuite/plugin/registry.c:
17636         * testsuite/plugin/static.c:
17637         * testsuite/plugin/static2.c:
17638         * testsuite/plugin/testplugin.c:
17639         * testsuite/plugin/testplugin2.c:
17640         * testsuite/plugin/testplugin2_s.c:
17641         * testsuite/plugin/testplugin_s.c:
17642         * testsuite/refcounting/.cvsignore:
17643         * testsuite/refcounting/Makefile.am:
17644         * testsuite/refcounting/bin.c:
17645         * testsuite/refcounting/element.c:
17646         * testsuite/refcounting/element_pad.c:
17647         * testsuite/refcounting/mainloop.c:
17648         * testsuite/refcounting/mem.c:
17649         * testsuite/refcounting/mem.h:
17650         * testsuite/refcounting/object.c:
17651         * testsuite/refcounting/pad.c:
17652         * testsuite/refcounting/sched.c:
17653         * testsuite/refcounting/thread.c:
17654         * testsuite/states/.cvsignore:
17655         * testsuite/states/Makefile.am:
17656         * testsuite/states/bin.c:
17657         * testsuite/states/locked.c:
17658         * testsuite/states/parent.c:
17659         * testsuite/threads/.cvsignore:
17660         * testsuite/threads/159566.c:
17661         * testsuite/threads/159852.c:
17662         * testsuite/threads/Makefile.am:
17663         * testsuite/threads/queue.c:
17664         * testsuite/threads/signals.c:
17665         * testsuite/threads/staticrec.c:
17666         * testsuite/threads/thread.c:
17667         * testsuite/threads/threadb.c:
17668         * testsuite/threads/threadc.c:
17669         * testsuite/threads/threadd.c:
17670         * testsuite/threads/threade.c:
17671         * testsuite/threads/threadf.c:
17672         * testsuite/threads/threadg.c:
17673         * testsuite/threads/threadh.c:
17674         * testsuite/threads/threadi.c:
17675           move all of these under tests
17676
17677 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17678
17679         * configure.ac:
17680         * tests/Makefile.am:
17681           fix distcheck
17682
17683 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17684
17685         * docs/gst/gstreamer-sections.txt:
17686         * tests/sched/.cvsignore:
17687         * tests/sched/Makefile.am:
17688         * tests/sched/cases/(fs-fs).xml:
17689         * tests/sched/cases/(fs-i-fs).xml:
17690         * tests/sched/cases/(fs-i-i-fs).xml:
17691         * tests/sched/cases/(fs-i-q[i-fs]).xml:
17692         * tests/sched/dynamic-pipeline.c:
17693         * tests/sched/interrupt1.c:
17694         * tests/sched/interrupt2.c:
17695         * tests/sched/interrupt3.c:
17696         * tests/sched/runtestcases:
17697         * tests/sched/runxml.c:
17698         * tests/sched/sched-stress.c:
17699         * tests/sched/sort.c:
17700         * tests/sched/testcases:
17701         * tests/sched/testcases1.tc:
17702         * tests/seeking/.cvsignore:
17703         * tests/seeking/Makefile.am:
17704         * tests/seeking/seeking1.c:
17705         * tests/threadstate/.cvsignore:
17706         * tests/threadstate/Makefile.am:
17707         * tests/threadstate/test1.c:
17708         * tests/threadstate/test2.c:
17709         * tests/threadstate/threadstate1.c:
17710         * tests/threadstate/threadstate2.c:
17711         * tests/threadstate/threadstate3.c:
17712         * tests/threadstate/threadstate4.c:
17713         * tests/threadstate/threadstate5.c:
17714           remove obsolete tests
17715         * configure.ac:
17716         * tests/bench-complexity.scm:
17717         * tests/bench-mass_elements.scm:
17718         * tests/complexity.c:
17719         * tests/complexity.gnuplot:
17720         * tests/instantiate/.cvsignore:
17721         * tests/instantiate/Makefile.am:
17722         * tests/instantiate/caps.c:
17723         * tests/mass_elements.c:
17724         * tests/network-clock-utils.scm:
17725         * tests/network-clock.scm:
17726         * tests/plot-data:
17727         First pass at cleaning up tests/ dir before moving the rest
17728         Combined with CVS surgery
17729
17730 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17731
17732         * po/POTFILES.in:
17733           queue has moved, update
17734
17735 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17736
17737         * docs/gst/gstreamer-sections.txt:
17738           remove double entries from the docs
17739         * gst/gst_private.h:
17740         * gst/gstinfo.c: (_gst_debug_init):
17741           remove the THREAD debug category
17742         * gst/Makefile.am:
17743         * gst/gstqueue.c:
17744         * gst/gstqueue.h:
17745         * docs/gst/gstreamer.types:
17746         * plugins/elements/gstqueue.c: (gst_queue_get_type),
17747         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
17748           completely move queue and fix up debugging categories
17749
17750 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17751
17752         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
17753           make initialization portable, using LL is not
17754
17755 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17756
17757         * win32/common/gstconfig.h:
17758           add large padding
17759
17760 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17761
17762         * win32/common/libgstreamer.def:
17763           rename symbols; sort base section
17764
17765 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17766
17767         * gst/gstclock.c: (do_linear_regression):
17768           remove crack non-portable handrolled DEBUG macro
17769
17770 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17771
17772         * docs/random/release:
17773           update notes
17774         * win32/common/gstenumtypes.c: (register_gst_object_flags),
17775         (gst_object_flags_get_type), (register_gst_bin_flags),
17776         (gst_bin_flags_get_type), (register_gst_buffer_flag),
17777         (gst_buffer_flag_get_type), (register_gst_bus_flags),
17778         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
17779         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
17780         (gst_caps_flags_get_type), (register_gst_clock_return),
17781         (gst_clock_return_get_type), (register_gst_clock_entry_type),
17782         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
17783         (gst_clock_flags_get_type), (register_gst_state),
17784         (gst_state_get_type), (register_gst_state_change_return),
17785         (gst_state_change_return_get_type), (register_gst_state_change),
17786         (gst_state_change_get_type), (register_gst_element_flags),
17787         (gst_element_flags_get_type), (register_gst_core_error),
17788         (gst_core_error_get_type), (register_gst_library_error),
17789         (gst_library_error_get_type), (register_gst_resource_error),
17790         (gst_resource_error_get_type), (register_gst_stream_error),
17791         (gst_stream_error_get_type), (register_gst_event_type_flags),
17792         (gst_event_type_flags_get_type), (register_gst_event_type),
17793         (gst_event_type_get_type), (register_gst_seek_type),
17794         (gst_seek_type_get_type), (register_gst_seek_flags),
17795         (gst_seek_flags_get_type), (register_gst_format),
17796         (gst_format_get_type), (register_gst_index_certainty),
17797         (gst_index_certainty_get_type), (register_gst_index_entry_type),
17798         (gst_index_entry_type_get_type),
17799         (register_gst_index_lookup_method),
17800         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
17801         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
17802         (gst_index_resolver_method_get_type), (register_gst_index_flags),
17803         (gst_index_flags_get_type), (register_gst_debug_level),
17804         (gst_debug_level_get_type), (register_gst_debug_color_flags),
17805         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
17806         (gst_iterator_result_get_type), (register_gst_iterator_item),
17807         (gst_iterator_item_get_type), (register_gst_message_type),
17808         (gst_message_type_get_type), (register_gst_mini_object_flags),
17809         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
17810         (gst_pad_link_return_get_type), (register_gst_flow_return),
17811         (gst_flow_return_get_type), (register_gst_activate_mode),
17812         (gst_activate_mode_get_type), (register_gst_pad_direction),
17813         (gst_pad_direction_get_type), (register_gst_pad_flags),
17814         (gst_pad_flags_get_type), (register_gst_pad_presence),
17815         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
17816         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
17817         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
17818         (gst_plugin_error_get_type), (register_gst_plugin_flags),
17819         (gst_plugin_flags_get_type), (register_gst_rank),
17820         (gst_rank_get_type), (register_gst_query_type),
17821         (gst_query_type_get_type), (register_gst_tag_merge_mode),
17822         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
17823         (gst_tag_flag_get_type), (register_gst_task_state),
17824         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
17825         (gst_alloc_trace_flags_get_type),
17826         (register_gst_type_find_probability),
17827         (gst_type_find_probability_get_type), (register_gst_uri_type),
17828         (gst_uri_type_get_type), (register_gst_parse_error),
17829         (gst_parse_error_get_type):
17830         * win32/common/gstenumtypes.h:
17831         * win32/common/gstversion.h:
17832           update visual studio generated files
17833
17834 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17835
17836         * win32/vs6/libgstbase.dsp:
17837         * win32/vs6/libgstelements.dsp:
17838           update project files for new locations
17839
17840 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17841
17842         * Makefile.am:
17843           remove some files
17844         * README:
17845           reinstate and update
17846         * DEVEL:
17847         * REQUIREMENTS:
17848           removed
17849         * LICENSE:
17850         * docs/random/LICENSE:
17851           moved to random
17852
17853 2005-11-30  Edward Hervey  <edward@fluendo.com>
17854
17855         * gst/gsttypefind.c: (gst_type_find_register):
17856         * gst/gsttypefind.h:
17857         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
17858         (gst_type_find_factory_dispose):
17859         * gst/gsttypefindfactory.h:
17860         Fix memory leak in GstTypeFindFactory.
17861
17862 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17863
17864         * gst/gst.c:
17865         * plugins/elements/Makefile.am:
17866         * plugins/elements/gstelements.c:
17867         * plugins/elements/gstqueue.c:
17868           move queue from core to the elements plugin
17869
17870 2005-11-29  Andy Wingo  <wingo@pobox.com>
17871
17872         * libs/gst/base/gstbasetransform.h: 
17873         * libs/gst/base/gstbasesrc.h: 
17874         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
17875
17876         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
17877         of pointers by which to pad very extensible base classes (like the
17878         ones in libs/gst/base).
17879
17880 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17881
17882         * docs/gst/gstreamer-docs.sgml:
17883         * docs/gst/gstreamer-sections.txt:
17884         * docs/libs/gstreamer-libs-docs.sgml:
17885         * docs/libs/gstreamer-libs-sections.txt:
17886           moving documentation from core to lib
17887
17888 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17889
17890         * check/Makefile.am:
17891         * configure.ac:
17892         * docs/gst/Makefile.am:
17893         * gst/Makefile.am:
17894         * gst/base/.cvsignore:
17895         * gst/base/Makefile.am:
17896         * gst/base/README:
17897         * gst/base/gstadapter.c:
17898         * gst/base/gstadapter.h:
17899         * gst/base/gstbasesink.c:
17900         * gst/base/gstbasesink.h:
17901         * gst/base/gstbasesrc.c:
17902         * gst/base/gstbasesrc.h:
17903         * gst/base/gstbasetransform.c:
17904         * gst/base/gstbasetransform.h:
17905         * gst/base/gstcollectpads.c:
17906         * gst/base/gstcollectpads.h:
17907         * gst/base/gstpushsrc.c:
17908         * gst/base/gstpushsrc.h:
17909         * gst/base/gsttypefindhelper.c:
17910         * gst/base/gsttypefindhelper.h:
17911         * gst/check/Makefile.am:
17912         * gst/check/gstcheck.c:
17913         * gst/check/gstcheck.h:
17914         * gst/net/Makefile.am:
17915         * gst/net/gstnet.h:
17916         * gst/net/gstnetclientclock.c:
17917         * gst/net/gstnetclientclock.h:
17918         * gst/net/gstnettimepacket.c:
17919         * gst/net/gstnettimepacket.h:
17920         * gst/net/gstnettimeprovider.c:
17921         * gst/net/gstnettimeprovider.h:
17922         * libs/gst/Makefile.am:
17923         * libs/gst/base/Makefile.am:
17924         * libs/gst/base/gstbasetransform.c:
17925         * libs/gst/check/Makefile.am:
17926         * plugins/elements/Makefile.am:
17927         * po/POTFILES.in:
17928           CVS surgery + support to move base, check, and net out of gst
17929           and into libs/gst
17930
17931 2005-11-29  Andy Wingo  <wingo@pobox.com>
17932
17933         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
17934
17935         * gst/gststructure.h (struct _GstStructure): Only one pointer of
17936         padding.
17937
17938         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
17939
17940         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
17941
17942         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
17943
17944         * gst/gstobject.h: (struct _GstObject): Only one pointer of
17945         padding; reduces object size by about 30%. We don't expect
17946         anything else to go into gstobject.
17947
17948         * gst/gstminiobject.h (struct _GstMiniObject)
17949         (struct _GstMiniObjectClass): Only one pointer of padding; the
17950         payload is only a pointer and two ints anyway. For the class there
17951         are only two methods as well.
17952         
17953         * gst/gstelement.h (struct _GstElementClass): Removed
17954         the state_changed signal callback, it is not used.
17955
17956 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17957
17958         * docs/gst/gstreamer.types:
17959           fix includes, though they are a little dinky
17960
17961 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17962
17963         * check/Makefile.am:
17964           look in the right place for elements, a lot more chance of
17965           success
17966         * gst/Makefile.am:
17967           remove indexers and elements subdirs
17968         * plugins/Makefile.am:
17969           make indexers conditional
17970
17971 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17972
17973         * Makefile.am:
17974         * configure.ac:
17975         * plugins/elements/Makefile.am:
17976         * plugins/elements/gstcapsfilter.c:
17977         * plugins/elements/gstfilesink.c:
17978         * plugins/elements/gstfilesrc.c:
17979         * plugins/elements/gstidentity.c:
17980         * plugins/indexers/Makefile.am:
17981           do CVS surgery and related build fixery to move elements
17982           and indexers in a new gstreamer/plugins directory, out of the
17983           gst/ directory
17984
17985 2005-11-29  Andy Wingo  <wingo@pobox.com>
17986
17987         * check/Makefile.am:
17988         * pkgconfig/gstreamer-net-uninstalled.pc.in:
17989         * pkgconfig/gstreamer-net.pc.in:
17990         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
17991         #322257.
17992
17993 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17994
17995         * tools/Makefile.am:
17996         * tools/gst-complete.1.in:
17997         * tools/gst-complete.c:
17998         * tools/gst-compprep.1.in:
17999         * tools/gst-compprep.c:
18000           removing -compprep and -complete
18001
18002 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18003
18004         * gst/gstevent.c: (gst_event_new_new_segment),
18005         (gst_event_parse_new_segment):
18006         * gst/gstevent.h:
18007           fix #320529 - clean up new_segment API and structure.
18008           Let's hope everyone was using the methods, and not the structure.
18009
18010 2005-11-29  Edward Hervey  <edward@fluendo.com>
18011
18012         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18013         (gst_base_sink_event), (gst_base_sink_do_sync),
18014         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
18015         Properly handle non GST_FORMAT_TIME segment
18016         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
18017         Properly handle non GST_FORMAT_TIME segment
18018         * gst/gstsegment.c:
18019         This function is valid if the accumulator is 0 and the format
18020         is different from the requested format.
18021         
18022 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
18023
18024         * docs/gst/gstreamer-sections.txt:
18025         Add gst_query_new_seeking and gst_query_parse_seeking to the
18026         docs.
18027
18028 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
18029
18030         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
18031           Treat a pad alloc with new caps the same as if we were not
18032           negotiated, in order to allow a changing upstream output
18033           to produce a new format of data.
18034
18035 2005-11-29  Edward Hervey  <edward@fluendo.com>
18036
18037         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
18038         (gst_base_transform_event), (gst_base_transform_eventfunc):
18039         The event virtual method is now properly implemented, with a default
18040         handler
18041         Sub classes should call the parent_class event method. They should
18042         return FALSE if they had a problem handling the given event, or don't
18043         want GstBaseTransform to send that even downstream
18044         * gst/elements/gstidentity.c: (gst_identity_class_init),
18045         (gst_identity_init), (gst_identity_event),
18046         (gst_identity_transform_ip), (gst_identity_set_property),
18047         (gst_identity_get_property):
18048         * gst/elements/gstidentity.h:
18049         Added the single-segment boolean property.
18050         If set to TRUE, it will output a single segment of data, starting from
18051         0, will eat up all incoming newsegment, and modify the timestamp of the
18052         buffers accordingly
18053
18054 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
18055
18056         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
18057           Don't ref NULL target pad (#322751). Improve docs.
18058
18059 2005-11-29  Michael Smith  <msmith@fluendo.com>
18060
18061         * gst/gstregistryxml.c: (load_plugin):
18062           Don't crash if we failed to load a feature from a plugin. 
18063
18064 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18065
18066         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
18067         (GST_START_TEST):
18068           use more check API and less GLib API
18069
18070 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18071
18072         * Makefile.am:
18073           don't run checks if we don't have check
18074         * common/check.mak:
18075           remove the registry when running make torture
18076         * docs/gst/gstreamer-sections.txt:
18077           remove second multiply
18078         * gst/gstqueue.c: (gst_queue_loop):
18079           fix a compile warning when disabling debug
18080
18081 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
18082
18083         * gst/gstinfo.h:
18084         Hey! Let's print the pad name if the pointer != NULL instead
18085         of when it == NULL :-)
18086
18087 2005-11-28  Wim Taymans  <wim@fluendo.com>
18088
18089         * check/gst/gstutils.c: (GST_START_TEST):
18090         Updated check, add some scaling accuracy checking code.
18091
18092         * gst/gstutils.c: (gst_util_div128_64),
18093         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
18094         (gst_util_uint64_scale_int):
18095         Fix 6 times faster division code. Optimize for common 
18096         1/1 and less common X/1 cases.
18097
18098 2005-11-28  Wim Taymans  <wim@fluendo.com>
18099
18100         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18101         More checks.
18102
18103         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
18104         (do_linear_regression), (gst_clock_add_observation):
18105         Cleanups.
18106         Release lock when the clock cannot be slaved.
18107         Catch the case where the regression returned an invalid denominator.
18108
18109         * gst/gstutils.c: (gst_util_div128_64_iterate),
18110         (gst_util_div128_64), (gst_util_uint64_scale_int64),
18111         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
18112         Add protentially more performant non-iterative 128/64 divide function
18113         that unfortunatly does not work yet.
18114         Shortcut the trivial 0/X = 0 case.
18115         Remove the warnings on overflow.
18116
18117 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18118
18119         * gst/gstplugin.c: (gst_plugin_register_func):
18120           everything causing a plugin not to load should be at least a WARNING
18121
18122 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
18123
18124         * docs/random/ensonic/dparams.txt:
18125           some TODOs for the next dev cycle
18126         * libs/gst/controller/gstcontroller.c:
18127         (gst_controlled_property_set_interpolation_mode),
18128         (gst_controlled_property_new):
18129         * libs/gst/controller/gstcontroller.h:
18130           use base type to assign acccessor functions
18131
18132 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
18133
18134         * check/Makefile.am:
18135         Oops, that should have been top_srcdir
18136
18137 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
18138
18139         * check/Makefile.am:
18140         * check/elements/fdsrc.c: (GST_START_TEST):
18141         Use a cmdline define to specify the location of a file to use for
18142         testing, to avoid breaking distcheck.
18143
18144 2005-11-28  Andy Wingo  <wingo@pobox.com>
18145
18146         * gst/gstpad.c (fixate_value): Use array functions for arrays.
18147
18148 2005-11-28  Edward Hervey  <edward@fluendo.com>
18149
18150         * tools/gst-launch.c: (main):
18151         Clarify the output strings, makes it easier to translate.
18152         Fixes #322626
18153
18154 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18155
18156         * gst/Makefile.am:
18157           don't try and build net if we don't even have <sys/socket.h>
18158
18159 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
18160
18161         * check/Makefile.am:
18162         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
18163         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
18164           Add tests for fdsrc seekability
18165
18166         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
18167         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
18168         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
18169         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
18170         * gst/elements/gstfdsrc.h:
18171           fdsrc should not be a 'live' source.
18172           Implement seeking on seekable fd's.
18173
18174         * gst/gstquery.c: (gst_query_new_seeking),
18175         (gst_query_parse_seeking):
18176         * gst/gstquery.h:
18177           Implement SEEKING query functions: 
18178             *_new_seeking and *_parse_seeking
18179
18180 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
18181
18182         * gst/gstelement.c: (gst_element_dispose):
18183           don't loop forever
18184
18185         * gst/gstiterator.c:
18186         * gst/gststructure.c:
18187           doc fixes
18188
18189         * libs/gst/controller/gstcontroller.c:
18190         (gst_controlled_property_set_interpolation_mode):
18191         * libs/gst/controller/gstcontroller.h:
18192         * libs/gst/controller/gstinterpolation.c:
18193         (interpolate_none_get_enum_value_array):
18194           support controlling enums
18195
18196 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
18197
18198         * gst/gstvalue.c:
18199           Improve documentation for gst_value_union().
18200
18201         * gst/gstvalue.h:
18202           Change return value for union, intersect and subtract functions
18203           from gint to gboolean.
18204
18205 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
18206
18207         * gst/gstvalue.c: (gst_value_serialize_any_list),
18208         (gst_value_transform_any_list_string),
18209         (gst_value_deserialize_list), (gst_value_deserialize_array),
18210         (gst_value_set_int_range), (gst_value_deserialize_int_range),
18211         (gst_value_set_double_range), (gst_value_deserialize_double_range),
18212         (gst_value_set_fraction_range_full),
18213         (gst_value_deserialize_fraction_range),
18214         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
18215         (gst_value_deserialize_boolean),
18216         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
18217         (gst_value_serialize_float), (gst_value_deserialize_float),
18218         (gst_string_wrap), (gst_value_deserialize_string),
18219         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
18220         (gst_value_union_int_range_int_range),
18221         (gst_value_intersect_int_range_int_range),
18222         (gst_value_intersect_double_range_double_range),
18223         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
18224         (gst_value_subtract_int_range_int_range),
18225         (gst_value_subtract_double_double_range),
18226         (gst_value_subtract_double_range_double_range),
18227         (gst_value_deserialize_fraction):
18228         * gst/gstvalue.h:
18229           Use gint, gdouble and gchar in our API instead of int, double and
18230           char (and make usage in gstvalue.c more consistent).
18231
18232 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
18233
18234         * check/Makefile.am:
18235         * libs/gst/controller/Makefile.am:
18236         * libs/gst/dataprotocol/Makefile.am:
18237           fix up Makefile.am and remove GST_ENABLE_NEW
18238
18239 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
18240
18241         * configure.ac:
18242         * gst/Makefile.am:
18243         * gst/base/Makefile.am:
18244         * gst/check/Makefile.am:
18245         * gst/elements/Makefile.am:
18246         * gst/net/Makefile.am:
18247           update LDFLAGS use some more
18248
18249 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
18250
18251         * common/m4/gst-doc.m4:
18252           Fixes #312589
18253
18254 2005-11-26  Edward Hervey  <edward@fluendo.com>
18255
18256         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
18257         This shouldn't issue a g_warning since it returns NULL if it
18258         couldn't find the plugin, and all functions using this behave
18259         properly on a NULL return. Switching to a GST_WARNING.
18260
18261 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
18262
18263         * gst/gstbin.c: (gst_bin_handle_message_func):
18264         Don't leak clock messages.
18265
18266 2005-11-25  Wim Taymans  <wim@fluendo.com>
18267
18268         * gst/gstutils.c: (gst_util_uint64_scale_int64),
18269         (gst_util_uint64_scale_int):
18270         Optimisations, remove unneeded vars.
18271
18272 2005-11-25  Wim Taymans  <wim@fluendo.com>
18273
18274         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18275         Added more checks for the high precision uint64 cases.
18276
18277         * gst/gstutils.c: (gst_util_uint64_scale_int64),
18278         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
18279         Implement high precision (guint64 * guint64) / guint64.
18280
18281 2005-11-24  Wim Taymans  <wim@fluendo.com>
18282
18283         * gst/base/gstbasesrc.c: (gst_base_src_query):
18284         Fix wrong percentage query.
18285
18286         * gst/gstutils.c: (gst_util_uint64_scale),
18287         (gst_util_uint64_scale_int):
18288         Add some more common cases that can be handled 
18289         efficiently to _scale.
18290
18291 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18292
18293         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
18294         (gst_mini_object_suite):
18295           don't use check calls from threads; check probably isn't
18296           threadsafe and using a lock to make it threadsafe would
18297           defeat the purpose of this check
18298         * gst/check/gstcheck.c:
18299         * gst/check/gstcheck.h:
18300           use GST_DEBUG some more
18301
18302 2005-11-24  Wim Taymans  <wim@fluendo.com>
18303
18304         * gst/gstutils.c: (gst_util_uint64_scale),
18305         (gst_util_uint64_scale_int):
18306         Chain trivial case to _scale_int.
18307
18308 2005-11-24  Wim Taymans  <wim@fluendo.com>
18309
18310         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18311         Added test for scaling.
18312
18313         * gst/gstclock.h:
18314         Small doc fix.
18315
18316         * gst/gstutils.c: (gst_util_uint64_scale_int):
18317         Implemented high precision scaling code.
18318
18319 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
18320
18321         * gst/gstinfo.h:
18322           do not crash on pad==NULL
18323
18324 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18325
18326         Patch by: Stefan Kost
18327
18328         * common/gtk-doc.mak:
18329         * docs/gst/Makefile.am:
18330         * docs/libs/Makefile.am:
18331           Fix distcheck issues for the libraries docs build
18332           Closes #319599.
18333
18334 2005-11-24  Michael Smith <msmith@fluendo.com>
18335
18336         * docs/manual/basics-helloworld.xml:
18337           Fix bug #315027: memory leak in example code in docs.
18338
18339 2005-11-24  Michael Smith <msmith@fluendo.com>
18340
18341         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18342           Unlock the PREROLL_LOCK in a failure case.
18343
18344 2005-11-24  Wim Taymans  <wim@fluendo.com>
18345
18346         * docs/gst/gstreamer-sections.txt:
18347         * gst/base/gstadapter.h:
18348         * gst/base/gstbasesink.h:
18349         * gst/base/gstbasesrc.h:
18350         * gst/base/gstbasetransform.h:
18351         * gst/base/gstpushsrc.h:
18352         * gst/elements/gstfakesink.h:
18353         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
18354         * gst/elements/gstfakesrc.h:
18355         * gst/elements/gstfilesink.h:
18356         * gst/elements/gstfilesrc.h:
18357         * gst/gst.c:
18358         * gst/gstbin.c:
18359         * gst/gstbuffer.c: (_gst_buffer_copy):
18360         * gst/gstbus.h:
18361         * gst/gstcaps.c:
18362         * gst/gstchildproxy.c:
18363         * gst/gstclock.c:
18364         * gst/gstelement.c:
18365         * gst/gstelementfactory.c:
18366         * gst/gstelementfactory.h:
18367         * gst/gstevent.c:
18368         * gst/gstghostpad.h:
18369         * gst/gstindex.h:
18370         * gst/gstinterface.h:
18371         * gst/gstminiobject.c:
18372         * gst/gstminiobject.h:
18373         * gst/gstpad.c:
18374         * gst/gstpad.h:
18375         * gst/gstpadtemplate.h:
18376         * gst/gstpipeline.h:
18377         * gst/gstpluginfeature.h:
18378         * gst/gstquery.h:
18379         * gst/gstqueue.h:
18380         * gst/gsttaglist.c:
18381         * gst/gsttaglist.h:
18382         * gst/gsttagsetter.c:
18383         * gst/gsttagsetter.h:
18384         * gst/gsttrace.c:
18385         * gst/gsttrace.h:
18386         * gst/gsttypefind.h:
18387         * gst/gsturi.h:
18388         * gst/gstvalue.c:
18389         * gst/net/gstnetclientclock.c:
18390         * gst/net/gstnetclientclock.h:
18391         * gst/net/gstnettimepacket.c:
18392         * gst/net/gstnettimeprovider.c:
18393         * gst/net/gstnettimeprovider.h:
18394         Doc fixes.
18395
18396 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18397
18398         * configure.ac: back to HEAD
18399
18400 === release 0.9.6 ===
18401
18402 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
18403
18404         * configure.ac:
18405           releasing 0.9.6, "Always On Time"
18406
18407 2005-11-23  Wim Taymans  <wim@fluendo.com>
18408
18409         * docs/gst/gstreamer-sections.txt:
18410         * gst/glib-compat.c:
18411         * gst/gsttagsetter.c:
18412         * gst/gstvalue.c:
18413         * gst/net/gstnetclientclock.c:
18414         * gst/net/gstnettimepacket.h:
18415         Doc updates.
18416
18417 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18418
18419         * docs/faq/using.xml:
18420         * docs/libs/tmpl/gstcontrol.sgml:
18421         * docs/manual/advanced-dparams.xml:
18422         * docs/manual/appendix-checklist.xml:
18423         * docs/manual/basics-elements.xml:
18424         * docs/pwg/other-source.xml:
18425         * docs/random/moving-plugins:
18426         * gst/gstpad.c:
18427         * tools/gst-launch.1.in:
18428           remove mentions of sinesrc
18429
18430 2005-11-23  Michael Smith <msmith@fluendo.com>
18431
18432         * docs/gst/gstreamer-sections.txt:
18433           Update for new API and API changes.
18434         * gst/gstobject.h:
18435           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
18436         * gst/gstvalue.c:
18437           Documentation typo fix.
18438         * gst/net/gstnettimepacket.c:
18439           Documentation fixes for arguments.
18440
18441 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
18442
18443         * gst/gststructure.c: (gst_structure_get_fraction),
18444         (gst_structure_parse_value),
18445         (gst_structure_fixate_field_nearest_fraction):
18446         * gst/gststructure.h:
18447         * gst/gstutils.c: (gst_util_uint64_scale_int):
18448         * gst/gstutils.h:
18449         * scripts/update-funcnames:
18450         API Changes. 
18451         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
18452         Make gst_structure_fixate_field_nearest_fraction take a numerator
18453         and denominator argument instead of a GValue
18454         add gst_structure_get_fraction helper function.
18455
18456 2005-11-23  Wim Taymans  <wim@fluendo.com>
18457
18458         * docs/design/part-TODO.txt:
18459         Update TODO.
18460
18461         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
18462         * gst/net/gstnetclientclock.h:
18463         Use parent fields for timeout and window_size.
18464
18465 2005-11-23  Andy Wingo  <wingo@pobox.com>
18466
18467         * check/net/gstnetclientclock.c (test_functioning): Adjust to
18468         rate_num/rate_denom change.
18469
18470         * gst/net/gstnetclientclock.c
18471         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
18472         OBJECT_LOCK. Don't call add_observation with the lock.
18473
18474         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
18475         fraction.
18476         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
18477         rate fraction.
18478         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
18479         deal with rate as a fraction whose numerator and denominator are
18480         GstClockTime values.
18481         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
18482         master; the other fields are protected by the SLAVE_LOCK.
18483         (do_linear_regression): Note that this must be called with the
18484         SLAVE_LOCK.
18485         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
18486         OBJECT_LOCK. Call set_calibration instead of touching the
18487         variables directly.
18488         (gst_clock_set_property, gst_clock_get_property): Protect
18489         master/slave parameters with the SLAVE_LOCK.
18490
18491         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
18492         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
18493         note that all of the instance variables that add_observation and
18494         the set_master functions use are protected by that lock and not
18495         the OBJECT_LOCK.
18496         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
18497
18498         * gst/gstclock.c (gst_clock_add_observation): No longer requires
18499         the caller to take the object lock.
18500
18501 2005-11-23  Wim Taymans  <wim@fluendo.com>
18502
18503         * gst/gsterror.c: (_gst_core_errors_init):
18504         * gst/gsterror.h:
18505         Add error for clock stuff.
18506
18507         * gst/gstpipeline.c: (gst_pipeline_change_state),
18508         (gst_pipeline_set_clock):
18509         Post clock error when clock cannot be used in a pipeline.
18510
18511 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
18512
18513         * docs/gst/gstreamer-sections.txt:
18514           make two symbols from gstinfo private for the docs
18515         * gst/base/gstcollectpads.h:
18516         * gst/gstutils.c:
18517           fix doc typos, update docs
18518
18519 2005-11-22  Wim Taymans  <wim@fluendo.com>
18520
18521         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18522         (gst_base_sink_wait), (gst_base_sink_do_sync),
18523         (gst_base_sink_handle_event):
18524         * gst/base/gstbasesink.h:
18525         No need to store the clock, the parent element class already
18526         has it.
18527
18528         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
18529         Updates for clock_set returning a gboolean
18530
18531         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
18532         (gst_clock_id_wait_async), (gst_clock_class_init),
18533         (gst_clock_init), (gst_clock_finalize),
18534         (gst_clock_get_internal_time), (gst_clock_get_time),
18535         (gst_clock_slave_callback), (gst_clock_set_master),
18536         (gst_clock_get_master), (do_linear_regression),
18537         (gst_clock_add_observation), (gst_clock_set_property),
18538         (gst_clock_get_property):
18539         * gst/gstclock.h:
18540         Implement master/slave. When setting a clock as a slave, a
18541         periodic timeout is scheduled to sample master and slave times.
18542         Then the slave clock is recalibrated to match offset and rate
18543         of the master clock.
18544         Update logging a bit.
18545         Add flag so that a clock can state that is cannot be slaved to
18546         another clock.
18547
18548         * gst/gstelement.c: (gst_element_set_clock):
18549         * gst/gstelement.h:
18550         The set clock returns a gboolean for when an element cannot
18551         deal with the selected clock in the pipeline. 
18552
18553         * gst/gstpipeline.c: (gst_pipeline_change_state),
18554         (gst_pipeline_set_clock):
18555         * gst/gstpipeline.h:
18556         Handle the case where the selected clock cannot be set on
18557         the pipeline.
18558
18559         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
18560         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
18561         (gst_net_client_clock_set_property),
18562         (gst_net_client_clock_get_property),
18563         (gst_net_client_clock_observe_times):
18564         * gst/net/gstnetclientclock.h:
18565         Use regression code in GstClock parent, remove duplicated
18566         functionality.
18567
18568 2005-11-22  Michael Smith <msmith@fluendo.com>
18569
18570         * gst/gstutils.c: (gst_util_clock_time_scale):
18571         * gst/gstutils.h:
18572         * docs/gst/gstreamer-sections.txt:
18573           Rename method to have extra underscore.
18574
18575 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18576
18577         * gst/elements/Makefile.am:
18578         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
18579         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
18580         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
18581         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
18582         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
18583         * gst/elements/gstfakesrc.h:
18584         * gst/gstqueue.c: (queue_leaky_get_type):
18585           correctly fix GEnumValues so that nick is the short lowercase
18586           dashed tag
18587         * tools/gst-inspect.c: (print_element_properties_info):
18588           also show the nick, since it's useful to use from parse_launch
18589           syntax
18590           Fixes #322139
18591
18592 2005-11-22  Michael Smith <msmith@fluendo.com>
18593
18594         * gst/gstutils.c: (gst_util_clocktime_scale):
18595         * gst/gstutils.h:
18596         * docs/gst/gstreamer-sections.txt:
18597           Add util method for scaling a clocktime by a fraction. Useful 
18598           implementation is left as an exercise for the reader.
18599
18600 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18601
18602         * gst/gstvalue.c: (gst_value_collect_fraction_range):
18603         If needed, allocate storage in the destination value during
18604         collection.
18605
18606 2005-11-22  Edward Hervey  <edward@fluendo.com>
18607
18608         * docs/gst/gstreamer-sections.txt:
18609         * gst/Makefile.am:
18610         * gst/gst.h:
18611         * gst/gsturitype.c:
18612         * gst/gsturitype.h:
18613         * gst/gstutils.c: (gst_util_set_object_arg):
18614         * tools/gst-compprep.c: (main):
18615         * tools/gst-inspect.c: (print_element_properties_info):
18616         Removed GstURI, closes bug #321061
18617
18618 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18619
18620         * check/gst/gststructure.c: (GST_START_TEST):
18621         * gst/gststructure.c: (gst_structure_parse_value):
18622           Oops, broke automatic string type parsing.
18623           Add a test to catch it in future.
18624
18625 2005-11-22  Andy Wingo  <wingo@pobox.com>
18626
18627         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
18628         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
18629         Actually rename the function implementations. Grr.
18630
18631 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18632
18633         * check/gst/capslist.h:
18634           Comment test cases
18635         * check/gst/gststructure.c: (GST_START_TEST),
18636         (gst_structure_suite):
18637           Test automatic value type detection in gst_structure_from_string.
18638         * gst/gststructure.c: (gst_structure_parse_value):
18639           Add fraction as a type we try and guess automatically in
18640           caps/structure strings.
18641
18642 2005-11-22  Andy Wingo  <wingo@pobox.com>
18643
18644         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
18645
18646         * gst/gsttagsetter.h:
18647         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
18648         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
18649         (gst_tag_setter_add_tag_valist)
18650         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
18651         _add_values, _add_valist, and _add_valist_values. Since this is an
18652         interface the function suffixes should be more explicit so
18653         language binding don't end up with element.add_valist ->
18654         gst_tag_setter_add_valist, for example. Fixes #322069.
18655
18656 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18657
18658         * check/gst/gstcaps.c: (GST_START_TEST):
18659           Extend caps string tests to check that a caps to string
18660           conversion is reversible and produces the same caps.
18661
18662         * gst/gststructure.c: (gst_structure_value_get_generic_type):
18663           Output "fraction" as the generic type fraction range, so caps
18664           serialisation and deserialisation works.
18665         * check/gst/capslist.h:
18666         * gst/gstvalue.c: (gst_value_deserialize_fraction):
18667           Support 'MIN' and 'MAX' for deserialising fractions.
18668
18669 2005-11-22  Andy Wingo  <wingo@pobox.com>
18670
18671         * gst/gstevent.h (gst_event_new_new_segment)
18672         (gst_event_parse_new_segment, gst_event_new_buffer_size)
18673         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
18674         Renamed from *_newsegment, *_buffersize, *_notarget.
18675
18676         * scripts/update-funcnames: New script, performs the changes
18677         listed above.
18678
18679 2005-11-22  Wim Taymans  <wim@fluendo.com>
18680
18681         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18682         Make sure the GstFlowReturn is returned.
18683
18684         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
18685         (gst_bus_add_signal_watch):
18686         * gst/gstbus.h:
18687         add gst_bus_add_signal_watch_full.
18688
18689         * gst/gstplugin.c: (gst_plugin_load_file):
18690         Small style cleanup.
18691
18692 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18693
18694         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
18695           Block the fakesrc srcpad when we send an event, to avoid
18696           contention on the stream_lock causing random test failures.
18697
18698 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18699
18700         * check/gst/gstvalue.c: (GST_START_TEST):
18701         * gst/gstvalue.c: (gst_value_fraction_subtract):
18702           Fix subtraction.
18703
18704 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
18705
18706         * gst/gst.h:
18707           include "gstchildproxy.h"
18708         * gst/gstchildproxy.h:
18709         * libs/gst/controller/gstcontroller.h:
18710           use G_GNUC_NULL_TERMINATED
18711
18712 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18713
18714         * check/gst/capslist.h:
18715         * check/gst/gstcaps.c: (GST_START_TEST):
18716         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
18717         * gst/gststructure.c: (gst_structure_parse_range),
18718         (gst_structure_fixate_field_nearest_fraction):
18719         * gst/gststructure.h:
18720         * gst/gstvalue.c: (gst_value_init_fraction_range),
18721         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
18722         (gst_value_collect_fraction_range),
18723         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
18724         (gst_value_set_fraction_range_full),
18725         (gst_value_get_fraction_range_min),
18726         (gst_value_get_fraction_range_max),
18727         (gst_value_serialize_fraction_range),
18728         (gst_value_transform_fraction_range_string),
18729         (gst_value_compare_fraction_range),
18730         (gst_value_deserialize_fraction_range),
18731         (gst_value_intersect_fraction_fraction_range),
18732         (gst_value_intersect_fraction_range_fraction_range),
18733         (gst_value_subtract_fraction_fraction_range),
18734         (gst_value_subtract_fraction_range_fraction),
18735         (gst_value_subtract_fraction_range_fraction_range),
18736         (gst_value_collect_fraction), (gst_value_fraction_multiply),
18737         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
18738         (gst_value_transform_string_fraction), (_gst_value_initialize):
18739         * gst/gstvalue.h:
18740           Implement fraction ranges and extend GstFraction to support
18741           arithmetic subtraction, as well as deserialization from integer
18742           strings such as "100"
18743           Add a testsuite as for int and double range set operations
18744
18745 2005-11-21  Andy Wingo  <wingo@pobox.com>
18746
18747         * gst/gsttaglist.h: 
18748         * gst/gstcaps.h: 
18749         * gst/gststructure.h: Add glib-compat.h.
18750
18751 2005-11-21  Wim Taymans  <wim@fluendo.com>
18752
18753         * gst/gstbin.c: (gst_bin_change_state_func):
18754         Fix for #321595
18755
18756 2005-11-21  Wim Taymans  <wim@fluendo.com>
18757
18758         * gst/gstsegment.h:
18759         And add a nice define too.
18760
18761 2005-11-21  Wim Taymans  <wim@fluendo.com>
18762
18763         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
18764         (gst_segment_new), (gst_segment_free), (gst_segment_init),
18765         (gst_segment_set_duration), (gst_segment_set_last_stop),
18766         (gst_segment_set_seek), (gst_segment_set_newsegment),
18767         (gst_segment_to_stream_time), (gst_segment_to_running_time),
18768         (gst_segment_clip):
18769         * gst/gstsegment.h:
18770         Make binding friendly.
18771
18772 2005-11-21  Andy Wingo  <wingo@pobox.com>
18773
18774         * gst/gsttagsetter.h: 
18775         * gst/gsttaglist.h: 
18776         * gst/gststructure.h: 
18777         * gst/gstcaps.h: 
18778         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
18779         #319940.
18780
18781         * gst/gsterror.c (_gst_core_errors_init):
18782         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
18783         category.
18784
18785         * gst/Makefile.am (gst_headers): Add glib-compat.h.
18786         (noinst_HEADERS): noinst the -private.
18787
18788 2005-11-21  Michael Smith <msmith@fluendo.com>
18789
18790         * gst/gstplugin.h:
18791         * gst/gstregistry.h:
18792           Remove unimplemented declarations for which we can see no sensible
18793           use.
18794
18795 2005-11-21  Andy Wingo  <wingo@pobox.com>
18796
18797         * gst/gst.h: Include glib-compat.h.
18798
18799         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
18800
18801         * gst/glib-compat.c: Include the public and the private header.
18802
18803         * gst/glib-compat-private.h: Copied here from glib-compat.h.
18804
18805         * gst/gstvalue.c: 
18806         * gst/gstpad.c: 
18807         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
18808
18809         * check/gst/gstevent.c (create_custom_events): Check that
18810         FLUSH_STOP is serialized.
18811
18812         * check/elements/identity.c (event_func): 
18813         * check/elements/fakesrc.c (event_func): No stream lock, the core
18814         takes it.
18815
18816         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
18817         stream lock taking, yay.
18818
18819         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
18820         ensure that core takes the stream lock.
18821
18822         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
18823         lock name change.
18824
18825         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
18826         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
18827         it already. For the flush start we do take it though so we get the
18828         right preroll state change messages.
18829
18830         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
18831         the stream lock here, the core does it for us.
18832
18833         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
18834         GST_STREAM_GET_LOCK.
18835         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
18836         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
18837         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
18838         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
18839         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
18840         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
18841
18842         * gst/gstpad.c: Update for stream lock name change.
18843
18844         * gst/base/gstbasesink.c: Update for preroll lock name change.
18845
18846 2005-11-21  Wim Taymans  <wim@fluendo.com>
18847
18848         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
18849         (gst_clock_get_master):
18850         * gst/gstclock.h:
18851         * gst/gstsystemclock.c: (gst_system_clock_init):
18852         Convert Clock flags to object flags.
18853         Added methods to manage master/slave clocks.
18854
18855 2005-11-21  Wim Taymans  <wim@fluendo.com>
18856
18857         * check/gst/gstsegment.c: (GST_START_TEST):
18858         * docs/design/part-TODO.txt:
18859         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18860         (gst_base_sink_event), (gst_base_sink_do_sync),
18861         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
18862         (gst_base_sink_query), (gst_base_sink_change_state):
18863         * gst/base/gstbasesink.h:
18864         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
18865         (gst_base_src_default_newsegment),
18866         (gst_base_src_configure_segment), (gst_base_src_do_seek),
18867         (gst_base_src_get_range), (gst_base_src_loop),
18868         (gst_base_src_change_state):
18869         * gst/base/gstbasesrc.h:
18870         * gst/base/gstbasetransform.c:
18871         (gst_base_transform_prepare_output_buf),
18872         (gst_base_transform_event), (gst_base_transform_change_state):
18873         * gst/base/gstbasetransform.h:
18874         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
18875         (gst_collect_pads_event):
18876         * gst/base/gstcollectpads.h:
18877         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
18878         (gst_fake_src_create):
18879         * gst/elements/gstfakesrc.h:
18880         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
18881         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
18882         (gst_segment_set_last_stop), (gst_segment_set_seek),
18883         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18884         (gst_segment_to_running_time), (gst_segment_clip):
18885         * gst/gstsegment.h:
18886         More segment updates, replace code in plugins with segment
18887         helper functions.
18888
18889 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
18890
18891         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
18892         Don't ignore sscanf results
18893
18894 2005-11-21  Andy Wingo  <wingo@pobox.com>
18895
18896         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
18897
18898         * *.h:
18899         * *.c: Ran scripts/update-macros. Oh yes.
18900
18901         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
18902         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
18903         GST_GET_LOCK, etc.
18904
18905         * scripts/update-macros: New script. Run it on your files to
18906         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
18907         well.
18908
18909 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
18910
18911         * docs/gst/Makefile.am:
18912         * docs/gst/gstreamer-docs.sgml:
18913         * docs/gst/gstreamer-sections.txt:
18914         * docs/gst/gstreamer.types:
18915         * gst/gstinfo.h:
18916           more docs fixes, add new api to the docs
18917
18918 2005-11-21  Andy Wingo  <wingo@pobox.com>
18919
18920         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
18921         state_broadcast call.
18922
18923         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
18924
18925 2005-11-21  Julien MOUTTE  <julien@moutte.net>
18926
18927         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
18928         function calls for arrays.
18929
18930 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
18931
18932         * docs/random/ensonic/media-device-daemon.txt:
18933           wild idea, can this be done?
18934         * docs/gst/gstreamer-sections.txt:
18935         * gst/gsterror.h:
18936         * gst/gstfilter.c:
18937         * gst/gstfilter.h:
18938         * gst/gstplugin.h:
18939         * gst/gstpluginfeature.c:
18940         * gst/gsttrace.c:
18941         * gst/gstvalue.c:
18942         * gst/gstvalue.h:
18943           doc fixes and additions
18944
18945 2005-11-21  Andy Wingo  <wingo@pobox.com>
18946
18947         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
18948         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
18949         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
18950         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
18951         private to the basesrc implementation.
18952
18953         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
18954         behalf of event function if necessary. It should no longer be
18955         necessary to take the stream lock in pad's event functions. Fixes
18956         #320299.
18957
18958 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
18959         * docs/gst/gstreamer-sections.txt:
18960         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
18961         (gst_structure_fixate_field_nearest_double),
18962         (gst_structure_fixate_field_boolean):
18963         * gst/gststructure.h:
18964         * win32/common/libgstreamer.def:
18965         * win32/gstreamer.def:
18966
18967         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
18968         (#322027)
18969
18970 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
18971
18972         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
18973         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
18974         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
18975         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
18976         (gst_fdsrc_uri_handler_init):
18977         * gst/elements/gstfdsrc.h:
18978           Port fd:// URI handler from 0.8 to fdsrc
18979
18980 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18981
18982         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
18983         (gst_value_serialize_fourcc):
18984         * gst/gstvalue.h:
18985           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
18986           consistent with our other format defines (#320324).
18987
18988 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18989
18990         * gst/gstvalue.c: (gst_value_is_fixed):
18991           Revert previous commit. Value lists are by definition
18992           not fixed, as they are a list of possible values.
18993
18994 2005-11-21  Andy Wingo  <wingo@pobox.com>
18995
18996         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
18997         during the stable series if we need it. Fixes #319178.
18998
18999         * gst/gstevent.c (gst_event_new_filler): Removed.
19000
19001         * check/gst/gstevent.c: Update comment about filler events.
19002
19003 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
19004
19005         * gst/gstvalue.c: (gst_value_is_fixed):
19006           Should handle both value arrays and value lists.
19007
19008 2005-11-21  Andy Wingo  <wingo@pobox.com>
19009
19010         patch by: Alessandro Dessina <alessandro nnva org>
19011
19012         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
19013         functions to access arrays. Fixes #321962.
19014
19015 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
19016
19017         * docs/gst/gstreamer.types:
19018           gst_collectpads_get_type => gst_collect_pads_get_type.
19019           
19020         * gst/base/gstbasetransform.c:
19021           Remove unused SIGNAL_HANDOFF enum.
19022
19023 2005-11-21  Andy Wingo  <wingo@pobox.com>
19024
19025         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
19026         the event type (upstream, downstream, serialized). Renamed
19027         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
19028         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
19029         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
19030
19031         * gst/gstevent.c: Update for new CUSTOM event names.
19032
19033         * check/gst/gstevent.c: Update check for new CUSTOM event names.
19034
19035         * gst/gstevent.h:
19036         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
19037         bug #319392.
19038
19039 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
19040
19041         * docs/gst/gstreamer-sections.txt:
19042         * win32/common/libgstbase.def:
19043         * win32/libgstbase.def:
19044         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
19045         (gst_collect_pads_class_init), (gst_collect_pads_init),
19046         (gst_collect_pads_finalize), (gst_collect_pads_new),
19047         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
19048         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
19049         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
19050         (gst_collect_pads_start), (gst_collect_pads_stop),
19051         (gst_collect_pads_peek), (gst_collect_pads_pop),
19052         (gst_collect_pads_available), (gst_collect_pads_read),
19053         (gst_collect_pads_flush), (gst_collect_pads_event),
19054         (gst_collect_pads_chain):
19055         * gst/base/gstcollectpads.h:
19056           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
19057           unimplemented functions as unimplemented. Add padding to
19058           GstCollectData. (#320766, #320423)
19059
19060 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
19061
19062         * gst/gstmessage.c:
19063           Improve docs for DURATION message (usage of duration parameter)
19064           (#320113)
19065
19066 2005-11-20  Wim Taymans  <wim@fluendo.com>
19067
19068         * check/Makefile.am:
19069         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
19070         (main):
19071         * gst/Makefile.am:
19072         * gst/gst.h:
19073         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
19074         (gst_segment_set_seek), (gst_segment_set_newsegment),
19075         (gst_segment_to_stream_time), (gst_segment_to_running_time),
19076         (gst_segment_clip):
19077         * gst/gstsegment.h:
19078         Added segment helper structure and methods. Not fully implemented
19079         yet.
19080         Added segment check.
19081
19082 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
19083
19084         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
19085           Add a deserialisation test for fractions
19086         * examples/metadata/read-metadata.c: (message_loop),
19087         (make_pipeline), (main):
19088           Fix up metadata reading sample.
19089         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
19090           Debug format fix
19091         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
19092           Don't try and fixate empty caps
19093         * gst/gst_private.h:
19094           Wrap in G_BEGIN_DECLS/G_END_DECLS
19095         * gst/gstvalue.c: (gst_value_collect_fraction),
19096         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
19097         (gst_value_transform_string_fraction),
19098         (gst_value_compare_fraction):
19099           Add some extra guards to ensure that we don't end up 
19100           with an invalid denominator of 0 in a gstfraction and
19101           that fractions always get reduced.
19102
19103 2005-11-20  Wim Taymans  <wim@fluendo.com>
19104
19105         * docs/gst/gstreamer-sections.txt:
19106         * gst/gstbuffer.h:
19107         * gst/gstelement.c:
19108         * gst/gstformat.c:
19109         * gst/gstformat.h:
19110         * gst/gstindex.h:
19111         * gst/gstquery.c:
19112         * gst/gstquery.h:
19113         * gst/gstvalue.c:
19114         Doc fixes.
19115
19116 2005-11-20  Wim Taymans  <wim@fluendo.com>
19117
19118         * docs/design/part-TODO.txt:
19119         * gst/gstcaps.h:
19120         Make a proper enum of the flag.
19121
19122 2005-11-19  Wim Taymans  <wim@fluendo.com>
19123
19124         * docs/design/part-TODO.txt:
19125         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
19126         (gst_format_to_quark), (gst_format_register):
19127         * gst/gstformat.h:
19128         * gst/gstquery.c: (_gst_query_initialize),
19129         (gst_query_type_get_name), (gst_query_type_to_quark),
19130         (gst_query_type_register):
19131         * gst/gstquery.h:
19132         Add type to quark and type to string conversions.
19133
19134 2005-11-19  Andy Wingo  <wingo@pobox.com>
19135
19136         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
19137         #320097.
19138
19139 2005-11-19  Wim Taymans  <wim@fluendo.com>
19140
19141         * docs/design/part-TODO.txt:
19142         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
19143         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
19144         (gst_bin_handle_message_func):
19145         * gst/gstbin.h:
19146         Make message handling overridable.
19147
19148 2005-11-19  Andy Wingo  <wingo@pobox.com>
19149
19150         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
19151
19152         * gst/gstclock.h:
19153         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
19154         be a GstClockTime.
19155         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
19156         is a GstClockTime. Fixes #321710.
19157
19158         * gst/gstclock.h (GstClock): Remove offset property. Add
19159         internal_calibration and external_calibration. Fix padding. Pad
19160         also by GstClockTime so we don't run into problems.
19161
19162         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
19163         (gst_clock_get_rate_offset): Remove.
19164         (gst_clock_set_time_adjust): Remove. Fixes #321712.
19165
19166         * gst/gstutils.h:
19167         * gst/gstutils.c (g_static_rec_cond_wait)
19168         (g_static_rec_cond_timed_wait): Removed, no longer needed.
19169
19170         * gst/gstbin.c: Remove terrible continue_state prototype.
19171
19172         * gst/gstelement.h (gst_element_continue_state): Make public.
19173
19174         * gst/gstelement.h:
19175         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
19176         by continue_state. Fixes #319389.
19177
19178         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
19179         Really fixes #168438. However I don't see anywhere where the
19180         filter function is called... stupid GStreamer...
19181         
19182         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
19183         don't have a dispose function, so it won't get called when the
19184         object is unreffed, but oh well!
19185
19186         * gst/gstindex.c (gst_index_set_filter_full): New API function,
19187         allows a destroy function to be set so user_data can be freed.
19188         Fixes #168438.
19189         (gst_index_set_filter): Call gst_index_set_filter_full.
19190
19191         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
19192
19193         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
19194         string should produce an error, given the lack of a way to
19195         represent NULL strings. Fixes #165650.
19196         
19197         * gst/gstvalue.h: 
19198         * gst/gstvalue.c (gst_value_array_append_value) 
19199         (gst_value_array_prepend_value, gst_value_array_get_size) 
19200         (gst_value_array_get_value): New API, copied from
19201         gst_value_list_*, only operates on arrays.
19202         (gst_value_list_append_value, gst_value_list_prepend_value) 
19203         (gst_value_list_concat, gst_value_list_get_size) 
19204         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
19205
19206         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
19207         init_list, because it works on both.
19208         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
19209         (gst_value_copy_list_or_array): Renamed from copy_list.
19210         (gst_value_free_list_or_array): Renamed from free_list.
19211         (gst_value_collect_list_or_array): Renamed from collect_list.
19212         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
19213         (gst_value_list_or_array_peek_pointer): Renamed from
19214         list_peek_pointer.
19215         (_gst_value_array_value_table, _gst_value_list_value_table):
19216         Update value table functions.
19217         (gst_value_compare_list_or_array): Renamed from compare_list.
19218
19219         * gsttaglist.h: Whoops, foreach function returns void. Also fix
19220         some constness.
19221
19222         * gst/gsttaglist.c:
19223         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
19224         GstTagList*. Fixes #143472.
19225
19226         * gst/gststructure.h: Clarify what the foreach/map functions can
19227         or can't do to their arguments.
19228
19229 2005-11-18  Wim Taymans  <wim@fluendo.com>
19230
19231         * gst/gstclock.c: (gst_clock_set_calibration),
19232         (gst_clock_get_calibration):
19233         Doc and API fixes.
19234         Calibration can be set with internal time equal to current
19235         internal time too.
19236
19237 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
19238
19239         * gst/gsterror.c:
19240         * gst/gsterror.h:
19241           document
19242
19243 2005-11-18  Andy Wingo  <wingo@pobox.com>
19244
19245         * configure.ac: 
19246         * pkgconfig/gstreamer-net.pc.in:
19247         * pkgconfig/gstreamer-net-uninstalled.pc.in:
19248         * pkgconfig/Makefile.am: Add net pkgconfig files.
19249
19250 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
19251
19252         * gst/gstcaps.c:
19253         * gst/gstghostpad.c:
19254         * gst/gsttrace.c:
19255         * gst/gstvalue.c:
19256         * gst/gstvalue.h:
19257           docs fixes
19258
19259 2005-11-18  Andy Wingo  <wingo@pobox.com>
19260
19261         * gst/net/gstnetclientclock.c: Turn off debugging.
19262
19263         * check/net/gstnetclientclock.c (test_functioning): Assert that the
19264         times connverge somewhat. Can't make a real test.
19265
19266         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
19267         integer arithmetic. Return the minimum of the domain, which can be
19268         set as "internal" for gst_clock_set_calibration.
19269         (gst_net_client_clock_observe_times): Call _set_calibration.
19270         (gst_net_client_clock_new): Call _set_calibration instead of
19271         rate_offset.
19272
19273         * check/net/gstnetclientclock.c (test_functioning): Use the right
19274         adjustment api.
19275
19276         * gst/gstclock.h:
19277         * gst/gstclock.c (gst_clock_get_calibration) 
19278         (gst_clock_set_calibration): New functions, obsolete the ones I
19279         added yesterday. Doh. Precision issues mean we have to extrapolate
19280         from a point in the more recent past than 1970.
19281         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
19282         obsolete.
19283         (gst_clock_adjust_unlocked): Use the right calibration data.
19284
19285 2005-11-18  Edward Hervey  <edward@fluendo.com>
19286
19287         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
19288         Also reset the ->current_* values in READY->PAUSED
19289
19290 2005-11-18  Andy Wingo  <wingo@pobox.com>
19291
19292         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
19293         Whoops, check the right fd. Also add some debugging.
19294         (gst_net_client_clock_observe_times): Adjust for int64 offset.
19295         (do_linear_regression): Add a crapload of debugging. Subtract off
19296         the minimum values from the input series to discard unneeded bits.
19297         Use only int arithmetic. There is still double arithmetic when
19298         calculating the intercept that needs fixing. Return boolean to
19299         indicate success; FALSE would mean the domain or range is too
19300         great. Still needs fixes.
19301
19302 2005-11-18  Wim Taymans  <wim@fluendo.com>
19303
19304         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
19305         For the current position in stream time, we need to subtract
19306         accumulated time.
19307         
19308         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
19309         Release lock before calling the callback function of async
19310         entries.
19311
19312 2005-11-18  Andy Wingo  <wingo@pobox.com>
19313
19314         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
19315         Port goes all the way to MAXUINT16.
19316
19317         * gst/net/gstnettimeprovider.c: Make the port range the same as
19318         for the kernel: 0 assigns, otherwise ports are less than
19319         MAXUINT16.
19320
19321         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
19322         port change.
19323
19324         * check/net/gstnetclientclock.c (test_functioning): Add the start
19325         of another test. 
19326
19327 2005-11-18  Wim Taymans  <wim@fluendo.com>
19328
19329         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
19330         (gst_bin_remove_func), (bin_bus_handler):
19331         * gst/gstbin.h:
19332         Removing a clock provider from a bin, triggers a clock lost message
19333         so that a new clock will be selected.
19334         Adding a clock to a bin triggers a clock provider message.
19335         Make sure we reselect a clock when we received a clock lost message.
19336         Keep a reference to the element that provided the clock.
19337
19338 2005-11-18  Andy Wingo  <wingo@pobox.com>
19339
19340         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
19341         the clock initially so it produces values around the base time.
19342         (gst_net_client_clock_class_init): Typo fix.
19343         (gst_net_client_clock_thread): Add note on when the socket gets
19344         closed.
19345
19346 2005-11-17  Wim Taymans  <wim@fluendo.com>
19347
19348         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
19349         Free remote and local time arrays.
19350
19351 2005-11-17  Wim Taymans  <wim@fluendo.com>
19352
19353         * gst/net/gstnetclientclock.c: (do_linear_regression),
19354         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
19355         Fix compilation, uninitialized vars and a forgotten continue.
19356
19357 2005-11-17  Andy Wingo  <wingo@pobox.com>
19358
19359         * check/Makefile.am (check_PROGRAMS): 
19360         * check/net/gstnetclientclock.c: Add a most minimal test for the
19361         net client clock. More to come later.
19362
19363         * gst/net/gstnet.h: 
19364         * gst/net/Makefile.am: Add netclientclock.
19365
19366         * gst/net/gstnetclientclock.h:
19367         * gst/net/gstnetclientclock.c: New files, implement an untested
19368         GstClock that takes its time from a network time provider.
19369         Implements the algorithm in network-clock.scm.
19370
19371         * tests/network-clock.scm (*window-size*): Rename from
19372         *queue-length*.
19373         * tests/network-clock.scm (network-time): 
19374         * tests/network-clock-utils.scm (q-push): Update callers.
19375
19376 2005-11-17  Wim Taymans  <wim@fluendo.com>
19377
19378         * gst/gstbin.c: (gst_bin_provide_clock_func),
19379         (gst_bin_sort_iterator_new):
19380         And unref the child too..
19381
19382 2005-11-17  Wim Taymans  <wim@fluendo.com>
19383
19384         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
19385         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
19386         Refactor the sort iterator so it can be used while holding the
19387         LOCK too.
19388         Make clock selection select a clock closest to the source.
19389
19390 2005-11-17  Michael Smith <msmith@fluendo.com>
19391
19392         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
19393         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
19394         * gst/gstclock.h:
19395           Anonymous structs are a gcc (and some other compilers) extension, so
19396           don't use them. Since this is only for ABI-compatibility, and our
19397           API/ABI freeze is over in a few days, this whole thing will only
19398           last a few days, so don't bother trying to think up a meaningful
19399           name for the struct.
19400
19401 2005-11-17  Andy Wingo  <wingo@pobox.com>
19402
19403         * gst/gstclock.h (GstClock): Add rate and offset properties,
19404         preserving ABI stability. Add rate/offset accessors. Will file bug
19405         for the freeze break.
19406
19407         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
19408         and offset, trying to keep precision and avoiding
19409         underflow/overflow.
19410         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
19411         functions. Make gst_clock_set_time_adjust obsolete.
19412         (gst_clock_set_time_adjust): Note that this function is obsolete.
19413         Will file bug soon.
19414
19415         * gst/base/gstbasetransform.h: Make the ABI-stability hack
19416         greppable by using GST_PADDING-1+1.
19417
19418 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
19419
19420         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
19421
19422         * gst/gstmessage.c: (gst_message_parse_clock_lost):
19423           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
19424
19425         * gst/gstpadtemplate.h:
19426         * gst/gstpluginfeature.h:
19427           Don't use c++ style comments in headers (#321638).
19428
19429 2005-11-16  Andy Wingo  <wingo@pobox.com>
19430
19431         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
19432         buffer.
19433
19434         * check/net/gstnettimeprovider.c: Check to see that the time
19435         provider actually provides times. Works, yo!
19436
19437 2005-11-16  Wim Taymans  <wim@fluendo.com>
19438
19439         * check/Makefile.am:
19440         Enable more tests.
19441
19442         * check/elements/fakesrc.c: (GST_START_TEST):
19443         Set element to NULL before disposing it.
19444
19445 2005-11-16  Andy Wingo  <wingo@pobox.com>
19446
19447         * gst/net/Makefile.am:
19448         * gst/net/gstnet.h:
19449         * gst/net/gstnettimeprovider.c: 
19450         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
19451         provider, include it from gstnet.h, and add it to the build.
19452
19453         * gst/net/gstnettimepacket.h: 
19454         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
19455         sending and receiving.
19456
19457 2005-11-16  Wim Taymans  <wim@fluendo.com>
19458
19459         * check/Makefile.am:
19460         Enable valgrind check.
19461
19462         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
19463         (gst_fake_src_alloc_buffer):
19464         Fix memleak.
19465
19466 2005-11-16  Wim Taymans  <wim@fluendo.com>
19467
19468         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
19469         Call parent finalize too.
19470
19471 2005-11-16  Wim Taymans  <wim@fluendo.com>
19472
19473         * check/Makefile.am:
19474         Enable valgrind check that should work fine now.
19475
19476         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
19477         * gst/gstqueue.c: (gst_queue_init):
19478         Fix memleaks in pad allocation.
19479
19480 2005-11-16  Andy Wingo  <wingo@pobox.com>
19481
19482         * gst/net/Makefile.am:
19483         * gst/net/gstnet.h: New part of core to hold network elements and
19484         objects. Put in core because it exposes API that applications want
19485         to use. The library is named libgstnet-tempname right now because
19486         of the existing libgstnet in gst-plugins-base. Solution is
19487         probably to rename the one in plugins-base; will file a bug for
19488         the freeze break.
19489
19490         * gst/net/gstnettimeprovider.c: 
19491         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
19492         get_time call over the network.
19493
19494         * configure.ac: 
19495         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
19496
19497         * check/Makefile.am:
19498         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
19499         get additions shortly.
19500
19501 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19502
19503         * gst/gstpad.c: (gst_pad_new_from_static_template):
19504         * gst/gstpad.h:
19505           add gst_pad_new_from_static_template functions
19506         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
19507         (gst_check_setup_sink_pad):
19508         * gst/elements/gsttee.c: (gst_tee_init):
19509           and use them
19510
19511 2005-11-16  Wim Taymans  <wim@fluendo.com>
19512
19513         * gst/gstpad.c: (gst_pad_pause_task):
19514         Removed warning, it's not really an error either.
19515
19516 2005-11-16  Wim Taymans  <wim@fluendo.com>
19517
19518         * gst/base/gstbasetransform.c:
19519         (gst_base_transform_prepare_output_buf),
19520         (gst_base_transform_event):
19521         Check if the caps are NULL, this can happen if the element
19522         is shutting down and the pad caps are set to NULL.
19523
19524 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19525
19526         * gst/elements/gsttee.c: (gst_tee_init):
19527           fix pad template leak in tee
19528
19529 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19530
19531         * gst/glib-compat.c: (g_value_dup_gst_object):
19532         * gst/glib-compat.h:
19533         * gst/gstpad.c: (gst_pad_set_property):
19534           use gst_object_ref when setting the pad template; this will
19535           trigger the pad template leaks on GLib 2.6 and the slaves
19536
19537 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19538
19539         * gst/glib-compat.c: (gst_flags_get_first_value):
19540         * gst/glib-compat.h:
19541         * gst/gstregistryxml.c:
19542           remove functions copied from GLib 2.6
19543
19544 2005-11-16  Michael Smith <msmith@fluendo.com>
19545
19546         * gst/Makefile.am:
19547           Don't link against VALGRIND_LIBS. That was always the wrong thing to
19548           do, but only breaks with newer valgrind versions. We're not a
19549           valgrind tool, we have no link-time dependencies on libcoregrind.
19550
19551 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19552
19553         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
19554           some debug changes
19555         * gst/gstmessage.h:
19556           typo fixes
19557
19558 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19559
19560         * gst/base/gstbasesrc.c: (gst_base_src_init):
19561         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
19562         * gst/gstqueue.c: (gst_queue_init):
19563         * gst/gstregistryxml.c: (load_feature):
19564           Revert all these unrefs, they don't even pass make check !
19565
19566 2005-11-15  Johan Dahlin  <johan@gnome.org>
19567
19568         * gst/base/gstbasesrc.c: (gst_base_src_init):
19569         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
19570         * gst/gstqueue.c: (gst_queue_init): 
19571         Free pad templates, fixes a couple of leaks.
19572
19573 2005-11-15  Daniel Fischer  <dan at f3c dot com>
19574
19575         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
19576
19577         * gst/gstpad.c: (gst_pad_get_property):
19578           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
19579           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
19580           (#321452)
19581
19582 2005-11-15  Wim Taymans  <wim@fluendo.com>
19583
19584         * gst/gstevent.c:
19585         Small doc update.
19586
19587 2005-11-15  Andy Wingo  <wingo@pobox.com>
19588
19589         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
19590
19591         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
19592         using GST_CLOCK_TIME_NONE to disable base time management.
19593         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
19594         time if it was NONE before.
19595         (gst_pipeline_change_state): Only munge the base time if
19596         stream_time != GST_CLOCK_TIME_NONE.
19597
19598         * check/gst/gstpipeline.c (test_base_time): Punt around the
19599         problem of the probe not being called, because that's not the
19600         issue I'm looking at. Add a check that setting stream_time to NONE
19601         disables base time management.
19602         
19603 2005-11-15  Wim Taymans  <wim@fluendo.com>
19604
19605         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
19606         segment_stop == -1 at startup.
19607
19608         * gst/base/gstbasetransform.c: (gst_base_transform_event),
19609         (gst_base_transform_change_state):
19610         Init segment values at start.
19611
19612 2005-11-15  Wim Taymans  <wim@fluendo.com>
19613
19614         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19615         0 segment values are 0 in any format.
19616
19617         * gst/base/gstbasetransform.c: (gst_base_transform_event):
19618         * gst/base/gstbasetransform.h:
19619         Parse newsegment correctly in basetransform
19620
19621         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19622         Sync to clock using updated segment values.
19623
19624 2005-11-15  Andy Wingo  <wingo@pobox.com>
19625
19626         * check/gst/gstpipeline.c (test_base_time): Add check that the
19627         base time and stream time are reset correctly.
19628
19629 2005-11-15  Wim Taymans  <wim@fluendo.com>
19630
19631         * docs/design/part-TODO.txt:
19632         Some more TODO items.
19633
19634 2005-11-15  Andy Wingo  <wingo@pobox.com>
19635
19636         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
19637         error if the user selected "no clock" as the clocking method.
19638
19639         * check/gst/gstpipeline.c (test_base_time): New test for buffer
19640         timestamps with live capture.
19641
19642         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
19643         is 0 but we are a live source, timestamp the buffers using the
19644         element's clock.
19645
19646 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
19647
19648         * docs/gst/gstreamer-sections.txt:
19649         * gst/gsterror.c:
19650         * gst/gstghostpad.c:
19651         * gst/gstobject.h:
19652         * gst/gstxml.c:
19653           more section docs
19654
19655 2005-11-14  Wim Taymans  <wim@fluendo.com>
19656
19657         * common/gst.supp:
19658           add suppressions from Wim's Debian machine
19659
19660 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
19661
19662         * common/gst.supp:
19663           add suppressions from Andy's AMD64 Ubuntu machine
19664
19665 2005-11-14  Andy Wingo  <wingo@pobox.com>
19666
19667         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
19668         STATE_LOCK not necessary. Fixes #311489.
19669
19670         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
19671         #305291.
19672
19673         * gst/gstindex.c (gst_index_add_object): Note in the docs that
19674         this function is not implemented.
19675
19676 2005-11-14  Julien MOUTTE  <julien@moutte.net>
19677
19678         * gst/base/gstbasetransform.c:
19679         (gst_base_transform_prepare_output_buf):
19680         Ref the source pad caps while we need them.
19681         Fixes (#321386)
19682
19683 2005-11-11  Wim Taymans  <wim@fluendo.com>
19684
19685         * docs/gst/gstreamer-sections.txt:
19686         Added some docs for GstCollectData.
19687
19688         * gst/base/gstadapter.c:
19689         Some small code example fix.
19690
19691         * gst/base/gstcollectpads.c:
19692         * gst/base/gstcollectpads.h:
19693         Document some more.
19694
19695 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19696
19697         * configure.ac: back to HEAD
19698
19699 === release 0.9.5 ===
19700
19701 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
19702
19703         * configure.ac:
19704           releasing 0.9.5, "Bike Lunch Day"
19705
19706 2005-11-11  Wim Taymans  <wim@fluendo.com>
19707
19708         * gst/gstbuffer.c: (_gst_buffer_copy):
19709         Copy more flags.
19710
19711         * gst/gstcaps.c: (gst_caps_is_equal):
19712         Fix some docs.
19713         Make _is_equal fast in the trivial cases.
19714
19715         * gst/gstminiobject.c:
19716         * gst/gstminiobject.h:
19717         More docs. Spifify .h file.
19718
19719         * gst/gstutils.c:
19720         Small doc update.
19721
19722 2005-11-11  Wim Taymans  <wim@fluendo.com>
19723
19724         * gst/base/gstbasetransform.c:
19725         (gst_base_transform_prepare_output_buf),
19726         (gst_base_transform_handle_buffer):
19727         Small cleanups.
19728         If we're processing a buffer and need to allocate an output
19729         buffer, we cannot accept a format change. If we did get a 
19730         format change, we have to alloc a buffer ourselves of the 
19731         right size.
19732
19733 2005-11-11  Wim Taymans  <wim@fluendo.com>
19734
19735         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
19736         While checking the flag for reentrancy in the gstcaps function
19737         is nice to detect recursive invocations, it also makes it 
19738         impossible to call getcaps from multiple threads, which must be
19739         possible. So, checking for recursive calls has to go.
19740
19741 2005-11-11  Michael Smith <msmith@fluendo.com>
19742
19743         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
19744           Don't sync on buffers that fall partially outside our current
19745           segment. Prevents an assertion failure/abort playing some files.
19746
19747 2005-11-10  Andy Wingo  <wingo@pobox.com>
19748
19749         * check/gst/gstbin.c (test_message_state_changed_children): Style
19750         fix..
19751
19752         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
19753         gst_bus_poll with the signal watch. Ensures that poll and a signal
19754         watch see the same messages.
19755
19756         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
19757         a poll and a watch at the same time get the same messages.
19758
19759 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19760
19761         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
19762         * gst/gstcaps.c: (gst_caps_intersect):
19763           Don't call gst_caps_do_simplify - it doesn't respect order of caps
19764           and it's not needed.
19765
19766 2005-11-10  Wim Taymans  <wim@fluendo.com>
19767
19768         * docs/design/part-TODO.txt:
19769         Updated todo.
19770
19771 2005-11-10  Wim Taymans  <wim@fluendo.com>
19772
19773         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
19774         * gst/base/gstbasesrc.c: (gst_base_src_wait),
19775         (gst_base_src_do_sync), (gst_base_src_get_range):
19776         Implement clock sync in base class.
19777
19778 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19779
19780         patch by: Tim-Philipp Müller <tim at centricular dot net>
19781
19782         * gst/gststructure.c: (gst_structure_parse_field),
19783         (gst_structure_from_string):
19784           Forward-port a 0.8 patch to handle escaped spaces in structure string,
19785           so that gst_parse_launch() can deal with spaces in filtered link
19786           caps (fixes #164479)
19787         * check/gst/capslist.h:
19788         * check/gst/gststructure.c: (GST_START_TEST):
19789           add unit tests for this change
19790
19791 2005-11-10  Wim Taymans  <wim@fluendo.com>
19792
19793         * docs/gst/gstreamer-sections.txt:
19794         * gst/gstelement.c:
19795         * gst/gstelement.h:
19796         Fix docs, move some STATE macros to private.
19797
19798 2005-11-10  Wim Taymans  <wim@fluendo.com>
19799
19800         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
19801         Added check for bug #317341
19802
19803         * gst/gstbuffer.c:
19804         * gst/gstbuffer.h:
19805         Some more spiffifying.
19806
19807         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
19808         Call peer linkfunction if we are a source pad. Totally fixes
19809         #317341
19810
19811         * gst/gstpad.c:
19812         Update docs, source pads should call the peer linkfunction
19813         so they can atomically perform the pad link.
19814
19815 2005-11-09  Wim Taymans  <wim@fluendo.com>
19816
19817         * gst/gstbuffer.c:
19818         * gst/gstbuffer.h:
19819         Uber-spiffy-spiffify some more.
19820
19821 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
19822
19823         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
19824         * gst/elements/gstfilesink.c: (gst_file_sink_init):
19825         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
19826         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
19827         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
19828         * gst/gstpad.c: (gst_pad_init):
19829           Use GST_DEBUG_FUNCPTR() more extensively.
19830
19831 2005-11-09  Wim Taymans  <wim@fluendo.com>
19832
19833         * gst/gstobject.c: (gst_object_class_init):
19834         * gst/gstobject.h:
19835         Documentation fixes.
19836
19837 2005-11-09  Edward Hervey  <edward@fluendo.com>
19838
19839         * gst/gsttypefindfactory.c:
19840         Fix docs.
19841         
19842 2005-11-09  Edward Hervey  <edward@fluendo.com>
19843
19844         * gst/base/gsttypefindhelper.c:
19845         * gst/gsttypefind.c:
19846         * gst/gsttypefind.h:
19847         Fix docs.
19848
19849 2005-11-09  Wim Taymans  <wim@fluendo.com>
19850
19851         * gst/gstiterator.c:
19852         Fix revision data.
19853
19854         * gst/gsttask.c:
19855         * gst/gsttask.h:
19856         Fix docs.
19857
19858 2005-11-09  Wim Taymans  <wim@fluendo.com>
19859
19860         * gst/gstevent.h:
19861         * gst/gsturi.h:
19862         Fix docs.
19863
19864 2005-11-09  Wim Taymans  <wim@fluendo.com>
19865
19866         * docs/gst/gstreamer-sections.txt:
19867         Moved the message async delivery private lock and cond
19868         to the private section.
19869
19870         * gst/gstmessage.c:
19871         * gst/gstmessage.h:
19872         Fixed docs.
19873
19874 2005-11-09  Edward Hervey  <edward@fluendo.com>
19875
19876         * docs/gst/gstreamer-sections.txt:
19877         * gst/gsturi.c:
19878         * gst/gsturi.h:
19879         Document GstURIHandler
19880
19881 2005-11-09  Wim Taymans  <wim@fluendo.com>
19882
19883         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
19884         (gst_iterator_find_custom):
19885         * gst/gstiterator.h:
19886         Fix iterator docs.
19887
19888 2005-11-09  Wim Taymans  <wim@fluendo.com>
19889
19890         * gst/gstbin.h:
19891         Document another field.
19892
19893         * gst/gststructure.c:
19894         * gst/gststructure.h:
19895         Document.
19896
19897 2005-11-09  Wim Taymans  <wim@fluendo.com>
19898
19899         * gst/gstbin.h:
19900         Documented structs.
19901
19902 2005-11-09  Wim Taymans  <wim@fluendo.com>
19903
19904         * docs/gst/gstreamer-sections.txt:
19905         Added some new macros.
19906
19907         * gst/gstclock.c:
19908         * gst/gstclock.h:
19909         * gst/gstobject.h:
19910         Docs updates.
19911
19912 2005-11-09  Wim Taymans  <wim@fluendo.com>
19913
19914         * docs/design/part-TODO.txt:
19915         Some more items for the TODO
19916
19917         * gst/gstcaps.c:
19918         * gst/gstcaps.h:
19919         Document GstCaps.
19920
19921 2005-11-09  Andy Wingo  <wingo@pobox.com>
19922
19923         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
19924         to work on something else now tho...
19925
19926         * gst/base/gstadapter.c: More adapter docs.
19927
19928         * gst/elements/gstfilesink.c (gst_file_sink_start) 
19929         (gst_file_sink_stop): New functions, replace the state change
19930         handler.
19931         (gst_file_sink_class_init): Hook up the start and stop functions.
19932         (gst_file_sink_base_init): Don't set the state change handler any
19933         more. It was a bit ugly too, being set from here...
19934         (gst_file_sink_get_property, gst_file_sink_set_property):
19935         Cleanups...
19936         (gst_file_sink_set_location): More robust check that doesn't call
19937         GST_STATE. Ugggggg.
19938
19939 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
19940
19941         * gst/base/gstbasetransform.c: (gst_base_transform_event):
19942           Hold STREAM_LOCK while pushing newsegment or tag events as well.
19943
19944 2005-11-08  Wim Taymans  <wim@fluendo.com>
19945
19946         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19947         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
19948         (gst_base_sink_chain), (gst_base_sink_change_state):
19949         * gst/base/gstbasesink.h:
19950         * gst/base/gstbasesrc.h:
19951         * gst/gstelement.h:
19952         * gst/gstevent.h:
19953         Avoid excessive typechecking in macros.
19954
19955         * gst/gstminiobject.c: (gst_mini_object_get_type),
19956         (gst_mini_object_init), (gst_mini_object_new),
19957         (gst_mini_object_free):
19958         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
19959         (gst_object_finalize):
19960         Remove cruft code, optimize alloc_trace.
19961
19962 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19963
19964         * docs/faq/gst-uninstalled:
19965           fix up PS1 for systems that try to reset it
19966
19967 2005-11-07  Wim Taymans  <wim@fluendo.com>
19968
19969         * gst/base/gstbasesrc.c: (gst_base_src_init),
19970         (gst_base_src_get_range):
19971         Set the segment_end to -1 initially. Fixed typefind.
19972
19973 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
19974
19975         * gst/base/gstadapter.c:
19976           Debug category should be 'adapter', not 'GstAdapter'.
19977           
19978         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
19979         (gst_collectpads_class_init), (gst_collectpads_init),
19980         (gst_collectpads_peek), (gst_collectpads_pop),
19981         (gst_collectpads_event), (gst_collectpads_chain):
19982           Add debug category and some debugging output. Use boilerplate
19983           macros. Remove some extraneous words from docs.
19984
19985 2005-11-05  Andy Wingo  <wingo@pobox.com>
19986
19987         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
19988         macro.
19989
19990 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
19991
19992         * docs/gst/gstreamer-sections.txt:
19993         * gst/gstcaps.h:
19994         * gst/gstinfo.c:
19995         * gst/gstminiobject.h:
19996         * gst/gstobject.h:
19997         * gst/gstutils.h:
19998           more docs added
19999
20000 2005-11-04  Wim Taymans  <wim@fluendo.com>
20001
20002         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
20003         Small update to stop at the configured segment_end
20004         position.
20005
20006 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
20007
20008         * gst/gstregistry.c:
20009         * gst/gstregistry.h:
20010           added missing docs
20011
20012 2005-11-04  Edward Hervey  <edward@fluendo.com>
20013
20014         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
20015         Check if we are doing a segment seek and have arrived at the
20016         end of that segment.
20017
20018 2005-11-04  Wim Taymans  <wim@fluendo.com>
20019
20020         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
20021         Don't leak a mutex unlock in case of an error.
20022
20023         * gst/gstbus.h:
20024         Doc fixes.
20025
20026 2005-11-04  Wim Taymans  <wim@fluendo.com>
20027
20028         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
20029         (gst_bus_post):
20030         Get the context to wake up only once.
20031
20032 2005-11-03  Wim Taymans  <wim@fluendo.com>
20033
20034         * check/states/sinks.c: (GST_START_TEST):
20035         Uncomment fixed check.
20036
20037         * docs/design/part-TODO.txt:
20038         Updated TODO.
20039
20040         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20041         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
20042         (gst_base_sink_get_position):
20043         If we are going to PLAYING, post the right pending state
20044         when we post the intermediate paused message.
20045
20046         * gst/gstelement.c: (gst_element_continue_state),
20047         (gst_element_set_state_func), (gst_element_change_state):
20048         Don't post state changes that were between the same state
20049         and were not ASYNC.
20050
20051 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
20052
20053         * docs/gst/gstreamer-sections.txt:
20054         * gst/gstcaps.h:
20055         * gst/gstinfo.c:
20056         * gst/gstminiobject.h:
20057         * gst/gstobject.h:
20058         * gst/gstutils.h:
20059           more docs and doc style fixes
20060
20061 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
20062
20063         * docs/gst/gstreamer-sections.txt:
20064         * gst/gstelement.c:
20065         * gst/gstminiobject.c:
20066         doc fixes
20067
20068 2005-11-03  Andy Wingo  <wingo@pobox.com>
20069
20070         * check/states/sinks.c (test_livesrc_sink): Add checks that the
20071         state-changed messages actually have the right order and the right
20072         values.
20073
20074 2005-11-03  Wim Taymans  <wim@fluendo.com>
20075
20076         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
20077         Added some more checks. Specifically the case where NO_PREROLL
20078         elements are in the pipeline.
20079
20080         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20081         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
20082         (gst_base_sink_get_position):
20083         Post READY->PAUSED state change messages too.
20084         Fix bug where VOID was posted as pending state...
20085
20086         * gst/gstbin.c: (gst_bin_recalc_state):
20087         use _element_continue_state() to continue the state change.
20088
20089         * gst/gstelement.c: (gst_element_continue_state),
20090         (gst_element_commit_state), (gst_element_set_state_func),
20091         (gst_element_change_state), (gst_element_change_state_func):
20092         Lots of state change cleanups, assign the STATE_RETURN in
20093         a new continue_state() function that also propagates the
20094         last return value from a state change to the app.
20095         Update some debug statements with proper category.
20096
20097 2005-11-03  Wim Taymans  <wim@fluendo.com>
20098
20099         * docs/design/part-events.txt:
20100         * docs/design/part-gstpipeline.txt:
20101         * docs/design/part-messages.txt:
20102         * docs/design/part-overview.txt:
20103         * docs/design/part-seeking.txt:
20104         * docs/design/part-states.txt:
20105         * docs/design/part-trickmodes.txt:
20106         * docs/manual/advanced-position.xml:
20107         Small docs updates.
20108
20109         * gst/gstobject.h:
20110         People think !! is ugly, this looks better.
20111
20112         * gst/gstpad.c: (gst_pad_set_blocked_async):
20113         Remove !! since it's fixed elsewhere now.
20114
20115 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
20116
20117         * gst/gstminiobject.h:
20118         * gst/gstobject.h:
20119           Add !! to _FLAG_IS_SET macros to make the result boolean.
20120
20121 2005-11-03  Edward Hervey  <edward@fluendo.com>
20122
20123         * gst/gstpad.c: (gst_pad_set_blocked_async):
20124         comparing a flag and a gboolean rarely returns coherent results...
20125         Added two characters (!!) to make that work correctly.
20126         
20127 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
20128
20129         * gst/gstbus.c: (gst_bus_class_init):
20130           Fix some typos.
20131           
20132         * gst/gstqueue.c: (gst_queue_loop):
20133           Don't assume a miniobject that isn't a buffer is an
20134           event (it could be that there is a refcounting
20135           problem somewhere and the pointer is stale and
20136           refers to an already destroyed miniobject).
20137
20138 2005-11-03  Julien MOUTTE  <julien@moutte.net>
20139
20140         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
20141
20142 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
20143
20144         * docs/manual/advanced-position.xml:
20145           Update seek example and explanations to current 0.9 API.
20146
20147         * gst/elements/gsttypefindelement.c:
20148         (gst_type_find_element_activate):
20149           Remove FIXME comment now that the found caps
20150           are unreffed.
20151
20152 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
20153
20154         * gst/gstregistryxml.c: (load_feature):
20155           Add another GST_STR_NULL instance
20156
20157 2005-11-02  Edward Hervey  <edward@fluendo.com>
20158
20159         * gst/gstpad.c: (handle_pad_block):
20160         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
20161         
20162 2005-11-02  Wim Taymans  <wim@fluendo.com>
20163
20164         * gst/gstbin.c:
20165         Fix typo in docs.
20166
20167         * gst/gstelement.c: (gst_element_commit_state):
20168         Remove unused value.
20169
20170         * gst/gstiterator.c:
20171         Mention that the returned element is reffed in the docs.
20172
20173 2005-11-02  Wim Taymans  <wim@fluendo.com>
20174
20175         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
20176         (gst_pad_push), (gst_pad_push_event):
20177         Unlock blocked pads when they are flushed.
20178
20179 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
20180
20181         * docs/README:
20182         * docs/gst/gstreamer-sections.txt:
20183         * gst/gstbin.c:
20184           doc updates
20185         * gst/gstregistry.c: (gst_registry_scan_path_level):
20186           fix for a nasty little missed situation where an installed plug-in
20187           which was in the cache did not get overridden by an uninstalled one
20188           which was earlier in the plugin path because the newly created plugin
20189           for the uninstalled one (not in the registry) didn't get its
20190           ->registered set to TRUE
20191
20192 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
20193
20194         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
20195         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
20196         (gst_collectpads_is_active), (gst_collectpads_collect),
20197         (gst_collectpads_collect_range), (gst_collectpads_start),
20198         (gst_collectpads_stop), (gst_collectpads_peek),
20199         (gst_collectpads_pop), (gst_collectpads_available),
20200         (gst_collectpads_read), (gst_collectpads_flush):
20201           Guard public API with assertions.
20202         
20203         * gst/gstpad.c:
20204           Fix docs for gst_pad_set_link_function().
20205
20206 2005-11-02  Johan Dahlin  <johan@gnome.org>
20207
20208         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
20209         Unref found_caps after we used it.
20210
20211 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
20212
20213         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
20214           Don't try to ref NULL.
20215
20216 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
20217
20218         * win32/common/config.h.in:
20219           provide a GST_FUNCTION that just gives a string for now
20220
20221 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
20222
20223         * win32/common/gstenumtypes.c: (register_gst_object_flags),
20224         (gst_object_flags_get_type), (register_gst_bin_flags),
20225         (gst_bin_flags_get_type), (register_gst_buffer_flag),
20226         (gst_buffer_flag_get_type), (register_gst_bus_flags),
20227         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
20228         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
20229         (gst_clock_return_get_type), (register_gst_clock_entry_type),
20230         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
20231         (gst_clock_flags_get_type), (register_gst_state),
20232         (gst_state_get_type), (register_gst_state_change_return),
20233         (gst_state_change_return_get_type), (register_gst_state_change),
20234         (gst_state_change_get_type), (register_gst_element_flags),
20235         (gst_element_flags_get_type), (register_gst_core_error),
20236         (gst_core_error_get_type), (register_gst_library_error),
20237         (gst_library_error_get_type), (register_gst_resource_error),
20238         (gst_resource_error_get_type), (register_gst_stream_error),
20239         (gst_stream_error_get_type), (register_gst_event_type),
20240         (gst_event_type_get_type), (register_gst_seek_type),
20241         (gst_seek_type_get_type), (register_gst_seek_flags),
20242         (gst_seek_flags_get_type), (register_gst_format),
20243         (gst_format_get_type), (register_gst_index_certainty),
20244         (gst_index_certainty_get_type), (register_gst_index_entry_type),
20245         (gst_index_entry_type_get_type),
20246         (register_gst_index_lookup_method),
20247         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
20248         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
20249         (gst_index_resolver_method_get_type), (register_gst_index_flags),
20250         (gst_index_flags_get_type), (register_gst_debug_level),
20251         (gst_debug_level_get_type), (register_gst_debug_color_flags),
20252         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
20253         (gst_iterator_result_get_type), (register_gst_iterator_item),
20254         (gst_iterator_item_get_type), (register_gst_message_type),
20255         (gst_message_type_get_type), (register_gst_mini_object_flags),
20256         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
20257         (gst_pad_link_return_get_type), (register_gst_flow_return),
20258         (gst_flow_return_get_type), (register_gst_activate_mode),
20259         (gst_activate_mode_get_type), (register_gst_pad_direction),
20260         (gst_pad_direction_get_type), (register_gst_pad_flags),
20261         (gst_pad_flags_get_type), (register_gst_pad_presence),
20262         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
20263         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
20264         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
20265         (gst_plugin_error_get_type), (register_gst_plugin_flags),
20266         (gst_plugin_flags_get_type), (register_gst_rank),
20267         (gst_rank_get_type), (register_gst_query_type),
20268         (gst_query_type_get_type), (register_gst_tag_merge_mode),
20269         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
20270         (gst_tag_flag_get_type), (register_gst_task_state),
20271         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
20272         (gst_alloc_trace_flags_get_type),
20273         (register_gst_type_find_probability),
20274         (gst_type_find_probability_get_type), (register_gst_uri_type),
20275         (gst_uri_type_get_type), (register_gst_parse_error),
20276         (gst_parse_error_get_type):
20277         * win32/common/gstversion.h:
20278           update win32 copies
20279
20280 2005-11-01  Luca Ognibene  <luogni@tin.it>
20281
20282         * gst/gst.c:
20283           fix docs. popt is dead, long live GOption.
20284
20285 2005-10-31  Wim Taymans  <wim@fluendo.com>
20286
20287         * gst/gstbuffer.h:
20288         Small doc fix.
20289
20290 2005-10-31  Andy Wingo  <wingo@pobox.com>
20291
20292         * Boo!
20293
20294         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
20295
20296         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
20297         need to serialize property notifications on GLib 2.8. GLib 2.6 has
20298         the possibility of deadlocks here if code calling notify() or
20299         set() has a lock that can be taken in another notify handler (ABBA
20300         with class lock and e.g. python GIL state lock).
20301
20302 2005-10-28  Julien MOUTTE  <julien@moutte.net>
20303
20304         * gst/gstbus.c: Doc updates.
20305
20306 2005-10-28  Wim Taymans  <wim@fluendo.com>
20307
20308         * docs/design/part-TODO.txt:
20309         * gst/gstiterator.c:
20310         * gst/gstsystemclock.c:
20311         * gst/gstsystemclock.h:
20312         Doc updates.
20313
20314 2005-10-28  Edward Hervey  <edward@fluendo.com>
20315
20316         * docs/gst/gstreamer-docs.sgml:
20317         * docs/gst/gstreamer-sections.txt:
20318         the GstURIType documentation page is private, it only defines GstURIType
20319         which should be defined in the GstURIHandler page
20320         
20321 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20322
20323         * gst/gstbin.c: (gst_bin_class_init):
20324         * gst/gstbin.h:
20325         * gst/gstutils.c:
20326         Documentation updates.
20327
20328 2005-10-28  Wim Taymans  <wim@fluendo.com>
20329
20330         * docs/gst/gstreamer-sections.txt:
20331         * gst/gstclock.c:
20332         * gst/gstclock.h:
20333         Documented the clocks.
20334
20335 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
20336
20337         * docs/gst/gstreamer-sections.txt:
20338           move some macros to private sections
20339         * gst/gstminiobject.c:
20340         * gst/gstminiobject.h:
20341           add descriptions provided by ds and some more
20342         * gst/gstpad.h:
20343           mark macro as to be removed
20344
20345 2005-10-28  Wim Taymans  <wim@fluendo.com>
20346
20347         * docs/design/part-TODO.txt:
20348         Add an item to TODO.
20349
20350         * gst/gstiterator.c: (gst_iterator_fold),
20351         (gst_iterator_find_custom):
20352         * gst/gstiterator.h:
20353         Add iterator docs.
20354
20355 2005-10-28  Wim Taymans  <wim@fluendo.com>
20356
20357         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
20358         (gst_base_transform_init):
20359         Don't leak class.
20360
20361         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
20362         An EOS event marks the queue as completely filled.
20363
20364 2005-10-27  Wim Taymans  <wim@fluendo.com>
20365
20366         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20367         (gst_base_sink_do_sync), (gst_base_sink_get_position):
20368         Some more debugging.
20369
20370         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
20371         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
20372         (gst_base_transform_event), (gst_base_transform_getrange),
20373         (gst_base_transform_chain):
20374         * gst/base/gstbasetransform.h:
20375         Fix debugging,
20376         Protect transform and concurrent buffer alloc with a new lock.
20377         Try not to break ABI/API.
20378
20379 2005-10-27  Wim Taymans  <wim@fluendo.com>
20380
20381         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20382         (gst_base_src_init), (gst_base_src_query),
20383         (gst_base_src_default_newsegment),
20384         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20385         (gst_base_src_send_event), (gst_base_src_event_handler),
20386         (gst_base_src_pad_get_range), (gst_base_src_loop),
20387         (gst_base_src_unlock), (gst_base_src_default_negotiate),
20388         (gst_base_src_start), (gst_base_src_deactivate),
20389         (gst_base_src_activate_push), (gst_base_src_change_state):
20390         Move some stuff around and cleanup things.
20391
20392 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
20393
20394         * gst/base/gstbasesrc.c: (gst_base_src_query):
20395           Add missing break statements.
20396
20397 2005-10-27  Wim Taymans  <wim@fluendo.com>
20398
20399         * check/gst/gstbin.c: (GST_START_TEST):
20400         An extra refcount is taken in basesrc.
20401
20402         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20403         (gst_base_src_get_range), (gst_base_src_pad_get_range),
20404         (gst_base_src_loop):
20405         Small cleanups, check for flushing after being unlocked from the 
20406         LIVE_LOCK. take refcounts correctly (not yet everywhere).
20407         Don't send out EOS when going to READY.
20408
20409 2005-10-27  Wim Taymans  <wim@fluendo.com>
20410
20411         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20412         (gst_base_sink_get_position):
20413         Some more debug.
20414
20415         * gst/gstbin.c: (message_check), (bin_replace_message),
20416         (bin_remove_messages), (is_eos), (gst_bin_add_func),
20417         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
20418         (bin_query_duration_init), (bin_query_duration_fold),
20419         (bin_query_duration_done), (bin_query_generic_fold),
20420         (gst_bin_query):
20421         * tools/gst-launch.c: (main):
20422         Remove old option.
20423
20424 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
20425
20426         * examples/controller/audio-example.c: (main):
20427         * examples/queue/queue.c: (event_loop):
20428         * gst/base/gstbasetransform.h:
20429         * gst/gstelement.c: (gst_element_send_event):
20430         * gst/gstevent.h:
20431         * gst/gstpad.c: (gst_pad_send_event):
20432           fixing examples
20433           fixing docs typos
20434           changing log priority in error situations
20435
20436 2005-10-25  Wim Taymans  <wim@fluendo.com>
20437
20438         * gst/gstbin.c: (message_check), (bin_replace_message),
20439         (bin_remove_messages), (is_eos), (gst_bin_add_func),
20440         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
20441         (bin_query_duration_init), (bin_query_duration_fold),
20442         (bin_query_duration_done), (bin_query_generic_fold),
20443         (gst_bin_query):
20444         Some doc and debug updates.
20445         Cache previously requested query DURATION for speed. invalidate
20446         cached duration if element posts a DURATION message.
20447
20448 2005-10-25  Wim Taymans  <wim@fluendo.com>
20449
20450         * docs/design/part-TODO.txt:
20451         Update TODO.
20452
20453         * gst/gstbin.c: (message_check), (bin_replace_message),
20454         (bin_remove_messages), (is_eos), (gst_bin_add_func),
20455         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
20456         (bin_query_duration_init), (bin_query_duration_fold),
20457         (bin_query_duration_done), (bin_query_generic_fold),
20458         (gst_bin_query):
20459         Handle SEGMENT_START/DONE messages correctly.
20460         More evolved query algorithm that handles duration queries
20461         correctly.
20462
20463         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
20464         (gst_element_get_state_func), (gst_element_abort_state),
20465         (gst_element_commit_state), (gst_element_lost_state):
20466         Some more debugging.
20467
20468         * gst/gstmessage.h:
20469         Added doc.
20470
20471 2005-10-25  Wim Taymans  <wim@fluendo.com>
20472
20473         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
20474         Don't use invalid stream_time.
20475
20476         * gst/gstevent.c: (gst_event_new_newsegment):
20477         stream_time in newsegment cannot be undefined.
20478
20479 2005-10-24  Wim Taymans  <wim@fluendo.com>
20480
20481         * gst/gstbus.c:
20482         Doc fix.
20483
20484         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20485         (gst_queue_loop):
20486         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
20487
20488 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
20489
20490         * docs/libs/tmpl/gstdparam.sgml:
20491         * docs/libs/tmpl/gstdplinint.sgml:
20492         * docs/libs/tmpl/gstdpman.sgml:
20493         * docs/libs/tmpl/gstdpsmooth.sgml:
20494         * docs/libs/tmpl/gstunitconvert.sgml:
20495           these are obsolete
20496
20497 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20498
20499         * configure.ac:
20500           back to HEAD
20501
20502 === release 0.9.4 ===
20503
20504 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20505
20506         * configure.ac:
20507           releasing 0.9.4, "Tyrannosaurus Rex"
20508
20509 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
20510
20511         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
20512         (gst_file_sink_get_current_offset):
20513           Use fseeko() and ftello() if available. When falling back on
20514           lseek() to get the current offset, fflush() first to make sure
20515           everything is up-to-date and we get the right offset.
20516
20517 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20518
20519         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20520         * gst/base/gstbasesrc.c: (gst_base_src_loop):
20521         * gst/gsterror.c: (_gst_stream_errors_init):
20522         * gst/gsterror.h:
20523         * gst/gstqueue.c: (gst_queue_loop):
20524         * po/POTFILES.in:
20525           remove prematurely added error category and clean up the instances
20526
20527 2005-10-21  Wim Taymans  <wim@fluendo.com>
20528
20529         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20530         (gst_base_sink_get_position), (gst_base_sink_query),
20531         (gst_base_sink_change_state):
20532         Simply set the right flag when going to playing, that's all
20533         we need to do instead of calling a function inside the object
20534         lock (that could take the lock as well and deadlock)
20535
20536 2005-10-21  Wim Taymans  <wim@fluendo.com>
20537
20538         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
20539         (gst_base_src_loop):
20540         Don't warn, the peer element knows what to do best when
20541         the seek failed, it might try something else.
20542
20543 2005-10-21  Wim Taymans  <wim@fluendo.com>
20544
20545         * gst/base/gstbasesrc.c: (gst_base_src_init),
20546         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
20547         Fix seeking.
20548
20549 2005-10-21  Wim Taymans  <wim@fluendo.com>
20550
20551         * docs/design/part-segments.txt:
20552         More docs.
20553
20554         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
20555         Correctly set caps, even on the subbufer.
20556
20557 2005-10-21  Wim Taymans  <wim@fluendo.com>
20558
20559         * docs/gst/gstreamer-docs.sgml:
20560         * docs/gst/gstreamer-sections.txt:
20561         * gst/gstelement.h:
20562         * gst/gstevent.c:
20563         * gst/gstevent.h:
20564         * gst/gstmessage.h:
20565         * gst/gstpad.h:
20566         * gst/gstparse.h:
20567         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
20568         * gst/gsttask.h:
20569         * gst/gstutils.c:
20570         * gst/gstutils.h:
20571         And 2% more doc coverage.
20572
20573 2005-10-21  Andy Wingo  <wingo@pobox.com>
20574
20575         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
20576         position reporting.
20577
20578 2005-10-20  Wim Taymans  <wim@fluendo.com>
20579
20580         * gst/gsterror.c: (gst_error_get_message):
20581         * gst/gstparse.h:
20582         * gst/gstquery.h:
20583         * gst/gststructure.c:
20584         * gst/gsttrace.c:
20585         * gst/gstutils.c:
20586         More docs.
20587
20588 2005-10-20  Wim Taymans  <wim@fluendo.com>
20589
20590         * gst/gstbuffer.h:
20591         * gst/gstpad.c:
20592         * gst/gstparse.c:
20593         Another 1% more coverage.
20594
20595 2005-10-20  Wim Taymans  <wim@fluendo.com>
20596
20597         * docs/gst/gstreamer-sections.txt:
20598         * gst/gstelement.c: (gst_element_get_state_func),
20599         (gst_element_abort_state), (gst_element_commit_state),
20600         (gst_element_lost_state):
20601         * gst/gstevent.h:
20602         * gst/gstquery.c: (gst_query_set_position),
20603         (gst_query_parse_position), (gst_query_set_duration),
20604         (gst_query_parse_duration), (gst_query_new_convert):
20605         * gst/gstutils.c:
20606         Yay! 1% more docs coverage.
20607
20608 2005-10-20  Wim Taymans  <wim@fluendo.com>
20609
20610         * gst/gstpad.h:
20611         * gst/gstquery.c: (gst_query_set_position),
20612         (gst_query_parse_position), (gst_query_set_duration),
20613         (gst_query_parse_duration), (gst_query_new_convert):
20614         * gst/gstquery.h:
20615         * gst/gstutils.c: (gst_element_query_convert):
20616         * gst/gstutils.h:
20617         Docs and consistency fixes.
20618
20619 2005-10-20  Wim Taymans  <wim@fluendo.com>
20620
20621         * gst/gsttask.c:
20622         * gst/gsttask.h:
20623         More docs.
20624
20625 2005-10-20  Wim Taymans  <wim@fluendo.com>
20626
20627         * gst/gstbin.c: (message_check), (bin_replace_message),
20628         (bin_remove_messages), (is_eos), (gst_bin_add_func),
20629         (update_degree), (gst_bin_sort_iterator_next),
20630         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
20631         Reworked the message handling a bit, cache the messages instead of
20632         only the senders. alows us to do more in the future.
20633
20634 2005-10-20  Wim Taymans  <wim@fluendo.com>
20635
20636         * docs/design/part-TODO.txt:
20637         Update TODO
20638
20639         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
20640         (gst_base_sink_query):
20641         Don't use clock time to report position when in EOS.
20642
20643 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
20644
20645         * tools/gst-inspect.c: (print_interfaces),
20646         (print_element_properties_info), (print_element_info):
20647           Fix interface output with gst-inspect -a; don't print
20648           newlines after double/float properties.
20649
20650 2005-10-20  Wim Taymans  <wim@fluendo.com>
20651
20652         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
20653         (gst_base_sink_query):
20654         Speed up current position calculation.
20655
20656         * gst/base/gstbasesrc.c: (gst_base_src_query),
20657         (gst_base_src_default_newsegment):
20658         Correctly set stream position in newsegment.
20659
20660         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
20661         (update_degree), (gst_bin_sort_iterator_next),
20662         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
20663         * gst/gstmessage.c: (gst_message_new_custom):
20664         Clean up debugging info
20665
20666         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
20667         (gst_queue_loop), (gst_queue_handle_src_query):
20668         Pause task faster.
20669
20670 2005-10-19  Wim Taymans  <wim@fluendo.com>
20671
20672         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20673         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
20674         Fix query handling again.
20675
20676 2005-10-19  Wim Taymans  <wim@fluendo.com>
20677
20678         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20679         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
20680         * gst/base/gstbasesrc.c: (gst_base_src_query):
20681         * gst/elements/gstfilesink.c: (gst_file_sink_query):
20682         * gst/elements/gsttypefindelement.c:
20683         (gst_type_find_handle_src_query), (find_element_get_length),
20684         (gst_type_find_element_activate):
20685         API change fix.
20686
20687         * gst/gstquery.c: (gst_query_new_position),
20688         (gst_query_set_position), (gst_query_parse_position),
20689         (gst_query_new_duration), (gst_query_set_duration),
20690         (gst_query_parse_duration), (gst_query_set_segment),
20691         (gst_query_parse_segment):
20692         * gst/gstquery.h:
20693         Bundling query position/duration is not a good idea since duration
20694         does not change much and we don't want to recalculate it for every
20695         position query, so they are separated again..
20696         Base value in segment query is not needed.
20697
20698         * gst/gstqueue.c: (gst_queue_handle_src_query):
20699         * gst/gstutils.c: (gst_element_query_position),
20700         (gst_element_query_duration), (gst_pad_query_position),
20701         (gst_pad_query_duration):
20702         * gst/gstutils.h:
20703         Updates for query API change.
20704         Added some docs here and there.
20705
20706 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20707
20708         * check/gst/gstbin.c: (GST_START_TEST):
20709         * check/gst/gstghostpad.c: (GST_START_TEST):
20710         * check/pipelines/cleanup.c: (GST_START_TEST):
20711           wait on thread to die so we can check refcount correctly
20712
20713 2005-10-18  Wim Taymans  <wim@fluendo.com>
20714
20715         * check/pipelines/stress.c: (GST_START_TEST):
20716         Make check a little more time consuming.
20717
20718 2005-10-18  Wim Taymans  <wim@fluendo.com>
20719
20720         * check/Makefile.am:
20721         * check/pipelines/stress.c: (GST_START_TEST),
20722         (simple_launch_lines_suite), (main):
20723         Small state change torture test.
20724
20725         * docs/design/part-states.txt:
20726         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20727         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
20728         (gst_base_sink_change_state):
20729         Never take state lock from streaming thread, clean up ugly
20730         hacks. Unfortunatly core does not yet support nice ways to
20731         async commit state.
20732         
20733         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
20734         (bin_bus_handler):
20735         Start state recalc if a STATE_DIRTY message is posted, but only
20736         on the toplevel bin.
20737
20738         * gst/gstelement.c: (gst_element_sync_state_with_parent),
20739         (gst_element_get_state_func), (gst_element_abort_state),
20740         (gst_element_commit_state), (gst_element_lost_state),
20741         (gst_element_set_state_func), (gst_element_change_state):
20742         * gst/gstelement.h:
20743         State variables are now protected with the LOCK, the state
20744         lock is only used to serialize _set_state().
20745
20746 2005-10-18  Wim Taymans  <wim@fluendo.com>
20747
20748         * check/gst/gstbin.c: (GST_START_TEST):
20749         * check/gst/gstmessage.c: (GST_START_TEST):
20750         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
20751         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
20752         (bin_bus_handler):
20753         * gst/gstelement.c: (gst_element_abort_state),
20754         (gst_element_commit_state), (gst_element_lost_state):
20755         * gst/gstmessage.c: (gst_message_new_state_changed),
20756         (gst_message_new_state_dirty), (gst_message_new_segment_start),
20757         (gst_message_new_segment_done), (gst_message_new_duration),
20758         (gst_message_parse_state_changed),
20759         (gst_message_parse_segment_start),
20760         (gst_message_parse_segment_done), (gst_message_parse_duration):
20761         * gst/gstmessage.h:
20762         * tools/gst-launch.c: (event_loop):
20763         Seriously, this is better than a previous commit as we only need
20764         to notify the fact that an element changed state in a streaming
20765         thread, marking the state of the parents dirty, hence the 
20766         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
20767         message.
20768
20769 2005-10-18  Wim Taymans  <wim@fluendo.com>
20770
20771         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
20772         (gst_bin_recalc_func):
20773         * gst/gstelement.c: (gst_element_set_clock),
20774         (gst_element_abort_state), (gst_element_lost_state):
20775         Cleanups, prepare for state change fixes.
20776
20777 2005-10-18  Wim Taymans  <wim@fluendo.com>
20778
20779         * gst/gstbin.h:
20780         * gst/gstelement.c: (gst_element_class_init),
20781         (gst_element_set_state), (gst_element_set_state_func):
20782         * gst/gstelement.h:
20783         Pending ABI changes.
20784         GThreadPool in GstBinClass to monitor async state changes.
20785         state_cookie in GstElement to detect concurrent gst/set state.
20786         set_state is now virtual too in case a very complicated element
20787         has to be constructed.
20788
20789 2005-10-18  Wim Taymans  <wim@fluendo.com>
20790
20791         * check/gst/gstbin.c: (GST_START_TEST):
20792         * check/gst/gstmessage.c: (GST_START_TEST):
20793         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
20794         * gst/gstbin.c: (bin_bus_handler):
20795         * gst/gstelement.c: (gst_element_commit_state),
20796         (gst_element_lost_state):
20797         * gst/gstmessage.c: (gst_message_new_state_changed),
20798         (gst_message_new_segment_start), (gst_message_new_segment_done),
20799         (gst_message_new_duration), (gst_message_parse_state_changed),
20800         (gst_message_parse_segment_start),
20801         (gst_message_parse_segment_done), (gst_message_parse_duration):
20802         * gst/gstmessage.h:
20803         * tools/gst-launch.c: (event_loop):
20804         Make messages future proof.
20805         state-change gets a flag if it was a message comming from the
20806         streaming thread.
20807         segment-start/stop can also be specified in other formats.
20808         A message to notify an app that a pipeline changed playback 
20809         duration.
20810         Also fix a GstMessage leak in -launch
20811
20812 2005-10-18  Andy Wingo  <wingo@pobox.com>
20813
20814         * gst/gstelement.c (gst_element_dispose): More helpful message.
20815
20816 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20817
20818         reviewed by: <delete if not using a buddy>
20819
20820         * common/gtk-doc.mak:
20821
20822 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20823
20824         * gst/gstregistry.c: (gst_registry_scan_path_level):
20825           unref a plug-in we get that was already initialized
20826
20827 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
20828
20829         * docs/gst/gstreamer-sections.txt:
20830         * docs/libs/gstreamer-libs-sections.txt:
20831         * gst/gstelement.h:
20832           add new api entries
20833           hide internal macro
20834
20835 2005-10-17  Andy Wingo  <wingo@pobox.com>
20836
20837         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
20838         cleanup.
20839
20840         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
20841
20842         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
20843
20844         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
20845         (gst_element_get_state_func): Better debug message.
20846         (gst_element_commit_state): s/INFO/DEBUG/.
20847         (gst_element_lost_state, gst_element_change_state): 
20848
20849         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
20850         (gst_message_new_custom): s/INFO/LOG/.
20851
20852 2005-10-17  Michael Smith <msmith@fluendo.com>
20853
20854         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20855           Check if end time is valid using end time, not start time.
20856
20857 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
20858
20859         * check/gst-libs/controller.c: (GST_START_TEST),
20860         (gst_controller_suite):
20861         * libs/gst/controller/gstcontroller.c:
20862         (gst_controlled_property_set_interpolation_mode):
20863         * libs/gst/controller/gstcontroller.h:
20864         * libs/gst/controller/gstinterpolation.c:
20865         * testsuite/controller/.cvsignore:
20866         * testsuite/controller/Makefile.am:
20867         * testsuite/controller/interpolator.c:
20868           merge controller testsuites
20869           fix broken tests
20870           remove mem-chunk from docs
20871
20872 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20873
20874         * gst/gstmemchunk.c:
20875         * gst/gstmemchunk.h:
20876         * gst/gsttrashstack.c:
20877         * gst/gsttrashstack.h:
20878           out.  get out.  you're fired.  to the Attic !
20879
20880 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20881
20882         * gst/gstcaps.c: (gst_caps_intersect):
20883           fix signedness issues in a (hopefully) correct way
20884         * gst/gstelement.c: (gst_element_pads_activate):
20885           some debugging
20886         * gst/gstobject.c: (gst_object_set_parent):
20887           some debugging
20888
20889 2005-10-17  Julien MOUTTE  <julien@moutte.net>
20890
20891         * gst/gstvalue.h: Fix prototypes.
20892
20893 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20894
20895         * docs/gst/gstreamer-sections.txt:
20896         * gst/gst.c: (gst_version_string):
20897         * gst/gst.h:
20898         * gst/gstversion.h.in:
20899         * win32/common/libgstreamer.def:
20900           add gst_version_string ()
20901
20902 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20903
20904         * configure.ac:
20905           clean up further
20906         * gst/gst.c: (init_post):
20907         * win32/common/config.h.in:
20908           it's PLUGINDIR now
20909         * gst/gstcaps.c: (gst_caps_intersect):
20910           use gint64, the range could be bigger than a guint
20911
20912 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20913
20914         * gst/gstclock.h:
20915           document potential problem in 2038
20916
20917 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20918
20919         * gst/gstcaps.c: (gst_caps_intersect):
20920           Fix guint j diving under 0
20921
20922 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20923
20924         * configure.ac:
20925         * win32/common/config.h:
20926         * win32/common/config.h.in:
20927           check for process.h, declares getpid() on Windows
20928         * gst/gstinfo.c:
20929           include process.h if we have it
20930         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
20931         * gst/gstmemchunk.h:
20932           fix signedness issues
20933         * win32/common/libgstreamer.def:
20934           fix get_type's
20935
20936 2005-10-16  Julien MOUTTE  <julien@moutte.net>
20937
20938         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
20939         fix. Because of unsigned ints, caps intersection was going nuts and
20940         trying to access structures with G_MAXUINT index. That fixes
20941         videotestsrc ! ffmpegcolorspace ! fakesink
20942         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
20943         consistency.
20944
20945 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20946
20947         * configure.ac:
20948           use the gettext macro
20949         * gst/elements/gstelements.c:
20950         * gst/gst.c:
20951         * gst/indexers/gstindexers.c:
20952           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
20953         * win32/common/config.h:
20954           updated config.h
20955         * win32/common/config.h.in:
20956           add the template to generate config.h
20957         * win32/common/gstenumtypes.c:
20958         * win32/common/gstversion.h:
20959           updated copies
20960
20961 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20962
20963         * gst/gst.c: (gst_version):
20964         * gst/gstversion.h.in:
20965           add the nano
20966
20967 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
20968
20969         * gst/gstevent.h:
20970           Oops, add missing closing bracket.
20971
20972 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20973
20974         * configure.ac:
20975           use common m4's for argument checking
20976
20977 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
20978
20979         * docs/gst/gstreamer-sections.txt:
20980         * gst/gstevent.h:
20981           Add GST_EVENT_TYPE_NAME() macro.
20982
20983 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20984
20985         * gst/gstinfo.c:
20986         * gst/gstpluginfeature.c:
20987         * gst/gsttask.c:
20988           privatize more symbols
20989
20990 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20991
20992         * configure.ac:
20993           add srcdir, builddir includes to GST_ALL_CFLAGS, since
20994           everything that uses GStreamer API should have the includes
20995
20996 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20997
20998         * docs/gst/gstreamer-sections.txt:
20999         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
21000         * gst/gstvalue.h:
21001           give each value a _get_type, removes the DATA exports
21002
21003 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21004
21005         * gst/gst.c:
21006         * gst/gst.h:
21007           remove _gst_registry_auto_load, not used anymore
21008         * gst/gstbin.c: (gst_bin_get_type):
21009         * gst/gstbin.h:
21010         * gst/gstelement.c: (gst_element_get_type):
21011         * gst/gstelement.h:
21012         * gst/gstobject.c: (gst_object_get_type):
21013         * gst/gstobject.h:
21014         * gst/gstpad.c: (gst_pad_get_type):
21015         * gst/gstpad.h:
21016           make _get_type functions similar, fixes data export from library
21017
21018 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21019
21020         * configure.ac:
21021           correctly make conditionals
21022         * gst/elements/Makefile.am:
21023         * gst/elements/gstelements.c:
21024           fix typo causing fdsrc not to build
21025
21026 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21027
21028         * testsuite/Makefile.am:
21029         * testsuite/bytestream/.cvsignore:
21030         * testsuite/bytestream/Makefile.am:
21031         * testsuite/bytestream/filepadsink.c:
21032         * testsuite/bytestream/gstbstest.c:
21033         * testsuite/bytestream/test1.c:
21034         * testsuite/bytestream/testfile1:
21035         * testsuite/caps/normalisation.c:
21036         * testsuite/caps/random.c: (main):
21037         * testsuite/cleanup/.cvsignore:
21038         * testsuite/cleanup/Makefile.am:
21039         * testsuite/cleanup/cleanup1.c:
21040         * testsuite/cleanup/cleanup2.c:
21041         * testsuite/cleanup/cleanup3.c:
21042         * testsuite/cleanup/cleanup4.c:
21043         * testsuite/cleanup/cleanup5.c:
21044         * testsuite/controller/interpolator.c:
21045         * testsuite/debug/printf_extension.c: (main):
21046         * testsuite/elements/tee.c:
21047         * testsuite/negotiation/.cvsignore:
21048         * testsuite/negotiation/Makefile.am:
21049         * testsuite/negotiation/pad_link.c:
21050         * testsuite/pad/Makefile.am:
21051         * testsuite/pad/chainnopull.c:
21052         * testsuite/pad/getnopush.c:
21053         * testsuite/pad/link.c:
21054         * testsuite/refcounting/sched.c: (create_pipeline):
21055         * testsuite/registry/Makefile.am:
21056         * testsuite/registry/gst-print-formats.c:
21057         * testsuite/schedulers/.cvsignore:
21058         * testsuite/schedulers/142183-2.c:
21059         * testsuite/schedulers/142183.c:
21060         * testsuite/schedulers/143777-2.c:
21061         * testsuite/schedulers/143777.c:
21062         * testsuite/schedulers/147713.c:
21063         * testsuite/schedulers/147819.c:
21064         * testsuite/schedulers/147894-2.c:
21065         * testsuite/schedulers/147894.c:
21066         * testsuite/schedulers/Makefile.am:
21067         * testsuite/schedulers/group_link.c:
21068         * testsuite/schedulers/queue_link.c:
21069         * testsuite/schedulers/relink.c:
21070         * testsuite/schedulers/unlink.c:
21071         * testsuite/schedulers/unref.c:
21072         * testsuite/schedulers/useless_iteration.c:
21073         * testsuite/states/bin.c:
21074           clean out/remove some stuff from the testsuite directories
21075
21076 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21077
21078         * configure.ac:
21079           check for some headers
21080         * gst/elements/Makefile.am:
21081         * gst/elements/gstelements.c:
21082           don't compile fdsrc without sys/socket.h
21083         * gst/indexers/Makefile.am:
21084         * gst/indexers/gstindexers.c: (plugin_init):
21085           don't compile fileindex without mmap
21086
21087 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
21088
21089         * configure.ac:
21090           reorganize
21091           clean up
21092           document more
21093           remove cruft
21094         * check/Makefile.am:
21095         * docs/gst/Makefile.am:
21096         * examples/helloworld/Makefile.am:
21097         * gst/Makefile.am:
21098         * gst/base/Makefile.am:
21099         * gst/check/Makefile.am:
21100         * gst/elements/Makefile.am:
21101         * gst/indexers/Makefile.am:
21102         * gst/parse/Makefile.am:
21103         * libs/gst/controller/Makefile.am:
21104         * libs/gst/dataprotocol/Makefile.am:
21105         * examples/helloworld/helloworld.c: (event_loop):
21106           compile fixes, though it's not being compiled currently
21107
21108 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
21109
21110         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
21111           Add some simple tests for the new taglist date API.
21112
21113 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
21114
21115         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
21116         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
21117           Beautify 'last-message' output: print 'none' for buffer timestamps
21118           and durations if none is set; improve alignment with next messages.
21119
21120 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
21121
21122         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
21123         * gst/gstpluginfeature.h:
21124         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
21125         * gst/gstregistry.h:
21126         * docs/gst/gstreamer-sections.txt:
21127           Add new API to check plugin feature version requirements.
21128
21129         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
21130           Some basic tests for the above.         
21131
21132 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21133
21134         * gst/gststructure.c: (gst_structure_to_string):
21135           guard against NULL printf - happens when for example
21136           a message structure with GstClock gets serialized
21137
21138 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
21139
21140         * gst/base/gstcollectpads.c: (gst_collectpads_event):
21141           Fix presumable copy'n'pasto.
21142
21143 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21144
21145         * gst/elements/gstfakesrc.h:
21146         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
21147         * gst/elements/gsttypefindelement.c:
21148           fix some signedness
21149         * gst/elements/gstfilesink.c: (gst_file_sink_render):
21150           I wonder if this could actually write +2GB files before
21151
21152 2005-10-13  Andy Wingo  <wingo@pobox.com>
21153
21154         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
21155         Fix Timmeke Waymans bug.
21156         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
21157         string of the proper length to gst_caps_from_string. There's a
21158         potential for, before this fix, that this could cause someone
21159         connecting over the network to cause a segfault if the payload is
21160         not NUL-terminated.
21161
21162 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
21163
21164         * docs/design/draft-push-pull.txt:
21165         * docs/design/part-overview.txt:
21166         * docs/random/TODO-pre-0.9:
21167         * docs/random/old/ChangeLog.gstreamer:
21168         * gst/base/gstpushsrc.c:
21169         * gst/gstclock.c:
21170           fixed typos
21171
21172 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21173
21174         * gst/glib-compat.c: (gst_flags_get_first_value):
21175         * gst/glib-compat.h:
21176         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
21177         (gst_value_compare_double), (gst_value_serialize_flags):
21178           GLib 2.6 g_flags_get_first_value has a bug that triggers an
21179           infinite loop
21180
21181 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21182
21183         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21184         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21185           fix up debugging
21186         * tools/gst-launch.c: (event_loop):
21187           print out clock nicely
21188
21189 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
21190
21191         * docs/gst/gstreamer-sections.txt:
21192         * gst/gsttaglist.h:
21193         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
21194         (gst_tag_list_get_date_index):
21195           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
21196           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
21197
21198 2005-10-13  Julien MOUTTE  <julien@moutte.net>
21199
21200         * gst/base/gstcollectpads.c: (gst_collectpads_event),
21201         (gst_collectpads_chain):
21202         * gst/base/gstcollectpads.h: Handle newsegment and store informations
21203         in CollectData.
21204
21205 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
21206
21207         * docs/gst/gstreamer-sections.txt:
21208         * gst/gst.c:
21209         * gst/gsterror.h:
21210         * tools/gst-inspect.c: (main):
21211         * tools/gst-launch.c: (main):
21212         * tools/gst-run.c: (main):
21213         * tools/gst-xmlinspect.c: (main):
21214           fix GOption context leaks
21215           doc fixes
21216
21217 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21218
21219         * gst/gstbus.c:
21220           use HAVE_UNISTD_H
21221         * win32/common/config.h:
21222           update config
21223         * win32/vs6/grammar.dsp:
21224         * win32/vs6/libgstelements.dsp:
21225         * win32/vs6/libgstreamer.dsp:
21226           update vs6 files
21227
21228 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21229
21230         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21231         * gst/base/gstbasesrc.c: (gst_base_src_query):
21232           fix more guint64<->gdouble conversions
21233
21234 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21235
21236         * Makefile.am:
21237           add win32-update target
21238         * win32/common/gstconfig.h:
21239         * win32/common/gstenumtypes.c:
21240         * win32/common/gstenumtypes.h:
21241         * win32/common/gstversion.h:
21242           add files that visual studio can't generate
21243
21244 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21245
21246         * Makefile.am:
21247           add a win32-update target
21248         * configure.ac:
21249
21250 2005-10-12  Wim Taymans  <wim@fluendo.com>
21251
21252         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
21253         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
21254         * gst/gstelement.c: (gst_element_commit_state),
21255         (gst_element_set_state):
21256         Protect flags with proper lock.
21257         unref provided cached clock in dispose.
21258
21259 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
21260
21261         * gst/gst.c:
21262         * gst/gstminiobject.h:
21263         * gst/gstpad.h:
21264         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
21265           removed unused flags from miniobject
21266           doc fixes
21267
21268 2005-10-12  Wim Taymans  <wim@fluendo.com>
21269
21270         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
21271         (gst_file_sink_event), (gst_file_sink_render):
21272         Flush before seeking.
21273
21274 2005-10-12  Andy Wingo  <wingo@pobox.com>
21275
21276         * gst/gst.c (gst_init_check): Ignore unknown options, as has
21277         always been the case.
21278
21279 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
21280
21281         * check/gst/gstbin.c: (GST_START_TEST):
21282         * docs/gst/gstreamer-sections.txt:
21283         * gst/base/gstbasesink.c: (gst_base_sink_init):
21284         * gst/base/gstbasesrc.c: (gst_base_src_init),
21285         (gst_base_src_get_range), (gst_base_src_check_get_range),
21286         (gst_base_src_start), (gst_base_src_stop):
21287         * gst/base/gstbasesrc.h:
21288         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
21289         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
21290         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
21291         (bin_bus_handler):
21292         * gst/gstbin.h:
21293         * gst/gstbuffer.h:
21294         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
21295         * gst/gstbus.h:
21296         * gst/gstelement.c: (gst_element_is_locked_state),
21297         (gst_element_set_locked_state), (gst_element_commit_state),
21298         (gst_element_set_state):
21299         * gst/gstelement.h:
21300         * gst/gstindex.c: (gst_index_init):
21301         * gst/gstindex.h:
21302         * gst/gstminiobject.h:
21303         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
21304         (gst_object_set_parent):
21305         * gst/gstobject.h:
21306         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
21307         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
21308         * gst/gstpad.h:
21309         * gst/gstpadtemplate.h:
21310         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
21311         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
21312         * gst/gstpipeline.h:
21313         * gst/indexers/gstfileindex.c: (gst_file_index_load),
21314         (gst_file_index_commit):
21315         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
21316         * testsuite/pad/link.c: (gst_test_src_init),
21317         (gst_test_filter_init), (gst_test_sink_init):
21318         * testsuite/states/locked.c: (main):
21319           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
21320           moved bitshift from macro to enum definition
21321
21322 2005-10-12  Wim Taymans  <wim@fluendo.com>
21323
21324         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
21325         * gst/elements/gstfilesink.c: (gst_file_sink_event),
21326         (gst_file_sink_render):
21327         Some more debugging info.
21328
21329 2005-10-12  Wim Taymans  <wim@fluendo.com>
21330
21331         * docs/design/part-states.txt:
21332         * tools/gst-launch.c: (main):
21333         Some doc updates.
21334         Revert non-intentional change.
21335
21336 2005-10-12  Wim Taymans  <wim@fluendo.com>
21337
21338         * check/gst/gstbin.c: (GST_START_TEST):
21339         * check/gst/gstelement.c: (GST_START_TEST):
21340         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
21341         * check/gst/gstghostpad.c: (GST_START_TEST):
21342         * check/gst/gstpipeline.c: (GST_START_TEST):
21343         * check/pipelines/simple_launch_lines.c: (run_pipeline):
21344         * check/states/sinks.c: (GST_START_TEST):
21345         * gst/elements/gsttypefindelement.c: (stop_typefinding):
21346         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21347         (gst_bin_remove_func), (gst_bin_get_state_func),
21348         (gst_bin_recalc_state), (gst_bin_change_state_func),
21349         (bin_bus_handler):
21350         * gst/gstelement.c: (gst_element_get_state_func),
21351         (gst_element_get_state), (gst_element_abort_state),
21352         (gst_element_commit_state), (gst_element_set_state),
21353         (gst_element_change_state), (gst_element_change_state_func):
21354         * gst/gstelement.h:
21355         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
21356         (gst_pipeline_provide_clock_func):
21357         * gst/gstutils.c: (gst_element_link_pads_filtered):
21358         * tools/gst-launch.c: (main):
21359         * tools/gst-typefind.c: (main):
21360         Use GstClockTime in _get_state() instead of GTimeVal.
21361         Remove old code in gstutils.c
21362
21363 2005-10-12  Andy Wingo  <wingo@pobox.com>
21364
21365         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
21366         removed.
21367
21368         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
21369         there is no task. Shouldn't affect any code, as nothing in our
21370         plugins checks this return value.
21371         (gst_pad_stop_task): Also take the stream lock if the pad has no
21372         task. Docs updated.
21373
21374 2005-10-12  Wim Taymans  <wim@fluendo.com>
21375
21376         * gst/gstpad.c: (pre_activate), (post_activate),
21377         (gst_pad_activate_pull), (gst_pad_activate_push):
21378         Cleanup activation code. Reset old state if
21379         activation failed.
21380
21381 2005-10-12  Wim Taymans  <wim@fluendo.com>
21382
21383         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21384         (gst_base_sink_change_state):
21385         No need to prerol after receiving EOS.
21386
21387         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
21388         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
21389         * gst/elements/gstidentity.c: (gst_identity_event):
21390         Print events more verbosely.
21391
21392 2005-10-12  Wim Taymans  <wim@fluendo.com>
21393
21394         * check/Makefile.am:
21395         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21396         * check/states/sinks2.c:
21397         Moved sinks2 testcode in sinks check.
21398
21399         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21400         (gst_bin_remove_func), (gst_bin_recalc_state),
21401         (gst_bin_change_state_func), (bin_bus_handler):
21402         Fix potential race condition when _get_state() iterated over an
21403         ASYNC element right before it posted a state completion.
21404
21405         * gst/gstclock.h:
21406         Do proper cast here.
21407
21408         * gst/gstevent.c: (gst_event_new_newsegment),
21409         (gst_event_parse_newsegment):
21410         A playback rate of 0.0 is not allowed.
21411
21412 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21413
21414         * win32/common/config.h:
21415         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
21416         (_trewinddir), (_ttelldir), (_tseekdir):
21417         * win32/common/dirent.h:
21418         * win32/common/gtchar.h:
21419         * win32/common/libgstbase.def:
21420         * win32/common/libgstreamer.def:
21421         * win32/vs6/grammar.dsp:
21422         * win32/vs6/gst_inspect.dsp:
21423         * win32/vs6/gst_launch.dsp:
21424         * win32/vs6/gstreamer.dsw:
21425         * win32/vs6/libgstbase.dsp:
21426         * win32/vs6/libgstelements.dsp:
21427         * win32/vs6/libgstreamer.dsp:
21428           Visual Studio 6 project files, and a new common directory.
21429           Phear.
21430
21431 2005-10-11  Wim Taymans  <wim@fluendo.com>
21432
21433         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21434         (gst_base_sink_do_sync), (gst_base_sink_query),
21435         (gst_base_sink_change_state):
21436         * gst/base/gstbasesink.h:
21437         Correctly parse newsegment info.
21438
21439 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21440
21441         * gst/gst.c: (init_post):
21442           split plugin paths correctly
21443
21444 2005-10-11  Wim Taymans  <wim@fluendo.com>
21445
21446         * check/gst/gstevent.c: (GST_START_TEST):
21447         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21448         (gst_base_sink_change_state):
21449         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
21450         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21451         * gst/elements/gstfilesink.c: (gst_file_sink_event):
21452         * gst/gstevent.c: (gst_event_new_newsegment),
21453         (gst_event_parse_newsegment):
21454         * gst/gstevent.h:
21455         Added extra flag to newsegment for future API freeze.
21456         Updated check and base elements.
21457
21458 2005-10-11  Julien MOUTTE  <julien@moutte.net>
21459
21460         * gst/base/gstcollectpads.c: (gst_collectpads_init),
21461         (gst_collectpads_add_pad), (gst_collectpads_pop),
21462         (gst_collectpads_event), (gst_collectpads_chain):
21463         * gst/base/gstcollectpads.h: Handle EOS correctly.
21464
21465 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21466
21467         * tools/gst-launch.c: (main):
21468           more null protecting
21469
21470 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21471
21472         * gst/gst-i18n-lib.h:
21473           check for ENABLE_NLS, not GETTEXT_PACKAGE
21474         * gst/gstregistry.c: (gst_registry_add_plugin),
21475         (gst_registry_scan_path_level),
21476         (_gst_registry_remove_cache_plugins):
21477           protect possibly NULL strings
21478         * gst/parse/types.h:
21479           config.h already included before
21480         * tools/gst-inspect.c: (main):
21481           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
21482           check for ENABLE_NLS, not GETTEXT_PACKAGE
21483         * tools/gst-launch.c: (main):
21484           check for ENABLE_NLS, not GETTEXT_PACKAGE
21485
21486 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21487
21488         * configure.ac:
21489           if we don't have glib, fail before testing 2.8
21490         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
21491           fix a leak, should fix plugins-base testsuite
21492
21493 2005-10-11  Andy Wingo  <wingo@pobox.com>
21494
21495         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
21496         take the mode we're going to as an arg. Go head and set the mode
21497         and flushing flags now, so that if the activate function starts a
21498         thread all the flags will be in the right state.
21499         (post_activate): Renamed also. Just handle making sure streaming
21500         finishes for the deactivation case, and setting the deactivated
21501         mode.
21502         (gst_pad_set_active): Complain loudly if deactivation fails.
21503         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
21504         (gst_pad_activate_push): Adapt to pre/post_activate changes,
21505         remove the terrible hack.
21506
21507 2005-10-11  Wim Taymans  <wim@fluendo.com>
21508
21509         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
21510         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
21511         (gst_bin_recalc_state), (gst_bin_change_state_func),
21512         (gst_bin_dispose), (bin_bus_handler):
21513         * gst/gstbin.h:
21514         Prepare to make current EOS message queue more generic.
21515         Fix some typos.
21516
21517         * gst/gstevent.c: (gst_event_new_newsegment),
21518         (gst_event_parse_newsegment):
21519         * gst/gstevent.h:
21520         Rename base to stream_time.
21521
21522         * gst/gstmessage.h:
21523         Fix typo in docs.
21524
21525 2005-10-11  Wim Taymans  <wim@fluendo.com>
21526
21527         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
21528         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
21529         (gst_bin_change_state_func), (bin_bus_handler):
21530         * gst/gstbin.h:
21531         Work on proper clock selection.
21532
21533 2005-10-11  Edward Hervey  <edward@fluendo.com>
21534
21535         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
21536         * libs/gst/controller/gstcontroller.h:
21537         Added GList* version of _remove_properties() in order to be able to wrap
21538         it in bindings.
21539
21540 2005-10-11  Wim Taymans  <wim@fluendo.com>
21541
21542         * docs/design/part-states.txt:
21543         Some more docs.
21544
21545         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
21546         (gst_bin_change_state_func), (bin_bus_handler):
21547         Doc updates. Don't distribute the same clock over and over again.
21548
21549         * gst/gstclock.c:
21550         * gst/gstclock.h:
21551         Doc updates.
21552
21553         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
21554         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
21555         (gst_pad_send_event):
21556         * gst/gstpad.h:
21557         Make probe emission threadsafe again.
21558         Register quarks and move _get_name() from utils.
21559         Doc updates.
21560
21561         * gst/gstpipeline.c: (gst_pipeline_class_init),
21562         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
21563         Only redistribute the clock of it changed.
21564
21565         * gst/gstsystemclock.h:
21566         Doc updates. 
21567
21568         * gst/gstutils.c:
21569         * gst/gstutils.h:
21570         Moved the _flow_get_name() to GstPad.
21571
21572 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21573
21574         * check/gst-libs/gdp.c: (GST_START_TEST):
21575         * check/gst/gstcaps.c: (GST_START_TEST):
21576         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
21577         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
21578         (gst_dp_packet_from_caps):
21579           fix more valgrind warnings before turning up the heat
21580
21581 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21582
21583         * gst/parse/grammar.y:
21584           some cleanup before the hacking
21585
21586 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21587
21588         * gst/base/gstbasesrc.c: (gst_base_src_query):
21589           use conversions
21590         * gst/gstutils.c: (gst_guint64_to_gdouble),
21591         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
21592         * gst/gstutils.h:
21593           externalize, basesrc uses it
21594           obviously the implementation needs testing
21595
21596 2005-10-10  Wim Taymans  <wim@fluendo.com>
21597
21598         * tests/sched/Makefile.am:
21599         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
21600         (make_pipeline3), (make_pipeline4), (print_elem), (main):
21601
21602 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21603
21604         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
21605           apparently converting from guint64 to double is not implemented
21606           on MSVC
21607
21608 2005-10-10  Wim Taymans  <wim@fluendo.com>
21609
21610         * check/Makefile.am:
21611         * check/generic/states.c: (GST_START_TEST):
21612         * check/gst/gstbin.c: (GST_START_TEST):
21613         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
21614         * check/states/sinks.c: (GST_START_TEST):
21615         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
21616         (main):
21617         Check fixes, use API as stated in design docs, remove hacks.
21618
21619         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21620         (gst_base_sink_change_state):
21621         Catch stopping our task while we're shutting down.
21622
21623         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
21624         (gst_bin_remove_func), (gst_bin_get_state_func),
21625         (gst_bin_recalc_state), (gst_bin_change_state_func),
21626         (bin_bus_handler):
21627         * gst/gstbin.h:
21628         * gst/gstelement.c: (gst_element_init),
21629         (gst_element_get_state_func), (gst_element_abort_state),
21630         (gst_element_commit_state), (gst_element_lost_state),
21631         (gst_element_set_state), (gst_element_change_state),
21632         (gst_element_change_state_func):
21633         * gst/gstelement.h:
21634         New state change algorithm (see #318116)
21635
21636         * gst/gstpipeline.c: (gst_pipeline_class_init),
21637         (gst_pipeline_init), (gst_pipeline_set_property),
21638         (gst_pipeline_get_property), (do_pipeline_seek),
21639         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
21640         * gst/gstpipeline.h:
21641         Remove crude state change hacks.
21642
21643         * gst/gstutils.h:
21644         Remove crude hacks.
21645
21646         * tools/gst-launch.c: (main):
21647         Fixes for state change. Needs some more work to fully use the
21648         new stuff.
21649
21650 2005-10-10  Andy Wingo  <wingo@pobox.com>
21651
21652         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
21653
21654         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
21655         this flag, but it's not even in GLib 2.6. Odd. Hack around the
21656         issue.
21657
21658 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
21659
21660         * gst/gstiterator.c: (gst_iterator_new):
21661           Fix my previous commit: GTypes passed to gst_iterator_new()
21662           can be fundamental types.
21663
21664 2005-10-10  Wim Taymans  <wim@fluendo.com>
21665
21666         * gst/gstelement.c: (gst_element_iterate_pad_list),
21667         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
21668         (gst_element_iterate_sink_pads):
21669         Use src/sink pads lists for the respective iterators instead
21670         of filtering.
21671
21672 2005-10-10  Andy Wingo  <wingo@pobox.com>
21673
21674         Merged in popt removal + GOption addition patch from Ronald, bug
21675         #169772.
21676
21677         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
21678         GstElement macros around, remove popt-related symbols, add goption
21679         stuff.
21680
21681         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
21682         
21683         * docs/gst/Makefile.am:
21684         * docs/libs/Makefile.am: No POPT_CFLAGS.
21685         
21686         * examples/manual/Makefile.am:
21687         * docs/manual/basics-init.xml: Doc updates with an example.
21688         
21689         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
21690         (gst_init), (parse_one_option), (parse_goption_arg):
21691         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
21692         bit of hand merging and debugging to get the GOption stuff working
21693         tho.
21694         
21695         * tests/Makefile.am:
21696         * tools/Makefile.am:
21697         * tools/gst-inspect.c: (main):
21698         * tools/gst-launch.c: (main):
21699         * tools/gst-run.c: (main):
21700         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
21701
21702 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
21703
21704         * gst/gstiterator.c: (gst_iterator_new):
21705           Add assertions to make sure passed GType is likely to really
21706           be a GType (as the compiler won't catch it if the size and
21707           GType arguments get mixed up, see #318447).
21708
21709 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
21710
21711         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21712
21713         * gst/gstbin.c: (gst_bin_iterate_sorted):
21714           Pass GType and size arguments to gst_iterator_new() in the right
21715           order (maybe we should make _new() take the GType as first argument
21716           just like _new_list()?) (#318447).
21717           
21718
21719 2005-10-10  Wim Taymans  <wim@fluendo.com>
21720
21721         * gst/gstelement.c: (gst_element_finalize):
21722         And free the GStaticRecMutex too
21723
21724 2005-10-10  Andy Wingo  <wingo@pobox.com>
21725
21726         * gst/gstelement.c (gst_element_init, gst_element_finalize):
21727         Allocate and free the mutex properly.
21728
21729         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
21730         New macros.
21731         (GstElement): The state_lock is now recursive. Rebuild your
21732         plugins, suckers. Old macros adapted.
21733
21734         * docs/gst/gstreamer-sections.txt: Doc updates.
21735
21736         * gst/gstutils.h:
21737         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
21738         (g_static_rec_cond_wait): Ported from state changes patch, while
21739         we wait on bug #317802 to be solved in a well-distributed GLib.
21740
21741         * gst/gstelement.c (gst_element_change_state_func): Renamed from
21742         gst_element_change_state, variable name changes.
21743         (gst_element_change_state): Split out of gst_element_set_state in
21744         preparation for the state change merge. Doesn't pay attention to
21745         the 'transition' argument.
21746         (gst_element_set_state): Updates, hopefully purely cosmetic.
21747         (gst_element_sync_state_with_parent): MT-safety. Ported from the
21748         state change patch.
21749         (gst_element_get_state_func): Renamed from get_state, cosmetic
21750         changes.
21751
21752 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21753
21754         * gst/elements/gstelements.c:
21755         * win32/GStreamer.vcproj:
21756         * win32/config.h:
21757         * win32/dirent.c: (_tseekdir):
21758         * win32/gst-inspect.vcproj:
21759         * win32/gst-launch.vcproj:
21760         * win32/gstconfig.h:
21761         * win32/gstelements.vcproj:
21762         * win32/gstenumtypes.c: (gst_object_flags_get_type):
21763         * win32/gstreamer.def:
21764         * win32/msvc71.sln:
21765           updates for the win32 build (patch from Sebastien Moutte)
21766
21767 2005-10-10  Andy Wingo  <wingo@pobox.com>
21768
21769         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
21770         gst_bin_get_state, cleaned up (but no logic changes).
21771         (bin_element_is_sink): Comment updates.
21772         (sink_iterator_filter): Remove needless cast.
21773         (gst_bin_iterate_sinks): Doc update.
21774         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
21775         cleaned up (but no logic changes).
21776
21777         * check/states/sinks.c (test_src_sink): Cleanups from the state
21778         change patch.
21779         (test_livesrc_sink): Sync on the state.
21780
21781         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
21782         the state change patch.
21783
21784         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
21785         change patch.
21786
21787         * check/gst/gstbin.c: Merge in some style fixes and additional
21788         checks from Wim's state change patch.
21789
21790 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
21791
21792         * gst/base/gsttypefindhelper.c: (helper_find_peek),
21793         (gst_type_find_helper):
21794           Check whether we have the requested data already in our list of
21795           cached buffers before pulling a new buffer; also make the buffer
21796           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
21797
21798 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21799
21800         * gst/gstcaps.c:
21801         * gst/gstevent.c:
21802           doc updates
21803         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
21804           don't use long long, it's not portable.  Replacing with
21805           gint64 seems to work; let's hope no skeletons fall out of the closet.
21806
21807 2005-10-10  Andy Wingo  <wingo@pobox.com>
21808
21809         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
21810
21811 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
21812
21813         * docs/gst/gstreamer-sections.txt:
21814         * gst/gstevent.c:
21815         * gst/gstevent.h:
21816         * gst/gstinfo.c:
21817         * gst/gstinfo.h:
21818         * gst/gstmessage.c: (gst_message_parse_state_changed):
21819         * gst/gstpad.c:
21820         * gst/gstpad.h:
21821           more docs, fix compilation
21822
21823 2005-10-09  Philippe Khalaf <burger@speedy.org>
21824         * gst/gstmessage.c:
21825           Fixed a few forgotten variables on previous commit
21826
21827 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
21828
21829         * gst/base/gsttypefindhelper.c: (helper_find_peek):
21830           Fix evil typefind crasher: getrange() might return a short
21831           buffer at the end of a file, but gst_type_find_peek() must
21832           either return the full data as requested or NULL, but
21833           never a short buffer.
21834
21835 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21836
21837         * gst/gstmessage.c: (gst_message_new_state_changed),
21838         (gst_message_parse_state_changed):
21839         * gst/gstmessage.h:
21840           don't use "new", it's a C++ keyword
21841
21842 2005-10-08  Wim Taymans  <wim@fluendo.com>
21843
21844         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
21845         * gst/gstelement.c: (gst_element_post_message):
21846         * gst/gstpipeline.c: (gst_pipeline_change_state):
21847         Small docs and debug updates.
21848
21849 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
21850
21851         * docs/gst/gstreamer-sections.txt:
21852         * gst/gstelementfactory.c:
21853         * gst/gstevent.c:
21854         * gst/gsttaglist.c:
21855           more docs
21856
21857 2005-10-08  Wim Taymans  <wim@fluendo.com>
21858
21859         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
21860         (gst_bin_dispose), (bin_bus_handler):
21861         Fix typos, add comments.
21862         Clear EOS list when going to PAUSED from any direction and do it
21863         in a threadsafe way.
21864         Get base time in a threadsafe way too.
21865         Fix confusing debug in the change_state function.
21866         Various other small cleanups.
21867         
21868         * gst/gstelement.c: (gst_element_post_message):
21869         Fix very verbose bus posting code.
21870
21871         * gst/gstpipeline.c: (gst_pipeline_class_init),
21872         (gst_pipeline_set_property), (gst_pipeline_get_property),
21873         (gst_pipeline_change_state):
21874         Small ARG_ -> PROP_ cleanup
21875
21876 2005-10-08  Wim Taymans  <wim@fluendo.com>
21877
21878         * gst/gstbin.c: (is_eos), (bin_bus_handler):
21879         Do a less CPU demanding EOS check because we can.
21880
21881 2005-10-08  Wim Taymans  <wim@fluendo.com>
21882
21883         * libs/gst/dataprotocol/dataprotocol.c:
21884         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
21885         (gst_dp_packet_from_event):
21886         * libs/gst/dataprotocol/dataprotocol.h:
21887         * libs/gst/dataprotocol/dp-private.h:
21888         It's about time we bump the version number.
21889         Since event types don't fit in the guint8 anymore describing
21890         the payload type, make payload type 16 bits wide.
21891
21892 2005-10-08  Wim Taymans  <wim@fluendo.com>
21893
21894         * docs/design/part-TODO.txt:
21895         * docs/design/part-clocks.txt:
21896         * docs/design/part-events.txt:
21897         * docs/design/part-gstbin.txt:
21898         * docs/design/part-gstelement.txt:
21899         * docs/design/part-gstpipeline.txt:
21900         * docs/design/part-live-source.txt:
21901         * docs/design/part-messages.txt:
21902         * docs/design/part-overview.txt:
21903         * docs/design/part-states.txt:
21904         Many doc updates.
21905
21906 2005-10-08  Wim Taymans  <wim@fluendo.com>
21907
21908         * gst/gstevent.c:
21909         * gst/gstevent.h:
21910         Fix event quark registration.
21911         Add some space between events so we can insert them in the
21912         right groups.
21913
21914 2005-10-08  Wim Taymans  <wim@fluendo.com>
21915
21916         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21917         (gst_base_sink_handle_buffer):
21918         Better log message.
21919
21920         * gst/gstbus.h:
21921         * gst/gstelement.h:
21922         More docs.
21923
21924         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
21925         (gst_queue_set_property), (gst_queue_get_property):
21926         * gst/gstqueue.h:
21927         Remove old unused properties.
21928
21929 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
21930         * docs/gst/gstreamer-sections.txt:
21931         * gst/gstmessage.c:
21932         * gst/gstmessage.h:
21933         * gst/gstminiobject.c:
21934         * gst/gstminiobject.h:
21935         * gst/gstobject.h:
21936         * gst/gstpad.h:
21937         * gst/gstutils.h:
21938           lots of new docs and doc fixes
21939
21940 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21941
21942         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
21943         * gst/gstplugin.h:
21944         * gst/gstregistry.c: (gst_registry_lookup_locked),
21945         (gst_registry_scan_path_level):
21946         * gst/gstregistryxml.c: (load_plugin):
21947           Only ever load one plugin for a given plugin basename.
21948           This ensures correct overriding of GST_PLUGIN_PATH over
21949           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
21950           system installed plugins.
21951
21952 2005-10-08  Wim Taymans  <wim@fluendo.com>
21953
21954         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21955         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
21956         Prepare for doing QOS.
21957
21958 2005-10-08  Wim Taymans  <wim@fluendo.com>
21959
21960         * check/gst/gstbin.c: (GST_START_TEST):
21961         * check/pipelines/cleanup.c: (GST_START_TEST):
21962         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
21963         Allow new clock message too.
21964
21965 2005-10-08  Wim Taymans  <wim@fluendo.com>
21966
21967         * gst/gstmessage.c: (gst_message_new_error),
21968         (gst_message_new_warning), (gst_message_new_tag),
21969         (gst_message_new_state_changed), (gst_message_new_clock_provide),
21970         (gst_message_new_clock_lost), (gst_message_new_new_clock),
21971         (gst_message_new_segment_start), (gst_message_new_segment_done),
21972         (gst_message_parse_state_changed),
21973         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
21974         (gst_message_parse_new_clock):
21975         * gst/gstmessage.h:
21976         Also carry the clock in question.
21977
21978 2005-10-08  Wim Taymans  <wim@fluendo.com>
21979
21980         * gst/gstmessage.c: (gst_message_new_custom),
21981         (gst_message_new_eos), (gst_message_new_error),
21982         (gst_message_new_warning), (gst_message_new_tag),
21983         (gst_message_new_state_changed), (gst_message_new_clock_provide),
21984         (gst_message_new_new_clock), (gst_message_new_segment_start),
21985         (gst_message_new_segment_done), (gst_message_parse_state_changed),
21986         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
21987         * gst/gstmessage.h:
21988         Clean up.
21989         Added clock related messages.
21990
21991         * gst/gstpipeline.c: (gst_pipeline_change_state):
21992         Post message when the clock changed.
21993
21994         * tools/gst-launch.c: (event_loop):
21995         Print new clock.
21996
21997 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
21998
21999         * tools/gst-inspect.c: (print_element_properties_info):
22000           Can't pass NULL strings to g_print() on windows.
22001
22002 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22003
22004         * docs/Makefile.am:
22005         * docs/gst/Makefile.am:
22006         * docs/gst/gstreamer-docs.sgml:
22007         * docs/gst/running.xml:
22008         * docs/version.entities.in:
22009           add a chapter on running GStreamer.
22010           document GST_DEBUG and GST_PLUGIN* env vars
22011
22012 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22013
22014         * Makefile.am:
22015           remove include dir
22016         * configure.ac:
22017           remove PLUGINS_BUILDDIR stuff
22018         * gst/gst.c: (init_post):
22019           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
22020         * idiottest.mak:
22021           remove, it was condescending and not needed
22022
22023 2005-10-08  Wim Taymans  <wim@fluendo.com>
22024
22025         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
22026         (gst_base_sink_handle_object), (gst_base_sink_event),
22027         (gst_base_sink_wait), (gst_base_sink_handle_event),
22028         (gst_base_sink_change_state):
22029         * gst/base/gstbasesink.h:
22030         Repost EOS message while going to PLAYING if still EOS.
22031         Make sure that when receiving a FLUSH_START we don't attempt
22032         to sync on the clock anymore.
22033
22034 2005-10-08  Wim Taymans  <wim@fluendo.com>
22035
22036         * tools/gst-launch.c: (event_loop):
22037         Better message printout.
22038
22039 2005-10-08  Wim Taymans  <wim@fluendo.com>
22040
22041         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
22042         (gst_bin_child_proxy_get_children_count):
22043         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
22044         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
22045         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
22046         (gst_child_proxy_set_valist):
22047         * gst/parse/grammar.y:
22048         Make ChildProxy threadsafe and fix mem leaks.
22049
22050 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22051
22052         * gst/gst.c: (init_post):
22053           debug the GST_PLUGIN_ env vars
22054
22055 2005-10-08  Wim Taymans  <wim@fluendo.com>
22056
22057         * check/gst/gstbin.c: (GST_START_TEST):
22058         * check/gst/gstmessage.c: (GST_START_TEST):
22059         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22060         * gst/gstelement.c: (gst_element_commit_state),
22061         (gst_element_lost_state):
22062         * gst/gstmessage.c: (gst_message_new_state_changed),
22063         (gst_message_parse_state_changed):
22064         * gst/gstmessage.h:
22065         * tools/gst-launch.c: (event_loop):
22066         Added extra field to STATE_CHANGE message with the pending
22067         state, which will be different from the new state soon.
22068
22069 2005-10-08  Wim Taymans  <wim@fluendo.com>
22070
22071         * gst/gstbus.c: (gst_bus_pop):
22072         * gst/gstclock.c:
22073         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
22074         Small cleanups and doc updates.
22075
22076 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
22077
22078         * gst/gst.c: (init_pre):
22079         * gst/gstbin.c: (gst_bin_add_func):
22080           log distributing clocks and base time
22081         * gst/gstregistry.c: (gst_registry_add_plugin),
22082         (gst_registry_scan_path_level), (gst_registry_scan_path):
22083           clean up the debugging output a little
22084         * gst/gstutils.c: (gst_element_state_get_name):
22085           warn about a memleak (I've actually seen this be used, though
22086           it was probably a bug)
22087
22088 2005-10-07  Wim Taymans  <wim@fluendo.com>
22089
22090         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22091         (gst_base_src_init), (gst_base_src_default_newsegment),
22092         (gst_base_src_newsegment), (gst_base_src_do_seek),
22093         (gst_base_src_loop), (gst_base_src_start):
22094         * gst/base/gstbasesrc.h:
22095         Make the newsegment event customizable by subclasses.
22096
22097 2005-10-07  Wim Taymans  <wim@fluendo.com>
22098
22099         * gst/gstevent.c: (gst_event_new_buffersize),
22100         (gst_event_parse_buffersize):
22101         * gst/gstevent.h:
22102         New event for future idea.
22103
22104 2005-10-07  Andy Wingo  <wingo@pobox.com>
22105
22106         * gst/gstelement.c (gst_element_post_message): Doc update.
22107
22108         * docs/gst/gstreamer-sections.txt: Update.
22109
22110         * gst/gstmessage.c (gst_message_new_application): Made into a
22111         function like honest API calls.
22112         (gst_message_new_element): New message type.
22113
22114         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
22115
22116         * check/elements/fakesrc.c (test_no_preroll): New check, checks
22117         that setting a live fakesrc to PAUSED returns NO_PREROLL both
22118         times.
22119
22120         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
22121         NO_PREROLL from gst_element_change_state to fall through.
22122
22123 2005-10-07  Wim Taymans  <wim@fluendo.com>
22124
22125         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
22126         (gst_ghost_pad_do_activate_push):
22127         Activating a ghostpad with no internal pad in push mode
22128         is ok.
22129
22130 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
22131
22132         * gst/gstobject.h:
22133           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
22134           Fixes compilation on Windows.
22135
22136 2005-10-07  Michael Smith <msmith@fluendo.com>
22137
22138         * tools/gst-inspect.c:
22139           Print out feature and plugin count at the end when printing out
22140           all features.
22141
22142 2005-10-04  Michael Smith <msmith@fluendo.com>
22143
22144         * gst/gsterror.c: (_gst_stream_errors_init):
22145           Add another error string used in a few existing plugins.
22146
22147         * gst/gstplugin.c:
22148         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
22149         * tools/gst-inspect.c: (print_element_info):
22150           When a feature disappears from a plugin (and the feature exists in
22151           the cached registry file), things went horribly wrong. This isn't a
22152           complete fix, we should actually be removing the 'missing' features
22153           from the features list when we load the actual plugin. That's not
22154           yet implemented. 
22155
22156 2005-10-04  Johan Dahlin  <johan@gnome.org>
22157
22158         * check/gst/gstiterator.c: (GST_START_TEST):
22159         * gst/gstbin.c: (gst_bin_iterate_elements),
22160         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
22161         * gst/gstelement.c: (gst_element_iterate_pads):
22162         * gst/gstformat.c: (gst_format_iterate_definitions):
22163         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
22164         (gst_iterator_new_list), (gst_iterator_filter):
22165         * gst/gstiterator.h:
22166         * gst/gstquery.c: (gst_query_type_iterate_definitions):
22167         Add a GType to GstIterator, update callsites and tests.
22168
22169 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22170
22171         * gst/gstpad.c: (gst_pad_event_default_dispatch):
22172           give events a chance to be handled by event probes when the pad
22173           is not linked
22174
22175 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22176
22177         * gst/gstevent.c: (gst_event_type_get_name),
22178         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
22179         * gst/gstevent.h:
22180           add string representations for event types
22181
22182 2005-10-06  Wim Taymans  <wim@fluendo.com>
22183
22184         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
22185         Don't use NULL pointers.
22186
22187 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22188
22189         * gst/gst_private.h:
22190         * gst/gstbus.c:
22191         * gst/gstelement.c:
22192         * gst/gstinfo.c:
22193         * gst/gstpluginfeature.c:
22194           widen the debug category in output to fit the biggest one we have
22195           add a bus category and use it
22196           play with the colors
22197           fix up some categories
22198
22199 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22200
22201         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
22202           add push activation of sink ghost pads.
22203           Andye, please verify
22204
22205 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
22206
22207         * gst/gstutils.c: (gst_element_link_pads):
22208           fix a bug in the case where neither element has a pad
22209         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
22210           add a test for that case
22211
22212 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
22213
22214         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
22215           emit have-data before checking for peers.  This allows
22216           for probe handlers to connect elements.  This helps autopluggers.
22217         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
22218         (gst_pad_suite):
22219           add six checks, linked/unlinked with no/true/false probe
22220
22221 2005-10-04  Wim Taymans  <wim@fluendo.com>
22222
22223         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
22224         (gst_fake_sink_event), (gst_fake_sink_preroll),
22225         (gst_fake_sink_render), (gst_fake_sink_change_state):
22226         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
22227         (gst_fake_src_get_property), (gst_fake_src_create),
22228         (gst_fake_src_stop):
22229         * gst/elements/gstidentity.c: (gst_identity_stop):
22230         Protect last_message with lock.
22231
22232 2005-10-04  Edward Hervey  <edward@fluendo.com>
22233
22234         * gst/gstformat.h: 
22235         Added precision in the comments for GST_FORMAT_DEFAULT
22236
22237 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
22238
22239         * tools/gst-launch.c: (main):
22240           Don't try to run erroneous pipelines.
22241
22242 2005-10-04  Julien MOUTTE  <julien@moutte.net>
22243
22244         * gst/gstbus.c: We don't need this header.
22245
22246 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
22247
22248         * configure.ac:
22249           back to development
22250
22251 === release 0.9.3 ===
22252
22253 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
22254
22255         * README:
22256         * configure.ac:
22257           Releasing 0.9.3, "Unregistered"
22258
22259 2005-10-03  Andy Wingo  <wingo@pobox.com>
22260
22261         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
22262         whereby calling a pad's activatepush() function can start a thread
22263         that starts to push or pull before the pad gets the FLUSHING flag
22264         unset. Hack around it by holding the stream lock until the flag is
22265         set. Need to replace this with a proper solution. Together with
22266         the ghost pad fixes, this fixes mp3 playing/tagreading.
22267
22268         * docs/design/part-gstghostpad.txt: Add a note about activation of
22269         proxy pads outside of ghost pads.
22270
22271         * gst/gstghostpad.c: Implement the ghost pad activation design.
22272
22273 2005-10-02  Andy Wingo  <wingo@pobox.com>
22274
22275         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
22276         It is volatile, after all.
22277
22278         * docs/design/part-gstghostpad.txt: Flesh out activation with
22279         ghost pads.
22280
22281         * gst/base/gstbasesrc.c (gst_base_src_init): Use
22282         GST_DEBUG_FUNCPTR.
22283
22284 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
22285
22286         * configure.ac:
22287           Fix (unused) AM_CONDITIONAL tests.
22288
22289 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
22290
22291         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
22292
22293         * gst/gstutils.c: (gst_pad_query_convert):
22294           Add assertion that makes sure src_val is >=0, just like
22295           gst_query_new_convert() has. (#315895)
22296
22297 2005-09-30  Edward Hervey  <edward@fluendo.com>
22298
22299         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
22300         Let's not iterate pads we're not interested in, it avoids getting 
22301         sky-high refcounts on sinkpad.
22302
22303 2005-09-30  Wim Taymans  <wim@fluendo.com>
22304
22305         * gst/gstelement.c: (gst_element_set_state),
22306         (gst_element_change_state):
22307         Small tweak, element in ASYNC remains ASYNC.
22308
22309 2005-09-30  Wim Taymans  <wim@fluendo.com>
22310
22311         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
22312         Only error is an error.
22313
22314         * gst/gstbin.c: (gst_bin_change_state):
22315         Better debugging.
22316
22317         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
22318         Also call pad_block in pad alloc.
22319
22320         * gst/gstutils.c: (gst_flow_get_name):
22321         Better debugging.
22322
22323 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
22324
22325         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22326         (gst_base_src_get_range):
22327           Fix documentation typos. Add some more debug info.
22328
22329 2005-09-29  David Schleef  <ds@schleef.org>
22330
22331         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
22332           more end-user friendly.
22333         * tools/gst-inspect.c: (main): Check if command-line argument is
22334           a file and attempt to load that file as a plugin.
22335
22336 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22337
22338         * check/gst/gstbin.c:
22339         * check/states/sinks.c:
22340           fix tests for the new warning
22341         * check/gst/gstpipeline.c:
22342           add a test for pipeline and bus interaction
22343         * gst/gstelement.c:
22344           elements should be NULL if they get disposed; add a warning if not
22345
22346 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22347
22348         * gst/gstobject.c:
22349           for 2.6 refcounting, make debug log more correct by printing
22350           the actual refcounts at the time of swap (Wim)
22351
22352 2005-09-29  Andy Wingo  <wingo@pobox.com>
22353
22354         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
22355         removes signal watches previously added via
22356         gst_bus_add_signal_watch.
22357         (gst_bus_add_signal_watch): Don't return the source id, just store
22358         it on the bus if there wasn't an id already.
22359
22360         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
22361         add_signal_watch and remove_signal_watch.
22362
22363 2005-09-29  Edward Hervey  <edward@fluendo.com>
22364
22365         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
22366         Better if we actually iterate the list :)
22367
22368 2005-09-29  Wim Taymans  <wim@fluendo.com>
22369
22370         * check/gst/gstbin.c: (GST_START_TEST):
22371         Change for new bus API.
22372
22373         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
22374         (send_messages), (GST_START_TEST), (gstbus_suite):
22375         Change for new bus signal API.
22376
22377         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
22378         (gst_bus_source_prepare), (gst_bus_source_check),
22379         (gst_bus_create_watch), (gst_bus_add_watch_full),
22380         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
22381         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
22382         * gst/gstbus.h:
22383         Remove support for multiple GSources operating on different
22384         message types as it is too complex and unneeded when using
22385         signals.
22386         Added support for receiving signals from the bus.
22387
22388 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22389
22390         * docs/libs/tmpl/gstdataprotocol.sgml:
22391         * docs/manual/advanced-dataaccess.xml:
22392         * gst/elements/gstcapsfilter.c:
22393         * gst/gstutils.c:
22394           rename filter-caps to caps property
22395
22396 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
22397
22398         * gst/gstvalue.c: (gst_value_deserialize_fraction):
22399           More robust fraction string parsing.
22400
22401         * docs/pwg/appendix-porting.xml:
22402           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
22403
22404 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
22405
22406         * gst/gstcaps.c: (gst_caps_do_simplify):
22407           Thou shalt not free a structure and then continue using it
22408           in the next loop iteration.
22409
22410         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
22411         (gst_caps_suite):
22412           Add test case for caps simplification.
22413
22414 2005-09-29  Wim Taymans  <wim@fluendo.com>
22415
22416         * check/gst/gstbin.c: (GST_START_TEST):
22417         Oops.
22418
22419 2005-09-29  Wim Taymans  <wim@fluendo.com>
22420
22421         * check/gst/gstbin.c: (GST_START_TEST):
22422         Add bus to bin.
22423
22424         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
22425         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
22426         (find_element), (gst_bin_sort_iterator_next),
22427         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22428         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22429         (gst_bin_change_state), (gst_bin_dispose):
22430         A bin does not have a bus, it gets the bus from the parent.
22431
22432         * gst/gstelement.c: (gst_element_requires_clock),
22433         (gst_element_provides_clock), (gst_element_is_indexable),
22434         (gst_element_is_locked_state), (gst_element_change_state),
22435         (gst_element_set_bus_func):
22436         Small cleanups.
22437
22438         * gst/gstpipeline.c: (gst_pipeline_class_init),
22439         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
22440         The pipeline provides a bus.
22441
22442 2005-09-28  Johan Dahlin  <johan@gnome.org>
22443
22444         * gst/gstmessage.c (gst_message_parse_state_changed): Use
22445         gst_structure_get_enum instead of gst_structure_get_int
22446
22447         * gst/gststructure.c (gst_structure_get_enum): Impl.
22448
22449         * gst/gststructure.h (gst_structure_get_enum): Add
22450
22451         * docs/gst/gstreamer-sections.txt: Ditto
22452
22453         * gst/gstmessage.c (gst_message_new_state_changed): Use
22454         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
22455         which does introspection.
22456         Reviewed by Christian Schaller
22457
22458 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
22459
22460         * gst/gstinfo.c: (gst_debug_log_default):
22461           don't do dummy g_strdup()s
22462         * libs/gst/controller/gstcontroller.c:
22463         (on_object_controlled_property_changed),
22464         (gst_controlled_property_new), (gst_controller_new_valist),
22465         (gst_controller_new_list),
22466         (gst_controller_remove_properties_valist), (gst_controller_set),
22467         (gst_controller_get), (gst_controller_sync_values),
22468         (gst_controller_get_value_array), (_gst_controller_class_init),
22469         (gst_controller_get_type):
22470         * libs/gst/controller/gstcontroller.h:
22471         * libs/gst/controller/gstinterpolation.c:
22472         (gst_controlled_property_find_timed_value_node):
22473           convert // to /**/ comments
22474
22475 2005-09-28  Wim Taymans  <wim@fluendo.com>
22476
22477         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
22478         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
22479         (gst_bus_sync_signal_handler):
22480         * gst/gstbus.h:
22481         Added async-message and sync-message signals to the bus.
22482         Added helper BusFunc to emit signals for all posted messages.
22483
22484         * gst/gstmessage.c: (gst_message_type_get_name),
22485         (gst_message_type_to_quark), (gst_message_get_type):
22486         * gst/gstmessage.h:
22487         Register quarks for message names.
22488
22489 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
22490
22491         * docs/libs/gstreamer-libs-sections.txt:
22492         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
22493         (gst_controller_new_list):
22494         * libs/gst/controller/gstcontroller.h:
22495           added another constructor for language bindings
22496
22497 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
22498
22499         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
22500           add another check
22501         * gst/gstbus.c:
22502           add some doc
22503         * gst/gstinfo.c: (_gst_debug_init):
22504           slightly more readable color for refcount debugging
22505
22506 2005-09-28  Wim Taymans  <wim@fluendo.com>
22507
22508         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
22509         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
22510         (find_element), (gst_bin_sort_iterator_next),
22511         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22512         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22513         (gst_bin_change_state), (gst_bin_dispose):
22514         Small doc fixes. get_clock -> provide_clock.
22515
22516         * gst/gstelement.c: (gst_element_class_init),
22517         (gst_element_provides_clock), (gst_element_provide_clock),
22518         (gst_element_get_clock), (gst_element_commit_state),
22519         (gst_element_lost_state):
22520         * gst/gstelement.h:
22521         Make get/set_clock() symetric. Add provide_clock vmethod since
22522         that is actually what this function does.
22523
22524         * gst/gstpipeline.c: (gst_pipeline_class_init),
22525         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
22526         (gst_pipeline_get_clock):
22527         get_clock -> provide_clock.
22528
22529 2005-09-28  Andy Wingo  <wingo@pobox.com>
22530
22531         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
22532         lieu of real docs...
22533
22534         * gst/elements/gstfdsrc.c: Cleaned up a bit.
22535
22536 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
22537
22538         * gst/elements/gstcapsfilter.c:
22539         * gst/elements/gstfakesink.c:
22540         * gst/elements/gstfakesrc.c:
22541         * gst/elements/gstfdsink.c:
22542         * gst/elements/gstfdsrc.c:
22543         * gst/elements/gstfilesink.c:
22544         * gst/elements/gstfilesrc.c:
22545         * gst/elements/gstidentity.c:
22546         * gst/elements/gsttee.c:
22547         * gst/elements/gsttypefindelement.c:
22548           Make element details static.
22549
22550 2005-09-28  Wim Taymans  <wim@fluendo.com>
22551
22552         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
22553         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
22554         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22555         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22556         (gst_bin_change_state), (gst_bin_dispose):
22557         Some documentation updates.
22558         Clean up dispose handlers.
22559
22560         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
22561         * gst/gstpad.c: (gst_pad_dispose):
22562         Clean up dispose handler.
22563
22564         * gst/gstpipeline.c: (gst_pipeline_change_state):
22565         Removed spurious UNLOCK.
22566
22567 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
22568
22569         * docs/gst/gstreamer-sections.txt:
22570         * gst/base/gstbasesrc.h:
22571         * gst/gstelement.h:
22572         * gst/gstevent.h:
22573         * gst/gstobject.h:
22574         * gst/gstpad.h:
22575         * gst/gstpipeline.c:
22576         * gst/gstpipeline.h:
22577         * gst/gstutils.h:
22578         * gst/gstxml.h:
22579           added two new functions to the docs
22580                 documents all undocumented GstXXXFlags
22581                 completed some incomplete docs 
22582
22583 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
22584
22585         * gst/gstbin.c: (gst_bin_dispose):
22586         * gst/gstelement.c: (gst_element_dispose):
22587           remove now useless and leaky resurrection code in dispose
22588         * gst/base/gstbasesrc.c: (gst_base_src_init):
22589         * gst/gstelementfactory.c: (gst_element_factory_create):
22590         * gst/gstobject.c: (gst_object_set_parent):
22591           add some debugging
22592
22593 2005-09-27  Wim Taymans  <wim@fluendo.com>
22594
22595         * docs/design/part-TODO.txt:
22596         Update TODO.
22597
22598         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
22599         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
22600         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22601         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22602         (gst_bin_change_state):
22603         * gst/gstelement.h:
22604         Remove element variable, we keep element info in the iterator now.
22605
22606 2005-09-27  Andy Wingo  <wingo@pobox.com>
22607
22608         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
22609         values.
22610
22611 2005-09-27  Wim Taymans  <wim@fluendo.com>
22612
22613         * check/gst/gstbin.c: (GST_START_TEST):
22614         Enable check that works now.
22615
22616         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
22617         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
22618         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22619         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22620         (gst_bin_change_state):
22621         * gst/gstbin.h:
22622         Redid the state change algorithm using a topological sort algo.
22623         Handles all cases correctly.
22624         Exposed iterator for state change order.
22625
22626         * gst/gstelement.h:
22627         Temp storage for state changes. Need to get rid of this soon.
22628
22629 2005-09-27  Wim Taymans  <wim@fluendo.com>
22630
22631         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
22632         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
22633         (link_fold_func), (gst_pad_proxy_setcaps):
22634         Leak fixes, the fold functions need to unref the passed object and
22635         _get_parent_*() returns ref to parent.
22636
22637 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
22638
22639         * check/gst/gstbuffer.c: (test_make_writable):
22640           Plug leak in test case and fix 'make check-valgrind'
22641
22642 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
22643
22644         * gst/gstbuffer.c: (gst_subbuffer_init):
22645           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
22646           works correctly in all circumstances (we could have just copied
22647           the parent buffer's readonly flag, but conceptually it seems
22648           cleaner to mark all subbuffers as read-only). (based on patch
22649           by Alessandro Decina, #314710).
22650         
22651         * check/gst/gstbuffer.c: (create_read_only_buffer),
22652         (test_make_writable), (test_subbuffer_make_writable),
22653         (gst_test_suite):
22654           Add some tests for gst_buffer_make_writable().
22655
22656 2005-09-27  Wim Taymans  <wim@fluendo.com>
22657
22658         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
22659         use gst_object_has_ancestor().
22660
22661         * gst/gstobject.c: (gst_object_has_ancestor):
22662         * gst/gstobject.h:
22663         gst_object_has_ancestor() copied from gstbin.c as it is a
22664         useful function.
22665
22666         * tests/instantiate/create.c: (create_all_elements):
22667         * tests/lat.c: (handoff_src), (handoff_sink):
22668         * tests/sched/runxml.c: (main):
22669         * tests/seeking/seeking1.c: (main):
22670         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
22671         (main):
22672         Fix compilation of some tests.
22673
22674 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
22675
22676         * gst/gsterror.h:
22677           Remove comment. GST_TYPE_G_ERROR is here to stay,
22678           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
22679           (#316961, #300610).
22680
22681 2005-09-26  Wim Taymans  <wim@fluendo.com>
22682
22683         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
22684         Added check that shows error in state change order.
22685
22686 2005-09-26  Wim Taymans  <wim@fluendo.com>
22687
22688         * gst/gstbin.c: (gst_bin_change_state):
22689         Make state change function use 3 queues again, we were
22690         adding elements in the wrong order.
22691
22692         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
22693         Some debug info,
22694
22695         * gst/gstpad.c: (gst_pad_dispose):
22696         Added some debug info first.
22697
22698 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
22699
22700         * docs/design/draft-push-pull.txt:
22701         * docs/design/part-events.txt:
22702         * docs/design/part-overview.txt:
22703         * docs/design/part-scheduling.txt:
22704           Replace all _pull_region() with _pull_range()
22705           
22706 2005-09-26  Andy Wingo  <wingo@pobox.com>
22707
22708         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
22709
22710         * check/gst-libs/controller.c: Update for controller api change.
22711
22712         * configure.ac: 
22713         * tests/Makefile.am:
22714         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
22715         over by GLib bug 118439.
22716         
22717         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
22718         routines to a function.
22719
22720         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
22721
22722         * libs/gst/controller/gsthelper.c:
22723         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
22724         (gst_object_sync_values): Renamed from sink_values. Ugh.
22725
22726         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
22727
22728         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
22729         Renamed from controller_key, as it is exported.
22730
22731         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
22732
22733 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
22734
22735         * gst/Makefile.am:
22736         * gst/gst.h:
22737         * gst/gstpad.h:
22738         * gst/gstpadtemplate.h:
22739         * gst/gstquery.c:
22740         * gst/gstquery.h:
22741         * gst/gstqueryutils.c:
22742         * gst/gstqueryutils.h:
22743           remove queryutils headers after moving the two used functions
22744           to gstquery.  also fixes build problem for gstsiddec
22745
22746 2005-09-26  Michael Smith <msmith@fluendo.com>
22747
22748         * tools/gst-launch.1.in:
22749         Correct documentation in manpage of debug syntax
22750
22751 2005-09-26  Wim Taymans  <wim@fluendo.com>
22752
22753         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
22754         (gst_base_src_is_seekable), (gst_base_src_change_state):
22755         Some more debugging info.
22756
22757 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
22758
22759         * docs/gst/gstreamer-sections.txt:
22760         * gst/base/gstbasetransform.h:
22761         * gst/gstindex.h:
22762           added more docs
22763
22764 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
22765
22766         * docs/gst/.cvsignore:
22767         * docs/gst/tmpl/.cvsignore:
22768         * docs/gst/tmpl/gstpipeline.sgml:
22769         * docs/gst/tmpl/gstplugin.sgml:
22770         * gst/gstpipeline.c:
22771         * gst/gstplugin.c:
22772         * gst/gstplugin.h:
22773           inlined the last two docs files
22774           removed the tmpl directory from cvs (no more conflicts here!)
22775
22776 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
22777
22778         * docs/gst/gstreamer-sections.txt:
22779         * docs/gst/tmpl/.cvsignore:
22780         * docs/gst/tmpl/gstpad.sgml:
22781         * docs/gst/tmpl/gstpadtemplate.sgml:
22782         * gst/Makefile.am:
22783         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
22784         (gst_pad_finalize), (gst_pad_set_pad_template):
22785         * gst/gstpad.h:
22786         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
22787         (gst_pad_template_class_init), (gst_pad_template_init),
22788         (gst_pad_template_dispose), (name_is_valid),
22789         (gst_static_pad_template_get), (gst_pad_template_new),
22790         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
22791         (gst_pad_template_pad_created):
22792         * gst/gstpadtemplate.h:
22793           inlined two more docs
22794           factored gstpadtemplate out of gstpad
22795
22796 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
22797
22798         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
22799         (test_children_state_change_order_semi_sink):
22800           Fix test case: we can't rely on a fixed state change order when
22801           going from READY => PAUSED because the sink might commit its 
22802           new state first when the first buffer created by the source 
22803           reaches the sink before the source has finished its change state.
22804           (Test case still fails at times, see #316856, comment 5 onwards)
22805
22806 2005-09-24  Wim Taymans  <wim@fluendo.com>
22807
22808         * docs/design/part-events.txt:
22809         * docs/design/part-gstbus.txt:
22810         * docs/design/part-gstpipeline.txt:
22811         * docs/design/part-messages.txt:
22812         * docs/design/part-overview.txt:
22813         * docs/design/part-segments.txt:
22814         * gst/gstbin.c:
22815         * gst/gstbuffer.c:
22816         * gst/gstclock.c:
22817         * gst/gstelement.c:
22818         * gst/gstevent.c:
22819         * gst/gstfilter.c:
22820         * gst/gstiterator.c:
22821         Various documentation updates.
22822
22823 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22824
22825         * gst/gstclock.h:
22826           Well, that's embarassing.  Luckily we weren't using
22827           GST_CLOCK_DIFF anywhere.
22828
22829 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22830
22831         * common/gtk-doc.mak:
22832           don't fail on building XML, FC4 slave shows a bunch of doc
22833           missing bits that I don't get
22834         * gst/gstpad.c:
22835         * gst/gstpipeline.c:
22836         * gst/gststructure.c:
22837           some doc updates
22838
22839 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
22840
22841         * docs/design/part-gstbin.txt:
22842         * docs/design/part-gstbus.txt:
22843         * gst/gstbus.c:
22844           Add blurb about how the bus goes into flushing mode and
22845           drops all messages when its bin goes from READY into NULL 
22846           state.
22847
22848 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22849
22850         * docs/gst/gstreamer-sections.txt:
22851         * gst/gststructure.c: (gst_structure_get_clock_time):
22852         * gst/gststructure.h:
22853           add a method to get a GstClockTime out of a structure
22854
22855 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
22856
22857         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
22858         (test_children_state_change_order_semi_sink), (gst_bin_suite):
22859           Added test to check state change order in bins (can still be made
22860           to fail here under heavy disk load; bails out with 'Push on pad
22861           fakesink:sink0, but it was not activated in push mode').
22862
22863         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
22864           Fix state change order when there is only a semi sink (#316856)
22865
22866         * gst/gstbus.c: (gst_bus_class_init):
22867           Use _class_peek_parent(), not _class_ref(); fix docs to say
22868           'default main context' instead of 'mainloop' where that is
22869           what's meant.
22870
22871         * gst/gstelement.c: (gst_element_commit_state),
22872         (gst_element_set_state):
22873           Fix typos in debug messages
22874
22875 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22876
22877         * docs/README:
22878         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
22879         * gst/gstpluginfeature.c:
22880         * gst/gstutils.c:
22881           various doc updates
22882         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22883           change an assert into an error until it gets fixed properly
22884
22885 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
22886
22887         * docs/gst/gstreamer-sections.txt:
22888         * docs/gst/tmpl/.cvsignore:
22889         * docs/gst/tmpl/gstelement.sgml:
22890         * docs/gst/tmpl/gstinfo.sgml:
22891         * docs/gst/tmpl/gstobject.sgml:
22892         * gst/gstelement.c:
22893         * gst/gstelement.h:
22894         * gst/gstinfo.c:
22895         * gst/gstinfo.h:
22896         * gst/gstobject.c: (gst_object_class_init):
22897         * gst/gstobject.h:
22898           inlined 3 more biiiig doc files and added some missing docs on the fly
22899
22900 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22901
22902         * check/gst/.cvsignore:
22903         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
22904         * gst/gstregistryxml.c: (load_plugin),
22905         (gst_registry_xml_save_plugin):
22906           put back source in registry.  add checks for find_plugin.
22907         * testsuite/states/bin.c: (assert_state), (empty_bin),
22908         (test_adding_one_element), (main):
22909         * testsuite/states/locked.c: (main):
22910           some compile/run fixes
22911
22912 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
22913
22914         * check/gst/gstvalue.c: (GST_START_TEST):
22915           fix leaks in the test itself
22916
22917 2005-09-22  Wim Taymans  <wim@fluendo.com>
22918
22919         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
22920         (gst_base_sink_send_event), (gst_base_sink_peer_query),
22921         (gst_base_sink_query):
22922         Prepare for more accurate position reporting and query
22923         handling.
22924
22925         * gst/gstelement.c: (gst_element_send_event),
22926         (gst_element_set_state):
22927         Add some comment.
22928
22929 2005-09-22  Wim Taymans  <wim@fluendo.com>
22930
22931         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
22932         (gst_query_parse_segment):
22933         * gst/gstquery.h:
22934         More documentation.
22935         Add segment query for future use.
22936
22937 2005-09-22  Wim Taymans  <wim@fluendo.com>
22938
22939         * gst/gstbin.c: (gst_bin_add_func):
22940         Some more debug info.
22941
22942         * gst/gstelement.c: (gst_element_send_event):
22943         Simplify send_event
22944
22945         * gst/gstelement.h:
22946         Don't know how flags got broken.
22947
22948         * gst/gstquery.h:
22949         Added new query.
22950
22951 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
22952
22953         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
22954           Add simplistic test suite for GST_TYPE_DATE serialisation and
22955           deserialisation.
22956
22957 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
22958
22959         * docs/gst/gstreamer-sections.txt:
22960         * gst/gststructure.c: (gst_structure_set_valist),
22961         (gst_structure_get_date):
22962         * gst/gststructure.h:
22963         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
22964         (gst_date_copy), (gst_value_compare_date),
22965         (gst_value_serialize_date), (gst_value_deserialize_date),
22966         (gst_value_transform_date_string),
22967         (gst_value_transform_string_date), (_gst_value_initialize):
22968         * gst/gstvalue.h:
22969           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
22970           bunch of utility functions along with a hack that checks that
22971           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
22972           is required. Part of the grand scheme in #170777.
22973
22974 2005-09-22  Andy Wingo  <wingo@pobox.com>
22975
22976         * gst/gstconfig.h.in: Psych out gtk-doc.
22977
22978         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
22979
22980         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
22981
22982         * tools/gst-inspect.c (print_element_list): Plug some
22983         inconsequential leaks.
22984
22985         * gst/gstregistry.c (gst_registry_get_default): Doc.
22986
22987         * check/gst/gstplugin.c: 
22988         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
22989         * gst/gstelementfactory.c (gst_element_factory_create): 
22990         * gst/gstindexfactory.c (gst_index_factory_create): Update for
22991         refcount changes.
22992
22993         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
22994         (gst_plugin_feature_load): Doc, don't eat refs.
22995
22996         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
22997         (gst_plugin_list_free): Doc.
22998         (gst_plugin_load_file): Doc updates.
22999
23000         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
23001         accessors returning refcounted objects, return a ref.
23002
23003         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
23004         accessor for caps. IDEMPOTENCE. Oh yes.
23005
23006 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
23007
23008         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23009
23010         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
23011         (_gst_debug_register_funcptr):
23012           Add mutex to serialise access to the hash table with
23013           the function pointer => function name string mapping;
23014           make that hash table static scope (#316809).
23015
23016         * gst/registries/.cvsignore:
23017           Remove left-over file.
23018
23019 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
23020
23021         * docs/pwg/appendix-porting.xml:
23022           And something about newsegment events and caps-on-buffers to
23023           the porting guide (feel free to improve).
23024
23025 2005-09-21  Andy Wingo  <wingo@pobox.com>
23026
23027         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
23028         data and event probes on the same pad.
23029         (test_buffer_probe_once): Test that removing probes from within
23030         the probe functions works.
23031
23032 2005-09-21  Andy Wingo  <wingo@pobox.com>
23033
23034         * check/gst/gstutils.c: New file.
23035         (test_buffer_probe_n_times): A simple buffer probe test. More to
23036         come, foolios.
23037
23038         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
23039         have-data::buffer, not have-data.
23040         (gst_pad_add_event_probe): Likewise for have-data::event.
23041         (gst_pad_add_data_probe): More docs. The part about 'resolving the
23042         peer' isn't quite right yet though.
23043         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
23044         (gst_pad_remove_data_probe): Change to take the guint handler_id
23045         as their arg, not the function+data, which is more glib-like.
23046
23047         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
23048         the signal emission to indicate if the data is a buffer or an
23049         event.
23050         (gst_pad_get_type): Initialize buffer and event quarks.
23051         (gst_pad_class_init): have-data is now a detailed signal, yes it
23052         is.
23053
23054 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
23055
23056         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
23057         * gst/gstutils.c: (gst_util_set_value_from_string),
23058         (gst_util_set_object_arg):
23059           Don't put functional code in g_return_if_fail() or
23060           g_return_val_if_fail() statements, otherwise things will 
23061           break when G_DISABLE_CHECKS is defined during compilation.
23062
23063 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
23064
23065         * docs/gst/tmpl/.cvsignore:
23066         * docs/gst/tmpl/gstvalue.sgml:
23067         * gst/gstvalue.c:
23068         * gst/gstvalue.h:
23069           inlied another one and added  some obvious docs
23070
23071 2005-09-21  Wim Taymans  <wim@fluendo.com>
23072
23073         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
23074         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
23075         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
23076         (gst_fdsrc_get_property), (gst_fdsrc_create):
23077         * gst/elements/gstfdsrc.h:
23078         Properly implement fdsrc. Removed signal and timeout,
23079         better implemented somewhere else.
23080
23081 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
23082
23083         * docs/gst/tmpl/.cvsignore:
23084         * docs/gst/tmpl/gstimplementsinterface.sgml:
23085         * gst/gstinterface.c:
23086           inlined more docs
23087
23088 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
23089
23090         * docs/gst/gstreamer-sections.txt:
23091         * docs/gst/tmpl/.cvsignore:
23092         * docs/gst/tmpl/gstenumtypes.sgml:
23093           remove obsolete doc file
23094
23095 2005-09-21  David Schleef  <ds@schleef.org>
23096
23097         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
23098         little beer, fix a little leak.
23099
23100 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
23101
23102         * docs/gst/gstreamer-docs.sgml:
23103         * docs/gst/gstreamer-sections.txt:
23104         * docs/gst/tmpl/.cvsignore:
23105         * gst/Makefile.am:
23106         * gst/gst.h:
23107         * gst/gstbin.c:
23108         * gst/gstelement.h:
23109         * gst/gstindex.c: (gst_index_class_init):
23110         * gst/gstindex.h:
23111         * gst/gstindexfactory.c: (gst_index_factory_get_type),
23112         (gst_index_factory_class_init), (gst_index_factory_init),
23113         (gst_index_factory_finalize), (gst_index_factory_new),
23114         (gst_index_factory_destroy), (gst_index_factory_find),
23115         (gst_index_factory_create), (gst_index_factory_make):
23116         * gst/gstindexfactory.h:
23117         * gst/gstpluginfeature.c:
23118         * gst/gstpluginfeature.h:
23119         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
23120           more docs inlined, splitted gstindex.{c,h}
23121
23122 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23123
23124         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
23125           fix a leak
23126
23127 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
23128
23129         * gst/elements/gstfilesink.c: (gst_file_sink_init):
23130           Set sync to FALSE by default.
23131
23132 2005-09-20  Wim Taymans  <wim@fluendo.com>
23133
23134         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
23135         (gst_base_sink_init):
23136         Make sync property settable from subclass.
23137
23138         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
23139         (gst_fake_sink_change_state):
23140         Set sync to FALSE by default.
23141
23142 2005-09-20  Wim Taymans  <wim@fluendo.com>
23143
23144         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
23145         * tools/gst-launch.c: (main):
23146         The timeout handler should have lower priority than the source
23147         so we don't timeout before popping a message with 0 timeout.
23148         Dump error messages after failed state change.
23149
23150 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
23151
23152         * tools/gst-inspect.c: (print_element_properties_info):
23153           Fix two typos.
23154
23155 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23156
23157         * check/gst/gstevent.c:
23158         * gst/elements/gstfakesink.c:
23159         * gst/elements/gstfakesink.h:
23160           remove the sync property from fakesink.
23161           has the side effect of setting sync TRUE
23162           for fakesink, which is a change.  Anyone who knows how
23163           to fix this nicely in a GObject-y way, feel free.
23164
23165 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
23166
23167         * docs/gst/gstreamer-docs.sgml:
23168           remove probe refsection
23169
23170 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
23171
23172         * check/Makefile.am:
23173           disable valgrinding the controller test again
23174         * docs/gst/gstreamer-sections.txt:
23175           update for api-changes
23176
23177 2005-09-20  Wim Taymans  <wim@fluendo.com>
23178
23179         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
23180         (gst_base_sink_set_property), (gst_base_sink_get_property),
23181         (gst_base_sink_do_sync):
23182         * gst/base/gstbasesink.h:
23183         Added sync property to basesink to disable clock sync.
23184
23185 2005-09-20  Andy Wingo  <wingo@pobox.com>
23186
23187         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
23188         eating the caller's refcount.
23189
23190         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
23191         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
23192         refcount.
23193
23194         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
23195         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
23196         of GLib 2.8 public, so we can know which refcount to check in
23197         tests.
23198
23199         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
23200         (gst_object_init): Only set the gst refcount if we're going ahead
23201         with the refcount hack.
23202
23203 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
23204
23205         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
23206         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
23207           more leaks plumbed, added more debug-logging
23208         * gst/gstmacros.h:
23209           whitespace fix
23210
23211 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23212
23213         * gst/gstmessage.c:
23214           remove include of gstmemchunk.h
23215
23216 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23217
23218         * gst/gstclock.c: (_gst_clock_id_free):
23219           Commit from the Political Party For More Atomic CVS Commits,
23220           so that people don't waste too much of their day fishing
23221           out obvious leaks out of massive commits.
23222           Oh, and fix a pretty damn obvious leak in the memchunk
23223           removal code.
23224
23225 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
23226
23227         * check/Makefile.am:
23228         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
23229           plug mem-leak, re-add to valgrindable tests
23230
23231 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23232
23233         * gst/gstplugin.h:
23234           unbreak the build for those who have chronic arthritis
23235           and typing "make check" is just too taxing on the hands
23236
23237 2005-09-20  Andy Wingo  <wingo@pobox.com>
23238
23239         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
23240         really want it out, you should fix plugins at the same time.
23241
23242 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
23243
23244         * configure.ac:
23245         * docs/gst/gstreamer-sections.txt:
23246         * gst/gstobject.c:
23247           added missing symbols to api docs
23248           disable ref-count hack if we have glib >= 2.8
23249
23250 2005-09-19  David Schleef  <ds@schleef.org>
23251
23252         * docs/gst/Makefile.am: Ignore a few more internal headers
23253         * docs/gst/gstreamer-docs.sgml: Remove old sections
23254         * docs/gst/gstreamer-sections.txt: Remove old sections
23255         * docs/gst/tmpl/gstobject.sgml: update
23256         * docs/gst/tmpl/gstplugin.sgml: update
23257         * docs/gst/tmpl/gstpluginfeature.sgml: update
23258         * docs/random/ds/0.9-suggested-changes: update.
23259         * gst/Makefile.am: remove memchunk and trashstack, since they're
23260           not used.
23261         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
23262         * gst/gst.h: don't include some headers
23263         * gst/gstchildproxy.c: add gstmarshal.h
23264         * gst/gstclock.c: Don't use memchunks
23265         * gst/gstminiobject.c: Add some docs
23266         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
23267         * gst/gstobject.h: same
23268         * gst/gstplugin.c: include gstmacros.h
23269         * gst/gstplugin.h: don't include gstmacros.h, since it's private
23270         * gst/gstquery.c: don't use memchunks
23271         * gst/gstregistry.c: rename gst_registry_deinit()
23272         * gst/gstregistry.h: same
23273
23274 2005-09-19  David Schleef  <ds@schleef.org>
23275
23276         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
23277         * docs/libs/gstreamer-libs-sections.txt:
23278         * docs/libs/tmpl/gstgetbits.sgml:
23279         * docs/libs/tmpl/gstputbits.sgml:
23280
23281 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
23282
23283         * win32/gstenumtypes.c:
23284         * win32/gstenumtypes.h:
23285           Update.
23286
23287 2005-09-19  Wim Taymans  <wim@fluendo.com>
23288
23289         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
23290         Automatically PAUSE and RESUME a pipeline when a flushing seek
23291         is performed.
23292
23293 2005-09-19  Andy Wingo  <wingo@pobox.com>
23294
23295         * gst/gstregistry.h: Spacing fixen.
23296
23297 2005-09-19  Wim Taymans  <wim@fluendo.com>
23298
23299         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
23300         Handle state change failure more correctly.
23301
23302 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23303
23304         * check/Makefile.am:
23305         * check/pipelines/cleanup.c: (run_pipeline):
23306         * check/pipelines/simple_launch_lines.c: (run_pipeline),
23307         (GST_START_TEST):
23308           enable cleanup again after fixing the leak
23309         * docs/README:
23310           some more info on docs
23311
23312 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23313
23314         * check/Makefile.am:
23315           re-enable tests now that leaks are plugged
23316         * check/gst/gst.c:
23317         * check/gst/gstbin.c:
23318         * check/gst/gstpipeline.c:
23319           add some more tests while fixing leaks
23320         * common/check.mak:
23321           make sure binaries are uptodate when valgrinding/gdbing
23322         * gst/gst.c:
23323         * gst/gstelementfactory.c:
23324           remove a ref too many, and add a FIXME for when we get
23325           round to disposing of classes
23326         * gst/gstplugin.c:
23327           fix the refcounting when loading a plugin from a file and
23328           the code pretends that the pointer is the same even though
23329           of course it can change
23330         * gst/gstpluginfeature.c:
23331           unref plugins marked cached (a bit confusing as a name)
23332           as the docs state should be done
23333           various doc additions to explain refcounting
23334         * gst/gstregistry.c:
23335         * gst/gstregistryxml.c:
23336           debugging
23337
23338 2005-09-19  Wim Taymans  <wim@fluendo.com>
23339
23340         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
23341         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
23342         (send_messages), (GST_START_TEST), (gstbus_suite):
23343         * check/gst/gstpipeline.c: (GST_START_TEST):
23344         * check/pipelines/cleanup.c: (run_pipeline):
23345         * check/pipelines/simple_launch_lines.c: (run_pipeline),
23346         (GST_START_TEST):
23347         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
23348         (gst_bus_source_check), (gst_bus_source_dispatch),
23349         (gst_bus_create_watch), (gst_bus_add_watch_full),
23350         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
23351         * gst/gstbus.h:
23352         * tools/gst-launch.c: (event_loop):
23353         * tools/gst-md5sum.c: (event_loop):
23354         GstBusHandler -> GstBusFunc, return value has the same meaning as
23355         any other GSource (FALSE == remove source).
23356         _add_watch() and _add_watch_full() now take a MessageType mask to
23357         only handle specific types of messages.
23358         _poll() returns the GstMessage instead of the message type to avoid
23359         race conditions.
23360         _have_pending() takes a MessageType mask now too.
23361         Added testsuite for multiple bus watches.
23362         Fix testsuites and applications for new bus API.
23363
23364 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23365
23366         * check/Makefile.am:
23367           mark a bunch of the tests as to fix until we fix them
23368
23369 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
23370
23371         * common/check.mak:
23372           use GST_PLUGIN settings for valgrind tests as well, so we're
23373           valgrinding the correct thing
23374         * gst/gst.c: (init_post):
23375           plug another leak
23376
23377 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
23378
23379         * gst/gst.c: (init_post), (gst_deinit):
23380         * gst/gstelementfactory.c: (gst_element_factory_class_init),
23381         (gst_element_factory_finalize), (gst_element_factory_cleanup):
23382         * gst/gstindex.c: (gst_index_factory_class_init),
23383         (gst_index_factory_finalize):
23384         * gst/gstobject.c: (gst_object_dispose):
23385         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
23386         (gst_plugin_load_file), (gst_plugin_desc_free):
23387         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
23388         (gst_plugin_feature_finalize):
23389         * gst/gstregistry.c: (gst_registry_class_init),
23390         (gst_registry_init), (gst_registry_finalize),
23391         (gst_registry_get_default), (gst_registry_deinit):
23392         * gst/gstregistry.h:
23393         * gst/gstregistryxml.c: (load_feature), (load_plugin):
23394           various cleanups and memleak plugging.  make valgrind is happy now.
23395
23396 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
23397
23398         * common/check.mak:
23399           add a check-valgrind target
23400
23401 2005-09-18  David Schleef  <ds@schleef.org>
23402
23403         * tools/gst-inspect.c: Revert the GOption code.
23404
23405 2005-09-17  David Schleef  <ds@schleef.org>
23406
23407         * check/Makefile.am: Fix environment variables.
23408         * check/gst/gstplugin.c: Fix for API changes.
23409         * tools/gst-inspect.c: Fix for API changes.
23410         * tools/gst-xmlinspect.c: Fix for API changes.
23411         * gst/gstelementfactory.c:
23412         * gst/gstplugin.c:
23413         * gst/gstplugin.h:
23414         * gst/gstpluginfeature.c:
23415         * gst/gstpluginfeature.h:
23416         * gst/gstregistry.c:
23417         * gst/gstregistry.h:
23418         * gst/gstregistryxml.c:
23419         * gst/gsttypefind.c:
23420         * gst/gsttypefindfactory.c:
23421         * gst/indexers/gstfileindex.c:
23422         * gst/indexers/gstmemindex.c:
23423         * gst/schedulers/Makefile.am:
23424           Change registry to keep track of both plugins and features,
23425           removing the feature tracking from plugins themselves.
23426
23427 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
23428
23429         * check/Makefile.am:
23430         * tools/gst-register.1.in:
23431           remove gst-register
23432
23433 2005-09-15  David Schleef  <ds@schleef.org>
23434
23435         * check/gst/gstplugin.c:
23436         * gst/gstelementfactory.c:
23437         * gst/gstplugin.c:
23438         * gst/gstpluginfeature.c:
23439         * gst/gstregistry.c:
23440           Getting tired of debugging.  Disabled all the unreffing of
23441           plugins and features, which fixes the segfaults, but of
23442           course leaks like crazy.  At least playbin works.
23443
23444 2005-09-15  David Schleef  <ds@schleef.org>
23445
23446         * check/gst/gstplugin.c: (register_check_elements),
23447         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
23448         More testing
23449         * gst/elements/gsttypefindelement.c: Fix refcounting.
23450         * gst/gsttypefind.c:
23451         * gst/gsttypefindfactory.c:
23452         * gst/gsttypefindfactory.h:
23453
23454 2005-09-15  David Schleef  <ds@schleef.org>
23455
23456         * gst/gstindex.c: get refcounting correct.
23457         * gst/gstregistry.c: Handle the case where a feature/plugin is
23458           not found.
23459
23460 2005-09-15  David Schleef  <ds@schleef.org>
23461
23462         * check/Makefile.am:
23463         * check/gst/gstplugin.c: Add test
23464         * gst/gstplugin.c: Fix problems noticed by testsuite
23465         * gst/gstplugin.h:
23466         * gst/gstregistry.c: 
23467         * gst/gstregistry.h:
23468
23469 2005-09-15  David Schleef  <ds@schleef.org>
23470
23471         * gst/gstplugin.c: Implement semi-decent recounting and locking
23472           in plugins and plugin features.
23473         * gst/gstplugin.h:
23474         * gst/gstpluginfeature.c:
23475         * gst/gstpluginfeature.h:
23476         * gst/gstregistry.c:
23477
23478 2005-09-15  Michael Smith <msmith@fluendo.com>
23479
23480         * gst/gstregistry.c: (gst_registry_get_feature_list):
23481           Implement this. Makes oggdemux work; decodebin still broken.
23482
23483 2005-09-14  David Schleef  <ds@schleef.org>
23484
23485         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
23486           #316076)
23487         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
23488         * gst/check/Makefile.am:
23489         * libs/gst/controller/Makefile.am:
23490         * libs/gst/dataprotocol/Makefile.am:
23491
23492 2005-09-14  David Schleef  <ds@schleef.org>
23493
23494         * configure.ac: Remove getbits library.  Nothing uses it, and
23495           it should be in something like liboil if someone did want
23496           to use it.
23497         * libs/gst/Makefile.am:
23498         * libs/gst/getbits/Makefile.am:
23499         * libs/gst/getbits/gbtest.c:
23500         * libs/gst/getbits/getbits.c:
23501         * libs/gst/getbits/getbits.h:
23502         * libs/gst/getbits/gstgetbits_generic.c:
23503         * libs/gst/getbits/gstgetbits_i386.s:
23504         * libs/gst/getbits/gstgetbits_inl.h:
23505
23506 2005-09-14  David Schleef  <ds@schleef.org>
23507
23508         * gst/Makefile.am: Dist glib-compat.h
23509
23510 2005-09-14  David Schleef  <ds@schleef.org>
23511
23512         * configure.ac: Remove gst/registries, since it's no longer used.
23513         * gst/registries/Makefile.am:
23514         * gst/registries/gstlibxmlregistry.c:
23515         * gst/registries/gstlibxmlregistry.h:
23516         * gst/registries/gstxmlregistry.c:
23517         * gst/registries/gstxmlregistry.h:
23518         * gst/registries/registrytest.c:
23519
23520 2005-09-14  David Schleef  <ds@schleef.org>
23521
23522         * gst/glib-compat.h:
23523         * gst/gstregistryxml.c:
23524           Convergence is near.  Seriously.
23525
23526 2005-09-14  David Schleef  <ds@schleef.org>
23527
23528         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
23529         * gst/glib-compat.h:
23530           Attempt #4 to appease the buildbots.
23531
23532 2005-09-14  David Schleef  <ds@schleef.org>
23533
23534         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
23535           Attempt #3.
23536
23537 2005-09-14  David Schleef  <ds@schleef.org>
23538
23539         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
23540         Attempt #2.
23541
23542 2005-09-14  David Schleef  <ds@schleef.org>
23543
23544         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
23545           the new functions.
23546
23547 2005-09-14  David Schleef  <ds@schleef.org>
23548
23549         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
23550         * gst/glib-compat.h: Add some functions that are in newer versions
23551           of glib than we care to require.
23552         * gst/gstregistryxml.c: Use them.
23553
23554 2005-09-14  David Schleef  <ds@schleef.org>
23555
23556         * po/POTFILES.in: remove gst-register.c
23557
23558 2005-09-14  David Schleef  <ds@schleef.org>
23559
23560         * docs/gst/gstreamer-docs.sgml:
23561         * docs/gst/gstreamer-sections.txt:
23562         * docs/gst/gstreamer.types:
23563         * docs/gst/tmpl/gstelement.sgml:
23564         * docs/gst/tmpl/gstplugin.sgml:
23565         * docs/gst/tmpl/gstpluginfeature.sgml:
23566           Documentation updates for registry changes.
23567
23568 2005-09-14  David Schleef  <ds@schleef.org>
23569
23570         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
23571           because we don't require glib-2.8.
23572
23573 2005-09-14  David Schleef  <ds@schleef.org>
23574
23575         * gst/gstregistryxml.c: Added.  Essentially moved out of the
23576           registries directory.
23577
23578 2005-09-14  David Schleef  <ds@schleef.org>
23579
23580         * check/Makefile.am:
23581         * check/generic/states.c:
23582         * gst/Makefile.am:
23583         * gst/gst.c:
23584         * gst/gst.h:
23585         * gst/gst_private.h:
23586         * gst/gstelementfactory.c:
23587         * gst/gstindex.c:
23588         * gst/gstinfo.c:
23589         * gst/gstplugin.c:
23590         * gst/gstplugin.h:
23591         * gst/gstpluginfeature.c:
23592         * gst/gstpluginfeature.h:
23593         * gst/gstregistry.c:
23594         * gst/gstregistry.h:
23595         * gst/gstregistrypool.c: remove
23596         * gst/gstregistrypool.h: remove
23597         * gst/gsttypefind.c:
23598         * gst/gsttypefindfactory.c:
23599         * gst/gsturi.c:
23600         * tools/Makefile.am:
23601         * tools/gst-compprep.c:
23602         * tools/gst-inspect.c:
23603         * tools/gst-register.c: remove
23604         * tools/gst-xmlinspect.c:
23605           Registry rewrite.  Changes registry from being a file created
23606           by a tool into a simple cache file created automatically by 
23607           libgstreamer.  Removed gst-register (because it's no longer
23608           needed).  Remove registry pools, because we only have one
23609           registry implementation (XML).  Fix up other subsystems as
23610           necessary.
23611
23612 2005-09-13  Michael Smith <msmith@fluendo.com>
23613
23614         * gst/gstconfig.h.in:
23615           Don't Use windows linking attributes for MinGW. Fixes #316157
23616
23617 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23618
23619         * gst/gstutils.c: (set_state_async_thread_func),
23620         (gst_element_set_state_async):
23621           Apparently people think it's better if this function doesn't
23622           try to set the state to whatever state was asked for on the first
23623           call to this function for any object.  Seriously.
23624
23625 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23626
23627         * check/gst/gstpipeline.c: (GST_START_TEST):
23628         * docs/gst/gstreamer-sections.txt:
23629         * gst/gstutils.c: (set_state_async_thread_func),
23630         (gst_element_set_state_async):
23631         * gst/gstutils.h:
23632           add a "gst_element_set_state_async" method that
23633           sets the state and starts a thread to make sure the state
23634           change completes as best as it can
23635
23636 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23637
23638         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23639           codify design+behaviour in testsuite after discussion
23640
23641 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23642
23643         * docs/gst/tmpl/gstelement.sgml:
23644         * docs/manual/appendix-quotes.xml:
23645           add a quote
23646         * gst/gstelement.c: (gst_element_set_state):
23647           add some debug
23648
23649 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
23650
23651         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
23652         (gst_base_transform_prepare_output_buf),
23653         (gst_base_transform_handle_buffer):
23654         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
23655         (gst_capsfilter_prepare_buf):
23656           Remove the requirement for sub-classes to call the parent
23657           implementation of prepare_output_buffer with a wrapper function.
23658           
23659         * gst/gsttaglist.h:
23660         * gst/gsttagsetter.h:
23661           Fix #define wrapper
23662
23663 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
23664
23665         * docs/gst/gstreamer-sections.txt:
23666           more doc cleanups
23667
23668 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23669
23670         * docs/gst/gstreamer-sections.txt:
23671         * docs/gst/tmpl/gstelement.sgml:
23672         * docs/gst/tmpl/gstplugin.sgml:
23673         * gst/gstminiobject.c:
23674         * gst/gstvalue.h:
23675           docs now stop throwing warnings
23676
23677 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23678
23679         * docs/gst/gstreamer-sections.txt:
23680         * docs/gst/gstreamer.types:
23681         * docs/gst/tmpl/gstpad.sgml:
23682         * docs/gst/tmpl/gsttypes.sgml:
23683         * gst/base/gstadapter.h:
23684         * gst/base/gstbasesink.h:
23685         * gst/base/gstbasesrc.h:
23686         * gst/gstbin.h:
23687         * gst/gstbuffer.h:
23688         * gst/gstbus.h:
23689         * gst/gstcaps.h:
23690         * gst/gstclock.h:
23691         * gst/gstelement.h:
23692         * gst/gstevent.h:
23693         * gst/gstmessage.h:
23694         * gst/gstpad.h:
23695         * gst/gststructure.c:
23696         * gst/registries/gstlibxmlregistry.h:
23697           various documentation fixes
23698
23699 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23700
23701         * docs/gst/gstreamer-sections.txt:
23702         * docs/gst/tmpl/gstvalue.sgml:
23703           rearrange gstvalue section
23704         * gst/gstutils.c: (gst_element_state_get_name):
23705           NONE -> VOID
23706         * gst/gstvalue.c: (_gst_value_initialize):
23707         * gst/gstvalue.h:
23708           doc updates
23709
23710 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
23711
23712         * check/gst-libs/controller.c:
23713           Header include fix.
23714         * gst/base/gstbasetransform.c:
23715         (gst_base_transform_default_prepare_buf),
23716         (gst_base_transform_handle_buffer):
23717         * gst/base/gstbasetransform.h:
23718           Some more basetransform changes and fixes to enable sub-classes
23719           that modify buffer metadata only.
23720         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
23721         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
23722         (gst_capsfilter_prepare_buf):
23723           If the output pad has fixed allowed caps and input buffers 
23724           don't have any, set the fixed caps on outgoing buffers.
23725
23726 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
23727         * check/elements/identity.c: (GST_START_TEST):
23728           Make the error a little clearer when the test fails because
23729           identity made a copy of the buffer.
23730         * docs/gst/gstreamer-sections.txt:
23731           New symbols in gstbasetransform.h
23732         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
23733         (gst_base_transform_init), (gst_base_transform_transform_size),
23734         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23735         (gst_base_transform_default_prepare_buf),
23736         (gst_base_transform_get_unit_size),
23737         (gst_base_transform_buffer_alloc),
23738         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
23739         (gst_base_transform_change_state),
23740         (gst_base_transform_set_passthrough),
23741         (gst_base_transform_set_in_place),
23742         (gst_base_transform_is_in_place):
23743         * gst/base/gstbasetransform.h:
23744           Change BaseTransform to separate in_place operate from same_caps
23745           output. in_place implies that the element can perform the transform
23746           on incoming buffers in-place, even if the caps on the output are
23747           different.
23748           Sub-class elements can now implement special buffer allocation
23749           methods for outgoing buffers if they wish to.
23750           Big documentation addition.
23751         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
23752         * gst/elements/gstelements.c:
23753           Changes for basetransform modifications.
23754         * gst/elements/Makefile.am:
23755         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
23756           Compile fix. Extra debug output.
23757
23758 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23759
23760         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
23761         (gst_pad_suite):
23762           add tests for valid pad naming
23763         * gst/check/gstcheck.c: (gst_check_log_message_func),
23764         (gst_check_log_critical_func):
23765           add ASSERT_WARNING
23766           remove printing of code, it is fragile when the code contains
23767           % and the line number is enough info
23768         * gst/check/gstcheck.h:
23769         * gst/gstpad.c: (gst_pad_template_new):
23770           fix memleaks
23771
23772 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23773
23774         * configure.ac:
23775           say what CHECK flags we use
23776         * docs/libs/gstreamer-libs.types:
23777         * libs/gst/controller/Makefile.am:
23778         * libs/gst/controller/gst-controller.c:
23779         * libs/gst/controller/gst-controller.h:
23780         * libs/gst/controller/gst-helper.c:
23781         * libs/gst/controller/gst-interpolation.c:
23782         * libs/gst/controller/gstcontroller.c:
23783         * libs/gst/controller/gsthelper.c:
23784         * libs/gst/controller/gstinterpolation.c:
23785         * tools/gst-inspect.c: (print_plugin_info):
23786           we don't use dashes in header names
23787
23788 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23789
23790         * check/Makefile.am:
23791         * check/gst/.cvsignore:
23792         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
23793         (gst_pipeline_suite), (main):
23794           adding a test for pipelines and state changes
23795         * gst/gstutils.c: (get_state_func):
23796           add some debugging
23797         * gstreamer.spec.in:
23798           fix up spec file
23799
23800 2005-09-08  Michael Smith <msmith@fluendo.com>
23801
23802         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
23803         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
23804         (gst_file_src_is_seekable), (gst_file_src_get_size),
23805         (gst_file_src_start):
23806         * gst/elements/gstfilesrc.h:
23807           Various fixes for unseekable, unmmapable, and non-normal files, so
23808           that fallback to read() rather than mmap() works.
23809         * gst/gstevent.c: (gst_event_new_newsegment):
23810           Allow newsegment events with segment_start == segment_end, as will
23811           correctly happen if you use filesrc on a zero-size file, for
23812           example.
23813
23814 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
23815
23816         * gst/gstplugin.c: (gst_plugin_load_file):
23817           Call g_module_close when we don't load the module
23818
23819         * gst/registries/gstlibxmlregistry.c:
23820         (gst_xml_registry_get_property):
23821           Port leak fix from 0.8
23822
23823 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
23824
23825         * docs/gst/gstreamer-docs.sgml:
23826         * docs/gst/tmpl/.cvsignore:
23827         * docs/gst/tmpl/gsttrace.sgml:
23828         * docs/gst/tmpl/gsttrashstack.sgml:
23829         * gst/Makefile.am:
23830         * gst/gst.h:
23831         * gst/gstelement.h:
23832         * gst/gstevent.h:
23833         * gst/gstmessage.c:
23834         * gst/gstmessage.h:
23835         * gst/gsttag.c:
23836         * gst/gsttag.h:
23837         * gst/gsttaginterface.c:
23838         * gst/gsttaginterface.h:
23839         * gst/gsttaglist.c:
23840         * gst/gsttaglist.h:
23841         * gst/gsttagsetter.c:
23842         * gst/gsttagsetter.h:
23843         * gst/gsttrace.c:
23844         * gst/gsttrace.h:
23845         * gst/gsttrashstack.c:
23846           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
23847           inlined docs for gsttrace, gsttrashstack
23848
23849 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
23850
23851         * gst/Makefile.am:
23852         * gst/elements/gstbufferstore.h:
23853         * gst/elements/gsttypefindelement.c:
23854         * gst/elements/gsttypefindelement.h:
23855         * gst/gst.h:
23856         * gst/gsttypefind.c:
23857         * gst/gsttypefind.h:
23858         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
23859         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
23860         (gst_type_find_factory_dispose),
23861         (gst_type_find_factory_unload_thyself),
23862         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
23863         (gst_type_find_factory_get_caps),
23864         (gst_type_find_factory_get_extensions),
23865         (gst_type_find_factory_call_function):
23866         * gst/gsttypefindfactory.h:
23867         * gst/registries/gstlibxmlregistry.c:
23868         * gst/registries/gstxmlregistry.c:
23869           splitted gsttypefind into gsttypefind, gsttypefindfactory
23870
23871 2005-09-07  Andy Wingo  <wingo@pobox.com>
23872
23873         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
23874         condition whereby the pad's task function is entered before the
23875         pad_mode variable was set.
23876
23877 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
23878
23879         * gst/gstpad.c: (gst_pad_alloc_buffer):
23880           Catch misbehaving pad_alloc functions that don't
23881           set up caps and do it for them.
23882
23883 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
23884
23885         * check/pipelines/simple_launch_lines.c: (run_pipeline):
23886           test for pipe!=NULL
23887         * docs/gst/tmpl/.cvsignore:
23888         * docs/gst/tmpl/gstmemchunk.sgml:
23889         * docs/gst/tmpl/gstparse.sgml:
23890         * docs/gst/tmpl/gsttaglist.sgml:
23891         * docs/gst/tmpl/gsttagsetter.sgml:
23892         * docs/gst/tmpl/gsttypefind.sgml:
23893         * docs/gst/tmpl/gsttypefindfactory.sgml:
23894         * gst/gstmemchunk.c:
23895         * gst/gstparse.c:
23896         * gst/gsttag.c:
23897         * gst/gsttaginterface.c:
23898         * gst/gsttypefind.c:
23899         * gst/gsttypefind.h:
23900           inlined more docs
23901
23902 === release 0.9.2 ===
23903
23904 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23905
23906         * NEWS:
23907         * RELEASE:
23908         * configure.ac:
23909           releasing 0.9.2, "South"
23910
23911 2005-09-05  Andy Wingo  <wingo@pobox.com>
23912
23913         * gst/registries/gstxmlregistry.h:
23914         * gst/registries/gstxmlregistry.c: Um... resurrect...
23915         
23916         * gst/registries/gstxmlregistry.h:
23917         * gst/registries/gstxmlregistry.c: and update to newer API.
23918         Incidentally they should be a bit faster now that they don't have
23919         to parse the caps.
23920         
23921 2005-09-05  Andy Wingo  <wingo@pobox.com>
23922
23923         * gst/registries/gstxmlregistry.h:
23924         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
23925         replaced by the libxml registry a while back
23926
23927 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23928
23929         * docs/gst/tmpl/gstplugin.sgml:
23930         * gst/elements/gstelements.c:
23931         * gst/gst.c:
23932         * gst/gstplugin.c: (gst_plugin_register_func),
23933         (gst_plugin_desc_copy), (gst_plugin_desc_free),
23934         (gst_plugin_get_source):
23935         * gst/gstplugin.h:
23936         * gst/registries/gstlibxmlregistry.c: (load_plugin),
23937         (gst_xml_registry_save_plugin):
23938         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
23939         (gst_xml_registry_save_plugin):
23940         * tools/gst-inspect.c: (print_plugin_info):
23941           add a "source" plugin description field, to represent the source
23942           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
23943           will set it to PACKAGE, which is automake's idea of the name of
23944           the source project.
23945
23946 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23947
23948         * Makefile.am:
23949         * autogen.sh:
23950         * configure.ac:
23951         * docs/Makefile.am:
23952         * docs/faq/Makefile.am:
23953         * docs/gst/tmpl/gstelement.sgml:
23954         * docs/gst/tmpl/gsttypes.sgml:
23955         * docs/htmlinstall.mak:
23956         * docs/manual/Makefile.am:
23957         * docs/pwg/Makefile.am:
23958           reorganize doc build a little
23959           split out docbook and gtk-doc stuff
23960           have two separate --enable's and enable them through autogen
23961           but disable by default in configure (to be similar to other
23962           projects)
23963         * gstreamer.spec.in:
23964           clean up docs install
23965         * po/af.po:
23966         * po/az.po:
23967         * po/ca.po:
23968         * po/cs.po:
23969         * po/de.po:
23970         * po/en_GB.po:
23971         * po/fr.po:
23972         * po/it.po:
23973         * po/nb.po:
23974         * po/nl.po:
23975         * po/ru.po:
23976         * po/sq.po:
23977         * po/sr.po:
23978         * po/sv.po:
23979         * po/tr.po:
23980         * po/uk.po:
23981         * po/vi.po:
23982           translation updates
23983
23984 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
23985
23986         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
23987           Add comment.
23988           
23989         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
23990         (gst_fake_sink_change_state):
23991           Make state change function thread-safe.
23992           
23993         * gst/gstpad.c: (gst_pad_alloc_buffer):
23994           Set offset on generic buffer allocated by fallback.
23995
23996 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
23997
23998         * docs/gst/gstreamer-sections.txt:
23999         * docs/gst/tmpl/gstelement.sgml:
24000         * gst/gstpad.c:
24001         * libs/gst/controller/gst-controller.c:
24002         (gst_controlled_property_set_interpolation_mode),
24003         (gst_controlled_property_new),
24004         (gst_controller_find_controlled_property):
24005          run the wingo-magic script against the docs
24006
24007 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
24008
24009         * docs/gst/gstreamer-docs.sgml:
24010         * docs/gst/gstreamer-sections.txt:
24011         * docs/gst/tmpl/.cvsignore:
24012         * docs/gst/tmpl/gstelementdetails.sgml:
24013         * docs/gst/tmpl/gstelementfactory.sgml:
24014         * gst/gst.c:
24015         * gst/gstbus.c:
24016         * gst/gstelementfactory.c:
24017         * gst/gstelementfactory.h:
24018           merged elementdetails docs into elementfactory docs
24019           inlined both
24020
24021 2005-09-02  Andy Wingo  <wingo@pobox.com>
24022
24023         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
24024         consider this enum an enum and not a flags.
24025
24026 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
24027
24028         * docs/gst/gstreamer-docs.sgml:
24029         * docs/gst/tmpl/.cvsignore:
24030         * docs/gst/tmpl/gstghostpad.sgml:
24031         * docs/gst/tmpl/gstiterator.sgml:
24032         * docs/gst/tmpl/gstmacros.sgml:
24033         * docs/gst/tmpl/gstrealpad.sgml:
24034         * docs/gst/tmpl/gstregistry.sgml:
24035         * docs/gst/tmpl/gstregistrypool.sgml:
24036         * docs/gst/tmpl/gststructure.sgml:
24037         * docs/gst/tmpl/gstsystemclock.sgml:
24038         * docs/gst/tmpl/gsttrace.sgml:
24039         * gst/gstghostpad.c:
24040         * gst/gstmacros.h:
24041         * gst/gstmemchunk.c:
24042         * gst/gstmemchunk.h:
24043         * gst/gstqueue.c:
24044         * gst/gstregistry.c:
24045         * gst/gstregistrypool.c:
24046         * gst/gststructure.c:
24047         * gst/gstsystemclock.c:
24048           more docs inlined
24049
24050 2005-09-02  Andy Wingo  <wingo@pobox.com>
24051
24052         * gst/gstelement.h (GstState): Renamed from GstElementState,
24053         changed to be a normal enum instead of flags.
24054         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
24055         munged to be GST_STATE_CHANGE_*.
24056         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
24057         work with the new state representation.
24058         (GstStateChange): New enumeration of possible state transitions.
24059         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
24060         (GstElementClass::change_state): Pass the GstStateChange along as
24061         an argument. Helps language bindings, so they don't have to use
24062         tricky lock-needing macros like GST_STATE_CHANGE ().
24063
24064         * scripts/update-states (file): New script. Run it on a file to
24065         update it for state naming and API changes. Updates files in
24066         place.
24067
24068         * All files updated for the new API.
24069
24070 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
24071
24072         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
24073         * gst/gstutils.c: (gst_util_set_value_from_string),
24074         (gst_util_set_object_arg):
24075           fix a bunch of unchecked return values
24076         * tools/gst-complete.c: (main):
24077         * gstreamer.spec.in:
24078           clean up a little
24079
24080 2005-09-01  Wim Taymans  <wim@fluendo.com>
24081
24082         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24083         (gst_base_sink_event), (gst_base_sink_do_sync),
24084         (gst_base_sink_handle_event):
24085         * gst/base/gstbasesink.h:
24086         Handle newsegments more correctly.
24087
24088         * gst/gstbus.c:
24089         Fix docs.
24090
24091         * gst/gstevent.c: (gst_event_new_newsegment):
24092         A newsegment cannot have a start_time of -1
24093
24094 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
24095
24096         * win32/gstenumtypes.c:
24097         * win32/gstenumtypes.h:
24098           Update
24099
24100 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
24101
24102         * libs/gst/controller/gst-controller.c:
24103         (gst_controlled_property_set_interpolation_mode),
24104         (gst_controlled_property_new):
24105          fixed boolean again
24106
24107 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
24108
24109         * docs/faq/gst-uninstalled:
24110           add -good
24111         * gst/gstevent.c:
24112         * gst/gstevent.h:
24113           remove wrong docs
24114         * gst/gstutils.c: (gst_element_link_filtered):
24115         * gst/gstutils.h:
24116           add gst_element_link_filtered
24117
24118 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
24119
24120         * docs/gst/gstreamer-docs.sgml:
24121         * docs/gst/gstreamer-sections.txt:
24122         * docs/gst/tmpl/.cvsignore:
24123         * docs/gst/tmpl/gsterror.sgml:
24124         * docs/gst/tmpl/gstfilter.sgml:
24125         * docs/gst/tmpl/gsturihandler.sgml:
24126         * docs/gst/tmpl/gsturitype.sgml:
24127         * docs/gst/tmpl/gstutils.sgml:
24128         * docs/gst/tmpl/gstxml.sgml:
24129         * gst/gsterror.c:
24130         * gst/gsterror.h:
24131         * gst/gstfilter.c:
24132         * gst/gsturi.c:
24133         * gst/gsturitype.c:
24134         * gst/gstutils.c:
24135         * gst/gstxml.c:
24136           inlined more docs, fixed double id-ref
24137
24138 2005-08-31  Wim Taymans  <wim@fluendo.com>
24139
24140         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
24141         (gst_base_transform_handle_buffer):
24142         Passthrough elements don't need the caps as they don't care.
24143
24144 2005-08-31  Wim Taymans  <wim@fluendo.com>
24145
24146         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
24147         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
24148         Don't leak refcounts on buffers.
24149
24150 2005-08-31  Wim Taymans  <wim@fluendo.com>
24151
24152         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
24153         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
24154         (gst_base_transform_chain), (gst_base_transform_change_state):
24155         * gst/base/gstbasetransform.h:
24156         Handle the case where we are not negotiated more gracefully.
24157
24158 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
24159
24160         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
24161         (gst_file_src_map_region):
24162           Set READONLY flag on mmap'ed buffers, otherwise
24163           gst_buffer_make_writable() won't work properly (#314708).
24164
24165 2005-08-31  Wim Taymans  <wim@fluendo.com>
24166
24167         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
24168         passthrough elements can even do inplace on non writable
24169         buffers (as they don't touch them).
24170
24171 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
24172
24173         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
24174         (gst_test_mono_source_set_property),
24175         (gst_test_mono_source_class_init), (GST_START_TEST),
24176         (gst_controller_suite):
24177           more tests (hehe I have the most)
24178         * gst/gstbus.c:
24179           describe popping messages whenusing mulltiple sources
24180         * libs/gst/controller/gst-controller.c:
24181         (gst_controlled_property_set_interpolation_mode),
24182         (gst_controlled_property_new):
24183         * libs/gst/controller/gst-controller.h:
24184         * libs/gst/controller/gst-interpolation.c:
24185           implement boolean properties
24186
24187 2005-08-31  Wim Taymans  <wim@fluendo.com>
24188
24189         * gst/gstminiobject.c: (gst_mini_object_ref):
24190         Cannot assert that the refcount has to be positive
24191         since a disposed object can be resurrected.
24192
24193 2005-08-31  Wim Taymans  <wim@fluendo.com>
24194
24195         * gst/gstpad.c: (gst_pad_init):
24196         Revert change, need to first fix badly behaving 
24197         apps.
24198
24199 2005-08-30  Wim Taymans  <wim@fluendo.com>
24200
24201         * check/elements/fakesrc.c: (setup_fakesrc):
24202         * check/elements/identity.c: (setup_identity):
24203         Activate pads before using them.
24204
24205 2005-08-30  Wim Taymans  <wim@fluendo.com>
24206
24207         * gst/base/gstadapter.c: (gst_adapter_flush):
24208         Flushing out 0 bytes is ok for this function.
24209
24210         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24211         no newsegment gives a warning and sets the start/stop to 
24212         invalid.
24213
24214         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
24215         (gst_base_transform_set_passthrough):
24216         Some debug info.
24217
24218         * gst/gstminiobject.c: (gst_mini_object_ref):
24219         Check refcount here too.
24220
24221         * gst/gstpad.c: (gst_pad_init):
24222         Pads are initially flushing and refusing data.
24223
24224         * gst/gstutils.c: (gst_element_link_pads_filtered):
24225         When adding a capsfilter element make sure it has the
24226         same state as the parent bin.
24227
24228 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
24229
24230         * docs/gst/tmpl/.cvsignore:
24231         * docs/gst/tmpl/gstformat.sgml:
24232         * docs/gst/tmpl/gstversion.sgml:
24233         * gst/gstbus.h:
24234         * gst/gstformat.c:
24235         * gst/gstformat.h:
24236         * gst/gstversion.h.in:
24237           more docs and two more inlined
24238
24239 2005-08-30  Wim Taymans  <wim@fluendo.com>
24240
24241         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
24242         Don't sync to clock.
24243
24244 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
24245
24246         * docs/gst/gstreamer-sections.txt:
24247           ultral33t func10ns deserve to appear in the docs actually
24248         * docs/gst/tmpl/.cvsignore:
24249         * docs/gst/tmpl/gstcompat.sgml:
24250         * docs/gst/tmpl/gstconfig.sgml:
24251         * gst/check/gstcheck.c:
24252         * gst/gstcompat.h:
24253         * gst/gstconfig.h.in:
24254           inlined more docs
24255
24256 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
24257
24258         * docs/gst/tmpl/.cvsignore:
24259         * docs/gst/tmpl/gstquery.sgml:
24260         * docs/gst/tmpl/gstutils.sgml:
24261         * gst/gstquery.c:
24262         * gst/gstquery.h:
24263           inlined and extended docs
24264
24265 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
24266
24267         * check/gst-libs/controller.c: (GST_START_TEST),
24268         (gst_controller_suite):
24269           more tests
24270         * docs/gst/tmpl/gstutils.sgml:
24271         * docs/libs/gstreamer-libs-sections.txt:
24272         * docs/libs/tmpl/gstdataprotocol.sgml:
24273           include path fixes
24274         * examples/controller/audio-example.c: (main):
24275           controller example works now
24276         * gst/gstclock.h:
24277           doc fixes
24278         * tools/gst-inspect.c: (print_element_properties_info):
24279           show param spec flags
24280
24281 2005-08-29  Andy Wingo  <wingo@pobox.com>
24282
24283         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
24284
24285 2005-08-28  Andy Wingo  <wingo@pobox.com>
24286
24287         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
24288         as having two arguments instead of just one. Allows superclasses
24289         to access information on subclasses -- see the terrible for() loop
24290         in gtype.c:g_type_create_instance for the reason why. All callers
24291         changed.
24292
24293 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
24294
24295         * docs/design/part-messages.txt:
24296           update info
24297         * docs/gst/tmpl/.cvsignore:
24298         * docs/gst/tmpl/gstcaps.sgml:
24299         * docs/gst/tmpl/gstclock.sgml:
24300         * gst/gstbus.c:
24301         * gst/gstcaps.c:
24302         * gst/gstcaps.h:
24303         * gst/gstclock.c:
24304         * gst/gstclock.h:
24305         * gst/gstmessage.c:
24306           added descriptions for bus and message
24307           inline caps and clock docs
24308
24309 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
24310
24311         * gst/gstmessage.c:
24312         * gst/gstmessage.h:
24313           doc fixes
24314
24315 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
24316
24317         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24318           fix div-by-zero
24319
24320 2005-08-26  Andy Wingo  <wingo@pobox.com>
24321
24322         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
24323         element_set_state's return val.
24324         (test_2_elements): Add test that's been disabled for months.
24325
24326         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
24327         can-activate-pull properties.
24328
24329         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
24330         can-activate-pull properties. Implement is_seekable so fakesrc can
24331         operate in pull mode.
24332
24333         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
24334         properties.
24335         (gst_base_sink_activate, gst_base_sink_activate_pull)
24336         (gst_base_sink_activate_push): Make activation mode choosing work.
24337         Cleanups.
24338         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
24339         is right. Make pull mode work. Post an eos before pausing in pull
24340         mode.
24341         (gst_base_sink_change_state): Pay attention to the core's
24342         change_state() return val.
24343         
24344         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
24345         has-getrange properties. Cleanups.
24346         
24347         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
24348         has_getrange and replace with can_activate_pull and
24349         can_activate_push.
24350
24351         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
24352         locking comments. Remove has_loop, has_chain and replace with
24353         can_activate_pull and can_activate_push.
24354
24355 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
24356
24357         * configure.ac:
24358         * examples/Makefile.am:
24359         * examples/metadata/Makefile.am:
24360         * examples/metadata/read-metadata.c: (message_loop),
24361         (have_pad_handler), (make_pipeline), (print_tag), (main):
24362           Add metadata reading example that loops over a list of filenames,
24363           dumping any tags found.
24364
24365         * gst/gstbus.c: (gst_bus_dispose):
24366         * gst/gstelement.c: (gst_element_dispose):
24367           Release a few potentially-held references in dispose.
24368
24369 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
24370
24371         * docs/gst/tmpl/gstminiobject.sgml:
24372           do *not* add tmpl/*.sgml files to CVS!
24373
24374 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
24375
24376         * libs/gst/bytestream/.cvsignore:
24377         * libs/gst/bytestream/Makefile.am:
24378         * libs/gst/bytestream/adapter.c:
24379         * libs/gst/bytestream/adapter.h:
24380         * libs/gst/bytestream/bytestream.c:
24381         * libs/gst/bytestream/bytestream.h:
24382         * libs/gst/bytestream/filepad.c:
24383         * libs/gst/bytestream/filepad.h:
24384           removing obsolete files
24385
24386 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
24387
24388         * docs/gst/gstreamer-docs.sgml:
24389         * docs/libs/gstreamer-libs-docs.sgml:
24390           disabed additional index entries again, as this makes docs-gen just
24391           slow and they aren't useful yet
24392         * docs/libs/gstreamer-libs-sections.txt:
24393           little -section.txt cleanup for libs
24394
24395 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24396
24397         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24398         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
24399           fix up some debugging
24400         (gst_base_transform_get_unit_size),
24401         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
24402         (gst_base_transform_handle_buffer):
24403         * gst/base/gstbasetransform.h:
24404           handle and store timed NEWSEGMENT events so that subclasses that
24405           calculate time by counting samples have a segment_start time they
24406           need to add to their timestamps - see audioresample
24407
24408 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
24409
24410         * gst/gstbin.h:
24411           removed ';' from the end of macro defs
24412         * docs/gst/gstreamer-docs.sgml:
24413         * docs/gst/gstreamer-sections.txt:
24414         * docs/gst/tmpl/.cvsignore:
24415         * gst/gstbus.h:
24416         * gst/gstelement.c: (gst_element_class_init),
24417         (gst_element_set_state), (activate_pads),
24418         (gst_element_save_thyself):
24419         * gst/gstevent.c: (gst_event_new_newsegment):
24420         * gst/gstevent.h:
24421         * gst/gstiterator.c:
24422         * gst/gstiterator.h:
24423         * gst/gstpad.c:
24424         * gst/gstprobe.h:
24425         * gst/gstutils.c: (gst_pad_query_convert):
24426         * gst/gstutils.h:
24427           fixed parameter name mismatches between source, header and docs
24428           added some more docs, resolved the last batch of unused elements in
24429           docs (now someone needs to doc them)
24430
24431 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
24432
24433         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
24434         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
24435           don't walk through the plugins backwards.  Where is all this
24436           reversed logic coming from ?
24437
24438 2005-08-25  Wim Taymans  <wim@fluendo.com>
24439
24440         * gst/base/gstbasetransform.c: (gst_base_transform_init),
24441         (gst_base_transform_transform_size),
24442         (gst_base_transform_configure_caps),
24443         (gst_base_transform_get_unit_size),
24444         (gst_base_transform_buffer_alloc),
24445         (gst_base_transform_change_state):
24446         * gst/base/gstbasetransform.h:
24447         Cache caps unit_size.
24448         Make sure we cannot negotiate up and downstream at the
24449         same time.
24450
24451 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
24452
24453         * gst/gst.c: (init_pre), (init_post):
24454           register the installed plugin path after the env var
24455         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
24456         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
24457           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
24458           directories, so the tests can prefer uninstalled over installed
24459
24460 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
24461
24462         * gst/base/gstbasetransform.h:
24463           comment
24464         * gst/gstpad.c:
24465           add to docs
24466
24467 2005-08-25  Wim Taymans  <wim@fluendo.com>
24468
24469         * gst/gstbin.c: (bin_bus_handler):
24470         Be a bit more conservative about the posted message.
24471         
24472         * gst/gstbus.c: (gst_bus_post):
24473         Some cleanups, warn wrong return values.
24474
24475 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
24476
24477         * check/gst/gstbin.c: (GST_START_TEST):
24478         * gst/gstbin.c: (bin_bus_handler):
24479         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
24480         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
24481         (gst_message_new_warning), (gst_message_new_tag),
24482         (gst_message_new_state_changed), (gst_message_new_segment_start),
24483         (gst_message_new_segment_done), (gst_message_new_custom):
24484         * gst/gstmessage.h:
24485         * tools/gst-launch.c: (event_loop):
24486         * tools/gst-md5sum.c: (event_loop):
24487           Revert unpopular change for GST_MESSAGE_SRC to GObject.
24488
24489 2005-08-25  Wim Taymans  <wim@fluendo.com>
24490
24491         * check/generic/states.c: (GST_START_TEST):
24492         Cleanup can be done at the end.
24493
24494         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
24495         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
24496         (gst_task_get_state), (gst_task_start), (gst_task_pause):
24497         Oh boy.. Thanks for finding this, Thomas. 
24498
24499 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
24500
24501         * docs/gst/gstreamer.types:
24502           added missing types
24503
24504 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
24505
24506         * docs/gst/gstreamer-docs.sgml:
24507         * docs/gst/gstreamer-sections.txt:
24508         * docs/gst/tmpl/.cvsignore:
24509         * gst/gstbin.c:
24510         * gst/gstiterator.c:
24511         * gst/gstutils.c:
24512         * gst/registries/gstxmlregistry.h:
24513           added missing classes and symbols (123 more to go)
24514           removed removed symbols from section file
24515           fixed many doc-comments
24516
24517 2005-08-24  Wim Taymans  <wim@fluendo.com>
24518
24519         * check/generic/states.c: (GST_START_TEST):
24520         Make sure all tasks are stopped.
24521
24522         * check/gst/gstbin.c: (GST_START_TEST):
24523         Unref after usage for proper valgrinding.
24524
24525         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
24526         Really wait for the task to stop before destroying the
24527         mutex.
24528
24529         * gst/gstqueue.c: (gst_queue_sink_activate_push),
24530         (gst_queue_src_activate_push):
24531         Small cleanups. Don't stop the task when we did not start
24532         it.
24533
24534         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
24535         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
24536         (gst_task_get_state), (gst_task_start), (gst_task_pause),
24537         (gst_task_join):
24538         * gst/gsttask.h:
24539         Protect the stream lock with the object lock.
24540         Disallow setting the stream lock when running.
24541         Add cleanup_all to wait for the threadpool to finish.
24542         Remove code to autoallocate a mutex if none was provided.
24543         Add _join() to wait for a task to stop.
24544         Protect the thread pool with a global lock.
24545
24546 2005-08-24  Wim Taymans  <wim@fluendo.com>
24547
24548         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24549         (gst_base_sink_get_times), (gst_base_sink_do_sync),
24550         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
24551         * gst/base/gstbasesink.h:
24552         Handle newsegment events correctly.
24553         Drop buffers out of the segment range.
24554
24555 2005-08-22  Andy Wingo  <wingo@pobox.com>
24556
24557         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
24558         macro, implements an interface and gstimplementsinterface for a
24559         new type.
24560
24561 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24562
24563         * check/Makefile.am:
24564         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
24565           add a test that does a bunch of state changes on elements
24566           needs some fixing for valgrind
24567         * check/states/sinks.c: (gst_object_suite):
24568           whitespace
24569         * gst/gstcaps.h:
24570           add prototype for gst_caps_is_equal_fixed
24571         * gst/gstplugin.c:
24572         * gst/gstregistrypool.c:
24573           doc fixes
24574
24575 2005-08-24  Andy Wingo  <wingo@pobox.com>
24576
24577         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
24578         convert a negative value. Doesn't make much sense. Mostly this is
24579         here to force callers to ensure -1 maps to -1.
24580
24581 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
24582
24583         * docs/pwg/advanced-types.xml:
24584           Well done to Michael for catching my deliberate introduction
24585           of this spelling mistake. 
24586         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
24587         * gst/gstelement.h:
24588           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
24589           unlink pads before removing the element from the bin.
24590
24591 2005-08-24  Andy Wingo  <wingo@pobox.com>
24592
24593         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
24594         the same thing as GST_DEBUG=*:4.
24595         (parse_debug_level, parse_debug_category): New helper parsers.
24596
24597 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24598
24599         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
24600         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
24601         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
24602         (gst_base_transform_buffer_alloc),
24603         (gst_base_transform_handle_buffer):
24604           use gboolean return values and pointers to size so we can use the
24605           full GST_BUFFER_SIZE range (guint) for buffer sizes
24606           use GstPadDirection for transform_caps
24607         * gst/base/gstbasetransform.h:
24608           rename get_size to get_unit_size since that's what it is
24609         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
24610           use GstPadDirection for transform_caps
24611         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
24612         * gst/gstutils.h:
24613           cleanup and debugging
24614
24615 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
24616
24617         * gst/gstelement.c: (gst_element_class_init),
24618         (gst_element_set_state), (activate_pads),
24619         (gst_element_save_thyself):
24620         * tools/gst-compprep.c: (main):
24621         * tools/gst-inspect.c: (print_element_properties_info):
24622         * tools/gst-xmlinspect.c: (print_element_properties):
24623           Fixed long standing mem-leak
24624
24625 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
24626
24627         * check/gst/gstbin.c: (GST_START_TEST):
24628         * gst/gstbin.c: (bin_bus_handler):
24629         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
24630         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
24631         (gst_message_new_warning), (gst_message_new_tag),
24632         (gst_message_new_state_changed), (gst_message_new_segment_start),
24633         (gst_message_new_segment_done), (gst_message_new_custom):
24634         * gst/gstmessage.h:
24635         * tools/gst-launch.c: (event_loop):
24636         * tools/gst-md5sum.c: (event_loop):
24637           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
24638           that applications can sensibly post custom messages with references
24639           to their own objects.
24640
24641 2005-08-24  Andy Wingo  <wingo@pobox.com>
24642
24643         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
24644         already.
24645
24646 2005-08-24  Wim Taymans  <wim@fluendo.com>
24647
24648         * gst/base/gstbasetransform.c: (gst_base_transform_init),
24649         (gst_base_transform_transform_caps),
24650         (gst_base_transform_transform_size),
24651         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
24652         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
24653         (gst_base_transform_handle_buffer):
24654         * gst/base/gstbasetransform.h:
24655         Many fixes and new features added by Thomas. Can now also do
24656         transforms with variable sizes and a custom fixate_caps function.
24657
24658 2005-08-24  Wim Taymans  <wim@fluendo.com>
24659
24660         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
24661         Some debugging.
24662
24663         * gst/gstclock.h:
24664         Cast to ClockTime before formatting to time.
24665
24666         * gst/gstutils.h:
24667         Cleanups.
24668
24669 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
24670
24671         * check/gst-libs/controller.c: (GST_START_TEST),
24672         (gst_controller_suite):
24673         * docs/gst/tmpl/gstcaps.sgml:
24674         * docs/gst/tmpl/gstghostpad.sgml:
24675         * docs/gst/tmpl/gstquery.sgml:
24676         * docs/gst/tmpl/gstutils.sgml:
24677         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
24678         (gst_object_sink_values), (gst_object_get_value_arrays),
24679         (gst_object_get_value_array):
24680           gracefully handle helper method calls to objects that are not beeing
24681           controlled, added test case for that          
24682
24683 2005-08-23  Wim Taymans  <wim@fluendo.com>
24684
24685         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
24686         (gst_event_new_newsegment), (gst_event_parse_newsegment),
24687         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
24688         (gst_event_parse_qos), (gst_event_new_seek),
24689         (gst_event_parse_seek):
24690         * gst/gstevent.h:
24691         Some more debugging output and doc cleanups.
24692
24693         * gst/gstqueue.c: (gst_queue_handle_sink_event):
24694         Fix possible deadlock.
24695
24696 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
24697
24698         * docs/gst/gstreamer-docs.sgml:
24699         * docs/gst/gstreamer-sections.txt:
24700         * docs/gst/gstreamer.types:
24701         * docs/gst/tmpl/.cvsignore:
24702         * gst/gstbin.h:
24703         * gst/gstbus.c:
24704         * gst/gstelement.c:
24705         * gst/gstevent.h:
24706           added 100 symbols from gstreamer-unused.txt to the right sections
24707           fixed more broken comments
24708           added GstBus to docs
24709
24710 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
24711
24712         * docs/gst/gstreamer-sections.txt:
24713         * docs/gst/tmpl/.cvsignore:
24714         * docs/gst/tmpl/gstbin.sgml:
24715         * docs/gst/tmpl/gstbuffer.sgml:
24716         * gst/base/gstbasesrc.c:
24717         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
24718         * gst/gstbuffer.c:
24719         * gst/gstbuffer.h:
24720         * tools/gst-launch.1.in:
24721           inlined more doc comments, added missing comments and fixed comments
24722           fixed typos
24723
24724 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24725
24726         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
24727           some debugging
24728         * gst/gstcaps.h:
24729           whitespace fixes
24730         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
24731           more debugging
24732         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
24733         * gst/gststructure.h:
24734           add a fixate function for booleans; add a FIXME that these func
24735           names should probably be gst_structure_fixate_*
24736
24737 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
24738
24739         * docs/gst/gstreamer-docs.sgml:
24740         * docs/gst/gstreamer-sections.txt:
24741         * gst/Makefile.am:
24742         * gst/gstbin.c: (gst_bin_get_type),
24743         (gst_bin_child_proxy_get_child_by_index),
24744         (gst_bin_child_proxy_get_children_count),
24745         (gst_bin_child_proxy_init):
24746         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
24747         (gst_child_proxy_get_child_by_index),
24748         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
24749         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
24750         (gst_child_proxy_get), (gst_child_proxy_set_property),
24751         (gst_child_proxy_set_valist), (gst_child_proxy_set),
24752         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
24753         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
24754         * gst/gstchildproxy.h:
24755         * gst/parse/grammar.y:
24756         * tools/gst-inspect.c: (print_interfaces),
24757         (print_element_properties_info), (print_element_info):
24758           ported gstchildproxy over from 0.8
24759           ported gst-inspect fixes and enhancements over from 0.8
24760
24761 2005-08-22  Wim Taymans  <wim@fluendo.com>
24762
24763         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
24764         (gst_base_transform_handle_buffer):
24765         Also call the transform function if we have ANY caps.
24766
24767         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
24768         Fix debug info.
24769
24770 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
24771
24772         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
24773           Don't pretend to handle seek events if the source is not seekable
24774
24775 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
24776
24777         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24778           Remove extra parameter to debug output
24779
24780         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
24781         (gst_base_src_do_seek), (gst_base_src_activate_push):
24782           Fix seek event handling.
24783
24784         * gst/gstpipeline.c: (gst_pipeline_change_state):
24785         * gst/gstqueue.c: (gst_queue_handle_sink_event),
24786         (gst_queue_src_activate_push):
24787           Don't start the src pad task on FLUSH_STOP if the pad
24788           isn't linked.
24789           Debug changes.
24790
24791 2005-08-22  Wim Taymans  <wim@fluendo.com>
24792
24793         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
24794         Added check for gst_static_caps_get() refcounting.
24795
24796 2005-08-22  Wim Taymans  <wim@fluendo.com>
24797
24798         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
24799         Make _static_caps_get() refcounting sane.
24800         
24801         * gst/gstelement.c: (gst_element_set_state):
24802         Add g_return_val_if_fail() to protect against segfaults.
24803
24804 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
24805
24806         * docs/gst/tmpl/gstevent.sgml:
24807         * gst/gstevent.c:
24808         * gst/gstevent.h:
24809           inlined remaining docs, added missing doc comments
24810
24811 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24812
24813         * check/gst/gstbin.c: (GST_START_TEST):
24814           since we don't know when preroll is done, use refcount range
24815           check for the sink
24816         * gst/check/gstcheck.h:
24817           add macro for checking refcount range
24818
24819 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
24820
24821         * check/Makefile.am:
24822           clean up environment for when registry gets built versus
24823           when actual tests are run; valgrind seems to not report
24824           leaks if GST_PLUGIN_PATH is set to some specific values
24825         * check/gst/gstbin.c: (GST_START_TEST):
24826           add more refcounting checks; maybe this exposes a
24827           preroll lock bug ?
24828         * common/check.mak:
24829         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24830         * gst/check/gstcheck.h:
24831         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
24832         (gst_bin_change_state):
24833         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
24834           add/fix debugging/whitespace
24835
24836 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
24837
24838         * check/gst/gstevent.c: (event_probe), (test_event),
24839         (GST_START_TEST):
24840          Er, don't call gst_bin_watch_for_state_change you idiot.
24841
24842 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
24843
24844         * check/Makefile.am:
24845           Use CHECK_CFLAGS and CHECK_LIBS
24846         * check/gst/gstevent.c: (event_probe), (test_event),
24847         (GST_START_TEST):
24848           Don't leak events.
24849         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
24850         (gst_base_src_start), (gst_base_src_stop),
24851         (gst_base_src_activate_push), (gst_base_src_activate_pull),
24852         (gst_base_src_change_state):
24853           Sprinkle gst_base_src_stop liberally around error paths to fix
24854           problems reusing a source after failed state changes.
24855         * gst/base/gsttypefindhelper.c: (helper_find_peek),
24856         (helper_find_suggest), (gst_type_find_helper):
24857           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
24858         * gst/gstevent.h:
24859         * docs/gst/tmpl/gstevent.sgml:
24860           Migrate part of the docs from the SGML file. Wait for ensonic to
24861           tell me how I did it wrong ;)
24862         * tools/gst-typefind.c: (main):
24863           Extra robustness to state changes between files.
24864
24865 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
24866
24867         * check/Makefile.am:
24868           don't valgrind the controller test - it's leaking - Stefan, HELP
24869         * gst/check/gstcheck.c: (gst_check_message_error),
24870         (gst_check_chain_func), (gst_check_setup_element),
24871         (gst_check_teardown_element), (gst_check_setup_src_pad),
24872         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
24873         (gst_check_teardown_sink_pad):
24874         * gst/check/gstcheck.h:
24875           add a bunch of methods to set up elements, and src and sink pads
24876         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
24877         * check/elements/identity.c: (setup_identity), (cleanup_identity),
24878         (GST_START_TEST):
24879           use them
24880         * gst/gstmessage.c:
24881         * gst/gsttag.h:
24882           whitespace/doc fixes
24883
24884 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24885
24886         * gst/gstelement.h:
24887           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
24888           be handled by the application and not always printed as well
24889
24890 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24891
24892         * check/Makefile.am:
24893           set GST_TOOLS_DIR
24894         * gst/check/gstcheck.c: (gst_check_message_error):
24895         * gst/check/gstcheck.h:
24896           add a fail_unless_equals_int
24897           add fail_unless for error messages
24898
24899 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24900
24901         * check/Makefile.am:
24902         * check/gst.supp:
24903         * common/Makefile.am:
24904         * common/check.mak:
24905         * common/gst.supp:
24906           factor out some of the common stuff so we can use it
24907
24908 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24909
24910         * check/Makefile.am:
24911         * check/gst/gstiterator.c: (GST_START_TEST):
24912         * check/gst/gstsystemclock.c: (GST_START_TEST),
24913         (gst_systemclock_suite):
24914         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
24915         * gst/gstclock.c:
24916           valgrind more tests
24917
24918 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24919
24920         * check/elements/.cvsignore:
24921         * check/elements/gstfakesrc.c:
24922           rename to name of element
24923         * check/elements/identity.c: (chain_func), (event_func),
24924         (setup_identity), (cleanup_identity), (GST_START_TEST),
24925         (identity_suite), (main):
24926           add a test for identity
24927         * check/Makefile.am:
24928         * pkgconfig/Makefile.am:
24929         * pkgconfig/gstreamer-check.pc.in:
24930         * pkgconfig/gstreamer-check-uninstalled.pc.in:
24931         * gst/check:
24932         * gst/Makefile.am:
24933         * configure.ac:
24934           move the check stuff to a library that gets installed
24935         * check/gst-libs/controller.c: (GST_START_TEST):
24936         * check/gst-libs/gdp.c:
24937         * check/gst/gst.c: (GST_START_TEST):
24938         * check/gst/gstbin.c:
24939         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24940         * check/gst/gstbus.c:
24941         * check/gst/gstcaps.c: (GST_START_TEST):
24942         * check/gst/gstelement.c:
24943         * check/gst/gstghostpad.c:
24944         * check/gst/gstiterator.c:
24945         * check/gst/gstmessage.c:
24946         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
24947         * check/gst/gstobject.c:
24948         * check/gst/gstpad.c: (GST_START_TEST):
24949         * check/gst/gststructure.c: (GST_START_TEST):
24950         * check/gst/gstsystemclock.c: (GST_START_TEST),
24951         (gst_systemclock_suite):
24952         * check/gst/gsttag.c: (gst_tag_suite):
24953         * check/gst/gstvalue.c:
24954         * check/pipelines/cleanup.c:
24955         * check/pipelines/simple_launch_lines.c:
24956         * check/states/sinks.c:
24957           change include statement
24958
24959         * docs/gst/gstreamer-sections.txt:
24960         * docs/gst/tmpl/gstpad.sgml:
24961           document more pad stuff
24962         * gst/gstminiobject.c: (gst_mini_object_ref),
24963         (gst_mini_object_unref):
24964           debug refcounting
24965
24966 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
24967
24968         * docs/gst/tmpl/gst.sgml:
24969         * gst/gst.c:
24970           eliminate another tmpl file, fix spelling in the long-description
24971
24972 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
24973
24974         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
24975         (test_event), (timediff), (gstevents_suite):
24976           Should fix build on 64-bit arch's
24977
24978 2005-08-18  Andy Wingo  <wingo@pobox.com>
24979
24980         Make sure that when a pipeline goes to PLAYING, that data has
24981         actually hit the sink.
24982
24983         * check/states/sinks.c (test_sink): A sink that doesn't get any
24984         data shouldn't return SUCCESS for going to either PLAYING or
24985         PAUSED. Test also the return values on the way back down.
24986
24987         * gst/gstelement.c (gst_element_set_state): When changing the
24988         state of an element currently changing state asynchronously, go to
24989         lost-state after commiting the pending state. Makes future calls
24990         to get_state continue to return ASYNC.
24991
24992         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
24993         ASYNC when going to PLAYING if we still don't have preroll, as can
24994         happen with live sources.
24995
24996 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
24997
24998         * docs/pwg/advanced-types.xml:
24999           Hack long paragraph into 2 chunks as a workaround for buggy
25000           jadetex version in sid and breezy that loops infinitely and
25001           eats all RAM.
25002
25003 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
25004
25005         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
25006         (test_event), (timediff), (gstevents_suite):
25007           Provide more error margin in clock measurements to allow for 
25008           g_get_current_time inaccuracies.
25009
25010 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
25011
25012         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
25013         (test_event), (timediff), (gstevents_suite):
25014            Fix error message output so I might be able to tell why the
25015            test works here but fails on the build farm.
25016
25017 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
25018
25019         * check/Makefile.am:
25020         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
25021         (test_event), (timediff), (gstevents_suite), (main):
25022           I wrote a test!
25023
25024         * docs/design/part-seeking.txt:
25025           Spelling correction
25026
25027         * docs/gst/tmpl/gstevent.sgml:
25028         * docs/gst/tmpl/gstfakesrc.sgml:
25029           Docs updates.
25030
25031         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25032           Treat a buffer-without-newsegment the same as a receiving 
25033           a newsegment not in time format, and disable syncing to the clock
25034           with a warning.
25035
25036         * gst/gstbus.c: (gst_bus_set_sync_handler):
25037           Assert if anyone tries to replace the existing sync_handler for bus, 
25038           as only the owner should be setting it.
25039
25040         * gst/gstevent.h:
25041           Have a fixed set of custom event enums with events identified by
25042           their structure name (as in 0.8), rather than a free-for-all
25043           allowing collisions between enum values from different plugins.
25044
25045         * gst/gstpad.c: (gst_pad_class_init):
25046           Docs change.
25047           
25048         * gst/gstqueue.c: (gst_queue_handle_sink_event):
25049           Handle out-of-band downstream events from the sending thread.
25050
25051 2005-08-17  Andy Wingo  <wingo@pobox.com>
25052
25053         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
25054         play-timeout==0 to mean no timeout at all. In that case, don't
25055         bother with a get_state or a warning, just return directly, even
25056         if it's ASYNC.
25057
25058         * gst/base/gstbasetransform.c: Debug changes.
25059
25060         * gst/gstutils.h:
25061         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
25062         ensure bins post state change messages. A bit of a hack but I can't
25063         think of a way to avoid it.
25064
25065         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
25066
25067 2005-08-16  Andy Wingo  <wingo@pobox.com>
25068
25069         * gst/base/gstadapter.h:
25070         * gst/base/gstadapter.c (gst_adapter_take): New function, like
25071         peek() but you own the data. Not terribly efficient atm.
25072
25073 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25074
25075         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
25076         (gst_element_found_tags):
25077         * gst/gstutils.h:
25078           Add two utility functions for tag handling.
25079
25080 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25081
25082         * docs/manual/advanced-dataaccess.xml:
25083         * docs/manual/basics-helloworld.xml:
25084           Fix docs to use _bin_add() before _link(), which fixes the examples
25085           with recent core versions (reported by Madhan Raj M
25086           <raj_madan@rediffmail.com>, #313199).
25087
25088 2005-08-16  Wim Taymans  <wim@fluendo.com>
25089
25090         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
25091         Added subtract checks.
25092
25093         * docs/design/part-events.txt:
25094         Some more docs about newsegment
25095
25096         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
25097         Fix FIXME
25098
25099         * gst/gstcaps.c: (gst_caps_to_string):
25100         Add comments, cleanups.
25101         
25102         * gst/gstelement.c: (gst_element_save_thyself):
25103         cleanups
25104         
25105         * gst/gstvalue.c: (gst_value_collect_int_range),
25106         (gst_string_unwrap), (gst_value_union_int_int_range),
25107         (gst_value_union_int_range_int_range),
25108         (gst_value_intersect_int_int_range),
25109         (gst_value_intersect_int_range_int_range),
25110         (gst_value_intersect_double_double_range),
25111         (gst_value_intersect_double_range_double_range),
25112         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
25113         (gst_value_subtract_int_range_int),
25114         (gst_value_subtract_double_range_double),
25115         (gst_value_subtract_double_range_double_range),
25116         (gst_value_subtract_from_list), (gst_value_subtract_list),
25117         (gst_value_can_compare), (gst_value_compare_fraction):
25118         Cleanups, add comments, remove unneeded asserts.
25119
25120 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
25121
25122         * tools/gst-launch.c: (event_loop):
25123           don't convert NULL structures to strings
25124
25125 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
25126
25127         * docs/gst/gstreamer-sections.txt:
25128           made some defines private
25129         * docs/gst/tmpl/gstconfig.sgml:
25130         * docs/gst/tmpl/gstqueue.sgml:
25131         * docs/gst/tmpl/gsttaglist.sgml:
25132         * docs/gst/tmpl/gsttypes.sgml:
25133         * docs/gst/tmpl/gstutils.sgml:
25134         * docs/pwg/appendix-porting.xml:
25135         * gst/base/gstbasesink.h:
25136         * gst/base/gstbasesrc.c:
25137         * gst/base/gstbasesrc.h:
25138         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
25139         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
25140         * gst/gstelement.c: (gst_element_class_init):
25141         * gst/gstpad.c: (gst_pad_class_init):
25142         * gst/gstqueue.c: (gst_queue_class_init):
25143         * gst/gstxml.c: (gst_xml_class_init):
25144           documented all undocumented signal inline
25145         * libs/gst/controller/gst-controller.h:
25146           added padding
25147
25148 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25149
25150         * docs/pwg/appendix-porting.xml:
25151           Document _set_link_function -> _set_setcaps_function.
25152
25153 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
25154
25155         * check/Makefile.am:
25156           add a .check target for running the check
25157         * check/gst-libs/controller.c: (GST_START_TEST):
25158           cosmetic fixups
25159         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
25160           complete checks for gstbuffer; would be nice if I could get the
25161           gcov stuff to work so I can see if I actually completed gstbuffer.c
25162         * check/gstcheck.h:
25163           add ASSERT_BUFFER_REFCOUNT
25164
25165 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
25166
25167         * docs/gst/gstreamer-sections.txt:
25168         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
25169         * gst/gsttag.h:
25170           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
25171           spew out a warning if a tag that is already registered
25172           is re-registered, unless it is re-registered with a 
25173           different type (#308438).
25174
25175 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
25176
25177         * docs/pwg/appendix-porting.xml:
25178         * docs/pwg/building-state.xml:
25179           Add some paragraphs about state changes in 0.9 to the PWG
25180           and the porting guide, in particular about the new meaning
25181           of GST_STATE_PAUSED and how to write state change functions
25182           with concurrent access by multiple threads in mind.
25183
25184 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
25185
25186         * docs/gst/gstreamer-docs.sgml:
25187         * docs/libs/gstreamer-libs-docs.sgml:
25188           added deprecation and since indexes
25189         * libs/gst/controller/gst-controller.c:
25190         * libs/gst/controller/gst-helper.c:
25191           added since tags
25192
25193
25194 2005-08-11  Wim Taymans  <wim@fluendo.com>
25195
25196         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
25197         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
25198         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
25199         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
25200         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
25201         (gst_ghost_pad_set_target):
25202         Actually implement (re)setting the target on a ghostpad
25203         as described in the docs.
25204
25205 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
25206
25207         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
25208           Check whether GST_DEBUG_NO_COLOR environment variable is
25209           set and disable coloured debug output if that is the case.
25210
25211 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
25212
25213         * gst/base/gsttypefindhelper.c: (helper_find_peek),
25214         (gst_type_find_helper):
25215           The memory returned by gst_type_find_peek() needs to
25216           stay valid until the end of a typefind function, and
25217           typefind functions may keep results from different 
25218           offsets around, so we can't just unref the buffer from
25219           the previous _peek(), but have to save all buffers 
25220           returned by _peek() until typefinding is done and only
25221           free them then.
25222
25223 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
25224
25225         * docs/gst/gstreamer-sections.txt:
25226         * gst/gstutils.h:
25227           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
25228
25229 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25230
25231         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
25232           Fix a pretty good memleak.
25233
25234 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
25235
25236         * gst/gstiterator.h:
25237           Fix wrong include and 'make distcheck'.
25238
25239 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25240
25241         * gst/gstbin.c: (bin_bus_handler):
25242           Use gst_element_post_message() instead.
25243
25244 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
25245
25246         * gst/base/gstadapter.h:
25247         * gst/base/gstbasesink.h:
25248         * gst/base/gstbasesrc.h:
25249         * gst/base/gstbasetransform.h:
25250         * gst/base/gstcollectpads.h:
25251         * gst/base/gstpushsrc.h:
25252         * gst/gstiterator.h:
25253           Add padding to our base elements' class and instance structs and
25254           to GstIterator (you will need to rebuild all plugins and apps!)
25255
25256 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25257
25258         * gst/gstbin.c: (bin_bus_handler):
25259           Make default message forwarding from child->bus to bin->bus
25260           threadsafe and make it not emit warnings if the parent has no bus.
25261
25262 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25263
25264         * gst/gstelement.c: (activate_pads):
25265           On paused->ready, set pad->caps to NULL, as is the documented
25266           behaviour in this state change. Fixes playback of series of
25267           media files when visualization is enabled in Totem.
25268
25269 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25270
25271         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
25272           Allow NULL as filter-caps (which means "any").
25273
25274 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
25275
25276         * docs/libs/gstreamer-libs-sections.txt:
25277         * libs/gst/controller/gst-controller.c:
25278         * libs/gst/controller/gst-controller.h:
25279         * libs/gst/controller/gst-helper.c:
25280           adding more entries to the docs and fix small doc-bugs
25281
25282 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
25283
25284         * docs/gst/gstreamer-docs.sgml:
25285         * docs/gst/gstreamer-sections.txt:
25286         * docs/gst/gstreamer.types:
25287         * docs/gst/tmpl/gstbasesink.sgml:
25288         * docs/gst/tmpl/gstbasesrc.sgml:
25289         * docs/gst/tmpl/gstbasetransform.sgml:
25290         * docs/gst/tmpl/gstfakesrc.sgml:
25291         * gst/base/gstcollectpads.c:
25292         * gst/base/gstcollectpads.h:
25293         * libs/gst/controller/gst-controller.c:
25294         * libs/gst/controller/gst-controller.h:
25295         * libs/gst/controller/gst-helper.c:
25296         * libs/gst/controller/gst-interpolation.c:
25297         * libs/gst/controller/lib.c:
25298           added long/short desc for controller docs
25299           added collectpads base class docs
25300           added correct includes to base-class docs
25301
25302 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
25303
25304         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25305         (gst_test_mono_source_set_property),
25306         (gst_test_mono_source_class_init), (GST_START_TEST),
25307         (gst_controller_suite):
25308         * docs/gst/gstreamer-docs.sgml:
25309         * docs/gst/gstreamer-sections.txt:
25310         * docs/gst/gstreamer.types:
25311         * docs/libs/gstreamer-libs-docs.sgml:
25312         * docs/libs/gstreamer-libs-sections.txt:
25313         * gst/base/gstadapter.c:
25314         * libs/gst/controller/gst-controller.c:
25315         (gst_controlled_property_new), (gst_controlled_property_free),
25316         (gst_controller_new_valist),
25317         (gst_controller_remove_properties_valist),
25318         (gst_controller_sink_values), (_gst_controller_finalize):
25319         * libs/gst/controller/gst-controller.h:
25320         * libs/gst/controller/gst-helper.c:
25321         (gst_object_control_properties), (gst_object_uncontrol_properties),
25322         (gst_object_get_controller), (gst_object_set_controller),
25323         (gst_object_sink_values), (gst_object_get_value_arrays),
25324         (gst_object_get_value_array):
25325           more tests (and fixes) for the controller
25326           more docs for the controller
25327           integrated companies docs for the adapter 
25328
25329 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
25330
25331         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
25332         (GST_START_TEST), (fakesrc_suite):
25333           add tests for sizetype
25334
25335 2005-08-04  Andy Wingo  <wingo@pobox.com>
25336
25337         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
25338         fixes buffer_alloc proxying among other things.
25339
25340         * gst/base/gstbasetransform.c:
25341         * gst/base/gstbasetransform.h:
25342         Revert patch to gstbasetransform from 7-28 removing
25343         delay_configure.
25344
25345         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
25346         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
25347         Semantics changed, should return not the size of the output buffer
25348         but the byte size of a buffer with a given caps.
25349
25350         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
25351         debug object.
25352         (gst_base_transform_configure_caps): Don't set out_size here: (in,
25353         out) are not the pad caps until setcaps finishes.
25354         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
25355         not-in-place case as well. Deal with changing from in-place to
25356         not-in-place within calling pad_alloc_buffer. Still a bit
25357         concerned about the overhead here...
25358
25359 2005-08-03  Andy Wingo  <wingo@pobox.com>
25360
25361         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
25362         fixating is an error.
25363
25364 2005-08-04  Edward Hervey  <edward@fluendo.com>
25365
25366         * gst/base/gstadapter.h: 
25367         Added gst_adapter_get_type() to the header
25368
25369 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
25370
25371         * check/Makefile.am:
25372         * check/gst-libs/controller.c:
25373         * libs/gst/controller/gst-controller.c:
25374         (gst_controller_new_valist):
25375           added check test suite for the controller
25376         * gst/base/gstpushsrc.c:
25377           fixed a doc typo
25378
25379 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
25380
25381         * docs/gst/Makefile.am:
25382         * docs/gst/gstreamer-docs.sgml:
25383         * docs/gst/gstreamer-sections.txt:
25384         * docs/gst/gstreamer.types:
25385         * docs/gst/tmpl/gstfakesrc.sgml:
25386         * gst/base/README:
25387         * gst/base/gstbasesink.c:
25388         * gst/base/gstbasesink.h:
25389         * gst/base/gstbasesrc.c:
25390         * gst/base/gstbasesrc.h:
25391         * gst/base/gstbasetransform.c:
25392         * gst/base/gstpushsrc.c:
25393         * gst/base/gstpushsrc.h:
25394           add short/long description docs to base classes
25395           add pushsrc to the docs
25396           remove consolidated doc fragments
25397
25398 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
25399
25400         * configure.ac:
25401         * docs/libs/Makefile.am:
25402         * docs/libs/gstreamer-libs-docs.sgml:
25403         * docs/libs/gstreamer-libs-sections.txt:
25404         * docs/libs/gstreamer-libs.types:
25405         * examples/Makefile.am:
25406         * examples/controller/.cvsignore:
25407         * examples/controller/Makefile.am:
25408         * examples/controller/audio-example.c: (main):
25409         * libs/gst/Makefile.am:
25410         * libs/gst/controller/.cvsignore:
25411         * libs/gst/controller/Makefile.am:
25412         * libs/gst/controller/gst-controller.c:
25413         (on_object_controlled_property_changed), (gst_timed_value_compare),
25414         (gst_timed_value_find),
25415         (gst_controlled_property_set_interpolation_mode),
25416         (gst_controlled_property_new), (gst_controlled_property_free),
25417         (gst_controller_find_controlled_property),
25418         (gst_controller_new_valist), (gst_controller_new),
25419         (gst_controller_remove_properties_valist),
25420         (gst_controller_remove_properties), (gst_controller_set),
25421         (gst_controller_set_from_list), (gst_controller_unset),
25422         (gst_controller_get), (gst_controller_get_all),
25423         (gst_controller_sink_values), (gst_controller_get_value_arrays),
25424         (gst_controller_get_value_array),
25425         (gst_controller_set_interpolation_mode),
25426         (_gst_controller_finalize), (_gst_controller_init),
25427         (_gst_controller_class_init), (gst_controller_get_type):
25428         * libs/gst/controller/gst-controller.h:
25429         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
25430         (g_object_uncontrol_properties), (g_object_get_controller),
25431         (g_object_set_controller), (g_object_sink_values),
25432         (g_object_get_value_arrays), (g_object_get_value_array):
25433         * libs/gst/controller/gst-interpolation.c:
25434         (gst_controlled_property_find_timed_value_node),
25435         (interpolate_none_get), (interpolate_trigger_get),
25436         (interpolate_trigger_get_value_array):
25437         * libs/gst/controller/lib.c: (gst_controller_init):
25438         * pkgconfig/Makefile.am:
25439         * pkgconfig/gstreamer-control-uninstalled.pc.in:
25440         * pkgconfig/gstreamer-control.pc.in:
25441         * testsuite/Makefile.am:
25442         * testsuite/controller/.cvsignore:
25443         * testsuite/controller/Makefile.am:
25444         * testsuite/controller/interpolator.c: (main):
25445           added controller code
25446           removed dparam pc files
25447
25448 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
25449         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
25450         (gst_collectpads_stop):
25451           Broadcast the condition when shutting down, to make sure we wake all
25452           threads up. Shut down pads on finalize, for safety.
25453
25454 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
25455         * gst/base/gstbasetransform.c: (gst_base_transform_init),
25456         (gst_base_transform_handle_buffer),
25457         (gst_base_transform_change_state):
25458           Handle PAUSED->READY->PAUSED transition after negotiation
25459           occurred already.
25460         * gst/gstmessage.c: (gst_message_init):
25461           Extra piece of debug for new messages.
25462
25463 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
25464
25465         * configure.ac:
25466         * docs/gst/tmpl/gstbasesrc.sgml:
25467         * docs/gst/tmpl/gstelement.sgml:
25468         * docs/gst/tmpl/gstevent.sgml:
25469         * docs/gst/tmpl/gstfakesrc.sgml:
25470         * docs/gst/tmpl/gstformat.sgml:
25471         * docs/gst/tmpl/gstghostpad.sgml:
25472         * docs/gst/tmpl/gstpad.sgml:
25473         * docs/gst/tmpl/gstquery.sgml:
25474         * docs/gst/tmpl/gststructure.sgml:
25475         * docs/gst/tmpl/gsttaglist.sgml:
25476         * docs/gst/tmpl/gstvalue.sgml:
25477         * docs/libs/gstreamer-libs-docs.sgml:
25478         * docs/libs/gstreamer-libs-sections.txt:
25479         * docs/libs/gstreamer-libs.types:
25480         * libs/gst/Makefile.am:
25481         * libs/gst/control/.cvsignore:
25482         * libs/gst/control/Makefile.am:
25483         * libs/gst/control/control.c:
25484         * libs/gst/control/control.h:
25485         * libs/gst/control/dparam.c:
25486         * libs/gst/control/dparam.h:
25487         * libs/gst/control/dparam_smooth.c:
25488         * libs/gst/control/dparam_smooth.h:
25489         * libs/gst/control/dparamcommon.h:
25490         * libs/gst/control/dparammanager.c:
25491         * libs/gst/control/dparammanager.h:
25492         * libs/gst/control/dplinearinterp.c:
25493         * libs/gst/control/dplinearinterp.h:
25494         * libs/gst/control/unitconvert.c:
25495         * libs/gst/control/unitconvert.h:
25496         * testsuite/Makefile.am:
25497         * testsuite/dynparams/.cvsignore:
25498         * testsuite/dynparams/Makefile.am:
25499         * testsuite/dynparams/dparamstest.c:
25500         * tools/Makefile.am:
25501         * tools/gst-inspect.c: (print_element_info), (main):
25502         * tools/gst-xmlinspect.c: (print_element_info), (main):
25503           deactivate and remove dparams (libgstcontrol)
25504
25505 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
25506
25507         * gst/elements/gsttypefindelement.c:
25508         (gst_type_find_element_have_type), (gst_type_find_element_init),
25509         (stop_typefinding), (gst_type_find_element_handle_event),
25510         (gst_type_find_element_chain), (gst_type_find_element_getrange):
25511         * gst/elements/gsttypefindelement.h:
25512           Set caps on all outgoing buffers, not just the first one.
25513
25514 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
25515
25516         * gst/elements/gsttypefindelement.c:
25517         (gst_type_find_element_have_type),
25518         (gst_type_find_element_check_set_buffer_caps),
25519         (gst_type_find_element_init), (stop_typefinding),
25520         (gst_type_find_element_handle_event),
25521         (gst_type_find_element_chain), (gst_type_find_element_getrange):
25522         * gst/elements/gsttypefindelement.h:
25523           Set caps on first outgoing buffer when we've found the type.
25524
25525 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
25526
25527         * docs/gst/gstreamer-docs.sgml:
25528         * docs/gst/gstreamer-sections.txt:
25529         * docs/gst/tmpl/gstscheduler.sgml:
25530         * docs/gst/tmpl/gstschedulerfactory.sgml:
25531           Remove some old cruft from docs.
25532
25533 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
25534
25535         * gst/gstpad.h:
25536           Fix inline docs for GstPadLinkReturn.
25537           
25538         * gst/gststructure.c: (gst_structure_has_name):
25539         * gst/gststructure.h:
25540         * docs/gst/gstreamer-sections.txt:
25541           New API: gst_structure_has_name().
25542
25543 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
25544
25545         * configure.ac:
25546           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
25547           and _LARGEFILE_SOURCE in config.h as required. Do not 
25548           export those flags in our .pc files any longer (#142209).
25549
25550           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
25551
25552         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
25553         (gst_file_sink_do_seek), (gst_file_sink_event),
25554         (gst_file_sink_get_current_offset), (gst_file_sink_render):
25555           Redo seek/tell calls with large file support in mind; add some
25556           debugging messages; add log message that tells us when large
25557           file support is unavailable or not enabled for some reason.
25558
25559         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
25560           Add log message that tells us when large file support 
25561           is unavailable or not enabled for some reason.
25562
25563 2005-07-29  Wim Taymans  <wim@fluendo.com>
25564
25565         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
25566         Added test for removing an element with ghostpad from a bin.
25567         Fixed test as current implementation does the right thing.
25568
25569         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
25570         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
25571         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
25572         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
25573         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
25574         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
25575         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
25576         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
25577         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
25578         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
25579         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
25580         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
25581         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
25582         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
25583         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
25584         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
25585         * gst/gstghostpad.h:
25586         Clean up ghostpads, remove properties for internal stuff.
25587         Make threadsafe.
25588         Fix refcounting.
25589         Prepare for switching targets, not all use cases work yet.
25590
25591 2005-07-29  Wim Taymans  <wim@fluendo.com>
25592
25593         * docs/design/part-gstghostpad.txt:
25594         Small update.
25595
25596         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
25597         (gst_bin_remove_func):
25598         Unlinking pads while holding the bin LOCK is not a good
25599         idea.
25600
25601         * gst/gstpad.c: (gst_pad_class_init),
25602         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
25603         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
25604         No prob setting template after creating the pad.
25605
25606 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
25607
25608         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
25609         (gst_bus_peek), (gst_bus_source_dispatch),
25610         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
25611         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
25612           gst_bus_poll may be called from other threads. Handle
25613           this nicely by not making poll_data disappear off the
25614           stack once gst_bus_poll returns.
25615           gst_bus_peek now increments the refcount on the returned
25616           message.
25617
25618 2005-07-29  Wim Taymans  <wim@fluendo.com>
25619
25620         * docs/design/part-gstghostpad.txt:
25621         Overview of current GhostPad datastructures and use
25622         cases for changing the target.
25623
25624 2005-07-28  Wim Taymans  <wim@fluendo.com>
25625
25626         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
25627         Added checks for hierarchy consistency whan adding linked
25628         elements to bins.
25629
25630         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
25631         Added check to test element scheduling without bin/pipeline.
25632
25633         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
25634         First add elements to bin, then link.
25635         
25636         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
25637         (gst_bin_remove_func):
25638         Unlink pads from elements added/removed from bin to maintain
25639         hierarchy consistency.
25640
25641 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25642
25643         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25644         (gst_base_transform_handle_buffer):
25645         * gst/base/gstbasetransform.h:
25646           Remove broken delay_configure (fixes renegotiation of software
25647           scaling pipelines); remove some leftover printf()s.
25648
25649 2005-07-28  Wim Taymans  <wim@fluendo.com>
25650
25651         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
25652         Added some more tests for wrong hierarchy
25653
25654         * docs/design/part-overview.txt:
25655         Some updates.
25656
25657         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
25658         Cleanups.
25659
25660         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
25661         (gst_element_dispose):
25662         Some more cleanups.
25663
25664         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
25665         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
25666         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
25667         (gst_pad_set_caps), (gst_pad_send_event):
25668         Check for correct hierarchy when linking pads. Moving to
25669         strict requirement for ghostpads when linking elements in
25670         different bins.
25671
25672         * gst/gstpad.h:
25673         Clean ups. Added WRONG_HIERARCHY return value.
25674
25675 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25676
25677         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
25678           Better debug if no transform is possible.
25679
25680 2005-07-27  Wim Taymans  <wim@fluendo.com>
25681
25682         * docs/random/wtay/network-transp:
25683         Some old doc I had.
25684
25685 2005-07-27  Wim Taymans  <wim@fluendo.com>
25686
25687         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
25688         (gst_dp_event_from_packet):
25689         Fix serialization of seek events.
25690
25691 2005-07-27  Wim Taymans  <wim@fluendo.com>
25692
25693         * check/gst-libs/gdp.c: (GST_START_TEST):
25694         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
25695         Fix compilation and fix event serialization.
25696
25697 2005-07-27  Wim Taymans  <wim@fluendo.com>
25698
25699         * CHANGES-0.9:
25700         * docs/design/part-TODO.txt:
25701         * docs/design/part-events.txt:
25702         Some docs updates
25703
25704         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25705         (gst_base_sink_event), (gst_base_sink_do_sync),
25706         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
25707         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
25708         (gst_base_src_do_seek), (gst_base_src_event_handler),
25709         (gst_base_src_loop):
25710         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
25711         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25712         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
25713         (gst_base_transform_event), (gst_base_transform_handle_buffer),
25714         (gst_base_transform_set_passthrough),
25715         (gst_base_transform_is_passthrough):
25716         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
25717         * gst/elements/gstfilesink.c: (gst_file_sink_event):
25718         Event updates.
25719
25720         * gst/gstbuffer.h:
25721         Use faster casts.
25722
25723         * gst/gstelement.c: (gst_element_seek):
25724         * gst/gstelement.h:
25725         Update gst_element_seek.
25726
25727         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
25728         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
25729         (gst_event_new_flush_start), (gst_event_new_flush_stop),
25730         (gst_event_new_eos), (gst_event_new_newsegment),
25731         (gst_event_parse_newsegment), (gst_event_new_tag),
25732         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
25733         (gst_event_parse_qos), (gst_event_new_seek),
25734         (gst_event_parse_seek), (gst_event_new_navigation):
25735         * gst/gstevent.h:
25736         Make GstEvent use GstStructure. Add parsing code, make sure the
25737         API is sufficiently generic.
25738         Mark possible directions of events and serialization.
25739
25740         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
25741         (_gst_message_copy), (gst_message_new_segment_start),
25742         (gst_message_new_segment_done), (gst_message_new_custom),
25743         (gst_message_parse_segment_start),
25744         (gst_message_parse_segment_done):
25745         Small cleanups.
25746
25747         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
25748         (gst_pad_set_caps), (gst_pad_send_event):
25749         Update for new events. 
25750         Catch events sent in wrong directions.
25751
25752         * gst/gstqueue.c: (gst_queue_link_src),
25753         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
25754         (gst_queue_handle_src_query):
25755         Event updates.
25756
25757         * gst/gsttag.c:
25758         * gst/gsttag.h:
25759         Remove event code from this file.
25760
25761         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
25762         (gst_dp_event_from_packet):
25763         Event updates.
25764
25765 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25766
25767         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
25768         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25769         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
25770           Make debugging actually useful.
25771
25772 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25773
25774         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
25775         (gst_pad_fixate_caps):
25776           Implement default fixation once again, so that gst_pad_fixate()
25777           actually does anything at all. This probably needs to be some
25778           sort of a last resort, and use profile-based fixation first, but
25779           since that doesn't exist yet, this is the best we have. Fixes
25780           visualization in Totem.
25781
25782 2005-07-22  Wim Taymans  <wim@fluendo.com>
25783
25784         * docs/design/part-events.txt:
25785         Small update.
25786
25787         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25788         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
25789         (gst_base_sink_activate_pull):
25790         Some more comments.
25791
25792         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
25793         (gst_fake_src_create):
25794         Fix handoff marshall.
25795
25796         * gst/elements/gstidentity.c: (gst_identity_class_init),
25797         (gst_identity_transform_ip):
25798         We're a real inplace element.
25799
25800         * gst/gstbus.c: (gst_bus_post):
25801         Added some comments.
25802
25803         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
25804         * tests/muxing/case1.c: (main):
25805         * tests/sched/dynamic-pipeline.c: (main):
25806         * tests/sched/interrupt1.c: (main):
25807         * tests/sched/interrupt2.c: (main):
25808         * tests/sched/interrupt3.c: (main):
25809         * tests/sched/runxml.c: (main):
25810         * tests/sched/sched-stress.c: (main):
25811         * tests/seeking/seeking1.c: (event_received), (main):
25812         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
25813         (main):
25814         * tests/threadstate/threadstate3.c: (main):
25815         * tests/threadstate/threadstate4.c: (main):
25816         * tests/threadstate/threadstate5.c: (main):
25817         Fix the tests.
25818
25819 2005-07-21  Wim Taymans  <wim@fluendo.com>
25820
25821         * docs/design/part-seeking.txt:
25822         Some small additions.
25823
25824         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25825         (gst_base_sink_get_times), (gst_base_sink_do_sync),
25826         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
25827         * gst/base/gstbasesink.h:
25828         discont values are gint64, handle the math correctly.
25829
25830         * gst/base/gstbasesrc.c: (gst_base_src_loop):
25831         Make the basesrc report error if the source pad is not linked.
25832
25833         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
25834         (gst_queue_loop), (gst_queue_handle_src_query),
25835         (gst_queue_src_activate_push):
25836         Make queue collect data even if the srcpad is not linked.
25837         Start pushing out data as soon as it is linked.
25838
25839         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
25840         * gst/gstutils.h:
25841         Added gst_flow_get_name() to ease error reporting.
25842
25843 2005-07-20  Wim Taymans  <wim@fluendo.com>
25844
25845         * gst/gstmessage.c: (gst_message_new_segment_start),
25846         (gst_message_new_segment_done), (gst_message_parse_segment_start),
25847         (gst_message_parse_segment_done):
25848         * gst/gstmessage.h:
25849         Added a bunch of messages for advanced seeking.
25850
25851         * gst/parse/grammar.y:
25852         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
25853         (gst_dpman_state_changed):
25854         Fix some new-pad -> pad-added signals
25855
25856 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25857
25858         * docs/manual/appendix-porting.xml:
25859         * docs/pwg/appendix-porting.xml:
25860           Document new-pad/state-change signal renames and the FixedList
25861           type rename.
25862
25863 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25864
25865         * docs/manual/advanced-autoplugging.xml:
25866         * docs/manual/basics-helloworld.xml:
25867         * docs/manual/basics-pads.xml:
25868         * docs/random/ds/0.9-suggested-changes:
25869         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
25870         * gst/gstelement.h:
25871         * gst/gstevent.h:
25872         * gst/gstformat.h:
25873         * gst/gstquery.h:
25874         * gst/gststructure.c: (gst_structure_value_get_generic_type),
25875         (gst_structure_parse_array), (gst_structure_parse_value):
25876         * gst/gstvalue.c: (gst_type_is_fixed),
25877         (gst_value_list_prepend_value), (gst_value_list_append_value),
25878         (gst_value_list_get_size), (gst_value_list_get_value),
25879         (gst_value_transform_array_string), (gst_value_serialize_array),
25880         (gst_value_deserialize_array), (gst_value_intersect_array),
25881         (gst_value_is_fixed), (_gst_value_initialize):
25882         * gst/gstvalue.h:
25883           GstElement::new-pad -> pad-added, GstElement::state-change ->
25884           state-changed, GstValueFixedList -> GstValueArray, add format and
25885           flags as their own arguments in gst_element_seek() (should improve
25886           "bindeability"), remove function generators since they don't work
25887           under a whole bunch of compilers (they were deprecated already
25888           anyway).
25889
25890 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25891
25892         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
25893         (_gst_debug_register_funcptr):
25894         * gst/gstinfo.h:
25895           Fix illegal cast on some platforms (#309253).
25896
25897 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25898
25899         * gst/gstmessage.c: (gst_message_new_custom):
25900         * gst/gstmessage.h:
25901           Add _new_custom, make _new_application a macro to _new_custom.
25902
25903 2005-07-20  Wim Taymans  <wim@fluendo.com>
25904
25905         * gst/base/gstbasesrc.c: (gst_base_src_init),
25906         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
25907         * gst/base/gstbasesrc.h:
25908         Add a gboolean to decide when to push out a discont.
25909
25910         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
25911         (gst_queue_loop), (gst_queue_handle_src_query),
25912         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
25913         (gst_queue_set_property), (gst_queue_get_property):
25914         Some cleanups.
25915
25916         * tests/threadstate/threadstate1.c: (main):
25917         Make a thread test compile and run... very silly..
25918
25919
25920 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25921
25922         * docs/manual/appendix-porting.xml:
25923           Mention removal of libgstgconf-0.9.la and existence of gconf
25924           elements.
25925
25926 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25927
25928         * docs/pwg/advanced-clock.xml:
25929         * docs/pwg/appendix-porting.xml:
25930         * docs/pwg/intro-preface.xml:
25931         * docs/pwg/other-base.xml:
25932         * docs/pwg/other-manager.xml:
25933         * docs/pwg/other-nton.xml:
25934         * docs/pwg/other-ntoone.xml:
25935         * docs/pwg/other-oneton.xml:
25936         * docs/pwg/pwg.xml:
25937           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
25938           demuxer), remove n-to-n (was never written), fix some code examples
25939           and links and update the porting section to include all this.
25940
25941 2005-07-19  Wim Taymans  <wim@fluendo.com>
25942
25943         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
25944         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
25945         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
25946         (gst_queue_src_activate_push), (gst_queue_change_state),
25947         (gst_queue_get_property):
25948         * gst/gstqueue.h:
25949         Propagate GstFlowReturn more intelligently upstream and output
25950         an ERROR/EOS when streaming stopped due to fatal error.
25951
25952 2005-07-19  Wim Taymans  <wim@fluendo.com>
25953
25954         * tools/gst-launch.c: (check_intr), (event_loop), (main):
25955         Don't block forever for the state change to complete, the
25956         pipeline already did with a sensible timeout.
25957
25958 2005-07-19  Wim Taymans  <wim@fluendo.com>
25959
25960         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
25961         Make sure we never call the create function is we
25962         got deactivated.
25963
25964 2005-07-19  Andy Wingo  <wingo@pobox.com>
25965
25966         * gst/parse/parse.l: Attempt to solve bug #172815.
25967
25968 2005-07-19  Wim Taymans  <wim@fluendo.com>
25969
25970         * docs/design/part-clocks.txt:
25971         * docs/design/part-events.txt:
25972         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
25973         Small docs updates.
25974         Only update the seeking values when we are not
25975         busy streaming.
25976
25977 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
25978
25979         * gst/base/gstbasesrc.c: (gst_base_src_loop):
25980           Oops, ignore the result of gst_pad_push_event here.
25981
25982 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
25983
25984         * gst/base/gstbasesrc.c: (gst_base_src_loop),
25985         (gst_base_src_activate_push):
25986           Send discont event from the loop function, as pads
25987           aren't activated yet in the activate_push handler.
25988
25989         * gst/gstbin.c: (bin_bus_handler):
25990           Don't leak element name.
25991
25992 2005-07-18  Andy Wingo  <wingo@pobox.com>
25993
25994         * configure.ac: Use AS_LIBTOOL_TAGS.
25995
25996 2005-07-18  Wim Taymans  <wim@fluendo.com>
25997
25998         * docs/gst/gstreamer.types:
25999         Remove deleted types.
26000
26001 2005-07-18  Wim Taymans  <wim@fluendo.com>
26002
26003         * check/elements/gstfakesrc.c: (GST_START_TEST):
26004         * configure.ac:
26005         * gst/Makefile.am:
26006         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
26007         (init_popt_callback):
26008         * gst/gst.h:
26009         * gst/gst_private.h:
26010         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
26011         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
26012         * gst/gstbin.h:
26013         * gst/gstbus.h:
26014         * gst/gstconfig.h.in:
26015         * gst/gstelement.c: (gst_element_class_init),
26016         (gst_element_set_base_time), (gst_element_get_base_time),
26017         (iterator_fold_with_resync), (gst_element_change_state),
26018         (gst_element_dispose), (gst_element_get_bus):
26019         * gst/gstelement.h:
26020         * gst/gstelementfactory.h:
26021         * gst/gsterror.c: (_gst_core_errors_init):
26022         * gst/gsterror.h:
26023         * gst/gstevent.h:
26024         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
26025         * gst/gstindex.c:
26026         * gst/gstinfo.c: (_gst_debug_init):
26027         * gst/gstmessage.c: (_gst_message_copy):
26028         * gst/gstmessage.h:
26029         * gst/gstminiobject.h:
26030         * gst/gstobject.c:
26031         * gst/gstobject.h:
26032         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
26033         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
26034         * gst/gstpad.h:
26035         * gst/gstparse.h:
26036         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
26037         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
26038         (gst_pipeline_get_last_stream_time):
26039         * gst/gstpipeline.h:
26040         * gst/gstpluginfeature.h:
26041         * gst/gstquery.h:
26042         * gst/gstscheduler.c:
26043         * gst/gstscheduler.h:
26044         * gst/gststructure.h:
26045         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
26046         (gst_task_finalize), (gst_task_func), (gst_task_create),
26047         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
26048         (gst_task_stop), (gst_task_pause):
26049         * gst/gsttask.h:
26050         * gst/gsttypefind.h:
26051         * gst/gsttypes.h:
26052         * gst/registries/gstlibxmlregistry.c: (load_feature),
26053         (gst_xml_registry_load), (gst_xml_registry_save_feature):
26054         * gst/registries/gstxmlregistry.c:
26055         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
26056         * gst/schedulers/threadscheduler.c:
26057         * libs/gst/control/dparammanager.h:
26058         * tools/gst-inspect.c: (print_element_list),
26059         (print_plugin_features), (print_element_features):
26060         * tools/gst-xmlinspect.c: (print_element_list),
26061         (print_plugin_info), (main):
26062         Removed plugable schedulers.
26063         Removed Scheduler/Manager from elements.
26064         Removed gsttypes.h, rearranged includes.
26065         Removed dependency pad<->element, element<>pipeline, and
26066         various others,  fix includes.
26067         implement gst_pad_get_parent() with gst_object_get_parent()
26068         Make GstTask sefcontained.
26069         Fix _get_state() on GstBin, it did not return ASYNC with a 0
26070         timeout.
26071         Fix endless loop in iterator_fold_with_resync.
26072
26073
26074 2005-07-18  Wim Taymans  <wim@fluendo.com>
26075
26076         * gst/Makefile.am:
26077         * gst/gstarch.h:
26078         Remove old file.
26079
26080 2005-07-18  Wim Taymans  <wim@fluendo.com>
26081
26082         * gst/Makefile.am:
26083         No more cothreads.h
26084
26085 2005-07-18  Wim Taymans  <wim@fluendo.com>
26086
26087         * gst/cothreads.c:
26088         * gst/cothreads.h:
26089         Let's remove these.
26090
26091 2005-07-18  Wim Taymans  <wim@fluendo.com>
26092
26093         * docs/design/part-dynamic.txt:
26094         * docs/design/part-events.txt:
26095         * docs/design/part-seeking.txt:
26096         Some more docs in the works.
26097
26098         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26099         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
26100         (gst_base_transform_setcaps), (gst_base_transform_get_size),
26101         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26102         (gst_base_transform_handle_buffer),
26103         (gst_base_transform_sink_activate_push),
26104         (gst_base_transform_src_activate_pull),
26105         (gst_base_transform_set_passthrough),
26106         (gst_base_transform_is_passthrough):
26107         Refcounting fixes.
26108
26109         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
26110         Cleanups.
26111
26112         * gst/gstevent.c: (gst_event_finalize):
26113         Set SRC to NULL.
26114
26115         * gst/gstutils.c: (gst_element_unlink),
26116         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
26117         (gst_pad_proxy_setcaps):
26118         * gst/gstutils.h:
26119         Add _get_parent_element() to get a pads parent as an element.
26120
26121 2005-07-18  Wim Taymans  <wim@fluendo.com>
26122
26123         * check/gst/gstbin.c: (GST_START_TEST):
26124         Remove bogus test.
26125
26126 2005-07-18  Wim Taymans  <wim@fluendo.com>
26127
26128         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
26129         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
26130         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
26131         (gst_base_sink_event), (gst_base_sink_do_sync),
26132         (gst_base_sink_chain), (gst_base_sink_loop),
26133         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
26134         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
26135         Refcounting fixes.
26136         Fix logic for returning ASYNC when not prerolled.
26137
26138 2005-07-18  Wim Taymans  <wim@fluendo.com>
26139
26140         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26141         Fix nasty refcount bug.
26142
26143 2005-07-16 Philippe Khalaf <burger@speedy.org>
26144
26145         * gst/elements/gstfdsrc.c:
26146         * gst/elements/gstfdsrc.h:
26147         * gst/elements/gstelements.c:
26148         * gst/elements/Makefile.am:
26149         Ported fdsrc to 0.9.
26150
26151 2005-07-16  Wim Taymans  <wim@fluendo.com>
26152
26153         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26154         (gst_base_sink_do_sync):
26155         Fix compile error.
26156
26157 2005-07-16  Wim Taymans  <wim@fluendo.com>
26158
26159         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26160         (gst_base_sink_event), (gst_base_sink_get_times),
26161         (gst_base_sink_do_sync), (gst_base_sink_change_state):
26162         * gst/base/gstbasesink.h:
26163         Store and use discont values when syncing buffers as described
26164         in design docs.
26165         
26166         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26167         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
26168         (gst_base_src_activate_push):
26169         Push discont event when starting.
26170
26171         * gst/elements/gstidentity.c: (gst_identity_transform):
26172         Small cleanups.
26173
26174         * gst/gstbin.c: (gst_bin_change_state):
26175         Small cleanups in base_time  distribution.
26176
26177         * gst/gstelement.c: (gst_element_set_base_time),
26178         (gst_element_get_base_time), (gst_element_change_state):
26179         * gst/gstelement.h:
26180         Added methods for the base_time of the element.
26181         Some MT fixes.
26182
26183         * gst/gstpipeline.c: (gst_pipeline_send_event),
26184         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
26185         (gst_pipeline_get_last_stream_time):
26186         * gst/gstpipeline.h:
26187         MT fixes.
26188         Handle seeking as described in design doc, remove stream_time
26189         hack.
26190         Cleanups clock and stream_time selection code. Added accessors
26191         for the stream_time.
26192         
26193
26194 2005-07-16  Andy Wingo  <wingo@pobox.com>
26195
26196         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
26197         (#305291).
26198
26199 2005-07-16  Wim Taymans  <wim@fluendo.com>
26200
26201         * check/gst/gstbin.c: (GST_START_TEST):
26202         Make elements silent as the deep_notify refs the
26203         parent, which might make the test fail.
26204
26205         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
26206         Don't hold the lock for too long.
26207
26208 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
26209
26210         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
26211           Don't unref the caps we passed to gst_caps_make_writable() after
26212           passing them. gst_caps_make_writable() will do that for us.
26213
26214 2005-07-15  Andy Wingo  <wingo@pobox.com>
26215
26216         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
26217         (#157311).
26218
26219         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
26220         own marshalling function for the handoff signal. Properly type the
26221         buffer as a buffer. Fixes some warnings. Should do a more general
26222         solution.
26223         (gst_identity_class_init): Plug into the right marshaller.
26224
26225 2005-07-15  Wim Taymans  <wim@fluendo.com>
26226
26227         * docs/design/part-TODO.txt:
26228         * docs/design/part-clocks.txt:
26229         * docs/design/part-element-sink.txt:
26230         * docs/design/part-events.txt:
26231         * docs/design/part-gstpipeline.txt:
26232         Updated docs, mostly DISCONT related.
26233
26234 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
26235
26236         * docs/pwg/building-pads.xml:
26237           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
26238
26239 2005-07-15  Andy Wingo  <wingo@pobox.com>
26240
26241         * tools/gst-typefind.c: Update, add copyright block.
26242
26243         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
26244         Normalize and truncate caps before fixation.
26245
26246         * gst/gstcaps.h:
26247         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
26248         discards all but the first structure from its argument.
26249
26250 2005-07-15  Wim Taymans  <wim@fluendo.com>
26251
26252         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26253         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
26254         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26255         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26256         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
26257         (gst_base_transform_chain), (gst_base_transform_change_state),
26258         (gst_base_transform_set_passthrough),
26259         (gst_base_transform_is_passthrough):
26260         * gst/base/gstbasetransform.h:
26261         Make passthrough work using the bufferpools.
26262         Changed API a bit, subclasses have to write into a buffer
26263         provided by the base class.
26264         More debug info in nego functions.
26265         
26266         * gst/elements/gstidentity.c: (gst_identity_init),
26267         (gst_identity_transform):
26268         Port to new base class.
26269
26270 2005-07-15  Wim Taymans  <wim@fluendo.com>
26271
26272         * gst/gstmessage.c: (gst_message_new_state_changed):
26273         * tools/gst-launch.c: (event_loop), (main):
26274         Totally dump messages in -launch with the -m option.
26275         Fix message name for State messages,
26276
26277 2005-07-14  Wim Taymans  <wim@fluendo.com>
26278
26279         * gst/base/gstbasesrc.c: (gst_base_src_loop):
26280         Post error messages on errors.
26281
26282 2005-07-14  Wim Taymans  <wim@fluendo.com>
26283
26284         * gst/gstcaps.c: (gst_caps_do_simplify):
26285         Remove debug info.
26286
26287         * gst/gsterror.h:
26288         Define error for stream stopped.
26289
26290         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
26291         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
26292         Do proper return values.
26293
26294         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
26295         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
26296         (gst_pad_get_range):
26297         Better return values.
26298
26299         * gst/gstpad.h:
26300         Reorganise return values, add macro to check for fatal errors.
26301
26302         * gst/gstqueue.c: (gst_queue_chain):
26303         Return proper GstFlowReturn values,
26304
26305 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
26306
26307         * docs/gst/gstreamer-sections.txt:
26308         * docs/gst/gstreamer.types:
26309         * docs/gst/tmpl/gst.sgml:
26310         * docs/gst/tmpl/gstbasesink.sgml:
26311         * docs/gst/tmpl/gstbasesrc.sgml:
26312         * docs/gst/tmpl/gstbasetransform.sgml:
26313         * docs/gst/tmpl/gstbin.sgml:
26314         * docs/gst/tmpl/gstbuffer.sgml:
26315         * docs/gst/tmpl/gstcaps.sgml:
26316         * docs/gst/tmpl/gstclock.sgml:
26317         * docs/gst/tmpl/gstcompat.sgml:
26318         * docs/gst/tmpl/gstconfig.sgml:
26319         * docs/gst/tmpl/gstelement.sgml:
26320         * docs/gst/tmpl/gstelementdetails.sgml:
26321         * docs/gst/tmpl/gstelementfactory.sgml:
26322         * docs/gst/tmpl/gstenumtypes.sgml:
26323         * docs/gst/tmpl/gsterror.sgml:
26324         * docs/gst/tmpl/gstevent.sgml:
26325         * docs/gst/tmpl/gstfakesink.sgml:
26326         * docs/gst/tmpl/gstfakesrc.sgml:
26327         * docs/gst/tmpl/gstfilesink.sgml:
26328         * docs/gst/tmpl/gstfilesrc.sgml:
26329         * docs/gst/tmpl/gstfilter.sgml:
26330         * docs/gst/tmpl/gstformat.sgml:
26331         * docs/gst/tmpl/gstghostpad.sgml:
26332         * docs/gst/tmpl/gstimplementsinterface.sgml:
26333         * docs/gst/tmpl/gstindex.sgml:
26334         * docs/gst/tmpl/gstindexfactory.sgml:
26335         * docs/gst/tmpl/gstinfo.sgml:
26336         * docs/gst/tmpl/gstiterator.sgml:
26337         * docs/gst/tmpl/gstmacros.sgml:
26338         * docs/gst/tmpl/gstmemchunk.sgml:
26339         * docs/gst/tmpl/gstminiobject.sgml:
26340         * docs/gst/tmpl/gstobject.sgml:
26341         * docs/gst/tmpl/gstpad.sgml:
26342         * docs/gst/tmpl/gstpadtemplate.sgml:
26343         * docs/gst/tmpl/gstparse.sgml:
26344         * docs/gst/tmpl/gstpipeline.sgml:
26345         * docs/gst/tmpl/gstplugin.sgml:
26346         * docs/gst/tmpl/gstpluginfeature.sgml:
26347         * docs/gst/tmpl/gstquery.sgml:
26348         * docs/gst/tmpl/gstqueue.sgml:
26349         * docs/gst/tmpl/gstregistry.sgml:
26350         * docs/gst/tmpl/gstregistrypool.sgml:
26351         * docs/gst/tmpl/gstscheduler.sgml:
26352         * docs/gst/tmpl/gstschedulerfactory.sgml:
26353         * docs/gst/tmpl/gststructure.sgml:
26354         * docs/gst/tmpl/gstsystemclock.sgml:
26355         * docs/gst/tmpl/gsttaglist.sgml:
26356         * docs/gst/tmpl/gsttagsetter.sgml:
26357         * docs/gst/tmpl/gsttrace.sgml:
26358         * docs/gst/tmpl/gsttrashstack.sgml:
26359         * docs/gst/tmpl/gsttypefind.sgml:
26360         * docs/gst/tmpl/gsttypefindfactory.sgml:
26361         * docs/gst/tmpl/gsttypes.sgml:
26362         * docs/gst/tmpl/gsturihandler.sgml:
26363         * docs/gst/tmpl/gsturitype.sgml:
26364         * docs/gst/tmpl/gstutils.sgml:
26365         * docs/gst/tmpl/gstvalue.sgml:
26366         * docs/gst/tmpl/gstversion.sgml:
26367         * docs/gst/tmpl/gstxml.sgml:
26368         * docs/libs/tmpl/gstcontrol.sgml:
26369         * docs/libs/tmpl/gstdataprotocol.sgml:
26370         * docs/libs/tmpl/gstdparam.sgml:
26371         * docs/libs/tmpl/gstdplinint.sgml:
26372         * docs/libs/tmpl/gstdpman.sgml:
26373         * docs/libs/tmpl/gstdpsmooth.sgml:
26374         * docs/libs/tmpl/gstgetbits.sgml:
26375         * docs/libs/tmpl/gstunitconvert.sgml:
26376         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
26377         (gst_push_src_base_init), (gst_push_src_class_init),
26378         (gst_push_src_init), (gst_push_src_create):
26379         * gst/base/gstpushsrc.h:
26380         * gst/elements/gstelements.c:
26381         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
26382         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
26383         (gst_fake_sink_init), (gst_fake_sink_set_property),
26384         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
26385         (gst_fake_sink_event), (gst_fake_sink_preroll),
26386         (gst_fake_sink_render), (gst_fake_sink_change_state):
26387         * gst/elements/gstfakesink.h:
26388         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
26389         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
26390         (gst_fake_src_base_init), (gst_fake_src_class_init),
26391         (gst_fake_src_init), (gst_fake_src_event_handler),
26392         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
26393         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
26394         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
26395         (gst_fake_src_create_buffer), (gst_fake_src_create),
26396         (gst_fake_src_start), (gst_fake_src_stop):
26397         * gst/elements/gstfakesrc.h:
26398         * gst/elements/gstfilesink.c: (_do_init),
26399         (gst_file_sink_base_init), (gst_file_sink_class_init),
26400         (gst_file_sink_init), (gst_file_sink_dispose),
26401         (gst_file_sink_set_location), (gst_file_sink_set_property),
26402         (gst_file_sink_get_property), (gst_file_sink_open_file),
26403         (gst_file_sink_close_file), (gst_file_sink_query),
26404         (gst_file_sink_event), (gst_file_sink_render),
26405         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
26406         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
26407         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
26408         * gst/elements/gstfilesink.h:
26409         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
26410         (gst_file_src_class_init), (gst_file_src_init),
26411         (gst_file_src_finalize), (gst_file_src_set_location),
26412         (gst_file_src_set_property), (gst_file_src_get_property),
26413         (gst_file_src_map_region), (gst_file_src_map_small_region),
26414         (gst_file_src_create_mmap), (gst_file_src_create_read),
26415         (gst_file_src_create), (gst_file_src_is_seekable),
26416         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
26417         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
26418         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
26419         (gst_file_src_uri_handler_init):
26420         * gst/elements/gstfilesrc.h:
26421           more autistic cleanliness in functions/names/defines
26422
26423 2005-07-13  Andy Wingo  <wingo@pobox.com>
26424
26425         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
26426         source couldn't negotiate.
26427
26428         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
26429         connections again.
26430
26431         * gst/gstutils.h:
26432         * gst/gstutils.c (gst_element_link_pads_filtered): New old
26433         function. I am channeling Hades. Put your boots on suckers!!!
26434
26435 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
26436
26437         * testsuite/caps/Makefile.am:
26438         * testsuite/caps/value_compare.c:
26439         * testsuite/caps/value_intersect.c:
26440         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26441           move two testsuite apps over to the check dir
26442
26443 2005-07-12  Wim Taymans  <wim@fluendo.com>
26444
26445         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
26446         Added more debug info in the negotiate process.
26447
26448         * gst/gstmessage.h:
26449         Prepare for segment playback.
26450
26451         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
26452         Better debugging.
26453
26454         * gst/gstutils.c:
26455         Some more docs.
26456
26457         * tools/gst-launch.c: (main):
26458         NULL pipeline on errors.
26459
26460 2005-07-12  Andy Wingo  <wingo@pobox.com>
26461
26462         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
26463         not it comes from a malloc region. Make sure our copy gets freed.
26464
26465 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
26466
26467         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
26468         * check/gst/gstmessage.c: (GST_START_TEST):
26469         * check/gst/gststructure.c: (GST_START_TEST),
26470         (gst_structure_suite), (main):
26471           more testing
26472         * gst/gstelement.c: (gst_element_message_full):
26473           clean up GError and debug string now that they get copied
26474         * gst/gstmessage.c: (gst_message_new_error),
26475         (gst_message_new_warning), (gst_message_parse_error),
26476         (gst_message_parse_warning):
26477           use GST_TYPE_G_ERROR for structure_new, and take copies of
26478           arguments, so that we don't mess up refcounting
26479
26480 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
26481
26482         * check/Makefile.am:
26483           add per-test valgrind targets
26484         * check/gst-libs/gdp.c: (GST_START_TEST),
26485         (gst_data_protocol_suite), (main):
26486           clean up
26487
26488 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
26489
26490         * check/Makefile.am:
26491           instate more valgrindable tests
26492         * check/elements/gstfakesrc.c: (chain_func), (event_func),
26493         (GST_START_TEST), (fakesrc_suite):
26494         * check/gst/gstpad.c: (GST_START_TEST):
26495         * check/gst/gststructure.c: (GST_START_TEST):
26496           fix test leaks
26497         * docs/gst/tmpl/gstminiobject.sgml:
26498         * gst/gstpad.c: (gst_pad_finalize):
26499           fix the static mutex leak
26500
26501 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
26502
26503         * check/Makefile.am:
26504           add two more tests for valgrinding
26505         * check/gst/gstvalue.c: (GST_START_TEST):
26506           test refcount of deserialized buffer, found a leak
26507         * docs/gst/gstreamer-docs.sgml:
26508         * docs/gst/gstreamer-sections.txt:
26509         * docs/gst/gstreamer.types:
26510         * docs/gst/tmpl/gstminiobject.sgml:
26511           add miniobject to docs
26512         * gst/gstminiobject.c:
26513           add some docs
26514         * gst/gstvalue.c: (gst_value_deserialize_buffer),
26515         (gst_string_unwrap):
26516           fix a hard-to-find invalid write for one of the tests
26517           fix a leak for deserialized buffers
26518
26519 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26520
26521         * docs/pwg/advanced-events.xml:
26522         * docs/pwg/advanced-request.xml:
26523         * docs/pwg/advanced-scheduling.xml:
26524         * docs/pwg/appendix-porting.xml:
26525         * docs/pwg/building-boiler.xml:
26526         * docs/pwg/intro-preface.xml:
26527         * docs/pwg/other-ntoone.xml:
26528           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
26529           of example code and explanation for pad activation, loop() and
26530           getrange() functions and a bit more. Remove old comments pointing
26531           to loop-functions.
26532         * examples/pwg/Makefile.am:
26533           Add loop/getrange examples.
26534
26535 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
26536
26537         * configure.ac:
26538           check for valgrind binary + some fixes
26539         * check/gst.supp:
26540           valgrind suppressions for the tests
26541         * check/Makefile.am:
26542           add a valgrind: target that valgrinds the unit tests
26543         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
26544         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
26545         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26546         * check/gst/gstghostpad.c:
26547           added some cleanup
26548         * check/gst/gstdata.c:
26549           removed
26550         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
26551         (thread_unref), (gst_mini_object_suite), (main):
26552           added
26553         * gst/gst.c: (gst_deinit):
26554         * gst/gst.h:
26555           add a method to clean up.
26556         * gst/gstsystemclock.c: (gst_system_clock_dispose),
26557         (gst_system_clock_obtain):
26558           allow for disposing the system clock.
26559         * tools/gst-launch.c: (main):
26560           deinit
26561
26562 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
26563
26564         * docs/gst/tmpl/gstbasesrc.sgml:
26565         * docs/gst/tmpl/gstfakesrc.sgml:
26566         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
26567         (gst_base_src_init), (gst_base_src_set_property),
26568         (gst_base_src_get_property), (gst_base_src_get_range),
26569         (gst_base_src_start):
26570         * gst/base/gstbasesrc.h:
26571           add num-buffers property
26572         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
26573         (gst_fakesrc_init), (gst_fakesrc_set_property),
26574         (gst_fakesrc_get_property), (gst_fakesrc_create),
26575         (gst_fakesrc_start):
26576           remove num-buffers property
26577
26578 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
26579
26580         * docs/gst/gstreamer-sections.txt:
26581         * docs/gst/tmpl/gstbasesink.sgml:
26582         * docs/gst/tmpl/gstbasesrc.sgml:
26583         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
26584         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
26585         (gst_base_sink_finalize), (gst_base_sink_set_clock),
26586         (gst_base_sink_set_property), (gst_base_sink_get_property),
26587         (gst_base_sink_handle_object), (gst_base_sink_event),
26588         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
26589         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
26590         (gst_base_sink_loop), (gst_base_sink_deactivate),
26591         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
26592         (gst_base_sink_change_state):
26593         * gst/base/gstbasesink.h:
26594         * gst/base/gstbasesrc.h:
26595         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
26596         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
26597         (gst_filesink_init):
26598           more macro splitting
26599
26600 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
26601
26602         * gst/gstelement.c: (gst_element_get_bus):
26603           add debug
26604         * tools/gst-launch.c: (check_intr), (event_loop):
26605           fix bus leaks
26606
26607 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
26608
26609         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
26610           fix a caps leak
26611
26612 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
26613
26614         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
26615         (gst_base_src_finalize):
26616           add finalize method and clean up properly
26617         * gst/gstpipeline.c: (gst_pipeline_dispose):
26618           add debug
26619
26620 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
26621
26622         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
26623         (gst_bin_suite):
26624           add more things to check
26625         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26626         * gst/gstelement.c:
26627           more debug
26628
26629 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
26630
26631         * check/elements/gstfakesrc.c: (chain_func), (event_func),
26632         (GST_START_TEST), (fakesrc_suite):
26633         * check/gst-libs/gdp.c: (GST_START_TEST):
26634         * check/gst/gst.c: (GST_START_TEST):
26635         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
26636         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26637         * check/gst/gstbus.c: (GST_START_TEST):
26638         * check/gst/gstcaps.c: (GST_START_TEST):
26639         * check/gst/gstdata.c: (GST_START_TEST):
26640         * check/gst/gstelement.c: (GST_START_TEST):
26641         * check/gst/gstghostpad.c: (GST_START_TEST):
26642         * check/gst/gstiterator.c: (GST_START_TEST):
26643         * check/gst/gstmessage.c: (GST_START_TEST):
26644         * check/gst/gstobject.c: (GST_START_TEST):
26645         * check/gst/gstpad.c: (GST_START_TEST):
26646         * check/gst/gststructure.c: (GST_START_TEST):
26647         * check/gst/gstsystemclock.c: (GST_START_TEST),
26648         (gst_systemclock_suite):
26649         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26650         * check/gst/gstvalue.c: (GST_START_TEST):
26651         * check/pipelines/cleanup.c: (GST_START_TEST):
26652         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
26653         * check/states/sinks.c: (GST_START_TEST):
26654         * check/gstcheck.c: (gst_check_init):
26655         * check/gstcheck.h:
26656           add debugging category
26657           use GST_START_TEST now, so we add a debug line
26658
26659 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
26660
26661         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
26662           add test for state change message on a bin
26663         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
26664           add another test
26665         * gst/gstbin.c: (gst_bin_init):
26666         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
26667         * gst/gstelement.c: (gst_element_post_message),
26668         (gst_element_set_state):
26669         * gst/gstelementfactory.c: (gst_element_factory_create):
26670         * gst/gstmessage.c: (gst_message_new):
26671         * gst/gstscheduler.c:
26672           various debugging additions and cleanups
26673
26674 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26675
26676         * check/Makefile.am:
26677         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
26678         (main):
26679           adding tests for elements
26680         * gst/gstelement.c: (gst_element_dispose):
26681
26682 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26683
26684         * gst/registries/gstlibxmlregistry.c: (load_feature):
26685           plug more leaks.  A simple gst_init() now is leakfree, yay.
26686
26687 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26688
26689         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
26690         (gst_xml_registry_load):
26691           plug another memleak
26692
26693 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26694
26695         * configure.ac:
26696           use GST_SET_ERROR_CFLAGS
26697         * docs/faq/cvs.xml:
26698           change to ERROR_CFLAGS
26699
26700 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26701
26702         * configure.ac:
26703           make GST_ERROR_CFLAGS overridable and re-enable Werror
26704         * docs/faq/cvs.xml:
26705           add a note about error CFLAGS
26706         * docs/gst/tmpl/gstfakesrc.sgml:
26707         * gst/elements/gstfakesrc.c:
26708           comment out some unused code
26709         * gst/gst.c: (split_and_iterate):
26710         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
26711         (load_feature):
26712           plug some memleaks
26713
26714 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
26715
26716         * common/Makefile.am:
26717         * common/gtk-doc.mak:
26718         * docs/gst/Makefile.am:
26719           factor out gtk-doc.mak
26720
26721 2005-07-07  Wim Taymans  <wim@fluendo.com>
26722
26723         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
26724         (gst_thread_scheduler_dispose):
26725         Unlock the STREAM_LOCK completely.
26726
26727 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
26728
26729         * check/Makefile.am:
26730         * check/elements/.cvsignore:
26731         * check/elements/gstfakesrc.c: (chain_func), (event_func),
26732         (START_TEST), (fakesrc_suite), (main):
26733         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
26734         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
26735         (gst_fakesrc_create), (gst_fakesrc_start):
26736         * gst/elements/gstfakesrc.h:
26737           adding a first element test
26738
26739 2005-07-07  Andy Wingo  <wingo@pobox.com>
26740
26741         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
26742         debug message.
26743
26744 2005-07-07  Wim Taymans  <wim@fluendo.com>
26745
26746         * gst/gstquery.c:
26747         * gst/gstquery.h:
26748         Remove old types
26749
26750 2005-07-07  Wim Taymans  <wim@fluendo.com>
26751
26752         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
26753         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
26754         Allow subclasses to implement their own negotiation.
26755
26756 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
26757
26758         * docs/design/part-gstbin.txt:
26759         * docs/design/part-gstpipeline.txt:
26760           Update design notes to reflect the movement of
26761           responsibility for bus handling from GstPipeline to
26762           GstBin
26763
26764 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
26765
26766         * configure.ac:
26767           Remove unnecessary queue2/3/4 examples.
26768
26769 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
26770
26771         * examples/Makefile.am:
26772         * examples/helloworld/helloworld.c: (event_loop), (main):
26773         * examples/queue/queue.c: (event_loop), (main):
26774         * examples/queue2/queue2.c: (main):
26775           Update a couple of the examples to work again.
26776
26777         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
26778         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
26779          Spelling corrections and extra debug.
26780         
26781         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
26782         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
26783         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
26784         * gst/gstbin.h:
26785         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
26786         (gst_pipeline_change_state):
26787         * gst/gstpipeline.h:
26788           Move the bus handler for children to the GstBin, and create a
26789           separate bus for receiving messages from children to the one the
26790           bus sends 'upwards' on.
26791
26792 2005-07-06  Wim Taymans  <wim@fluendo.com>
26793
26794         * gst/base/README:
26795         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
26796         (gst_base_sink_handle_object), (gst_base_sink_loop),
26797         (gst_base_sink_change_state):
26798         * gst/base/gstbasesink.h:
26799         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
26800         (gst_base_src_init), (gst_base_src_setcaps),
26801         (gst_base_src_getcaps), (gst_base_src_loop),
26802         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
26803         (gst_base_src_start), (gst_base_src_change_state):
26804         * gst/base/gstbasesrc.h:
26805         Make basesrc negotiate.
26806         Handle the case where preroll fails in basesink.
26807         Update README.
26808
26809 2005-07-06  Wim Taymans  <wim@fluendo.com>
26810
26811         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
26812         Implement the fixate function.
26813         Clean up acceptcaps.
26814
26815 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26816
26817         * docs/pwg/building-filterfactory.xml:
26818         * docs/pwg/pwg.xml:
26819           Remove never-written filter-factory chapter; I'll add the various
26820           base classes to part 4 ("other element types") later on.
26821
26822 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26823
26824         * docs/pwg/advanced-negotiation.xml:
26825         * docs/pwg/building-boiler.xml:
26826         * docs/pwg/building-pads.xml:
26827         * docs/pwg/pwg.xml:
26828         * examples/pwg/Makefile.am:
26829           Add a chapter on caps negotiation, simplify the original code
26830           samples a bit w.r.t. caps negotiation, add link to the advanced
26831           section. Add a bunch of examples showing different use cases of
26832           different types of caps negotiation. Upstream renegotiation isn't
26833           fully documented yet since nobody knows how that works.
26834
26835 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
26836
26837         * check/gst/gstpad.c:
26838         * check/gstcheck.c:
26839         * gst/gstpad.c: (gst_pad_get_internal_links_default):
26840           if pad has no parent, return NULL as list of internal links
26841
26842 2005-07-05  Andy Wingo  <wingo@pobox.com>
26843
26844         * gst/elements/gstfilesrc.c:
26845         * gst/elements/gstfakesrc.c: 
26846         * gst/base/gstpushsrc.c:
26847         * gst/base/gstbasesrc.h: 
26848         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
26849         
26850 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
26851
26852         * Makefile.am:
26853           better report generation target (lcov needs a patch)
26854
26855 2005-07-05  Andy Wingo  <wingo@pobox.com>
26856
26857         * gst/elements, testsuite: Null if we got it...
26858
26859 2005-07-05  Wim Taymans  <wim@fluendo.com>
26860
26861         * configure.ac:
26862         * libs/gst/dataprotocol/Makefile.am:
26863         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
26864         * libs/gst/dataprotocol/dataprotocol.h:
26865         * pkgconfig/Makefile.am:
26866         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
26867         * pkgconfig/gstreamer-dataprotocol.pc.in:
26868         Ported dataprotol to 0.9. 
26869         Added pkgconfig files.
26870
26871 2005-07-05  Andy Wingo  <wingo@pobox.com>
26872
26873         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
26874         Default to returning TRUE for the case when tranform_caps returns
26875         a fixed caps, like for identity or volume.
26876
26877         * check/gst/gstbus.c (pound_bus_with_messages): 
26878         * check/gst/gstmessage.c (START_TEST): 
26879         * check/pipelines/simple_launch_lines.c (got_handoff): Application
26880         message API change.
26881
26882         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
26883         logic weaks here: always run transform_caps, trying passthrough
26884         operation only if the original caps intersects with the transform.
26885
26886         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
26887         source and sink caps.
26888
26889         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
26890         Intersect the peer caps with the pad template before going into
26891         transform_caps.
26892         (gst_base_transform_transform_caps): More debugging.
26893
26894         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
26895         src argument.
26896
26897 2005-07-04  Edward Hervey  <edward@fluendo.com>
26898
26899         * gst/gstutils.c:
26900         * gst/gstutils.h:
26901         (gst_pad_add_*_probe): now returns the signal id for better wrapping
26902         in bindings.
26903
26904 2005-07-04  Andy Wingo  <wingo@pobox.com>
26905
26906         * check/gst/gstpad.c: Only set explicit caps on pads.
26907
26908 2005-07-01  Andy Wingo  <wingo@pobox.com>
26909
26910         * tests/network-clock.scm: Commentary update.
26911
26912         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
26913         Didn't really make sense, not implementable with basetransform,
26914         etc.
26915         (gst_identity_transform): Unref inbuf via make_writable. Feeble
26916         attempt at implementing the sync property, needs an unlock method.
26917
26918         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
26919         New func, by default returns the same caps (the identity
26920         transformation).
26921         (gst_base_transform_getcaps): Uses transform_caps to return
26922         something sensible.
26923         (gst_base_transform_setcaps): Complicated logic to get caps on
26924         both pads, even if they are different, and to call set_caps once
26925         for every time both pads get their caps set.
26926         (gst_base_transform_handle_buffer): Give the ref to the transform
26927         function. Allows in-place modification of the buffer.
26928
26929         * gst/base/gstbasetransform.h (transform_caps): New class method.
26930         Given caps on one side, what can I do on the other.
26931         (set_caps): Take two caps, one for each side of the element.
26932
26933         * gst/gstpad.h:
26934         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
26935         caps in place. This is safe because we can check the mutability of
26936         the caps, and a good idea because fixate functions are just called
26937         as a matter of last resort. (Not actually implemented.)
26938         (gst_pad_set_caps): If the caps we're setting is actually the same
26939         as the existing pad caps, just update the pointer without calling
26940         setcaps. Assert that caps is either NULL or fixed, as per the
26941         docs.
26942
26943         * gst/gstghostpad.c: Update for fixate changes.
26944
26945 2005-07-02  Andy Wingo  <wingo@pobox.com>
26946
26947         * gst/gstcaps.c:
26948         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
26949         two refcounts makes it immutable, which is enough. Doc more.
26950
26951 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
26952
26953         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
26954           Put the mini_object into GValue as a mini_object,
26955           not a gpointer, since that's how we declared
26956           the signal.
26957
26958 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26959
26960         * examples/pwg/Makefile.am:
26961           Fix buildbot again.
26962
26963 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26964
26965         * docs/pwg/building-testapp.xml:
26966           Add extra check.
26967         * examples/pwg/Makefile.am:
26968           Fix buildbot.
26969
26970 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26971
26972         * configure.ac:
26973         * examples/Makefile.am:
26974         * examples/pwg/Makefile.am:
26975         * examples/pwg/extract.pl:
26976           Enable building the PWG examples.
26977         * docs/pwg/advanced-interfaces.xml:
26978           Add URI interface stub.
26979         * docs/pwg/advanced-types.xml:
26980         * docs/pwg/other-autoplugger.xml:
26981         * docs/pwg/appendix-porting.xml:
26982         * docs/pwg/pwg.xml:
26983           Add porting guide (mostly stubs), remove autoplugging (see ADM).
26984         * docs/pwg/building-boiler.xml:
26985         * docs/pwg/building-chainfn.xml:
26986         * docs/pwg/building-pads.xml:
26987         * docs/pwg/building-props.xml:
26988         * docs/pwg/building-state.xml:
26989         * docs/pwg/building-testapp.xml:
26990           Update the building-*.xml parts for 0.9 changes. All examples
26991           code blocks compile in examples/pwg/*.
26992
26993 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26994
26995         * docs/manual/advanced-autoplugging.xml:
26996         * docs/manual/appendix-checklist.xml:
26997         * docs/manual/appendix-integration.xml:
26998         * docs/manual/highlevel-components.xml:
26999           Fix playbin/decodebin examples, update docs a bit, mention bus
27000           instead of signals in various places, mention kmplayer and
27001           kaffeine since they have a working GStreamer backend in the KDE
27002           section.
27003
27004 2005-06-30  Wim Taymans  <wim@fluendo.com>
27005
27006         * CHANGES-0.9:
27007         * docs/design/draft-ghostpads.txt:
27008         * docs/design/draft-push-pull.txt:
27009         * docs/design/draft-query.txt:
27010         * docs/design/part-TODO.txt:
27011         * docs/design/part-query.txt:
27012         Added CHANGES-0.9 doc, updated status of other docs.
27013         
27014         * gst/gstquery.h:
27015         Remove "hmm" macro
27016
27017 2005-06-30  Wim Taymans  <wim@fluendo.com>
27018
27019         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
27020         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27021         (gst_base_sink_change_state):
27022         * gst/base/gstbasesink.h:
27023         Some tweaks, only EOS and a buffer complete a preroll.
27024
27025 2005-06-30  Andy Wingo  <wingo@pobox.com>
27026
27027         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
27028         activate_push down to the internal pad as well.
27029
27030 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
27031
27032         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27033
27034         * gst/gsttaginterface.c:
27035           Some documentation fixes (#307394 and #307397).
27036
27037 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
27038
27039         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27040
27041         * gst/gstvalue.c: (gst_value_intersect_list):
27042           Fix memleak (#309125).
27043
27044 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27045
27046         * docs/manual/advanced-dataaccess.xml:
27047           Fix fakesrc example to compile; doesn't work, bug somewhere...?
27048         * docs/manual/basics-pads.xml:
27049           Add reference for filtered caps to above chapter.
27050
27051 2005-06-30  Wim Taymans  <wim@fluendo.com>
27052
27053         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
27054         (gst_bin_change_state):
27055         Probes are gone.
27056         Lame attempt at making the state change function a bit
27057         more readable.
27058
27059 2005-06-30  Wim Taymans  <wim@fluendo.com>
27060
27061         * docs/design/part-clocks.txt:
27062         * docs/design/part-element-sink.txt:
27063         * docs/design/part-events.txt:
27064         * docs/design/part-preroll.txt:
27065         * docs/design/part-states.txt:
27066         Some more tweeks and additions to the docs.
27067
27068 2005-06-30  Wim Taymans  <wim@fluendo.com>
27069
27070         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
27071         (default_have_data), (gst_pad_class_init), (gst_pad_init),
27072         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
27073         (gst_pad_check_pull_range), (gst_pad_get_range),
27074         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
27075         * gst/gstpad.h:
27076         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
27077         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
27078         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
27079         (gst_pad_remove_buffer_probe):
27080         Removed atomic operations, use existing LOCK.
27081         Move exception handling out of main code path.
27082
27083 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27084
27085         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
27086         (silly_return_true_function), (gst_pad_class_init),
27087         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
27088         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
27089         (gst_pad_send_event):
27090           Fix accumulator, add default value by using _emitv() instead
27091           of _emit() for signal emission.
27092
27093 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27094
27095         * docs/manual/advanced-dataaccess.xml:
27096         * examples/manual/Makefile.am:
27097           Add probe example.
27098         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
27099           Make work (??).
27100
27101 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
27102
27103         * gst/elements/gstfilesink.c: (gst_filesink_render):
27104           Simplify code so that we don't have to handle short
27105           writes and return GST_FLOW_ERROR if an error occured.
27106
27107 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27108
27109         * docs/gst/gstreamer-docs.sgml:
27110           Remove probes more.
27111
27112 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27113
27114         * docs/gst/gstreamer-sections.txt:
27115         * docs/gst/tmpl/gstpad.sgml:
27116         * docs/gst/tmpl/gstprobe.sgml:
27117         * gst/Makefile.am:
27118         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
27119         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
27120         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
27121         (gst_pad_push_event), (gst_pad_send_event):
27122         * gst/gstpad.h:
27123         * gst/gstutils.c: (gst_pad_add_data_probe),
27124         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
27125         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
27126         (gst_pad_remove_buffer_probe):
27127         * gst/gstutils.h:
27128           Remove old probes, add new g-signal-based probes and some utility
27129           functions.
27130
27131 2005-06-29  Edward Hervey  <edward@fluendo.com>
27132
27133         * gst/gstelementfactory.c:
27134         * gst/gstutils.h:
27135         * gst/gstutils.c:
27136         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
27137         the definition to the header file.
27138
27139 2005-06-29  Andy Wingo  <wingo@pobox.com>
27140
27141         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
27142         plugins from the source directory.
27143
27144 2005-06-29  Wim Taymans  <wim@fluendo.com>
27145
27146         * docs/gst/tmpl/gstbuffer.sgml:
27147         * docs/gst/tmpl/gstclock.sgml:
27148         Some fixings for blantently wrong text.
27149
27150 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
27151
27152         * check/Makefile.am:
27153         * gst/gst.c: (add_path_func), (init_pre):
27154         * gst/gstregistry.c: (gst_registry_add_path):
27155           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
27156           only scan the GST_PLUGIN_PATH locations, and not add
27157           system locations
27158
27159 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
27160
27161         * docs/gst/gstreamer-sections.txt:
27162         * docs/gst/tmpl/gstbasesrc.sgml:
27163         * gst/gstelement.c:
27164         * gst/gstelement.h:
27165         * gst/gstevent.c:
27166         * gst/gstutils.c:
27167           doc fixes
27168
27169 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27170
27171         * docs/manual/advanced-autoplugging.xml:
27172           Fix autoplugging example.
27173
27174 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27175
27176         * docs/manual/advanced-autoplugging.xml:
27177         * docs/manual/mime-world.fig:
27178           Try to get autoplugging working, fix type detection. Fix text
27179           in hello-world image.
27180
27181 2005-06-29  Wim Taymans  <wim@fluendo.com>
27182
27183         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27184         (gst_base_sink_change_state):
27185         Small debug line.
27186
27187         * gst/gstclock.h:
27188         map SIGNAL and BROADCAST to the right function.
27189
27190         * gst/gstobject.h:
27191         Remove redundant braces.
27192
27193         * gst/gstpad.c: (gst_pad_set_caps):
27194         Don't call setcaps function when reseting caps to NULL.
27195
27196         * gst/gstsystemclock.c: (gst_system_clock_dispose),
27197         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
27198         (gst_system_clock_id_unschedule):
27199         Use BROADCAST as this is what we do.
27200
27201 2005-06-29  Wim Taymans  <wim@fluendo.com>
27202
27203         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
27204         We are actually prerolling before commiting the state
27205         change. 
27206
27207 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27208
27209         * docs/manual/advanced-clocks.xml:
27210         * docs/manual/advanced-interfaces.xml:
27211         * docs/manual/advanced-metadata.xml:
27212         * docs/manual/advanced-position.xml:
27213         * docs/manual/advanced-schedulers.xml:
27214         * docs/manual/advanced-threads.xml:
27215         * docs/manual/appendix-porting.xml:
27216         * docs/manual/basics-bins.xml:
27217         * docs/manual/basics-bus.xml:
27218         * docs/manual/basics-elements.xml:
27219         * docs/manual/basics-helloworld.xml:
27220         * docs/manual/basics-pads.xml:
27221         * docs/manual/highlevel-components.xml:
27222         * docs/manual/manual.xml:
27223         * docs/manual/thread.fig:
27224           Update (until threads/scheduling) Application Development Manual;
27225           remove GstThread, add GstBus, add simple porting checklist, add
27226           documentation for tag writing, clocks, make all examples until this
27227           part compile and run.
27228         * examples/manual/Makefile.am:
27229           Update from changes to Application Development Manual; add bus
27230           example, remove thread example.
27231
27232 2005-06-28  Wim Taymans  <wim@fluendo.com>
27233
27234         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
27235         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
27236         (gst_bus_source_dispatch):
27237         Add debugging messages.
27238         Make internal methods static.
27239         Handle the case where the bus is flushed in the handler.
27240         
27241         * gst/gstelement.c: (gst_element_get_bus):
27242         Fix refcount in _get_bus();
27243
27244         * gst/gstpipeline.c: (gst_pipeline_change_state),
27245         (gst_pipeline_get_clock_func):
27246         Clock refcounting fixes.
27247         Handle the case where preroll timed out more gracefully.
27248         
27249         * gst/gstsystemclock.c: (gst_system_clock_dispose):
27250         Clean up the internal thread in dispose. This is needed
27251         for subclasses that actually get disposed.
27252         
27253         * gst/schedulers/threadscheduler.c:
27254         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
27255         (gst_thread_scheduler_dispose):
27256         Free thread pool in dispose.
27257
27258 2005-06-28  Andy Wingo  <wingo@pobox.com>
27259
27260         * tests/network-clock-utils.scm (debug, print-event): New utils.
27261
27262         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
27263         (*packet-loss*): Unified loss probability.
27264         (network-time): Report out-of-band events.
27265
27266         * tests/plot-data: Add support for out-of-band events. Hack it
27267         into this script instead of passing it down the pipe; should fix
27268         this later.
27269
27270 2005-06-28  Wim Taymans  <wim@fluendo.com>
27271
27272         * docs/gst/gstreamer.types:
27273         * docs/gst/tmpl/gstbasesrc.sgml:
27274         * docs/gst/tmpl/gstpad.sgml:
27275         Docs fixes.
27276
27277 2005-06-28  Wim Taymans  <wim@fluendo.com>
27278
27279         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27280         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
27281         (gst_proxy_pad_do_fixatecaps):
27282         Correctly proxy the check_pull_range function.
27283
27284 2005-06-28  Andy Wingo  <wingo@pobox.com>
27285
27286         * tests/network-clock.scm: Removed need for slib.
27287         
27288 2005-06-28  Wim Taymans  <wim@fluendo.com>
27289
27290         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
27291         (gst_basesink_preroll_queue_flush):
27292         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
27293         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
27294         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27295         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27296         (gst_proxy_pad_set_property):
27297         * gst/gstpad.c:
27298         * gst/gstpad.h:
27299         * gst/gstqueue.c: (gst_queue_init):
27300         The deprecated pad loop function is removed now.
27301
27302 2005-06-28  Andy Wingo  <wingo@pobox.com>
27303
27304         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
27305         New parameters, simulate network packet loss.
27306
27307         * tests/network-clock-utils.scm: Initialize the RNG.
27308
27309 2005-06-28  Wim Taymans  <wim@fluendo.com>
27310
27311         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
27312         (gst_basesink_event), (gst_basesink_deactivate):
27313         Flushing the preroll queue always needs to unlock the waiters.
27314
27315 2005-06-28  Edward Hervey  <edward@fluendo.com>
27316
27317         * gst/gstpipeline.c: (gst_pipeline_send_event): 
27318         Wheen a seek was successful on a pipeline, set the stream_time to the
27319         seek offset in order to have a synchronized stream_time.
27320
27321 2005-06-28  Wim Taymans  <wim@fluendo.com>
27322
27323         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27324         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
27325         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
27326         (gst_proxy_pad_do_fixatecaps):
27327         Call wrapper function instead of just calling the function
27328         pointers. This takes care of any locking and whatmore.
27329
27330 2005-06-28  Wim Taymans  <wim@fluendo.com>
27331
27332         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
27333         (gst_pad_pull_range):
27334         * gst/gstpad.h:
27335         CONNECTED -> LINKED.
27336
27337 2005-06-28  Andy Wingo  <wingo@pobox.com>
27338
27339         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
27340         source-munging commit!!!
27341
27342         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
27343         (gst_object_sink): Take gpointer arguments, not GstObject --
27344         avoids casts. Like GLib.
27345
27346         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
27347         activate.
27348
27349 2005-06-27  Andy Wingo  <wingo@pobox.com>
27350
27351         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
27352         remaining buffer.
27353
27354         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
27355         returns a sorted copy of the trace list.
27356         (gst_alloc_trace_print_live): New API, only prints traces with
27357         live objects. Sort the list.
27358         (gst_alloc_trace_print_all): Sort the list.
27359         (gst_alloc_trace_print): Align columns.
27360
27361         * gst/elements/gstttypefindelement.c:
27362         * gst/elements/gsttee.c:
27363         * gst/base/gstbasesrc.c:
27364         * gst/base/gstbasesink.c:
27365         * gst/base/gstbasetransform.c:
27366         * gst/gstqueue.c: Adapt for pad activation changes.
27367
27368         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
27369         sched.
27370         (gst_pipeline_dispose): Drop ref on sched.
27371
27372         * gst/gstpad.c (gst_pad_init): Set the default activate func.
27373         (gst_pad_activate_default): Push mode by default.
27374         (pre_activate_switch, post_activate_switch): New stubs, things to
27375         do before and after switching activation modes on pads.
27376         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
27377         the pad's activate function to choose which mode to activate.
27378         Shortcut on deactivation and call the right function directly.
27379         (gst_pad_activate_pull): New API, (de)activates a pad in pull
27380         mode.
27381         (gst_pad_activate_push): New API, same for push mode.
27382         (gst_pad_set_activate_function) 
27383         (gst_pad_set_activatepull_function) 
27384         (gst_pad_set_activatepush_function): Setters for new API.
27385
27386         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
27387         Trace all miniobjects.
27388         (gst_mini_object_make_writable): Unref the arg if we copy, like
27389         gst_caps_make_writable.
27390
27391         * gst/gstmessage.c (_gst_message_initialize): No trace init.
27392
27393         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
27394         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
27395         Adapt for new pad API.
27396
27397         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
27398
27399         * gst/gstelement.h:
27400         * gst/gstelement.c (gst_element_iterate_src_pads) 
27401         (gst_element_iterate_sink_pads): New API functions.
27402         
27403         * gst/gstelement.c (iterator_fold_with_resync): New utility,
27404         should fold into gstiterator.c in some form.
27405         (gst_element_pads_activate): Simplified via use of fold and
27406         delegation of decisions to gstpad->activate.
27407
27408         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
27409         help in debugging.
27410
27411         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
27412         class once in init, like gstmessage. Didn't run into this issue
27413         but it seems correct. Don't initialize a trace, gstminiobject does
27414         that.
27415
27416         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
27417         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
27418         to the bus.
27419         (assert_live_count): New util function, uses alloc traces to check
27420         cleanup.
27421
27422         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
27423         To be modified when unlink drops the internal pad.
27424
27425 2005-06-27  Wim Taymans  <wim@fluendo.com>
27426
27427         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
27428         (gst_bin_change_state):
27429         Cleanup the get_state() function a little, make sure it
27430         iterates the same set of elements.
27431         Added stub iterate_state_order().
27432
27433 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
27434
27435         * docs/gst/gstreamer-docs.sgml:
27436         * docs/gst/gstreamer-sections.txt:
27437         * docs/gst/gstreamer.types:
27438         * docs/gst/tmpl/gstbasesink.sgml:
27439         * docs/gst/tmpl/gstbasesrc.sgml:
27440         * docs/gst/tmpl/gstbasetransform.sgml:
27441         * docs/gst/tmpl/gstelement.sgml:
27442         * docs/gst/tmpl/gstiterator.sgml:
27443         * gst/base/gstbasesrc.c:
27444         * gst/base/gstbasesrc.h:
27445         * gst/base/gstbasetransform.h:
27446         * gst/gstelement.c:
27447         * gst/gstiterator.h:
27448           adding basetransform and iterator docs
27449
27450 2005-06-27  Andy Wingo  <wingo@pobox.com>
27451
27452         * docs/design/part-activation.txt: Notes on how activation should
27453         work -- not quite implemented yet.
27454
27455 2005-06-25  Wim Taymans  <wim@fluendo.com>
27456
27457         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
27458         At least get the chain function correct, needs more
27459         fixing.
27460
27461 2005-06-25  Wim Taymans  <wim@fluendo.com>
27462
27463         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
27464         (gst_basesink_handle_object), (gst_basesink_event),
27465         (gst_basesink_do_sync), (gst_basesink_handle_event),
27466         (gst_basesink_change_state):
27467         * gst/gsttask.h:
27468         Right, two problems here: ghostpads don't take locks and
27469         glib _rec_mutex_lock_full() with depth==0 still locks.
27470         Catch illegal locking and g_warn them.
27471
27472 2005-06-25  Wim Taymans  <wim@fluendo.com>
27473
27474         * check/states/sinks.c: (START_TEST), (gst_object_suite):
27475         Have to check for completion now...
27476
27477 2005-06-25  Wim Taymans  <wim@fluendo.com>
27478
27479         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
27480         (gst_basesink_handle_object), (gst_basesink_event),
27481         (gst_basesink_do_sync), (gst_basesink_handle_event),
27482         (gst_basesink_change_state):
27483         * gst/gstpad.h:
27484         Unlock STREAM_LOCK whatever the recursion was.
27485
27486 2005-06-25  Wim Taymans  <wim@fluendo.com>
27487
27488         * gst/base/gstbasesink.c: (gst_basesink_set_property),
27489         (gst_basesink_preroll_queue_empty),
27490         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
27491         (gst_basesink_event), (gst_basesink_do_sync),
27492         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
27493         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
27494         (gst_basesink_change_state):
27495         Reworked the base sink, handle event and buffer serialisation
27496         correctly and removed possible deadlock.
27497         Handle EOS correctly.
27498
27499 2005-06-25  Wim Taymans  <wim@fluendo.com>
27500
27501         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
27502         (gst_pipeline_change_state):
27503         * tools/gst-launch.c: (check_intr), (event_loop), (main):
27504         Allow elements to post EOS in the state change function.
27505         Fix up -launch, make it exit the poll loop when the
27506         pipeline actually changed state.
27507         Fix up warning parsing in -launch.
27508
27509 2005-06-25  Wim Taymans  <wim@fluendo.com>
27510
27511         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
27512         (gst_tee_sink_activate):
27513         Core takes STREAM_LOCK for us now.
27514
27515 2005-06-25  Wim Taymans  <wim@fluendo.com>
27516
27517         * gst/gstelement.c: (gst_element_get_state_func),
27518         (gst_element_set_state):
27519         * gst/gstelement.h:
27520         * gst/gstmessage.c: (gst_message_parse_error),
27521         (gst_message_parse_warning):
27522         Keep track of current target state while performing a state
27523         change so that subclasses can do something interesting.
27524         Fix parsing of warning/error messages when GError is NULL.
27525
27526 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
27527
27528         * docs/gst/Makefile.am:
27529         * docs/gst/gstreamer-docs.sgml:
27530         * docs/gst/gstreamer-sections.txt:
27531         * docs/gst/gstreamer.types:
27532         * docs/gst/tmpl/gstbasesink.sgml:
27533         * docs/gst/tmpl/gstbasesrc.sgml:
27534         * docs/gst/tmpl/gstbin.sgml:
27535         * docs/gst/tmpl/gstcompat.sgml:
27536         * docs/gst/tmpl/gstfakesink.sgml:
27537         * docs/gst/tmpl/gstfakesrc.sgml:
27538         * docs/gst/tmpl/gstfilesink.sgml:
27539         * docs/gst/tmpl/gstfilesrc.sgml:
27540         * docs/gst/tmpl/gstindex.sgml:
27541         * docs/manual/appendix-quotes.xml:
27542         * gst/base/gstbasesrc.h:
27543         * gst/elements/gstfakesrc.h:
27544         * gst/gstmessage.h:
27545           start pulling in base classes and elements in our docs
27546
27547 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
27548
27549         * docs/gst/Makefile.am:
27550         * docs/libs/Makefile.am:
27551           fixed make distcheck with gtk-doc 1.3
27552
27553 2005-06-23  Wim Taymans  <wim@fluendo.com>
27554
27555         * gst/gstelement.c: (gst_element_get_state_func),
27556         (gst_element_set_state), (gst_element_change_state):
27557         When the state did not change, also report NO_PREROLL
27558         when it matters.
27559
27560 2005-06-23  Wim Taymans  <wim@fluendo.com>
27561
27562         * gst/gstpad.c: (gst_pad_event_default):
27563         * gst/gstqueue.c: (gst_queue_loop):
27564         No unsafe task pausing please.
27565
27566 2005-06-23  Wim Taymans  <wim@fluendo.com>
27567
27568         * gst/schedulers/threadscheduler.c:
27569         (gst_thread_scheduler_task_start),
27570         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
27571         Ref the task before pushing it on the threadpool. This
27572         makes sure that we have a ref when the threadfunction is
27573         actually called.
27574
27575 2005-06-23  Andy Wingo  <wingo@pobox.com>
27576
27577         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
27578         offset is greater than the file's size.
27579
27580         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
27581         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
27582         * gst/gstobject.c (gst_object_class_init): Make the class lock
27583         recursive. Wim won't let me drop deep_notify. Decodebin works
27584         again, whoopdy doo.
27585
27586         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
27587         internal pad, and hacks accordingly. Doesn't do it on the target
27588         pad because we change its caps. Probably catches all cases of
27589         interest tho.
27590         (gst_ghost_pad_set_property): Connect to notify::caps as
27591         appropritate.
27592
27593         * tests/network-clock.scm (plot-simulation): Pipe data to the
27594         elite python skript.
27595
27596         * tests/network-clock-utils.scm (define-parameter): New macro,
27597         defines a parameter that can be set via the command line.
27598         (set-parameter!, parse-parameter-arguments): Command line args
27599         parser.
27600
27601         * tests/plot-data: Simple matplotlib-based plotter, takes input on
27602         stdin.
27603
27604 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
27605
27606         * gst/elements/gsttypefindelement.c:
27607         (gst_type_find_element_handle_event):
27608           Don't restart typefinding on a discont.
27609         * gst/gstelement.c: (gst_element_set_state):
27610           Debug spelling fix.
27611         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
27612           Allow changing mode of an active pad.
27613           Debug output fixes.
27614         * gst/registries/gstlibxmlregistry.c: (load_feature):
27615           Don't cast a static pad template to a normal pad template.
27616
27617 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
27618
27619         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
27620         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
27621           remove gst_strtoll completely, since it didn't actually do
27622           anything more than what g_ascii_strtoull already does.
27623           check for range errors when deserializing
27624           do a cast for the unsigned cases; but further fixing needs
27625           a decision on what the interpretation of "(int)" and
27626           deserialization should be for values that fall outside the
27627           type's boundaries (ie, refuse, or interpret as casting)
27628
27629 2005-06-23  Wim Taymans  <wim@fluendo.com>
27630
27631         * check/Makefile.am:
27632         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
27633         * docs/design/part-live-source.txt:
27634         * docs/design/part-states.txt:
27635         * gst/base/gstbasesrc.c: (gst_basesrc_init),
27636         (gst_basesrc_set_live), (gst_basesrc_is_live),
27637         (gst_basesrc_get_range), (gst_basesrc_activate),
27638         (gst_basesrc_change_state):
27639         * gst/base/gstbasesrc.h:
27640         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27641         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
27642         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
27643         * gst/gstelement.c: (gst_element_get_state_func),
27644         (gst_element_set_state):
27645         * gst/gstelement.h:
27646         * gst/gsttypes.h:
27647         * tools/gst-launch.c: (event_loop), (main):
27648         Added support for live sources and other elements that
27649         cannot do preroll.
27650         Updated design docs, added live-source design doc.
27651         Implemented live source functionality in basesrc
27652         Fix error condition in _bin_get_state()
27653         Implement live source handling in -launch.
27654         Added check for live sources.
27655         Fixed case in GstBin where elements were changed state
27656         multiple times.
27657
27658
27659 2005-06-23  Andy Wingo  <wingo@pobox.com>
27660
27661         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
27662         borken refcounting.
27663
27664         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
27665         gst_caps_replace takes care of this for us.
27666
27667         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
27668         gst_pad_set_caps on the target, not just its setcaps() function.
27669
27670         * tests/network-clock.scm: 
27671         * tests/network-clock-utils.scm: A network clock simulator.
27672         Something of an algorithmic testbed before doing something in C.
27673
27674 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
27675
27676         * check/Makefile.am:
27677         * check/gst/capslist.h:
27678           copy over from 0.8, and add two with bitmasks specified with
27679           (int) 0xFF...
27680         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
27681           add test to parse everything from capslist.h
27682         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
27683         (main):
27684           add test for structure deserialization
27685         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
27686           add tests for deserialization of strings to int types
27687         * gst/gststructure.c: (gst_structure_nth_field_name):
27688         * gst/gststructure.h:
27689           add a way to get the name of a field referenced by index
27690         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
27691           instead of checking if the resulting long long lies between
27692           min and max, we check if the long long would fit into
27693           a number of bytes for the final type.
27694           This fixes cases where a string represents 2^32 - 1, which
27695           when cast to int would be the (valid) -1, but is bigger than
27696           G_MAXINT
27697
27698 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
27699
27700         * gst/parse/grammar.y:
27701           add a log line for type deserialization
27702
27703 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
27704
27705         * check/gst/gstvalue.c: (START_TEST):
27706         * gst/gstvalue.c: (gst_value_deserialize):
27707           return long long, not int, so gint64 deserialization actually
27708           works.  Is there any flag that makes the compiler check this ?
27709           Fixes #308559
27710
27711 2005-06-22  Wim Taymans  <wim@fluendo.com>
27712
27713         * gst/gstbuffer.h:
27714         Added convenience macros for setting buffers in GValue.
27715
27716 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
27717
27718         * check/gst/.cvsignore:
27719         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
27720           add a test deserializing int64, and comment part out because
27721           it fails, yay !
27722
27723 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
27724
27725         * check/Makefile.am:
27726         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
27727         * testsuite/Makefile.am:
27728         * testsuite/caps/Makefile.am:
27729         * testsuite/caps/value_serialize.c:
27730         * testsuite/test_gst_init.c:
27731           move a value_serialize test over
27732
27733 2005-06-20  Wim Taymans  <wim@fluendo.com>
27734
27735         * gst/gstpad.c:
27736         Small doc updates.
27737         
27738         * gst/gstvalue.c: (gst_value_compare_buffer),
27739         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
27740         (gst_value_compare_flags), (gst_value_serialize_flags),
27741         (gst_value_deserialize_flags), (_gst_value_initialize):
27742         Fix serialisation of buffers, they are not boxed types anymore
27743
27744 2005-06-20  Wim Taymans  <wim@fluendo.com>
27745
27746         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
27747         Testcase to show error in buffer-on-caps serialisation.
27748
27749 2005-06-20  Andy Wingo  <wingo@pobox.com>
27750
27751         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
27752         will be adding to later.
27753
27754         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
27755         if its socks fill with rocks.
27756         (gst_system_clock_obtain): Set the name on object construction.
27757         Avoid double-checked locking.
27758
27759 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
27760
27761         * gst/gsturi.c: (gst_element_make_from_uri):
27762           Fix potential endless loop.
27763
27764 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
27765
27766         * check/Makefile.am:
27767           add gsttag
27768         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
27769         (main):
27770           move over from testsuite dir and clean up
27771         * configure.ac:
27772         * gst/gsttag.c:
27773         * testsuite/Makefile.am:
27774         * testsuite/tags/.cvsignore:
27775         * testsuite/tags/Makefile.am:
27776         * testsuite/tags/merge.c:
27777           remove testsuite/tags
27778
27779 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
27780
27781         * docs/gst/gstreamer-sections.txt:
27782         * docs/gst/tmpl/gstenumtypes.sgml:
27783         * win32/gstenumtypes.c:
27784           clean up documentation build a little
27785
27786 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
27787
27788         * check/gstcheck.h:
27789           add macros for checking refcounts on objects and caps
27790         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
27791           add some more unit tests
27792         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27793         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
27794           fix leaked refcounts (I hope :)) so unittest works
27795         * gst/gstpad.h:
27796           whitespace removal
27797
27798 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
27799
27800         * configure.ac: back to HEAD
27801
27802 === release 0.9.1 ===
27803
27804 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
27805
27806         * NEWS:
27807         * RELEASE:
27808           updated
27809
27810 2005-06-17  Andy Wingo  <wingo@pobox.com>
27811
27812         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
27813         assert; it's always possible that the pad gets deactivated in
27814         between the checks in gstpad.c and the implementation. Rely on
27815         finish_preroll() to return a FLUSHING or similar instead of on the
27816         assert.
27817         
27818         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
27819         clock and post an EOS message if we come out of finish_preroll in
27820         the playing state.
27821
27822 2005-06-16  David Schleef  <ds@schleef.org>
27823
27824         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
27825         (gst_capsfilter_set_property): Allow NULL as possible value
27826         for filter_caps property, indicating GST_CAPS_ANY.
27827
27828 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
27829
27830         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
27831           fix debug output
27832         * gst/schedulers/Makefile.am:
27833           use libgst prefix
27834         * gstreamer.spec.in:
27835           fix spec for it
27836
27837 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
27838
27839         * gstreamer.spec.in:
27840           clean up
27841
27842 2005-06-08  Andy Wingo  <wingo@pobox.com>
27843
27844         * gst/gstutils.c: RPAD fixes all around.
27845         (gst_element_link_pads): Refcounting fixes.
27846
27847         * tools/gst-inspect.c:
27848         * tools/gst-xmlinspect.c:
27849         * parse/grammar.y:
27850         * gst/base/gsttypefindhelper.c:
27851         * gst/base/gstbasesink.c:
27852         * gst/gstqueue.c: RPAD fixes.
27853
27854         * gst/gstghostpad.h:
27855         * gst/gstghostpad.c: New ghost pad implementation as full proxy
27856         pads. The tricky thing is they provide both source and sink
27857         interfaces, since they proxy the internal pad for the external
27858         pad, and vice versa. Implement with lower-level ProxyPad objects,
27859         with the interior proxy pad as a child of the exterior ghost pad.
27860         Should write a doc on this.
27861         
27862         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
27863         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
27864         gst_object API.
27865         
27866         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
27867         pads are real pads. No ghost pads in this file. Not documenting
27868         the myriad s/RPAD/PAD/ and REALIZE fixes.
27869         (gst_pad_class_init): Add properties for "direction" and
27870         "template". Both are construct-only, so they can't change during
27871         the life of the pad. Fixes properly deriving from GstPad.
27872         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
27873         derived objects, just set properties when creating the objects via
27874         g_object_new.
27875         (gst_pad_get_parent): Implement as a function, return NULL if the
27876         parent is not an element.
27877         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
27878         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
27879         
27880         * gst/gstobject.c (gst_object_class_init): Make name a construct
27881         property. Don't set it in the object init.
27882
27883         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
27884         with UNKNOWN direction.
27885         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
27886         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
27887         (gst_element_remove_pad): Remove ghost-pad special cases.
27888         (gst_element_pads_activate): Remove rpad cruft.
27889
27890         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
27891         catch the pad's-parent-not-an-element case.
27892
27893         * gst/gst.h: Include gstghostpad.h.
27894
27895         * gst/gst.c (init_post): No more real, ghost pads.
27896
27897         * gst/Makefile.am: Add gstghostpad.[ch].
27898
27899         * check/Makefile.am:
27900         * check/gst/gstbin.c:
27901         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
27902         into a bin creates ghost pads, and that the refcounts are right.
27903         Partly moved from gstbin.c.
27904
27905 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27906
27907         * check/gst-libs/.cvsignore:
27908         * check/gst/.cvsignore:
27909         * check/pipelines/.cvsignore:
27910           ignore more
27911         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
27912         (START_TEST), (cleanup_suite), (main):
27913           add some tests related to cleanup after running pipelines
27914
27915 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27916
27917         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
27918           add a testsuite for GstBuffer
27919
27920 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27921
27922         * gst/gstminiobject.h:
27923           add defines for accessing the refcount
27924
27925 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
27926
27927         * Makefile.am: added support for html unit test coverage reports
27928
27929 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
27930
27931         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
27932           Free existing caps if the capsfilter changes. Add a FIXME about
27933           setting those caps on the pads.
27934
27935         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
27936           Before adding a ghost pad to a parent bin, check that there isn't
27937           already one for the element on the bin. Prevents infinite recursion
27938           when using decodebin in parse pipelines. Andy says he'll rewrite the
27939           way this works anyway, so ignore the hack.
27940
27941 2005-06-02  Andy Wingo  <wingo@pobox.com>
27942
27943         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
27944         file size, pass it on to the type find helper.
27945
27946         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
27947         segment_start and segment_end properly according to the seek
27948         method. Segment_end is still a bit flaky because offset can be
27949         negative for CUR and END cases, but it takes -1 as an "unset"
27950         value.
27951
27952 2005-06-02  Wim Taymans  <wim@fluendo.com>
27953
27954         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
27955         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
27956         (gst_basesink_activate):
27957         * gst/base/gstbasesink.h:
27958         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
27959         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
27960         (gst_pad_query), (gst_pad_start_task):
27961         * gst/gstpad.h:
27962         * gst/gstqueue.c: (gst_queue_bufferalloc),
27963         (gst_queue_handle_sink_event), (gst_queue_chain):
27964         Bufferalloc: return GstFlowReturn to more accuratly report
27965         why allocation failed.
27966
27967 2005-06-02  Wim Taymans  <wim@fluendo.com>
27968
27969         * gst/gstpipeline.c: (gst_pipeline_send_event):
27970         Take snapshot of state without blocking.
27971
27972 2005-06-02  Wim Taymans  <wim@fluendo.com>
27973
27974         * docs/design/part-TODO.txt:
27975         * docs/design/part-caps.txt:
27976         * docs/design/part-clocks.txt:
27977         * docs/design/part-negotiation.txt:
27978         * docs/design/part-preroll.txt:
27979         Small doc updates 
27980
27981 2005-05-30  Wim Taymans  <wim@fluendo.com>
27982
27983         * gst/elements/gstidentity.c: (gst_identity_event),
27984         (gst_identity_transform), (gst_identity_get_property):
27985         Protect last_message property as it is accessed from
27986         multiple threads.
27987
27988 2005-05-30  Wim Taymans  <wim@fluendo.com>
27989
27990         * gst/gstelement.c: (gst_element_init),
27991         (gst_element_pads_activate), (gst_element_change_state):
27992         Slicker pad activation code.
27993
27994 2005-05-30  Wim Taymans  <wim@fluendo.com>
27995
27996         * gst/Makefile.am:
27997         * gst/gstelement.h:
27998         * gst/gstelementfactory.h:
27999         * gst/gsttypes.h:
28000         Move elementfactory methods to separate .h file.
28001
28002 2005-05-30  Wim Taymans  <wim@fluendo.com>
28003
28004         * docs/design/part-overview.txt:
28005         * gst/gstsystemclock.h:
28006         Small typo fixes, doc updates.
28007
28008 2005-05-30  Wim Taymans  <wim@fluendo.com>
28009
28010         * gst/gst.c: (gst_init_get_popt_table), (init_post),
28011         (init_popt_callback):
28012         Remove cpu-opt flag.
28013
28014 2005-05-30  Wim Taymans  <wim@fluendo.com>
28015
28016         * gst/gstbuffer.c: (gst_subbuffer_finalize),
28017         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
28018         * gst/gstbuffer.h:
28019         Avoid typechecking in places where not needed.
28020         Added accessor for malloc_data.
28021
28022 2005-05-30  Wim Taymans  <wim@fluendo.com>
28023
28024         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
28025         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
28026         (gst_pad_configure_sink), (gst_pad_configure_src),
28027         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
28028         (gst_pad_start_task):
28029         Propagate errors from _set_caps() in configure_src/sink
28030         functions instead of returning TRUE.
28031         FLUSH events can travel up and downstream
28032
28033
28034 2005-05-30  Wim Taymans  <wim@fluendo.com>
28035
28036         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
28037         (gst_basesink_activate):
28038         Handle EOS in preroll.
28039
28040 2005-05-30  Wim Taymans  <wim@fluendo.com>
28041
28042         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
28043         (gst_queue_loop), (gst_queue_handle_src_event):
28044         Remove old pieces of code
28045         Flushing the queue in an upstream event is a very bad idea.
28046
28047 2005-05-26  Andy Wingo  <wingo@pobox.com>
28048
28049         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
28050         gst_value_set_mini_object so as to add a ref on the object (which
28051         will be removed when the value is unset).
28052
28053         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
28054         arg type in ::handoff.
28055
28056         * gst/gstelement.c (gst_element_change_state): Also deactivate
28057         pads in READY->NULL, just in case the element didn't make it to
28058         PAUSED. Wingo tested, Wim approved.
28059
28060 2005-05-26  Wim Taymans  <wim@fluendo.com>
28061
28062         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
28063         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
28064         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
28065         A flushing pad cannot be used to alloc_buffer from.
28066
28067 2005-05-26  Wim Taymans  <wim@fluendo.com>
28068
28069         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
28070         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
28071         (gst_bus_source_dispatch), (gst_bus_source_finalize),
28072         (gst_bus_create_watch), (gst_bus_add_watch_full):
28073         * gst/gstbus.h:
28074         Implement a real GSource and use g_main_context_wakeup() to
28075         signal new messages instead of the socketpair.
28076
28077 2005-05-25  Wim Taymans  <wim@fluendo.com>
28078
28079         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
28080         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
28081         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
28082         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
28083         (gst_pad_send_event), (gst_pad_start_task):
28084         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
28085         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
28086         (gst_queue_sink_activate), (gst_queue_src_activate),
28087         (gst_queue_change_state):
28088         * gst/gstqueue.h:
28089         Fix state changes for non sinks. We now change sinks, then elements
28090         with unconnected srcpads, then the rest.
28091         More efficient queue unlocking in flush and state changes.
28092         Set the pad activate mode even if it does not have an activate
28093         function.
28094
28095 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28096
28097         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
28098           Don't go in pull mode for non-seekable sources.
28099         * gst/elements/gsttypefindelement.h:
28100         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
28101         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
28102         (free_entry), (stop_typefinding),
28103         (gst_type_find_element_handle_event), (find_peek),
28104         (gst_type_find_element_chain), (do_pull_typefind),
28105         (gst_type_find_element_change_state):
28106           Allow typefinding (w/o seeking) in push-mode, simplified version
28107           of what was in 0.8.
28108         * gst/gstutils.c: (gst_buffer_join):
28109         * gst/gstutils.h:
28110           gst_buffer_join() from 0.8.
28111
28112 2005-05-25  Wim Taymans  <wim@fluendo.com>
28113
28114         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
28115         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
28116         (gst_pad_send_event), (gst_pad_start_task):
28117         Disable attempt at mode switching until it is figured out.
28118
28119 2005-05-25  Wim Taymans  <wim@fluendo.com>
28120
28121         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
28122         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
28123         (gst_basesink_finish_preroll), (gst_basesink_chain),
28124         (gst_basesink_loop), (gst_basesink_activate),
28125         (gst_basesink_change_state):
28126         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
28127         (gst_basesrc_get_range), (gst_basesrc_loop),
28128         (gst_basesrc_activate):
28129         * gst/elements/gsttee.c: (gst_tee_sink_activate):
28130         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
28131         (gst_real_pad_init), (gst_real_pad_set_property),
28132         (gst_real_pad_get_property), (gst_pad_set_active),
28133         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
28134         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
28135         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
28136         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
28137         (gst_pad_event_default_dispatch), (gst_pad_event_default),
28138         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
28139         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
28140         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28141         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
28142         (gst_pad_stop_task):
28143         * gst/gstpad.h:
28144         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
28145         (gst_queue_loop), (gst_queue_src_activate):
28146         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
28147         (gst_task_get_state):
28148         * gst/gsttask.h:
28149         * gst/schedulers/threadscheduler.c:
28150         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
28151         Implement gst_pad_pause/start/stop_task(), take STREAM lock
28152         in task function.
28153         Remove ACTIVE pad flag, use FLUSHING everywhere
28154         Added _pad_chain(), _pad_get_range() to call chain/getrange 
28155         functions.
28156         Add locks around IS_FLUSHING when reading.
28157         Take STREAM lock in chain(), get_range() functions so plugins
28158         don't need to take it anymore.
28159         
28160
28161
28162 2005-05-25  Wim Taymans  <wim@fluendo.com>
28163
28164         * tools/gst-launch.c: (event_loop):
28165         Unref message after using its contents instead of
28166         before.
28167
28168 2005-05-24  Wim Taymans  <wim@fluendo.com>
28169
28170         * docs/design/draft-ghostpads.txt:
28171         * docs/design/draft-push-pull.txt:
28172         * docs/design/draft-query.txt:
28173         * docs/design/part-overview.txt:
28174         Docs updates, added general overview doc.
28175
28176 2005-05-21  David Schleef  <ds@schleef.org>
28177
28178         * docs/gst/tmpl/old/GstBin.sgml:
28179         * docs/gst/tmpl/old/GstBuffer.sgml:
28180         * docs/gst/tmpl/old/GstCaps.sgml:
28181         * docs/gst/tmpl/old/GstClock.sgml:
28182         * docs/gst/tmpl/old/GstCompat.sgml:
28183         * docs/gst/tmpl/old/GstData.sgml:
28184         * docs/gst/tmpl/old/GstElement.sgml:
28185         * docs/gst/tmpl/old/GstEvent.sgml:
28186         * docs/gst/tmpl/old/GstIndex.sgml:
28187         * docs/gst/tmpl/old/GstStructure.sgml:
28188         * docs/gst/tmpl/old/GstTag.sgml:
28189         * docs/gst/tmpl/old/cothreads.sgml:
28190         * docs/gst/tmpl/old/cothreads_compat.sgml:
28191         * docs/gst/tmpl/old/gettext.sgml:
28192         * docs/gst/tmpl/old/gobject2gtk.sgml:
28193         * docs/gst/tmpl/old/grammar.tab.sgml:
28194         * docs/gst/tmpl/old/gst-i18n-app.sgml:
28195         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
28196         * docs/gst/tmpl/old/gst_private.sgml:
28197         * docs/gst/tmpl/old/gstaggregator.sgml:
28198         * docs/gst/tmpl/old/gstarch.sgml:
28199         * docs/gst/tmpl/old/gstatomic_impl.sgml:
28200         * docs/gst/tmpl/old/gstbufferstore.sgml:
28201         * docs/gst/tmpl/old/gstdata_private.sgml:
28202         * docs/gst/tmpl/old/gstdisksink.sgml:
28203         * docs/gst/tmpl/old/gstdisksrc.sgml:
28204         * docs/gst/tmpl/old/gstelementfactory.sgml:
28205         * docs/gst/tmpl/old/gstextratypes.sgml:
28206         * docs/gst/tmpl/old/gstfakesink.sgml:
28207         * docs/gst/tmpl/old/gstfakesrc.sgml:
28208         * docs/gst/tmpl/old/gstfdsink.sgml:
28209         * docs/gst/tmpl/old/gstfdsrc.sgml:
28210         * docs/gst/tmpl/old/gstfilesink.sgml:
28211         * docs/gst/tmpl/old/gstfilesrc.sgml:
28212         * docs/gst/tmpl/old/gsthttpsrc.sgml:
28213         * docs/gst/tmpl/old/gstidentity.sgml:
28214         * docs/gst/tmpl/old/gstindexfactory.sgml:
28215         * docs/gst/tmpl/old/gstmarshal.sgml:
28216         * docs/gst/tmpl/old/gstmd5sink.sgml:
28217         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
28218         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
28219         * docs/gst/tmpl/old/gstpadtemplate.sgml:
28220         * docs/gst/tmpl/old/gstpipefilter.sgml:
28221         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
28222         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
28223         * docs/gst/tmpl/old/gstshaper.sgml:
28224         * docs/gst/tmpl/old/gstspider.sgml:
28225         * docs/gst/tmpl/old/gstspideridentity.sgml:
28226         * docs/gst/tmpl/old/gststatistics.sgml:
28227         * docs/gst/tmpl/old/gsttee.sgml:
28228         * docs/gst/tmpl/old/gsttimecache.sgml:
28229         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
28230         * docs/gst/tmpl/old/gstxmlregistry.sgml:
28231         * docs/gst/tmpl/old/gthread-cothreads.sgml:
28232         * docs/gst/tmpl/old/types.sgml:
28233           I didn't intend to add these or check them in.
28234
28235 2005-05-19  David Schleef  <ds@schleef.org>
28236
28237         * configure.ac: Use -no-common everywhere.  In a sane world, it
28238           would be the default in libtool, because without it, you can't
28239           build DLLs on Windows.
28240         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
28241         * docs/gst/gstreamer-sections.txt:
28242         * docs/gst/tmpl/gstcpu.sgml:
28243         * docs/gst/tmpl/gstdata.sgml:
28244         * docs/gst/tmpl/gstthread.sgml:
28245
28246 2005-05-19  David Schleef  <ds@schleef.org>
28247
28248         * gst/gstminiobject.c: (gst_value_set_mini_object),
28249         (gst_value_take_mini_object), (gst_value_get_mini_object):
28250         * gst/gstminiobject.h: Add GValue set/get functions.
28251
28252 2005-05-19  Wim Taymans  <wim@fluendo.com>
28253
28254         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
28255         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
28256         (gst_subbuffer_init), (gst_buffer_is_span_fast):
28257         * gst/gstbuffer.h:
28258         * gst/gstbus.c: (gst_bus_post):
28259         * gst/gstelement.c: (gst_element_get_random_pad):
28260         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
28261         Make subbufer unref the parent in finalize.
28262         some more debugging info.
28263
28264
28265 2005-05-19  Wim Taymans  <wim@fluendo.com>
28266
28267         * gst/base/gstbasesink.c: (gst_basesink_class_init),
28268         (gst_basesink_init), (gst_basesink_finalize),
28269         (gst_basesink_activate), (gst_basesink_change_state):
28270         Don't free preroll queue too early.
28271
28272 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28273
28274         * gst/Makefile.am:
28275         * gst/ROADMAP:
28276           Hi, I'm outdated. Please shoot me.
28277
28278 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28279
28280         * gst/gstpipeline.c: (gst_pipeline_send_event):
28281           Do not access variables after they have been deleted.
28282
28283 2005-05-19  Wim Taymans  <wim@fluendo.com>
28284
28285         * tools/gst-inspect.c: (print_plugin_features):
28286         A plugin feature does unfortunatly not use the
28287         object name yet...
28288
28289 2005-05-18  Wim Taymans  <wim@fluendo.com>
28290
28291         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
28292         Port _span() functions to new subbuffers.
28293
28294 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28295
28296         * gst/gstbin.c: (gst_bin_add_func):
28297           Fix clock settery in bins when adding kids after the clock has
28298           been selected.
28299
28300 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28301
28302         * gst/elements/gstidentity.c: (gst_identity_class_init):
28303           Workaround until signals support GstMiniObject.
28304
28305 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
28306
28307         * gst/gstbuffer.c:
28308         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
28309
28310 2005-05-18  Wim Taymans  <wim@fluendo.com>
28311
28312         * gst/base/Makefile.am:
28313         * gst/base/gstadapter.c: (gst_adapter_base_init),
28314         (gst_adapter_class_init), (gst_adapter_init),
28315         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
28316         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
28317         (gst_adapter_flush), (gst_adapter_available),
28318         (gst_adapter_available_fast):
28319         * gst/base/gstadapter.h:
28320         Ported and added adapter to the base classes.
28321
28322 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
28323
28324         * gst/gst.c:
28325         * gst/gstmessage.c:
28326           Make sure the class is reffed/unreffed once before threads can be
28327           used.  Fixes #304551.
28328
28329 2005-05-17  Wim Taymans  <wim@fluendo.com>
28330
28331         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
28332         (gst_basesink_chain_unlocked), (gst_basesink_activate):
28333         * gst/gstminiobject.c: (gst_mini_object_get_type),
28334         (gst_mini_object_free):
28335         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
28336         (gst_pad_push), (gst_pad_push_event):
28337         * gst/gstqueue.c: (gst_queue_change_state):
28338         Don't queue buffers in basesink when we are flushing.
28339         Unref buffer when flushing in basesink.
28340         Flush queue when going to READY
28341         Unref buffer when _push() returns an error.
28342         Don't free MiniObject instance when refcount is incremented
28343         in _finalize() so that we can recover objects.
28344
28345 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
28346
28347         * docs/manual/advanced-schedulers.xml:
28348         * docs/manual/appendix-checklist.xml:
28349         * docs/pwg/advanced-clock.xml:
28350         * docs/pwg/advanced-interfaces.xml:
28351         * docs/pwg/advanced-request.xml:
28352         * docs/pwg/advanced-types.xml:
28353         * docs/pwg/intro-preface.xml:
28354         * examples/plugins/example.c: (gst_example_get_type),
28355         (gst_example_class_init), (gst_example_chain),
28356         (gst_example_set_property), (gst_example_get_property),
28357         (gst_example_change_state), (plugin_init):
28358         * examples/plugins/example.h:
28359           small doc fixes
28360
28361 2005-05-17  Wim Taymans  <wim@fluendo.com>
28362
28363         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
28364         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
28365         * gst/gstqueue.c: (gst_queue_change_state):
28366         Clear queue when going to READY.
28367         Remove IN_SETCAPS flag too.
28368
28369 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
28370
28371         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
28372           Remove implicit cast from gboolean to GstElementStateReturn;
28373           make sure we still return failure in paused => ready case if
28374           the parent class fails to change state and our own stop 
28375           vfunc succeeds.
28376
28377 2005-05-17  Wim Taymans  <wim@fluendo.com>
28378
28379         * tools/gst-launch.c: (event_loop):
28380         Message was unreffed too soon.
28381
28382 2005-05-16  Andy Wingo  <wingo@pobox.com>
28383
28384         * gst/gstbin.c (sink_iterator_filter): Err... um...
28385
28386         * check/gst/gstbin.c (test_ghost_pads): New test for the
28387         ghosting-if-elements-not-in-same-bin behavior.
28388
28389 2005-05-16  David Schleef  <ds@schleef.org>
28390
28391         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
28392         accessing refcount directly.
28393
28394 2005-05-15  David Schleef  <ds@schleef.org>
28395
28396         * check/Makefile.am: remove GstData checks
28397         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
28398         * gst/Makefile.am: add miniobject, remove data
28399         * gst/gst.h: add miniobject, remove data
28400         * gst/gstdata.c: remove
28401         * gst/gstdata.h: remove
28402         * gst/gstdata_private.h: remove
28403         * gst/gsttypes.h: remove GstEvent and GstMessage
28404         * gst/gstelement.c: (gst_element_post_message): fix for API changes
28405         * gst/gstmarshal.list: change BOXED -> OBJECT
28406
28407         Implement GstMiniObject.
28408         * gst/gstminiobject.c:
28409         * gst/gstminiobject.h:
28410
28411         Modify to be subclasses of GstMiniObject.
28412         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
28413         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
28414         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
28415         (gst_subbuffer_get_type), (gst_subbuffer_init),
28416         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
28417         (gst_buffer_span):
28418         * gst/gstbuffer.h:
28419         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
28420         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
28421         (_gst_event_copy), (gst_event_new):
28422         * gst/gstevent.h:
28423         * gst/gstmessage.c: (_gst_message_initialize),
28424         (gst_message_get_type), (gst_message_class_init),
28425         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
28426         (gst_message_new), (gst_message_new_error),
28427         (gst_message_new_warning), (gst_message_new_tag),
28428         (gst_message_new_state_changed), (gst_message_new_application):
28429         * gst/gstmessage.h:
28430         * gst/gstprobe.c: (gst_probe_perform),
28431         (gst_probe_dispatcher_dispatch):
28432         * gst/gstprobe.h:
28433         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
28434         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
28435         (_gst_query_copy), (gst_query_new):
28436
28437         Update elements for GstData -> GstMiniObject changes
28438         * gst/gstquery.h:
28439         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
28440         (gst_queue_chain), (gst_queue_loop):
28441         * gst/elements/gstbufferstore.c:
28442         (gst_buffer_store_add_buffer_func),
28443         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
28444         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
28445         (gst_fakesink_render):
28446         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
28447         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
28448         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
28449         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
28450         (gst_filesrc_create_read):
28451         * gst/elements/gstidentity.c: (gst_identity_class_init):
28452         * gst/elements/gsttypefindelement.c:
28453         (gst_type_find_element_src_event), (free_entry_buffers),
28454         (gst_type_find_element_handle_event):
28455         * libs/gst/dataprotocol/dataprotocol.c:
28456         (gst_dp_header_from_buffer):
28457         * libs/gst/dataprotocol/dataprotocol.h:
28458         * libs/gst/dataprotocol/dp-private.h:
28459
28460 2005-05-15  David Schleef  <ds@schleef.org>
28461
28462         * gst/elements/gstelements.c: Don't include headers that were
28463         just removed.
28464
28465 2005-05-15  David Schleef  <ds@schleef.org>
28466
28467         * gst/elements/Makefile.am: Remove some elements that don't
28468         need to be in the core (or even exist at all).
28469         * gst/elements/gstaggregator.c:
28470         * gst/elements/gstaggregator.h:
28471         * gst/elements/gstmd5sink.c:
28472         * gst/elements/gstmd5sink.h:
28473         * gst/elements/gstmultifilesrc.c:
28474         * gst/elements/gstmultifilesrc.h:
28475         * gst/elements/gstpipefilter.c:
28476         * gst/elements/gstpipefilter.h:
28477         * gst/elements/gstshaper.c:
28478         * gst/elements/gstshaper.h:
28479         * gst/elements/gststatistics.c:
28480         * gst/elements/gststatistics.h:
28481         * po/POTFILES.in: Remove above files.
28482
28483 2005-05-14  Andy Wingo  <wingo@pobox.com>
28484
28485         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
28486         so as to get the refs right.
28487         (sink_iterator_filter): New function, wraps bin_element_is_sink,
28488         unreffing objects that don't pass the filter.
28489
28490         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
28491         gst_element_set_bus.
28492         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
28493         normal cases, this will destroy the bus.
28494
28495         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
28496         object.
28497
28498         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
28499         has no sinks.
28500
28501 2005-05-13  Andy Wingo  <wingo@pobox.com>
28502
28503         * gst/gstutils.c (gst_element_link_pads): Instead of calling
28504         gst_pad_link, call pad_link_maybe_ghosting,
28505         (pad_link_maybe_ghosting): Links pads, making sure that the
28506         elements being linked are in the same bin.
28507         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
28508         Helpers for pad_link_maybe_ghosting.
28509
28510 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
28511
28512         * configure.ac:
28513           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
28514
28515 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
28516
28517         * docs/design/part-element-source.txt:
28518           Mention GstPushSrc
28519
28520 2005-05-12  Wim Taymans  <wim@fluendo.com>
28521
28522         * gst/base/gstbasesink.c: (gst_basesink_init),
28523         (gst_basesink_activate):
28524         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
28525         (gst_basesrc_is_seekable):
28526         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
28527         (bin_element_is_sink), (gst_bin_change_state):
28528         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
28529         * gst/gstelement.h:
28530         Identify sinks by their flag to avoid overly complicated
28531         checks (fow now).
28532         Do state changes even for elements not reachable from the
28533         sinks.
28534         BaseSink is a sink now :)
28535         Some more debugging info in the basesrc.
28536
28537
28538 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28539
28540         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
28541           Implement _query on a bin, similar to _send_event.
28542
28543 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
28544
28545         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
28546           Discont event offset format should be GST_FORMAT_BYTES,
28547           not GST_FORMAT_TIME.
28548
28549 2005-05-12  Wim Taymans  <wim@fluendo.com>
28550
28551         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
28552         Same fix as Ronald's but without the signal. 
28553
28554 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28555
28556         * gst/gstutils.c: (gst_element_query_position):
28557           No, an element is not a pad.
28558
28559 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28560
28561         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
28562         (gst_bin_get_state):
28563           If a child is removed from a bin while we remove the child from
28564           the bin and while we're retrieving its state, signal this to the
28565           get_state function so we abort the wait (instead of waiting for
28566           a timeout) and can immediately re-iterate over all other elements.
28567
28568 2005-05-12  Wim Taymans  <wim@fluendo.com>
28569
28570         * gst/base/Makefile.am:
28571         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
28572         (gst_basesrc_start):
28573         * gst/base/gstbasesrc.h:
28574         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
28575         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
28576         (gst_pushsrc_init), (gst_pushsrc_create):
28577         * gst/base/gstpushsrc.h:
28578         Added is_seekable to BaseSrc
28579         Added simple PushSrc.
28580
28581 2005-05-11  Wim Taymans  <wim@fluendo.com>
28582
28583         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
28584         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28585         (gst_element_link_pads), (gst_element_query_position),
28586         (gst_element_query_convert), (intersect_caps_func),
28587         (gst_pad_query_position), (gst_pad_query_convert):
28588         Fix refcounting in utils function.
28589         No point in trying to activate a pad when it's added, it could
28590         be added from the state change function and then we deadlock, the
28591         element has to decide what to do.
28592
28593 2005-05-10  Andy Wingo  <wingo@pobox.com>
28594
28595         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
28596         *all* the arguments.
28597
28598         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
28599         stream lock if it's a FLUSH_DONE; normal flushes don't get the
28600         lock (according to the docs -- if this is wrong change the docs).
28601
28602         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
28603         flush messages in the NULL state.
28604
28605         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
28606         message immediately and return.
28607         (gst_bus_set_flushing): New function. If a bus is flushing, it
28608         flushes out any queued messages and immediately unrefs new
28609         messages. This is so when an element goes to NULL, all of the
28610         unhandled messages coming from it can be freed, and their
28611         references to the element dropped. In other words: message source
28612         ref considered harmful :P
28613
28614         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
28615         we're finished with it.
28616
28617         * gst/gstmessage.c (gst_message_new_state_changed): 
28618
28619 2005-05-10  Wim Taymans  <wim@fluendo.com>
28620
28621         * gst/gstvalue.c: (gst_value_compare_flags),
28622         (gst_value_serialize_flags), (gst_value_deserialize_flags),
28623         (_gst_value_initialize):
28624         Added flags serialize/deserialize/compare code.
28625
28626 2005-05-09  Andy Wingo  <wingo@pobox.com>
28627
28628         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
28629         Intersect the peer's caps with our caps.
28630
28631 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28632
28633         * gst/base/gsttypefindhelper.c: (helper_find_peek):
28634         * gst/elements/gsttypefindelement.c: (find_peek):
28635           Handle negative offsets better. Fixes decodebin.
28636
28637 2005-05-09  Wim Taymans  <wim@fluendo.com>
28638
28639         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
28640         (gst_base_transform_event):
28641         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
28642         Implement accept_caps.
28643         Fix silly lock/unlock mismatch in base class.
28644
28645 2005-05-09  Wim Taymans  <wim@fluendo.com>
28646
28647         * docs/design/draft-push-pull.txt:
28648         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
28649         * gst/elements/gstfilesink.c: (gst_filesink_init),
28650         (gst_filesink_query):
28651         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
28652         (gst_type_find_handle_src_query), (find_element_get_length):
28653         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
28654         * gst/gstelement.h:
28655         * gst/gstmessage.c:
28656         * gst/gstmessage.h:
28657         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
28658         (gst_real_pad_get_caps_unlocked),
28659         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
28660         (gst_pad_event_default_dispatch), (gst_pad_event_default),
28661         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
28662         (gst_real_pad_dispose), (gst_real_pad_finalize),
28663         (gst_pad_load_and_link), (gst_pad_save_thyself),
28664         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
28665         (gst_pad_check_pull_range), (gst_pad_pull_range),
28666         (gst_pad_template_get_type), (gst_pad_template_class_init),
28667         (gst_pad_template_init), (gst_pad_template_dispose),
28668         (name_is_valid), (gst_static_pad_template_get),
28669         (gst_pad_template_new), (gst_static_pad_template_get_caps),
28670         (gst_pad_template_get_caps), (gst_pad_set_element_private),
28671         (gst_pad_get_element_private), (gst_pad_start_task),
28672         (gst_pad_pause_task), (gst_pad_stop_task),
28673         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
28674         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
28675         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
28676         (gst_ghost_pad_new):
28677         * gst/gstpad.h:
28678         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
28679         (gst_query_new_position), (gst_query_set_position),
28680         (gst_query_parse_position), (gst_query_new_convert),
28681         (gst_query_set_convert), (gst_query_parse_convert):
28682         * gst/gstquery.h:
28683         * gst/gstqueryutils.c:
28684         * gst/gstqueryutils.h:
28685         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
28686         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
28687         (gst_queue_handle_src_query):
28688         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28689         (gst_element_query_position), (gst_element_query_convert),
28690         (intersect_caps_func), (gst_pad_query_position),
28691         (gst_pad_query_convert):
28692         * gst/gstutils.h:
28693         * tools/gst-inspect.c: (print_pad_info):
28694         * tools/gst-xmlinspect.c: (print_element_info):
28695         Remove old query functions. Ported old code.
28696         Added position/convert helper functions to gstutils.
28697         Reordered gstpad.c code, grouping relevant things.
28698         Remove gst_message_new(), always need to speficy a specific
28699         message.
28700
28701
28702 2005-05-09  Andy Wingo  <wingo@pobox.com>
28703
28704         * gst/gstiterator.h: Add some includes.
28705
28706         * gst/gstqueryutils.h: Include more headers.
28707
28708         * gst/gstpad.h:
28709         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
28710         some uses of gst_pad_query.
28711
28712         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
28713         NULL out parameters.
28714         (gst_query_new_position): New proc, allocates a new position
28715         query.
28716
28717         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
28718         gstqueryutils.c to the build.
28719
28720         * gst/gststructure.c (gst_structure_set_valist): Implement with
28721         the generic G_VALUE_COLLECT.
28722         
28723 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
28724
28725         * gst/Makefile.am: (gst_headers):
28726         Added gstqueryutils.h to the list of headers to install, that was
28727         a 'nachty' move wingo :)
28728
28729 2005-05-06  Andy Wingo  <wingo@pobox.com>
28730
28731         * gst/gstquery.h
28732         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
28733         GstData, init a memchunk.
28734         (standard_definitions): Add a few query types, deprecate a few.
28735         (gst_query_get_type): New proc.
28736         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
28737         implementation.
28738         (gst_query_new_application, gst_query_get_structure): New public
28739         procs.
28740
28741         * docs/design/draft-query.txt: Removed LINKS from the query types,
28742         because all the rest can be dispatched to other pads -- seemed
28743         ugly to have a query that couldn't be dispatched. internal_links
28744         is fine as a pad method.
28745
28746         * gst/gstpad.h: Add query2 as a pad method, add the new functions
28747         in gstpad.c, but maintain binary compatibility for the moment.
28748         Will fix before 0.9 is out.
28749
28750         * gst/gstqueryutils.c: 
28751         * gst/gstqueryutils.h: New files, implement 3 methods for each
28752         query type: parse_query, parse_response, and set. Probably need an
28753         allocator as well.
28754
28755         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
28756
28757         * gst/elements/gstfilesink.c (gst_filesink_query2):
28758         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
28759         query_types, and formats methods.
28760
28761         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
28762         (gst_pad_set_query2_function): New functions.
28763         (gst_real_pad_init): Set query2_default as the default query2
28764         function. Basically just dispatches to internally linked pads.
28765
28766         Needs review!
28767         
28768         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
28769         without using the atomic operations. Only one thread can possibly
28770         be accessing the data at this point. Changed so as to avoid
28771         gst_atomic operations.
28772
28773 2005-05-06  Wim Taymans  <wim@fluendo.com>
28774
28775         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
28776         Also set caps if we use the fallback buffer alloc.
28777
28778 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
28779
28780         * docs/gst/Makefile.am:
28781         * docs/gst/gstreamer-docs.sgml:
28782         * docs/gst/gstreamer-sections.txt:
28783         * docs/gst/tmpl/gstatomic.sgml:
28784         * docs/gst/tmpl/gstmemchunk.sgml:
28785         * testsuite/elements/struct_i386.h:
28786         * win32/GStreamer.vcproj:
28787         * win32/Makefile:
28788           Purge GstAtomic stuff from docs and win32 makefiles as well
28789
28790 2005-05-06  Wim Taymans  <wim@fluendo.com>
28791
28792         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
28793         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
28794         * gst/gstpad.c: (gst_pad_peer_get_caps):
28795         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
28796         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
28797         (gst_queue_src_activate), (gst_queue_change_state):
28798         * gst/gstqueue.h:
28799         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28800         (intersect_caps_func):
28801         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
28802         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
28803         Some fixes for the peer_get_caps() change.
28804
28805 2005-05-06  Wim Taymans  <wim@fluendo.com>
28806
28807         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
28808         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
28809         (gst_basesink_activate):
28810         Actually do something with error codes returned from the push
28811         functions.
28812
28813 2005-05-06  Wim Taymans  <wim@fluendo.com>
28814
28815         * docs/design/part-element-sink.txt:
28816         * docs/design/part-element-source.txt:
28817         * gst/base/gstbasesink.c: (gst_basesink_class_init),
28818         (gst_basesink_event), (gst_basesink_activate):
28819         * gst/base/gstbasesink.h:
28820         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
28821         (gst_basesrc_activate):
28822         * gst/base/gstbasesrc.h:
28823         * gst/gstelement.c: (gst_element_pads_activate):
28824         Some more documentation.
28825         Fixed scheduling decision in _pads_activate().
28826
28827 2005-05-05  Andy Wingo  <wingo@pobox.com>
28828
28829         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
28830         the test suite.
28831
28832 2005-05-05  Wim Taymans  <wim@fluendo.com>
28833
28834         * gst/base/Makefile.am:
28835         * gst/base/gstbasesink.h:
28836         * gst/base/gstbasesrc.c: (gst_basesrc_init),
28837         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
28838         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
28839         (gst_collectpads_class_init), (gst_collectpads_init),
28840         (gst_collectpads_finalize), (gst_collectpads_new),
28841         (gst_collectpads_set_function), (gst_collectpads_add_pad),
28842         (find_pad), (gst_collectpads_remove_pad),
28843         (gst_collectpads_is_active), (gst_collectpads_collect),
28844         (gst_collectpads_collect_range), (gst_collectpads_start),
28845         (gst_collectpads_stop), (gst_collectpads_peek),
28846         (gst_collectpads_pop), (gst_collectpads_available),
28847         (gst_collectpads_read), (gst_collectpads_flush),
28848         (gst_collectpads_chain):
28849         * gst/base/gstcollectpads.h:
28850         * gst/elements/Makefile.am:
28851         * gst/elements/gstelements.c:
28852         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
28853         (gst_fakesink_get_times), (gst_fakesink_event),
28854         (gst_fakesink_preroll), (gst_fakesink_render):
28855         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28856         (gst_filesink_init), (gst_filesink_set_location),
28857         (gst_filesink_open_file), (gst_filesink_close_file),
28858         (gst_filesink_pad_query), (gst_filesink_event),
28859         (gst_filesink_render), (gst_filesink_change_state):
28860         * gst/elements/gstfilesink.h:
28861         Added object to help in making collect pad based elements.
28862         Ported filesink.
28863         Make event function in sink baseclass return gboolean.
28864
28865 2005-05-05  Wim Taymans  <wim@fluendo.com>
28866
28867         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
28868         (gst_bin_get_by_name):
28869         * gst/gstbuffer.h:
28870         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
28871         (gst_clock_finalize):
28872         * gst/gstdata.c: (gst_data_replace):
28873         * gst/gstdata.h:
28874         * gst/gstelement.c: (gst_element_request_pad),
28875         (gst_element_pads_activate):
28876         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
28877         (gst_object_unref):
28878         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28879         (gst_pad_set_checkgetrange_function),
28880         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
28881         (gst_pad_check_pull_range), (gst_pad_pull_range),
28882         (gst_static_pad_template_get_caps), (gst_pad_start_task),
28883         (gst_pad_pause_task), (gst_pad_stop_task):
28884         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28885         (gst_element_request_pad), (gst_pad_proxy_getcaps):
28886         Fix name lookup in GstBin.
28887         Added _data_replace() function and _buffer_replace()
28888         Use finalize method to clean up clock.
28889         Fix refcounting on request pads.
28890         Fix pad schedule mode error.
28891         Some more object refcounting debug info,
28892
28893
28894 2005-05-04  Andy Wingo <wingo@pobox.com>
28895
28896         * check/Makefile.am:
28897         * docs/gst/tmpl/gstatomic.sgml:
28898         * docs/gst/tmpl/gstplugin.sgml:
28899         * gst/base/gstbasesink.c: (gst_basesink_activate):
28900         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
28901         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
28902         (gst_basesrc_query), (gst_basesrc_set_property),
28903         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
28904         (gst_basesrc_activate):
28905         * gst/base/gstbasesrc.h:
28906         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
28907         (gst_base_transform_src_activate):
28908         * gst/elements/gstelements.c:
28909         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28910         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
28911         * gst/elements/gsttee.c: (gst_tee_sink_activate):
28912         * gst/elements/gsttypefindelement.c: (find_element_get_length),
28913         (gst_type_find_element_checkgetrange),
28914         (gst_type_find_element_activate):
28915         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
28916         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
28917         (gst_caps_load_thyself):
28918         * gst/gstelement.c: (gst_element_pads_activate),
28919         (gst_element_save_thyself), (gst_element_restore_thyself):
28920         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
28921         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
28922         * gst/gstpad.h:
28923         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
28924         (gst_xml_parse_file), (gst_xml_parse_memory),
28925         (gst_xml_get_element), (gst_xml_make_element):
28926         * gst/indexers/gstfileindex.c: (gst_file_index_load),
28927         (_file_index_id_save_xml), (gst_file_index_commit):
28928         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
28929         (read_enum), (load_pad_template), (load_feature), (load_plugin),
28930         (load_paths):
28931         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
28932         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
28933         * tools/gst-complete.c: (main):
28934         * tools/gst-compprep.c: (main):
28935         * tools/gst-inspect.c: (print_element_properties_info):
28936         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
28937         * tools/gst-xmlinspect.c: (print_element_properties):
28938         GCC 4 fixen.
28939         
28940 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
28941
28942         * gst/gstplugin.c: (gst_plugin_check_module),
28943         (gst_plugin_check_file), (gst_plugin_load_file):
28944             apply patch from #172526 to make register work on MacOSX
28945
28946 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
28947
28948         * docs/gst/tmpl/gstconfig.sgml:
28949         * gst/gstconfig.h.in:
28950           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
28951         * testsuite/debug/printf_extension.c: (main):
28952           Do not use GST_PTR_FORMAT on pointers to types with
28953           sizeof < sizeof(gpointer).  Fixes test on 64-bit
28954         * testsuite/elements/property.h:
28955           use correct printf format
28956
28957 2005-05-02  Wim Taymans  <wim@fluendo.com>
28958
28959         * docs/design/draft-push-pull.txt:
28960         * docs/design/draft-query.txt:
28961         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
28962         (gst_basesrc_start):
28963         Added draft for new query API.
28964         Added draft for better selecting scheduling methods.
28965         Make basesrc ignore length if the subclass does not support
28966         it.
28967
28968 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
28969
28970         * gst/Makefile.am:
28971           possible fixes for automake-1.5 - _LIBADD is reserved
28972
28973 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
28974
28975         * docs/faq/Makefile.am:
28976         * docs/manual/Makefile.am:
28977         * docs/manuals.mak:
28978         * docs/pwg/Makefile.am:
28979         * gst/Makefile.am:
28980           possible fixes for automake-1.5
28981
28982 2005-04-28  Wim Taymans  <wim@fluendo.com>
28983
28984         * gst/base/gstbasesink.c: (gst_basesink_base_init),
28985         (gst_basesink_pad_getcaps), (gst_basesink_init),
28986         (gst_basesink_do_sync):
28987         * gst/gstclock.c: (gst_clock_entry_new):
28988         * gst/gstevent.c: (gst_event_discont_get_value):
28989         * gst/gstpipeline.c: (pipeline_bus_handler),
28990         (gst_pipeline_change_state):
28991         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
28992         Better debugging of clocking info.
28993         Allow NULL values when getting discont values.
28994
28995 2005-04-27  Wim Taymans  <wim@fluendo.com>
28996
28997         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
28998         * check/gst/gstpad.c: (gst_pad_suite):
28999         Increase timeout for checks.
29000
29001 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
29002
29003         * check/Makefile.am:
29004           fix the broken rule for cleanup.  Apparently this rule is
29005           only needed on FC2, so maybe this warrants further autotool
29006           inspection.
29007
29008 2005-04-26  Wim Taymans  <wim@fluendo.com>
29009
29010         * gst/gsttrashstack.h:
29011         Ooohh. a nasty one! After having a failed pop() from the stack,
29012         it's possible that the stack is empty. In that case, don't
29013         follow the NULL pointer.
29014
29015 2005-04-25  Wim Taymans  <wim@fluendo.com>
29016
29017         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29018         (gst_pad_set_checkgetrange_function),
29019         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
29020         (gst_pad_check_pull_range), (gst_pad_pull_range),
29021         (gst_static_pad_template_get_caps), (gst_pad_start_task),
29022         (gst_pad_pause_task), (gst_pad_stop_task):
29023         * gst/gstplugin.c: (gst_plugin_load):
29024         * gst/gstplugin.h:
29025         Remove gst_library_load as it does more harm than good with
29026         the new g_module flags.
29027         Revert bogus caps template check in pad linking, pad caps
29028         are important when linking not the template, which is more
29029         general than the current caps.
29030
29031 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29032
29033         * gst/autoplug/.cvsignore:
29034         * gst/autoplug/Makefile.am:
29035         * gst/autoplug/gstsearchfuncs.c:
29036         * gst/autoplug/gstsearchfuncs.h:
29037         * gst/autoplug/gstspider.c:
29038         * gst/autoplug/gstspider.h:
29039         * gst/autoplug/gstspideridentity.c:
29040         * gst/autoplug/gstspideridentity.h:
29041         * gst/autoplug/spidertest.c:
29042           Die, spider, die.
29043
29044 2005-04-25  Wim Taymans  <wim@fluendo.com>
29045
29046         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29047         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
29048         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
29049         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
29050         * gst/gstpad.h:
29051         Added stubs for unimplemented functions. 
29052
29053 2005-04-24  David Schleef  <ds@schleef.org>
29054
29055         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
29056         please fix.
29057
29058 2005-04-24  David Schleef  <ds@schleef.org>
29059
29060         Convert everything from GstAtomicInt to g_atomic_int_*, and
29061         remove gstatomic.
29062         * gst/Makefile.am:
29063         * gst/gstatomic.c:
29064         * gst/gstatomic.h:
29065         * gst/gstatomic_impl.h:
29066         * gst/gstbuffer.c:
29067         * gst/gstcaps.c:
29068         * gst/gstcaps.h:
29069         * gst/gstclock.c:
29070         * gst/gstclock.h:
29071         * gst/gstdata.c:
29072         * gst/gstdata.h:
29073         * gst/gstdata_private.h:
29074         * gst/gstevent.c:
29075         * gst/gstinfo.c:
29076         * gst/gstinfo.h:
29077         * gst/gstmessage.c:
29078         * gst/gstobject.c:
29079         * gst/gstobject.h:
29080         * gst/gststructure.c:
29081         * gst/gststructure.h:
29082         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
29083         * gst/gstutils.h:
29084
29085 2005-04-24  David Schleef  <ds@schleef.org>
29086
29087         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
29088         make the regressions tests work.  Remove some code that is no
29089         longer true.
29090         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
29091         Disable warning for pads without templates.
29092
29093 2005-04-24  David Schleef  <ds@schleef.org>
29094
29095         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
29096         functions that handle filtered links.
29097         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
29098         removed functions.
29099         * gst/gstutils.c: Fix/remove utility functions that handle
29100         filtered caps.
29101         * gst/gstutils.h:
29102         * gst/gstvalue.c: Add serialization/deserialization of caps
29103         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
29104         requires fixing so that the filter caps notation creates
29105         a capsfilter element and sets the filter_caps property.  I
29106         think everyone probably wants to keep the shorthand notation.
29107         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
29108         * docs/gst/tmpl/gstpad.sgml:
29109
29110         * gst/elements/gstelements.c: Register capsfilter element.
29111         * gst/Makefile.am: fix spacing
29112         * docs/random/ds/0.9-suggested-changes: random
29113
29114 2005-04-23  David Schleef  <ds@schleef.org>
29115
29116         * gst/elements/Makefile.am:
29117         * gst/elements/gstcapsfilter.c: New element that acts like an
29118         identity, but filters caps.  Will eventually replace filtered
29119         caps in pad linking.
29120         * gst/gstutils.c: (gst_element_create_all_pads): New function
29121         to create all the ALWAYS pads that are registered with an
29122         element class.  This functionality should eventually be
29123         merged in with GstElement initialization.
29124         * gst/gstutils.h:
29125         * testsuite/trigger/README: part of trigger test code that should
29126         have been checked in a long time ago.
29127
29128 2005-04-23  David Schleef  <ds@schleef.org>
29129
29130         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
29131         needed with new versions of libtool (nobody will confirm this),
29132         and hard to carry around.
29133         * gst/autoplug/Makefile.am:
29134         * gst/base/Makefile.am:
29135         * gst/elements/Makefile.am:
29136         * gst/indexers/Makefile.am:
29137         * gst/schedulers/Makefile.am:
29138         * libs/gst/bytestream/Makefile.am:
29139         * libs/gst/control/Makefile.am:
29140         * libs/gst/dataprotocol/Makefile.am:
29141         * libs/gst/getbits/Makefile.am:
29142
29143 2005-04-21  Wim Taymans  <wim@fluendo.com>
29144
29145         * docs/design/draft-push-pull.txt:
29146         * docs/design/part-MT-refcounting.txt:
29147         * docs/design/part-TODO.txt:
29148         * docs/design/part-caps.txt:
29149         * docs/design/part-events.txt:
29150         * docs/design/part-gstbus.txt:
29151         * docs/design/part-gstpipeline.txt:
29152         * docs/design/part-messages.txt:
29153         * docs/design/part-push-pull.txt:
29154         * docs/design/part-query.txt:
29155         Some more docs.
29156
29157 2005-04-21  Wim Taymans  <wim@fluendo.com>
29158
29159         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
29160         (gst_message_new), (gst_message_new_error),
29161         (gst_message_new_warning), (gst_message_new_tag),
29162         (gst_message_new_state_changed), (gst_message_new_application),
29163         (gst_message_get_structure):
29164         * gst/gstmessage.h:
29165         * gst/gststructure.c: (gst_structure_set_parent_refcount),
29166         (gst_structure_copy_conditional):
29167         Use parent refcount in GstMessage to ensure GstStructure
29168         consistency.
29169         Cleaned up headers a bit.
29170         
29171
29172 2005-04-20  Wim Taymans  <wim@fluendo.com>
29173
29174         * gst/base/gstbasesink.c: (gst_basesink_base_init),
29175         (gst_basesink_pad_getcaps), (gst_basesink_init),
29176         (gst_basesink_chain_unlocked):
29177         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
29178         (gst_type_find_helper):
29179         * gst/elements/gsttypefindelement.c:
29180         (gst_type_find_element_have_type), (gst_type_find_element_init),
29181         (stop_typefinding), (gst_type_find_element_handle_event),
29182         (find_suggest), (gst_type_find_element_chain),
29183         (gst_type_find_element_checkgetrange),
29184         (gst_type_find_element_getrange), (do_typefind),
29185         (gst_type_find_element_activate):
29186         * gst/gstbuffer.c: (_gst_buffer_sub_free),
29187         (gst_buffer_default_free), (gst_buffer_default_copy),
29188         (gst_buffer_set_caps):
29189         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
29190         (gst_caps_replace):
29191         * gst/gstmessage.c: (gst_message_new),
29192         (gst_message_new_state_changed):
29193         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29194         (gst_pad_set_checkgetrange_function),
29195         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
29196         (gst_pad_set_caps), (gst_pad_check_pull_range),
29197         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
29198         * gst/gstpad.h:
29199         * gst/gsttypefind.c: (gst_type_find_register):
29200         Make gst_caps_replace() work like other _replace() functions.
29201         Use _caps_replace() where possible.
29202         Make sure _message_new() initialises its field.
29203         Add gst_static_pad_template_get_caps()
29204
29205
29206 2005-04-18  Andy Wingo  <wingo@pobox.com>
29207
29208         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
29209         on the peer, not the pad. I think that was a typo. Pass an extra
29210         arg to see if random access is possible. Activate the pads as
29211         PULL_RANGE if possible.
29212
29213         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
29214
29215         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
29216         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
29217         to PROP_....
29218
29219 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29220
29221         * docs/faq/using.xml:
29222           Add note on gstreamer-properties (#154996).
29223
29224 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29225
29226         * docs/random/bbb/optional-properties:
29227           Some analysis on optional properties.
29228
29229 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29230
29231         * docs/gst/tmpl/gstelementfactory.sgml:
29232         * gst/gstelement.h:
29233         * gst/gstelementfactory.c: (gst_element_factory_init),
29234         (gst_element_factory_cleanup), (gst_element_register),
29235         (__gst_element_factory_add_static_pad_template),
29236         (gst_element_factory_get_static_pad_templates),
29237         (gst_element_factory_can_src_caps),
29238         (gst_element_factory_can_sink_caps):
29239         * gst/registries/Makefile.am:
29240         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
29241         (gst_xml_registry_class_init), (gst_xml_registry_init),
29242         (gst_xml_registry_new), (gst_xml_registry_set_property),
29243         (gst_xml_registry_get_property), (get_time), (make_dir),
29244         (gst_xml_registry_get_perms_func),
29245         (plugin_times_older_than_recurse), (plugin_times_older_than),
29246         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
29247         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
29248         (add_to_char_array), (read_string), (read_uint), (read_enum),
29249         (load_pad_template), (load_feature), (load_plugin), (load_paths),
29250         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
29251         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
29252         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
29253         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
29254         (gst_xml_registry_rebuild):
29255         * gst/registries/gstlibxmlregistry.h:
29256         * tools/gst-compprep.c: (main):
29257         * tools/gst-inspect.c: (print_pad_templates_info):
29258         * tools/gst-xmlinspect.c: (print_element_info):
29259           Use libxml2 for registry parsing, use staticpadtemplates in
29260           elementfactories. Makes gst_init() +/- 10x faster.
29261
29262 2005-04-12  Wim Taymans  <wim@fluendo.com>
29263
29264         * gst/base/Makefile.am:
29265         * gst/base/gstbasesink.c: (gst_basesink_base_init),
29266         (gst_basesink_pad_getcaps), (gst_basesink_init),
29267         (gst_basesink_event), (gst_basesink_change_state):
29268         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
29269         (gst_basesrc_init), (gst_basesrc_query),
29270         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
29271         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
29272         (gst_basesrc_check_get_range), (gst_basesrc_loop),
29273         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
29274         (gst_basesrc_stop), (gst_basesrc_activate),
29275         (gst_basesrc_change_state):
29276         * gst/base/gsttypefindhelper.c: (helper_find_peek),
29277         (helper_find_suggest), (gst_type_find_helper):
29278         * gst/base/gsttypefindhelper.h:
29279         * gst/elements/Makefile.am:
29280         * gst/elements/gstelements.c:
29281         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
29282         (gst_fakesink_get_times), (gst_fakesink_event),
29283         (gst_fakesink_preroll), (gst_fakesink_render):
29284         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29285         (gst_fakesrc_init), (gst_fakesrc_event_handler),
29286         (gst_fakesrc_get_property), (gst_fakesrc_create),
29287         (gst_fakesrc_start), (gst_fakesrc_stop):
29288         * gst/elements/gstfakesrc.h:
29289         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
29290         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
29291         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
29292         (gst_filesrc_create_read), (gst_filesrc_create),
29293         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
29294         (gst_filesrc_start):
29295         * gst/elements/gsttypefindelement.c:
29296         (gst_type_find_element_have_type), (gst_type_find_element_init),
29297         (start_typefinding), (stop_typefinding), (push_buffer_store),
29298         (gst_type_find_element_handle_event),
29299         (gst_type_find_element_chain),
29300         (gst_type_find_element_checkgetrange),
29301         (gst_type_find_element_getrange), (do_typefind),
29302         (gst_type_find_element_activate),
29303         (gst_type_find_element_change_state):
29304         * gst/elements/gsttypefindelement.h:
29305         * gst/gstpipeline.c: (pipeline_bus_handler):
29306         Added typefind helper.
29307         Small preroll fix in the base sink.
29308         Disable typefind code in basesrc.
29309         Crude port of typefindelement.
29310         Fakesrc cleanups.
29311
29312
29313 2005-04-11  Wim Taymans  <wim@fluendo.com>
29314
29315         * check/gst/gstbus.c: (gstbus_suite):
29316         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
29317         * check/gstcheck.h:
29318           Fix up the timeout so that the test does not fail.
29319
29320 2005-04-06  Wim Taymans  <wim@fluendo.com>
29321
29322         * gst/base/README:
29323         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
29324         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
29325         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
29326         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
29327         (gst_basesrc_check_get_range), (gst_basesrc_loop),
29328         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
29329         (gst_basesrc_stop), (gst_basesrc_activate),
29330         (gst_basesrc_change_state), (basesrc_find_peek),
29331         (basesrc_find_suggest), (gst_basesrc_type_find):
29332         * gst/base/gstbasesrc.h:
29333         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
29334         (gst_filesrc_class_init), (gst_filesrc_init),
29335         (gst_filesrc_finalize), (gst_filesrc_set_location),
29336         (gst_filesrc_set_property), (gst_filesrc_get_property),
29337         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
29338         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
29339         (gst_filesrc_create_read), (gst_filesrc_create),
29340         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
29341         * gst/elements/gstfilesrc.h:
29342         * gst/gstelement.c: (gst_element_get_state_func),
29343         (gst_element_lost_state), (gst_element_pads_activate):
29344         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29345         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
29346         (gst_pad_pull_range):
29347         * gst/gstpad.h:
29348         More work on the generic source base class, implement seeking,
29349         query.
29350         Make filesrc extend the base source class.
29351         Added gst_pad_set_checkgetrange_function to GstPad.
29352
29353 2005-04-06  Andy Wingo  <wingo@pobox.com>
29354
29355         * pkgconfig/gstreamer-base.pc.in:
29356         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
29357
29358         * pkgconfig/Makefile.am:
29359         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
29360
29361 2005-04-04  Wim Taymans  <wim@fluendo.com>
29362
29363         * gst/base/Makefile.am:
29364         * gst/base/README:
29365         * gst/base/gstbasesink.c: (gst_basesink_base_init),
29366         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
29367         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
29368         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
29369         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
29370         (gst_basesrc_base_init), (gst_basesrc_class_init),
29371         (gst_basesrc_init), (gst_basesrc_get_formats),
29372         (gst_basesrc_get_query_types), (gst_basesrc_query),
29373         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
29374         (gst_basesrc_set_property), (gst_basesrc_get_property),
29375         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
29376         (gst_basesrc_loop), (gst_basesrc_activate),
29377         (gst_basesrc_change_state):
29378         * gst/base/gstbasesrc.h:
29379         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
29380         (gst_fakesrc_class_init), (gst_fakesrc_init),
29381         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
29382         (gst_fakesrc_get_property), (gst_fakesrc_create):
29383         * gst/elements/gstfakesrc.h:
29384         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
29385         (gst_filesrc_open_file), (gst_filesrc_loop),
29386         (gst_filesrc_activate), (filesrc_find_peek),
29387         (gst_filesrc_type_find):
29388         Made base source class, make fakesrc extend it.
29389         Add comments to basesink class.
29390         Some filesrc cleanup.
29391
29392 2005-03-31  David Schleef  <ds@schleef.org>
29393
29394         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
29395         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
29396         expected to link against libgstreamer.
29397         * gst/base/Makefile.am: link against libgstreamer
29398         * gst/elements/Makefile.am: same
29399
29400 2005-03-31  Andy Wingo  <wingo@pobox.com>
29401
29402         * tests/instantiate/Makefile.am:
29403         * tests/instantiate/caps.c: Add test to test speed of caps copy
29404         and free.
29405
29406         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
29407         GMemChunk to be fair.
29408
29409         * gst/gsttrashstack.h: Remove warning about using the fallback
29410         trash stack implementation, it's still faster than malloc.
29411
29412 2005-03-30  Andy Wingo  <wingo@pobox.com>
29413
29414         * tests/complexity.c: Add a copyright.
29415
29416 2005-03-31  Wim Taymans  <wim@fluendo.com>
29417
29418         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
29419         (gst_base_transform_class_init), (gst_base_transform_init),
29420         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
29421         (gst_base_transform_get_property),
29422         (gst_base_transform_sink_activate),
29423         (gst_base_transform_src_activate),
29424         (gst_base_transform_change_state):
29425         * gst/base/gstbasetransform.h:
29426         * gst/elements/gstidentity.c: (gst_identity_class_init),
29427         (gst_identity_event), (gst_identity_check_perfect),
29428         (gst_identity_transform), (gst_identity_start),
29429         (gst_identity_stop):
29430         Added start/stop methods to transform base class so subclasses 
29431         don't need to deal with state changes even.
29432
29433 2005-03-31  Wim Taymans  <wim@fluendo.com>
29434
29435         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
29436         (gst_event_new_discontinuous), (gst_event_discont_get_value):
29437         * gst/gstevent.h:
29438         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29439         (gst_pad_pull_range):
29440         Added rate to the discont event to prepare for variable speed
29441         and reverse playback.
29442
29443 2005-03-29  David Schleef  <ds@schleef.org>
29444
29445         * configure.ac:
29446         * testsuite/trigger/Makefile.am:
29447         * testsuite/trigger/trigger.c: A little example program to show
29448         how trigger-based elements can work.
29449
29450 2005-03-29  Wim Taymans  <wim@fluendo.com>
29451
29452         * gst/base/Makefile.am:
29453         * gst/base/README:
29454         * gst/base/gstbasesink.c: (gst_basesink_get_type),
29455         (gst_basesink_base_init), (gst_basesink_class_init),
29456         (gst_basesink_pad_getcaps), (gst_basesink_init),
29457         (gst_basesink_activate), (gst_basesink_change_state):
29458         * gst/base/gstbasesink.h:
29459         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
29460         (gst_base_transform_base_init), (gst_base_transform_finalize),
29461         (gst_base_transform_class_init), (gst_base_transform_init),
29462         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
29463         (gst_base_transform_event), (gst_base_transform_getrange),
29464         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
29465         (gst_base_transform_set_property),
29466         (gst_base_transform_get_property),
29467         (gst_base_transform_sink_activate),
29468         (gst_base_transform_src_activate),
29469         (gst_base_transform_change_state):
29470         * gst/base/gstbasetransform.h:
29471         * gst/elements/gstidentity.c: (gst_identity_finalize),
29472         (gst_identity_class_init), (gst_identity_init),
29473         (gst_identity_event), (gst_identity_check_perfect),
29474         (gst_identity_transform), (gst_identity_set_property),
29475         (gst_identity_get_property), (gst_identity_change_state):
29476         * gst/elements/gstidentity.h:
29477         * gst/gstelement.c: (gst_element_get_state_func),
29478         (gst_element_lost_state), (gst_element_pads_activate):
29479         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29480         (gst_pad_check_pull_range), (gst_pad_pull_range):
29481         * gst/gstpad.h:
29482         Simplify pad activation.
29483         Added function to check if pull_range can be performed.
29484         Error out when pulling inactive or flushing pads.
29485         Removed const from refcounted types as it does not make sense.
29486         Simplify pad templates in basesink
29487         Added base class for simple 1-to-1 transforms.
29488         Make identity subclass the base transform.
29489
29490 2005-03-29  Andy Wingo  <wingo@pobox.com>
29491
29492         * docs/libs/gstreamer-libs-overrides.txt: 
29493         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
29494         really don't understand what's going on, but like whatever. I want
29495         green buildbot!
29496
29497         * docs/gst/Makefile.am:
29498         * docs/libs/Makefile.am: Dist the overrides files.
29499
29500         * check/Makefile.am (clean-local): Remove .libs directories.
29501
29502         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
29503         elements to EXTRA_DIST, so po/ files are happy.
29504
29505         * po/POTFILES.in: Er, remove it here.
29506
29507         * po/POTFILES: Remove gstspider.c.
29508
29509         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
29510
29511         * docs/libs/gstreamer-libs-docs.sgml: 
29512         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
29513         bytestream.
29514
29515         * tests/complexity.c (main): Set the length of the preroll queue
29516         on the sinks to prevent a lockup.
29517
29518         * libs/gst/dataprotocol/Makefile.am: 
29519         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
29520         the same as the one in check/gst-libs/gdp.c.
29521
29522         * po/, docs/gst/: Commit automatic changes to docs and po files.
29523
29524         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
29525         the versioned libgstbase.
29526
29527         * check/Makefile.am: Depend on an unversioned gst-register, seems
29528         to make autoconf happier.
29529
29530         * gst/base/Makefile.am: Make libgstbase a versioned lib.
29531
29532 2005-03-28  Wim Taymans  <wim@fluendo.com>
29533
29534         * configure.ac:
29535         * docs/design/part-gstelement.txt:
29536         * docs/design/part-negotiation.txt:
29537         * docs/design/part-preroll.txt:
29538         * docs/design/part-scheduling.txt:
29539         * docs/design/part-states.txt:
29540         * gst/Makefile.am:
29541         * gst/base/Makefile.am:
29542         * gst/base/README:
29543         * gst/base/gstbasesink.c: (gst_basesink_get_template),
29544         (gst_basesink_base_init), (gst_basesink_class_init),
29545         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
29546         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
29547         (gst_basesink_set_pad_functions),
29548         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
29549         (gst_basesink_set_property), (gst_basesink_get_property),
29550         (gst_base_sink_get_template), (gst_base_sink_get_caps),
29551         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
29552         (gst_basesink_preroll_queue_push),
29553         (gst_basesink_preroll_queue_empty),
29554         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
29555         (gst_basesink_event), (gst_basesink_get_times),
29556         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
29557         (gst_basesink_chain_unlocked), (gst_basesink_chain),
29558         (gst_basesink_loop), (gst_basesink_activate),
29559         (gst_basesink_change_state):
29560         * gst/base/gstbasesink.h:
29561         * gst/elements/Makefile.am:
29562         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
29563         (gst_fakesink_class_init), (gst_fakesink_init),
29564         (gst_fakesink_set_property), (gst_fakesink_get_property),
29565         (gst_fakesink_get_times), (gst_fakesink_event),
29566         (gst_fakesink_preroll), (gst_fakesink_render),
29567         (gst_fakesink_change_state):
29568         * gst/elements/gstfakesink.h:
29569         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
29570         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
29571         * gst/gstelement.c: (gst_element_add_pad),
29572         (gst_element_get_state_func), (gst_element_abort_state),
29573         (gst_element_commit_state), (gst_element_lost_state),
29574         (gst_element_set_state), (gst_element_pads_activate):
29575         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
29576         * gst/gstpipeline.c: (gst_pipeline_send_event),
29577         (gst_pipeline_change_state):
29578         Added state change code.
29579         Added/updated docs.
29580         Added sink base class, make fakesink extend the base class.
29581         Small cleanups in GstPipeline.
29582
29583 2005-03-26  David Schleef  <ds@schleef.org>
29584
29585         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
29586         is broken and should be implemented in a different library.
29587         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
29588         * gst/gst.h: remove gstcpu.h
29589         * gst/gstcpu.c: remove
29590         * gst/gstcpu.h: remove
29591         * gst/Makefile.am.future: Remove this file.  It's ancient.
29592
29593 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29594
29595         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
29596         (gst_bin_send_event):
29597           Add default event/set_manager handlers. The set_manager handler
29598           takes care that the manager is distributed over kids that were
29599           already in the bin before the manager was set. The event handler
29600           is a utility virtual function that sends the event over all sinks,
29601           so that gst_element_send_event (bin, event); has the expected
29602           behaviour.
29603         * gst/gstpad.c: (gst_pad_event_default):
29604           Re-install default event handling for discontinuities, so that
29605           seeking works without requiring hacks in applications or extra
29606           code in sinks.
29607         * gst/gstpipeline.c: (gst_pipeline_class_init),
29608         (gst_pipeline_send_event):
29609           Half hack, half utility: set a pipeline to PAUSED for seek events,
29610           since that is the only way we can guarantee a/v sync. Means that
29611           you can do gst_element_seek (pipeline, method, pos); on a pipeline
29612           and it "just works".
29613
29614 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29615
29616         * gst/gstpipeline.c: (gst_pipeline_use_clock):
29617           Lock/unlock mismatch.
29618
29619 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
29620
29621         * docs/faq/gst-uninstalled:
29622           add gst-plugins-base
29623         * docs/gst/Makefile.am:
29624           don't error out until docs are fixed
29625         * docs/gst/gstreamer.types:
29626           remove thread
29627
29628 2005-03-22  Wim Taymans  <wim@fluendo.com>
29629
29630         * check/Makefile.am:
29631         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
29632         * gst/gststructure.c: (gst_structure_set_valist),
29633         (gst_structure_copy_conditional):
29634         Activated more tests.
29635         Added message test.
29636         Added G_TYPE_POINTER to GstStructure.
29637         
29638
29639 2005-03-22  Wim Taymans  <wim@fluendo.com>
29640
29641         * docs/design/part-TODO.txt:
29642         * docs/design/part-events.txt:
29643         * docs/design/part-gstbin.txt:
29644         * docs/design/part-gstbus.txt:
29645         * docs/design/part-gstpipeline.txt:
29646         * docs/design/part-messages.txt:
29647         * gst/gstbus.c:
29648         * gst/gstmessage.c:
29649         Docs updates
29650
29651 2005-03-21  Wim Taymans  <wim@fluendo.com>
29652
29653         * gst/gstbus.c: (gst_bus_post):
29654         Fix copy-and-paste error.
29655
29656 2005-03-21  Wim Taymans  <wim@fluendo.com>
29657
29658         * check/Makefile.am:
29659         * gst/Makefile.am:
29660         * gst/elements/Makefile.am:
29661         * gst/elements/gstelements.c:
29662         * gst/elements/gstfakesink.c: (gst_fakesink_init),
29663         (gst_fakesink_event), (gst_fakesink_chain):
29664         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29665         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
29666         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
29667         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
29668         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
29669         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
29670         (gst_fakesrc_loop), (gst_fakesrc_activate),
29671         (gst_fakesrc_change_state):
29672         * gst/elements/gstfakesrc.h:
29673         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
29674         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
29675         (gst_filesrc_open_file), (gst_filesrc_loop),
29676         (gst_filesrc_activate), (gst_filesrc_change_state),
29677         (filesrc_find_peek), (filesrc_find_suggest),
29678         (gst_filesrc_type_find):
29679         * gst/elements/gstidentity.c: (gst_identity_finalize),
29680         (gst_identity_class_init), (gst_identity_init),
29681         (gst_identity_proxy_getcaps), (identity_queue_push),
29682         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
29683         (gst_identity_getrange), (gst_identity_chain),
29684         (gst_identity_sink_loop), (gst_identity_src_loop),
29685         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
29686         (gst_identity_set_property), (gst_identity_get_property),
29687         (gst_identity_change_state):
29688         * gst/elements/gstidentity.h:
29689         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
29690         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
29691         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
29692         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
29693         (gst_tee_sink_activate):
29694         * gst/elements/gsttee.h:
29695         * gst/gst.c: (gst_register_core_elements), (init_post):
29696         * gst/gst.h:
29697         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
29698         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
29699         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
29700         (gst_bin_change_state):
29701         * gst/gstbin.h:
29702         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
29703         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
29704         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
29705         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
29706         (gst_bus_set_sync_handler), (gst_bus_create_watch),
29707         (bus_watch_callback), (bus_watch_destroy),
29708         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
29709         (poll_timeout), (gst_bus_poll):
29710         * gst/gstbus.h:
29711         * gst/gstcaps.h:
29712         * gst/gstdata.h:
29713         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
29714         (gst_element_post_message), (gst_element_message_full),
29715         (gst_element_get_state_func), (gst_element_get_state),
29716         (gst_element_abort_state), (gst_element_commit_state),
29717         (gst_element_lost_state), (gst_element_set_state),
29718         (gst_element_pads_activate), (gst_element_change_state),
29719         (gst_element_dispose), (gst_element_set_manager_func),
29720         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
29721         (gst_element_set_manager), (gst_element_get_manager),
29722         (gst_element_set_bus), (gst_element_get_bus),
29723         (gst_element_set_scheduler), (gst_element_get_scheduler):
29724         * gst/gstelement.h:
29725         * gst/gstevent.c: (gst_event_new_segment_seek),
29726         (gst_event_new_flush):
29727         * gst/gstevent.h:
29728         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
29729         (_gst_message_free), (gst_message_get_type), (gst_message_new),
29730         (gst_message_new_eos), (gst_message_new_error),
29731         (gst_message_new_warning), (gst_message_new_tag),
29732         (gst_message_new_state_changed), (gst_message_new_application),
29733         (gst_message_get_structure), (gst_message_parse_tag),
29734         (gst_message_parse_state_changed), (gst_message_parse_error),
29735         (gst_message_parse_warning):
29736         * gst/gstmessage.h:
29737         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
29738         (gst_real_pad_set_property), (gst_pad_set_active),
29739         (gst_pad_is_active), (gst_pad_set_blocked_async),
29740         (gst_pad_set_blocked), (gst_pad_is_blocked),
29741         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
29742         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
29743         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
29744         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
29745         (gst_pad_link_filtered), (gst_pad_relink_filtered),
29746         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
29747         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
29748         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
29749         (gst_pad_set_caps), (gst_pad_configure_sink),
29750         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
29751         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
29752         (gst_real_pad_dispose), (gst_real_pad_finalize),
29753         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
29754         (gst_pad_event_default_dispatch), (gst_pad_event_default),
29755         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
29756         * gst/gstpad.h:
29757         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
29758         (pipeline_bus_handler), (gst_pipeline_change_state),
29759         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
29760         * gst/gstpipeline.h:
29761         * gst/gstprobe.h:
29762         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
29763         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
29764         (gst_queue_link_src), (gst_queue_bufferalloc),
29765         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
29766         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
29767         (gst_queue_loop), (gst_queue_handle_src_event),
29768         (gst_queue_handle_src_query), (gst_queue_src_activate),
29769         (gst_queue_change_state):
29770         * gst/gstqueue.h:
29771         * gst/gstscheduler.c: (gst_scheduler_init),
29772         (gst_scheduler_dispose), (gst_scheduler_create_task),
29773         (gst_scheduler_factory_create):
29774         * gst/gstscheduler.h:
29775         * gst/gststructure.c: (gst_structure_get_type),
29776         (gst_structure_copy_conditional):
29777         * gst/gststructure.h:
29778         * gst/gsttaginterface.h:
29779         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
29780         (gst_task_init), (gst_task_dispose), (gst_task_create),
29781         (gst_task_get_state), (gst_task_start), (gst_task_stop),
29782         (gst_task_pause):
29783         * gst/gsttask.h:
29784         * gst/gstthread.c:
29785         * gst/gstthread.h:
29786         * gst/gsttypes.h:
29787         * gst/schedulers/Makefile.am:
29788         * gst/schedulers/cothreads_compat.h:
29789         * gst/schedulers/entryscheduler.c:
29790         * gst/schedulers/faircothreads.c:
29791         * gst/schedulers/faircothreads.h:
29792         * gst/schedulers/fairscheduler.c:
29793         * gst/schedulers/gstbasicscheduler.c:
29794         * gst/schedulers/gstoptimalscheduler.c:
29795         * gst/schedulers/gthread-cothreads.h:
29796         * gst/schedulers/threadscheduler.c:
29797         (gst_thread_scheduler_task_get_type),
29798         (gst_thread_scheduler_task_class_init),
29799         (gst_thread_scheduler_task_init),
29800         (gst_thread_scheduler_task_start),
29801         (gst_thread_scheduler_task_stop),
29802         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
29803         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
29804         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
29805         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
29806         (plugin_init):
29807         * libs/gst/Makefile.am:
29808         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
29809         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
29810         (gst_file_pad_parent_set):
29811         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
29812         (gst_dp_event_from_packet):
29813         * tests/complexity.c: (main):
29814         * tests/mass_elements.c: (main):
29815         * testsuite/states/locked.c: (message_received), (main):
29816         * testsuite/states/parent.c: (main):
29817         * tools/gst-inspect.c: (print_element_flag_info),
29818         (print_implementation_info), (print_pad_info):
29819         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
29820         (main):
29821         * tools/gst-md5sum.c: (event_loop), (main):
29822         * tools/gst-typefind.c: (main):
29823         * tools/gst-xmlinspect.c: (print_element_info):
29824         Next big merge.
29825         Added GstBus for mainloop integration.
29826         Added GstMessage for sending notifications on the bus.
29827         Added GstTask as an abstraction for pipeline entry points.
29828         Removed GstThread.
29829         Removed Schedulers.
29830         Simplified GstQueue for multithreaded core.
29831         Made _link threadsafe, removed old capsnego.
29832         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
29833         Added pad blocking functions.
29834         Reworked scheduling functions in GstPad to prepare for
29835         scheduling updates soon.
29836         Moved events out of data stream.
29837         Simplified GstEvent types.
29838         Added return values to push/pull.
29839         Removed clocking from GstElement.
29840         Added prototypes for state change function for next merge.
29841         Removed iterate from bins and state change management.
29842         Fixed some elements, disabled others for now.
29843         Fixed -inspect and -launch.
29844         Added check for GstBus.
29845
29846 2005-03-10  Wim Taymans  <wim@fluendo.com>
29847
29848         * docs/design/part-MT-refcounting.txt:
29849         * docs/design/part-clocks.txt:
29850         * docs/design/part-gstelement.txt:
29851         * docs/design/part-gstobject.txt:
29852         * docs/design/part-standards.txt:
29853         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
29854         (gst_bin_remove_func), (gst_bin_remove):
29855         * gst/gstbin.h:
29856         * gst/gstbuffer.c:
29857         * gst/gstcaps.h:
29858         * testsuite/clock/clock1.c: (main):
29859         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
29860         (main):
29861         * testsuite/dlopen/loadgst.c: (do_test):
29862         * testsuite/refcounting/bin.c: (add_remove_test1),
29863         (add_remove_test2), (main):
29864         * testsuite/refcounting/element.c: (main):
29865         * testsuite/refcounting/element_pad.c: (main):
29866         * testsuite/refcounting/pad.c: (main):
29867         * tools/gst-launch.c: (sigint_handler_sighandler):
29868         * tools/gst-typefind.c: (main):
29869         Doc updates.
29870         Added doc about clock.
29871         removed gst_bin_iterate_recurse_up(), marked methods
29872         for removal.
29873         Fix more testsuites.
29874
29875 2005-03-09  Wim Taymans  <wim@fluendo.com>
29876
29877         * gst/gstpad.c: (gst_pad_get_direction),
29878         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
29879         (gst_pad_collect_valist):
29880         * testsuite/bins/interface.c: (main):
29881         * testsuite/caps/audioscale.c: (test_caps):
29882         * testsuite/caps/caps.c: (test1), (test2), (test3):
29883         * testsuite/caps/deserialize.c: (main):
29884         * testsuite/caps/enumcaps.c: (main):
29885         * testsuite/caps/filtercaps.c: (main):
29886         * testsuite/caps/intersect2.c: (main):
29887         * testsuite/caps/random.c: (main):
29888         * testsuite/caps/renegotiate.c: (my_fixate), (main):
29889         * testsuite/caps/sets.c: (check_caps):
29890         * testsuite/caps/simplify.c: (check_caps), (main):
29891         * testsuite/caps/subtract.c: (check_caps):
29892         Fix _pad_get_direction wrt ghostpads.
29893         Fix caps testsuite.
29894
29895 2005-03-09  Wim Taymans  <wim@fluendo.com>
29896
29897         * check/Makefile.am:
29898         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
29899         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
29900         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
29901         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
29902         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
29903         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
29904         (gst_bin_remove), (gst_bin_iterate_recurse_up),
29905         (bin_element_is_sink), (gst_bin_iterate_sinks),
29906         (gst_bin_iterate_all_by_interface):
29907         * gst/gstbin.h:
29908         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
29909         (gst_element_change_state), (gst_element_dispose),
29910         (gst_element_finalize), (gst_element_set_loop_function):
29911         * gst/gstelement.h:
29912         * gst/gstiterator.c: (find_custom_fold_func):
29913         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
29914         (gst_pad_collectv), (gst_pad_collect_valist),
29915         (gst_pad_template_new):
29916         * gst/gstpipeline.c: (gst_pipeline_class_init),
29917         (gst_pipeline_dispose), (gst_pipeline_set_property),
29918         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
29919         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
29920         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
29921         * gst/gstutils.h:
29922         * gst/schedulers/entryscheduler.c:
29923         * gst/schedulers/gstbasicscheduler.c:
29924         (gst_basic_scheduler_cothreaded_chain),
29925         (gst_basic_scheduler_chain_add_element):
29926         * testsuite/bins/interface.c: (main):
29927         Added GstBin test.
29928         Added GstSystemClock test.
29929         Implemented clock distribution code in GstBin.
29930         Implemented iterate sinks method for future use.
29931         Rearranged gstelement.h
29932         Fix GstIterator comparison bug.
29933         Moved some code to GstPipeline, mostly clocking related.
29934
29935 2005-03-09  Wim Taymans  <wim@fluendo.com>
29936
29937         * configure.ac:
29938         * gst/gst_private.h:
29939         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
29940         (gst_bin_remove_func), (gst_bin_remove),
29941         (gst_bin_get_by_name_recurse_up):
29942         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
29943         (gst_clock_id_compare_func), (gst_clock_id_wait),
29944         (gst_clock_id_wait_async), (gst_clock_init),
29945         (gst_clock_adjust_unlocked), (gst_clock_get_time):
29946         * gst/gstelement.h:
29947         * gst/gstinfo.c: (_gst_debug_init):
29948         * gst/gstobject.h:
29949         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
29950         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
29951         * gst/gstpad.h:
29952         Bump version number, we're now 0.9.0
29953         Add future debugging category.
29954         Fix NULL _unref() in _get_by_name_recurse_up
29955         Rearrange gstpad.h.
29956         Update some docs.
29957
29958 2005-03-08  Wim Taymans  <wim@fluendo.com>
29959
29960         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
29961         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
29962         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
29963         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
29964         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
29965         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
29966         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
29967         * gst/elements/gstidentity.c: (gst_identity_class_init):
29968         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
29969         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
29970         * gst/elements/gstshaper.c: (gst_shaper_class_init):
29971         * gst/elements/gststatistics.c: (gst_statistics_class_init):
29972         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
29973         (gst_tee_link):
29974         * gst/gstelement.c: (gst_element_class_init),
29975         (gst_element_base_class_init), (gst_element_init),
29976         (gst_element_get_random_pad), (gst_element_wait_state_change),
29977         (gst_element_change_state), (gst_element_dispose),
29978         (gst_element_finalize), (gst_element_set_loop_function):
29979         * gst/gstelement.h:
29980         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
29981         * gst/gstthread.c: (gst_thread_class_init),
29982         (gst_thread_release_children_locks), (gst_thread_change_state):
29983         * gst/schedulers/gstbasicscheduler.c:
29984         (gst_basic_scheduler_loopfunc_wrapper),
29985         (gst_basic_scheduler_chain_wrapper),
29986         (gst_basic_scheduler_src_wrapper),
29987         (gst_basic_scheduler_remove_element):
29988         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
29989         Remove threadsafe properties. Fix elements because GObject
29990         complains when installing a property before declaring a
29991         set/get_property handler.
29992         Rearrange gstelement.h file, use STATE macros for state locks.
29993         Free mutexes in the finalize method instead of dispose.
29994
29995 2005-03-08  Wim Taymans  <wim@fluendo.com>
29996
29997         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
29998         * gst/gstthread.c: (gst_thread_release_children_locks):
29999         Added parentage check.
30000         Fix build og GstThread again.
30001
30002 2005-03-08  Wim Taymans  <wim@fluendo.com>
30003
30004         * docs/design/part-MT-refcounting.txt:
30005         * docs/design/part-conventions.txt:
30006         * docs/design/part-gstobject.txt:
30007         * docs/design/part-relations.txt:
30008         * docs/design/part-standards.txt:
30009         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
30010         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
30011         (gst_bin_get_by_name), (gst_bin_get_by_interface),
30012         (gst_bin_iterate_all_by_interface):
30013         * gst/gstbuffer.h:
30014         * gst/gstclock.h:
30015         * gst/gstelement.c: (gst_element_class_init),
30016         (gst_element_change_state), (gst_element_set_loop_function):
30017         * gst/gstelement.h:
30018         * gst/gstiterator.c:
30019         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
30020         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
30021         (gst_object_dispatch_properties_changed), (gst_object_set_name),
30022         (gst_object_set_parent), (gst_object_unparent),
30023         (gst_object_check_uniqueness):
30024         * gst/gstobject.h:
30025         Docs updates, clean up some headers.
30026
30027 2005-03-07  Wim Taymans  <wim@fluendo.com>
30028
30029         * check/.cvsignore:
30030         * check/Makefile.am:
30031         * check/gst-libs/.cvsignore:
30032         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
30033         * check/gst/.cvsignore:
30034         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
30035         (START_TEST), (gstbus_suite), (main):
30036         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
30037         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
30038         (gst_data_suite), (main):
30039         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
30040         (add_fold_func), (gstiterator_suite), (main):
30041         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
30042         (thread_name_object), (thread_name_object_default),
30043         (gst_object_name_compare), (gst_object_suite), (main):
30044         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
30045         (gst_pad_suite), (main):
30046         * check/gstcheck.c: (gst_check_log_message_func),
30047         (gst_check_log_critical_func), (gst_check_init):
30048         * check/gstcheck.h:
30049         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
30050         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
30051         Added checks.
30052
30053 2005-03-07  Wim Taymans  <wim@fluendo.com>
30054
30055         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
30056         (gst_list_iterator_next), (gst_list_iterator_resync),
30057         (gst_list_iterator_free), (gst_iterator_new_list),
30058         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
30059         (gst_iterator_free), (gst_iterator_push), (filter_next),
30060         (filter_resync), (filter_uninit), (filter_free),
30061         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
30062         (gst_iterator_foreach), (find_custom_fold_func),
30063         (gst_iterator_find_custom):
30064         * gst/gstiterator.h:
30065         Added missing files.
30066
30067 2005-03-07  Wim Taymans  <wim@fluendo.com>
30068
30069         * Makefile.am:
30070         * configure.ac:
30071         * docs/design/part-MT-refcounting.txt:
30072         * docs/design/part-conventions.txt:
30073         * docs/design/part-gstobject.txt:
30074         * docs/design/part-relations.txt:
30075         * examples/mixer/mixer.c: (main):
30076         * examples/thread/thread.c: (eos), (main):
30077         * gst/Makefile.am:
30078         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
30079         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
30080         (gst_spider_plug_from_srcpad):
30081         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
30082         (gst_spider_identity_change_state),
30083         (gst_spider_identity_sink_loop_type_finding):
30084         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
30085         * gst/elements/gstidentity.c: (gst_identity_init):
30086         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
30087         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
30088         * gst/elements/gsttypefindelement.c: (free_entry):
30089         * gst/gst.c:
30090         * gst/gst.h:
30091         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
30092         (gst_bin_set_clock_func), (gst_bin_auto_clock),
30093         (gst_bin_set_index), (gst_bin_set_element_sched),
30094         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
30095         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
30096         (gst_bin_iterate_elements), (iterate_child_recurse),
30097         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
30098         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
30099         (compare_interface), (gst_bin_get_by_interface),
30100         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
30101         * gst/gstbin.h:
30102         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
30103         (gst_buffer_default_free), (gst_buffer_default_copy),
30104         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
30105         (gst_buffer_create_sub):
30106         * gst/gstbuffer.h:
30107         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
30108         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
30109         (gst_caps_unref), (gst_static_caps_get),
30110         (gst_caps_remove_and_get_structure), (gst_caps_append),
30111         (gst_caps_append_structure), (gst_caps_remove_structure),
30112         (gst_caps_copy_nth), (gst_caps_set_simple),
30113         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
30114         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
30115         (gst_caps_structure_intersect_field), (gst_caps_intersect),
30116         (gst_caps_structure_subtract_field), (gst_caps_subtract),
30117         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
30118         (gst_caps_structure_figure_out_union),
30119         (gst_caps_switch_structures), (gst_caps_do_simplify),
30120         (gst_caps_replace), (gst_caps_from_string),
30121         (gst_caps_copy_conditional):
30122         * gst/gstcaps.h:
30123         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
30124         (_gst_clock_id_free), (gst_clock_id_unref),
30125         (gst_clock_id_compare_func), (gst_clock_id_wait),
30126         (gst_clock_id_wait_async), (gst_clock_class_init),
30127         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
30128         (gst_clock_get_time), (gst_clock_set_time_adjust),
30129         (gst_clock_set_property), (gst_clock_get_property):
30130         * gst/gstclock.h:
30131         * gst/gstcompat.h:
30132         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
30133         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
30134         * gst/gstdata.h:
30135         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
30136         (gst_element_requires_clock), (gst_element_provides_clock),
30137         (gst_element_set_clock), (gst_element_clock_wait),
30138         (gst_element_wait), (gst_element_set_time_delay),
30139         (gst_element_is_indexable), (gst_element_add_pad),
30140         (gst_element_add_ghost_pad), (gst_element_remove_pad),
30141         (pad_compare_name), (gst_element_get_static_pad),
30142         (gst_element_request_pad), (gst_element_get_request_pad),
30143         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
30144         (gst_element_class_get_pad_template_list),
30145         (gst_element_class_get_pad_template), (gst_element_error_func),
30146         (gst_element_get_random_pad), (gst_element_get_event_masks),
30147         (gst_element_send_event), (gst_element_seek),
30148         (gst_element_get_query_types), (gst_element_query),
30149         (gst_element_get_formats), (gst_element_convert),
30150         (gst_element_is_locked_state), (gst_element_set_locked_state),
30151         (gst_element_sync_state_with_parent), (gst_element_change_state),
30152         (gst_element_finalize), (gst_element_yield),
30153         (gst_element_interrupt), (gst_element_set_scheduler),
30154         (gst_element_get_scheduler), (gst_element_set_loop_function):
30155         * gst/gstelement.h:
30156         * gst/gstevent.h:
30157         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
30158         (gst_format_get_by_nick), (gst_format_get_details),
30159         (gst_format_iterate_definitions):
30160         * gst/gstformat.h:
30161         * gst/gstindex.c: (gst_index_gtype_resolver):
30162         * gst/gstinfo.c:
30163         * gst/gstinfo.h:
30164         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
30165         (gst_mem_chunk_free):
30166         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
30167         (gst_object_ref), (gst_object_unref), (gst_object_sink),
30168         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
30169         (gst_object_dispatch_properties_changed),
30170         (gst_object_set_name_default), (gst_object_set_name),
30171         (gst_object_get_name), (gst_object_set_name_prefix),
30172         (gst_object_get_name_prefix), (gst_object_set_parent),
30173         (gst_object_get_parent), (gst_object_unparent),
30174         (gst_object_check_uniqueness), (gst_object_save_thyself),
30175         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
30176         (gst_object_set_property), (gst_object_get_property),
30177         (gst_object_get_path_string):
30178         * gst/gstobject.h:
30179         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
30180         (gst_real_pad_init), (gst_real_pad_get_property),
30181         (gst_pad_custom_new), (gst_pad_get_direction),
30182         (gst_pad_set_active), (gst_pad_is_active),
30183         (gst_pad_set_event_function), (gst_pad_is_linked),
30184         (gst_pad_link_free), (gst_pad_link_intersect),
30185         (gst_pad_link_fixate), (gst_pad_set_caps),
30186         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
30187         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
30188         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
30189         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
30190         (gst_pad_get_caps), (gst_pad_peer_get_caps),
30191         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
30192         (gst_pad_realize), (gst_pad_get_allowed_caps),
30193         (gst_real_pad_dispose), (gst_real_pad_finalize),
30194         (gst_pad_collectv), (gst_pad_collect_valist),
30195         (gst_pad_template_dispose), (gst_pad_template_new),
30196         (gst_pad_get_internal_links):
30197         * gst/gstpad.h:
30198         * gst/gstpipeline.c: (gst_pipeline_dispose),
30199         (gst_pipeline_change_state):
30200         * gst/gstpipeline.h:
30201         * gst/gstplugin.c:
30202         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
30203         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
30204         * gst/gstpluginfeature.h:
30205         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
30206         * gst/gstquery.c: (_gst_query_type_initialize),
30207         (gst_query_type_register), (gst_query_type_get_by_nick),
30208         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
30209         * gst/gstquery.h:
30210         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
30211         * gst/gstscheduler.c: (gst_scheduler_add_element),
30212         (gst_scheduler_factory_create):
30213         * gst/gststructure.c: (gst_structure_set_parent_refcount),
30214         (gst_structure_free), (gst_structure_set_name),
30215         (gst_structure_id_set_value), (gst_structure_set_value),
30216         (gst_structure_set_valist), (gst_structure_remove_field),
30217         (gst_structure_remove_fields),
30218         (gst_structure_remove_fields_valist),
30219         (gst_structure_remove_all_fields), (gst_structure_foreach),
30220         (gst_structure_map_in_place),
30221         (gst_caps_structure_fixate_field_nearest_int),
30222         (gst_caps_structure_fixate_field_nearest_double):
30223         * gst/gststructure.h:
30224         * gst/gstsystemclock.c: (gst_system_clock_class_init),
30225         (gst_system_clock_init), (gst_system_clock_dispose),
30226         (gst_system_clock_async_thread),
30227         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
30228         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
30229         * gst/gstsystemclock.h:
30230         * gst/gsttag.c: (gst_tag_list_add_value_internal),
30231         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
30232         * gst/gsttaginterface.c:
30233         * gst/gstthread.c: (gst_thread_dispose),
30234         (gst_thread_release_children_locks), (gst_thread_change_state),
30235         (gst_thread_main_loop):
30236         * gst/gsttrashstack.h:
30237         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
30238         * gst/gsttypes.h:
30239         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30240         (gst_element_request_pad), (gst_element_get_pad_from_template),
30241         (gst_element_request_compatible_pad),
30242         (gst_element_get_compatible_pad_filtered),
30243         (gst_element_get_compatible_pad), (gst_element_state_get_name),
30244         (gst_element_link_pads_filtered), (gst_element_link_filtered),
30245         (gst_element_link_many), (gst_element_link),
30246         (gst_element_link_pads), (gst_element_unlink_pads),
30247         (gst_element_unlink_many), (gst_element_unlink),
30248         (gst_pad_can_link_filtered), (gst_pad_can_link),
30249         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
30250         (gst_object_default_error), (gst_bin_add_many),
30251         (gst_bin_remove_many), (gst_element_populate_std_props),
30252         (gst_element_class_install_std_props), (gst_buffer_merge),
30253         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
30254         (link_fold_func), (gst_pad_proxy_setcaps):
30255         * gst/gstutils.h:
30256         * gst/gstvalue.c: (gst_value_deserialize_string):
30257         * gst/parse/grammar.y:
30258         * gst/schedulers/gstbasicscheduler.c:
30259         (gst_basic_scheduler_cothreaded_chain),
30260         (gst_basic_scheduler_chain_recursive_add),
30261         (gst_basic_scheduler_pad_link):
30262         * gst/schedulers/gstoptimalscheduler.c:
30263         (get_group_schedule_function),
30264         (gst_opt_scheduler_state_transition),
30265         (gst_opt_scheduler_add_element), (element_get_reachables_func):
30266         * libs/gst/bytestream/bytestream.c:
30267         * libs/gst/dataprotocol/dataprotocol.c:
30268         (gst_dp_header_from_buffer):
30269         * po/nb.po:
30270         * po/ru.po:
30271         * tests/threadstate/threadstate2.c: (eos):
30272         * tools/gst-compprep.c: (main):
30273         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
30274         (print_pad_info), (print_children_info):
30275         * tools/gst-launch.c: (idle_func), (main):
30276         * tools/gst-md5sum.c: (idle_func), (main):
30277         * tools/gst-xmlinspect.c: (print_element_info):
30278         First THREADED backport attempt, focusing on adding locks and
30279         making sure the API is threadsafe. Needs more work. More docs
30280         follow this week.
30281
30282 2005-02-24  Andy Wingo  <wingo@pobox.com>
30283
30284         * tests/bench-complexity.scm:
30285         * tests/complexity.gnuplot: New files, good for running complexity
30286         benchmarks.
30287
30288         * tests/Makefile.am:
30289         * tests/complexity.c: New test, sets up N elements, at each level
30290         teeing into M streams per element. Eeeenteresting.
30291
30292         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
30293         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
30294         running bench-mass_elements.scm.
30295
30296         * tests/bench-mass_elements.scm: New script, runs mass_elements
30297         for various numbers of identities, outputting the results to a
30298         file. Requires guile 1.6. Just for testing.
30299
30300 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
30301
30302         * gst/schedulers/fairscheduler.c:
30303           compile with debug disabled
30304
30305 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
30306
30307         * configure.ac:
30308           hunting season on 0.9 is now OPEN