libs/gst/dataprotocol/dataprotocol.c: Don't write to the same region of memory as...
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2
3         * libs/gst/dataprotocol/dataprotocol.c:
4         Don't write to the same region of memory as a uint64 and uint16
5         as this breaks strict aliasing rules and apparantly breaks on PPC
6         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
7
8 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
9
10         * libs/gst/controller/gstinterpolationcontrolsource.c:
11           Optimize list handling. Use own find function. Exploit that fact that
12           the list is sorted. Also pass back the node before, so that we can
13           insert quickly. Have a fast path for append.
14
15 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
16
17         * docs/design/draft-framestep.txt:
18         * docs/design/part-negotiation.txt:
19           Fix two typos.
20
21 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
22
23         * configure.ac:
24           Show configuration sumary after configure run. Based on patch by
25           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
26
27 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
28
29         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
30
31         * docs/manual/advanced-autoplugging.xml:
32         * docs/manual/advanced-threads.xml:
33         * docs/manual/basics-bins.xml:
34         * docs/manual/basics-elements.xml:
35         * docs/manual/basics-helloworld.xml:
36         * docs/manual/basics-pads.xml:
37           Add scale factor for pdf output.
38
39         * docs/manual/intro-basics.xml:
40           Switched sections "pads" and "bins" and added a pipeline diagram.
41
42         * docs/manual/intro-gstreamer.xml:
43           Added more info on gstreamer.
44
45         * docs/manual/intro-motivation.xml:
46           Commented out the whole section "current problem", which sounds
47           historical and somehow osolete; it could be turned in a positive
48           way and reused to improve the design principles.
49
50         * docs/manual/intro-preface.xml:
51           - Update URLs to library.gnome.org. 
52           - Do not mention GTK+ in preliminary reading (irrelevant). 
53           - Mention Plugin Writer's Manual and further reading only in the
54             previous section.
55           - Added a list of most relevant GObject/glib topics.
56
57         * docs/manual/Makefile.am:
58         * docs/manual/bin-element-ghost.fig:
59         * docs/manual/bin-element-ghost.png:
60         * docs/manual/bin-element-noghost.fig:
61         * docs/manual/bin-element-noghost.png:
62         * docs/manual/bin-element.fig:
63         * docs/manual/bin-element.png:
64         * docs/manual/filter-element-multi.fig:
65         * docs/manual/filter-element-multi.png:
66         * docs/manual/filter-element.fig:
67         * docs/manual/filter-element.png:
68         * docs/manual/gstreamer-overview.png:
69         * docs/manual/hello-world.fig:
70         * docs/manual/hello-world.png:
71         * docs/manual/linked-elements.fig:
72         * docs/manual/linked-elements.png:
73         * docs/manual/mime-world.fig:
74         * docs/manual/mime-world.png:
75         * docs/manual/queue.fig:
76         * docs/manual/queue.png:
77         * docs/manual/simple-player.png:
78         * docs/manual/sink-element.fig:
79         * docs/manual/sink-element.png:
80         * docs/manual/src-element.fig:
81         * docs/manual/src-element.png:
82         * docs/manual/diagrams-general.svg:
83         * docs/manual/diagrams-pipelines.svg:
84           Removed .fig, added .png counterpart.
85           
86           Fixes: #539137
87
88 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
89
90         * plugins/elements/gstmultiqueue.c:
91         * plugins/elements/gstmultiqueue.h:
92         revert extra-size-buffers stuff, caused some race conditions
93         and extra-size-buffers is not used anymore. Docs needs some updates
94
95 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
96
97         * win32/common/config.h:
98         * win32/common/gstenumtypes.c:
99         * win32/common/gstenumtypes.h:
100         * win32/common/gstversion.h:
101           Update win32 files.
102
103 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
104
105         * gst/gstdebugutils.h: (GstDebugGraphDetails),
106           (GST_DEBUG_BIN_TO_DOT_FILE):
107           Add missing Since' markers to gtk-doc blurbs.
108
109 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
110
111         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
112         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
113         (set_caps_1), (set_caps_ct1), (transform_ct1),
114         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
115         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
116         (transform_size_ct2), (buffer_alloc_ct2):
117         Add some more tests with switching caps in buffer_alloc.
118
119 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
120
121         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
122         (gst_test_trans_class_init), (result_sink_chain),
123         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
124         (gst_test_trans_push), (gst_test_trans_pop):
125         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
126         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
127         (set_caps_1), (set_caps_ct1), (transform_ct1),
128         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
129         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
130         (transform_size_ct2), (buffer_alloc_ct2),
131         (gst_basetransform_suite):
132         More tests, prepare for tests with switching caps in buffer_alloc.
133
134 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
135
136         * plugins/elements/gstmultiqueue.c:
137         * plugins/elements/gstmultiqueue.h:
138         Fix dead-lock in underrun_cb
139
140 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
141
142         * docs/design/part-states.txt:
143         Fix device open/close docs.
144
145 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
146
147         * ChangeLog:
148           Mention bugnumber for last commit.
149
150 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
151
152         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
153
154         * docs/manual/manual.xml:
155         - Reorganised the previous "introduction" bundle into Foreword,
156         Introduction, and About GStreamer. The two first are <preface>
157         docbook elements. The later is the first part of the book.
158         - added intro-gstreamer.xml (content partially from
159         intro-preface.xml)
160         - moved appendix-win32.xml into appendix-integration.xml
161
162         * docs/manual/intro-preface.xml: gstreamer section moved...
163         * docs/manual/intro-gstreamer.xml: ...here. new file.
164
165         * docs/manual/appendix-win32.xml: removed file. Content moved...
166         * docs/manual/appendix-integration.xml: ...here.
167         
168         * docs/manual/highlevel-components.xml: section about GstEditor moved...
169         * docs/manual/appendix-checklist.xml: ...here.
170         
171         Fixes: 538764
172
173 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
174
175         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
176
177         * docs/manual/basics-helloworld.xml:
178         * docs/manual/hello-world.fig:
179           - Explicitely include glib.h.
180           - Do not use global variables.
181           - Use g_printerr() instead of g_print().
182           - Minor formating/renaming to increase readibility.
183           - Renamed new_pad() to on_pad_added()
184           - Improved explenatory comments.
185           - renamed ogg parser to ogg demuxer
186           - Use "autoaudiosink" instead of "alsasink".
187           Fixes: #538619
188
189 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
190
191         * ChangeLog:
192           Remove cvs conflict marker.
193
194 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
195
196         * docs/README:
197           Document that for plgin-docs we extraxt he short-desc from the element
198           details.
199
200         * docs/design/part-states.txt:
201           Tell that devices should be closed in PAUSED -> READY.
202
203         * docs/manual/README:
204           Document how tests in the manual are handled.
205
206         * docs/manuals.mak:
207           Typo in comment.
208
209 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
210
211         * gst/gstbin.c: (bin_query_latency_fold):
212         Only care about latency min and max when the sink is actually a live
213         sink.
214
215 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
216
217         * docs/design/part-block.txt:
218         Fix typo.
219
220         * docs/design/part-element-transform.txt:
221         Add notes about why transform needs to know input/output sizes.
222         Add some issues that need to be solved.
223         Add some more use cases.
224
225         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
226         (gst_test_trans_class_init), (result_sink_chain),
227         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
228         (gst_test_trans_push), (gst_test_trans_pop):
229         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
230         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
231         (set_caps_1), (set_caps_ct1), (transform_ct1),
232         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
233         (gst_basetransform_suite):
234         Add suport for different pad templates and buffer-alloc.
235         Add more checks for caps and buffer-alloc.
236         Add checks for proxy buffer alloc.
237         Add unit test for copy transform.
238
239 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
240
241         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
242
243         * docs/manual/appendix-integration.xml:
244         * docs/manual/appendix-licensing.xml:
245         * docs/manual/basics-elements.xml:
246         * docs/manual/basics-helloworld.xml:
247         * docs/manual/basics-pads.xml:
248         * docs/manual/highlevel-components.xml:
249         * docs/manual/highlevel-xml.xml:
250         * docs/manual/intro-basics.xml:
251         * docs/manual/intro-preface.xml:
252           Typo and formatting fixes (#538594).
253
254 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
255
256         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
257         Fix some memory leaks and uses of object instances that we don't
258         actually own.
259
260 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
261
262         * plugins/elements/gstmultiqueue.c:
263         Add functionality to extra-size-buffers property.
264
265 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
266
267         * plugins/elements/gstmultiqueue.c:
268         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
269         activate the pads if they are added in STATE_NULL.
270
271 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
272
273         * docs/libs/gstreamer-libs-sections.txt:
274         Add new API to doc
275         * libs/gst/check/gstcheck.c:
276         * libs/gst/check/gstcheck.h:
277         API: gst_check_teardown_pad_by_name
278
279 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
280
281         * libs/gst/check/gstcheck.c:
282         * libs/gst/check/gstcheck.h:
283         Also setup request pads and allow setup pads by name (#537812)
284         API: gst_check_setup_src_pad_by_name
285         API: gst_check_setup_sink_pad_by_name
286
287 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
288
289         * tests/check/gst/gstbuffer.c:
290         * tests/check/pipelines/parse-launch.c:
291           Use HAVE_VALGRIND_H some more.
292
293 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
294
295         * scripts/cvs-update.sh:
296           Pass arguments to make.
297           Run autoregen.sh if Makefile is not there.
298
299 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
300
301         * configure.ac:
302         * gst/gstinfo.c:
303           Don't assume that <valgrind/valgrind.h> exists just because
304           the binary is there.
305
306 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
307
308         * tests/check/Makefile.am:
309         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
310         (gst_test_trans_class_init), (gst_test_trans_init),
311         (gst_test_trans_set_data), (result_sink_chain),
312         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
313         (gst_test_trans_pop):
314         * tests/check/libs/transform1.c: (GST_START_TEST),
315         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
316         Add some test basetransform element and the beginnings of various
317         unit tests for it.
318
319 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
320
321         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
322         Increase code readability.
323         Don't try to compare buffer offsets when ther are invalid.
324
325 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
326
327         * docs/design/Makefile.am:
328           Dist some more design docs.
329
330         * docs/random/moving-plugins:
331           Small addition: good plugins mustn't have functional code
332           within assertion macros.
333
334 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
335
336         * docs/design/draft-framestep.txt:
337         Some ideas about a framestep API
338
339         * docs/design/part-element-transform.txt:
340         Start design and use cases for basetransform in order to get it
341         fixed soon.
342
343 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
344
345         * gst/gsttaglist.h:
346           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
347           be in UTF-8 encoding.
348
349 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
350
351         * gst/gstbus.c:
352           Make it known that gst_bus_poll() is pure evil (fixes #538810).
353
354 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
355
356         * plugins/elements/gstcapsfilter.c:
357         * plugins/elements/gstfakesink.c:
358         * plugins/elements/gstfakesrc.c:
359         * plugins/elements/gstfdsink.c:
360         * plugins/elements/gstfdsrc.c:
361         * plugins/elements/gstfilesink.c:
362         * plugins/elements/gstfilesrc.c:
363         * plugins/elements/gstidentity.c:
364         * plugins/elements/gstmultiqueue.c:
365         * plugins/elements/gstqueue.c:
366         * plugins/elements/gsttee.c:
367         * plugins/elements/gsttypefindelement.c:
368           Remove short_description. Add basic docs for gsttypefindelement.
369           Simplify markup for fakesrc/fdsrc.
370
371 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
372
373         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
374         Added Since doc.
375
376 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
377
378         Patch by: joel larsson <tilljoel at gmail dot com>
379
380         * docs/plugins/gstreamer-plugins.args:
381         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
382         (gst_fd_src_init), (gst_fd_src_update_fd),
383         (gst_fd_src_set_property), (gst_fd_src_get_property),
384         (gst_fd_src_create):
385         * plugins/elements/gstfdsrc.h:
386         Add timeout property like udpsrc. Fixes #538628.
387         Add some more docs and example pipelines.
388
389 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
390
391         * docs/libs/gstreamer-libs-sections.txt:
392         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
393         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
394         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
395         (gst_base_sink_do_sync):
396         * libs/gst/base/gstbasesink.h:
397         * win32/common/libgstbase.def:
398         Add method to allow sinks to specify additional delay between the sync
399         times and the actual rendering of the data.
400         API: gst_base_sink_set_render_delay()
401         API: gst_base_sink_get_render_delay()
402
403 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
404
405         * configure.ac:
406         Bump version number back to dev -> 0.10.20.1
407
408 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
409
410         * docs/gst/gstreamer-sections.txt:
411         * gst/gsttaglist.c: (_gst_tag_initialize):
412         * gst/gsttaglist.h:
413         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
414         Fixes bug #538568.
415
416 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
417
418         * libs/gst/controller/gstcontroller.c:
419           Revert one change, that make ret value possible uninitialized.
420
421 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
422
423         * libs/gst/controller/gstcontroller.c:
424           Use freeze/thaw notify to sync notify emission a bit (its also more
425           efficient). Move debug output to LOG (is called a lot in a loop).
426           Always unset g_values if the have been initialized.
427
428 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
429
430         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
431         (gst_base_sink_wait_eos), (gst_base_sink_event):
432         If we have not seen a buffer before EOS, use the segment values to
433         report the current position instead of invalid positions.
434
435 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
436
437         * docs/plugins/tmpl/.cvsignore:
438         * tests/check/gst/.cvsignore:
439           Ignore more.
440
441 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
442
443         * libs/gst/controller/gstinterpolation.c:
444         * libs/gst/controller/gstinterpolationcontrolsource.c:
445         * tests/check/libs/controller.c:
446           Rewrite handling of default values. Fix overflow with unsigned types
447           in linear interpolation. Remove now obsolete _first_value() function.
448           Add more tests. Fixes #538201.
449
450 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
451
452         * libs/gst/base/gstbasetransform.c:
453         (gst_base_transform_class_init), (gst_base_transform_init),
454         (gst_base_transform_transform_caps),
455         (gst_base_transform_prepare_output_buffer):
456         Add debug info.
457         When a buffer is writable, its metadata is also writable so we don't
458         need to subbuffer (which then makes the buffer not-writable anymore).
459
460 === release 0.10.20 ===
461
462 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
463
464         * configure.ac:
465           releasing 0.10.20, "You Crazy Diamond"
466
467 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
468
469         * configure.ac:
470         0.10.19.3 pre-release
471
472 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
473
474         * configure.ac:
475         * gst/gstpreset.c:
476         Rename DATADIR to GST_DATADIR to avoid build problems
477         on win32. Patch By: David Schleef <ds@schleef.org>
478         Fixes: #536857
479
480 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
481
482         * configure.ac:
483         Explicitely link with -ldl if dladdr() is found there. Before it was
484         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
485         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
486
487 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
488
489         * gst/gsterror.c: (_gst_stream_errors_init):
490           Fix typo (spotted by Fabricio Godoy, #536723).
491
492 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
493
494         * configure.ac:
495         0.10.19.2 pre-release
496
497 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
498
499         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
500         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
501         Add some debug.
502         Make sure we don't generate invalid QoS messages.
503
504 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
505
506         * gst/gstevent.c: (gst_event_new_qos):
507         Add some assert and docs for invalid input to the qos function.
508
509 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
510
511         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
512         (gst_base_sink_get_position):
513         The reported position must always be smaller than the last seen
514         timestamps (or timestamp + duration for reverse).
515
516 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
517
518         Patch by: Rob Bradford <rob at robster dot org dot uk>
519
520         * gst/gstregistry.c: (gst_registry_scan_path_level):
521         Don't recurse into .debug directories as some distros install
522         the debugging symbols next to the plugins in .debug directories
523         and dlopen() crashes on them sometimes. Fixes bug #508070.
524
525         Add FIXME for 0.11 to not recurse into directories at all because
526         it's very inconsistent to the behaviour of other PATH environment
527         variables.
528
529 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
530
531         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
532         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
533         Fix position query range checks in reverse playback.
534
535 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
536
537         * gst/gstelement.c:
538         * gst/gstelement.h:
539         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
540         clear of the reference to the resulting pad must be released later
541         or not, resulting in possible leaks. Fixes bug #533865.
542
543 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
544
545         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
546
547         * gst/gstelementfactory.c:
548         Small doc fix. Fixes #535285.
549
550 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
551
552         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
553
554         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
555         (gst_base_src_get_range), (gst_base_src_pad_get_range),
556         (gst_base_src_loop), (gst_base_src_set_flushing),
557         (gst_base_src_change_state):
558         Make sending an EOS event to the basesrc non-blocking even if the
559         implementation does blocking waits in the create function. This is done
560         by unlocking the create function when EOS is sent.
561         Fixes #535218.
562
563 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
564
565         * tools/gst-inspect.c: (print_element_properties_info):
566         If possible print the element type of GValueArray properties.
567
568 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
569
570         * gst/gstiterator.c:
571         Remove an unused field from the private GstListIterator struct.
572
573 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
574
575         * libs/gst/controller/gstcontroller.c:
576           Add parameter guards.
577
578 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
579
580         * tests/check/gst/gstpipeline.c:
581           Revert test change and add comment why it should not work.
582
583 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
584
585         * tests/check/gst/gstpipeline.c:
586           Extending the test a little to verify that we also get the NULL state-
587           change message.
588
589 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
590
591         * gst/gstpreset.c: (gst_preset_default_get_meta),
592           (gst_preset_get_preset_names), (gst_preset_get_property_names),
593           (gst_preset_load_preset), (gst_preset_save_preset),
594           (gst_preset_rename_preset), (gst_preset_delete_preset),
595           (gst_preset_set_meta):
596           Add Since: markers to docs blurbs.
597
598         * win32/common/libgstreamer.def:
599           Add recently-added API.
600
601 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
602
603         Patch by: Stefan Kost  <ensonic@users.sf.net>
604
605         * configure.ac:
606         Add DATADIR for storing presets.
607
608         * docs/gst/gstreamer-docs.sgml:
609         * docs/gst/gstreamer-sections.txt:
610         * docs/gst/gstreamer.types.in:
611         Add GstPreset to docs.
612
613         * gst/Makefile.am:
614         * gst/gst.h:
615         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
616         (preset_open_and_parse_header), (preset_parse_version),
617         (preset_merge), (preset_get_keyfile),
618         (gst_preset_default_get_preset_names),
619         (gst_preset_default_get_property_names),
620         (gst_preset_default_load_preset),
621         (gst_preset_default_save_presets_file),
622         (gst_preset_default_save_preset),
623         (gst_preset_default_rename_preset),
624         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
625         (gst_preset_default_get_meta), (gst_preset_default_randomize),
626         (gst_preset_default_reset), (gst_preset_get_preset_names),
627         (gst_preset_get_property_names), (gst_preset_load_preset),
628         (gst_preset_save_preset), (gst_preset_rename_preset),
629         (gst_preset_delete_preset), (gst_preset_set_meta),
630         (gst_preset_get_meta), (gst_preset_class_init),
631         (gst_preset_base_init), (gst_preset_get_type):
632         * gst/gstpreset.h:
633         Add GstPreset to core. Fixes #396779
634
635         * tests/check/Makefile.am:
636         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
637         (gst_preset_test_set_property), (gst_preset_test_class_init),
638         (gst_preset_test_base_init), (gst_preset_test_get_type),
639         (gst_preset_test_plugin_init), (GST_START_TEST),
640         (remove_preset_file), (test_setup), (test_teardown),
641         (gst_preset_suite):
642         Add GstPreset unit tests.
643
644 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
645
646         * gst/gstpad.c: (gst_pad_event_default_dispatch):
647         The default event function on a sinkpad should return TRUE when
648         there are no internal links but should collect the return values from
649         the internal links otherwise.
650
651 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
652
653         * plugins/elements/gsttypefindelement.c:
654         (gst_type_find_element_src_event),
655         (gst_type_find_element_handle_event):
656         Use faster and safer _pad_push_event().
657
658 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
659
660         * docs/gst/gstreamer-sections.txt:
661         * gst/gstutils.c: (element_find_unlinked_pad),
662           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
663         * gst/gstutils.h:
664           API: add gst_bin_find_unlinked_pad()
665           API: deprecate gst_bin_find_unconnected_pad() (#401456)
666
667 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
668
669         * gst/gstclock.c:
670         * gst/gstclock.h:
671         * gst/gsttask.c:
672         * gst/gsttask.h:
673         Fixed a bunch of typos.
674
675 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
676
677         * gst/gstpad.h:
678         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
679           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
680           (gst_parse_bin_from_description_full):
681         * gst/gstutils.h:
682           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
683
684 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
685
686         * docs/pwg/advanced-tagging.xml:
687           Small docs update, can't be bothered to rewrite the nonsensical
688           examples right now.
689
690 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
691
692         * gst/gstevent.h:
693           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
694
695 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
696
697         * gst/parse/grammar.y:
698           Remove unneeded casts.
699
700 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
701
702         * gst/parse/grammar.y:
703         * tests/check/pipelines/parse-launch.c:
704           Get all missing elements from a parse launch string if possible
705           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
706
707 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
708
709         * tests/check/Makefile.am:
710         * tests/check/pipelines/parse-launch.c:
711           Add some unit tests for the new gst_parse_launch*_full() API.
712           (Exposes a previously-existing memory leak in the error code
713           path, so adding to VALGRIND_TO_FIX for now).
714
715 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
716
717         * docs/gst/gstreamer-sections.txt:
718         * gst/gst.c: (init_post):
719         * gst/gst_private.h: (_GstParseContext):
720         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
721           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
722           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
723           (gst_parse_launch_full):
724         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
725           (GstParseFlags), (GstParseContext):
726         * gst/gstutils.c: (gst_parse_bin_from_description),
727           (gst_parse_bin_from_description_full):
728         * gst/gstutils.h:
729         * gst/parse/grammar.y:
730         * gst/parse/types.h:
731         * win32/common/libgstreamer.def:
732           Add new gst_parse_*_full API (#528178):
733           API: gst_parse_launch_full()
734           API: gst_parse_launchv_full()
735           API: gst_parse_bin_from_description_full()
736           API: gst_parse_context_new()
737           API: gst_parse_context_free()
738           API: gst_parse_context_get_missing_elements()
739
740 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
741
742         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
743
744         * docs/faq/gst-uninstalled:
745           Also support ffmpeg in gst-uninstalled.
746
747 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
748
749         * configure.ac:
750         After discussion on IRC use the binary registry as default
751         but allow to disable it with --disable-binary-registry.
752
753         * win32/common/libgstreamer.def:
754         Add the two new symbols for the binary registry.
755
756 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
757
758         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
759         * gst/gstutils.c: (gst_parse_bin_from_description):
760         * gst/parse/grammar.y: (graph):
761           More guards against bad input; typo fix; some minor clean-ups.
762
763 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
764
765         Patch by: Sjoerd Simons <sjoerd at luon dot net>
766
767         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
768         If nothing else can be used, use the last buffer's start time as
769         the segment's last stop. Fixes bug #534258.
770
771 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
772
773         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
774           Move size sanity check to the right place: downstream may return
775           a buffer with a smaller size if the buffer caps are different than
776           the requested ones, as may happen when doing reverse negotiation.
777
778 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
779
780         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
781         (gst_file_sink_render):
782         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
783         (gst_file_src_start):
784         Small cleanups. Add note adbout g_fopen() on windows and why we don't
785         use it yet.
786
787 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
788
789         * gst/gstpad.c: (gst_pad_load_and_link):
790         * gst/gstutils.c: (gst_element_link_pads),
791         (gst_element_unlink_pads):
792         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
793         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
794         (gst_check_teardown_sink_pad),
795         (gst_check_element_push_buffer_list):
796         * tests/check/elements/fakesink.c: (GST_START_TEST):
797         * tests/check/elements/filesink.c:
798         * tests/check/elements/filesrc.c: (GST_START_TEST):
799         * tests/check/elements/multiqueue.c: (setup_multiqueue),
800         (mq_sinkpad_to_srcpad):
801         * tests/check/elements/tee.c: (GST_START_TEST):
802         * tests/check/generic/sinks.c: (GST_START_TEST):
803         * tests/check/gst/gstbin.c: (GST_START_TEST):
804         * tests/check/gst/gstevent.c: (GST_START_TEST):
805         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
806         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
807         * tests/check/gst/gstquery.c: (GST_START_TEST):
808         * tests/check/gst/gstutils.c: (GST_START_TEST):
809         * tests/check/libs/basesrc.c: (GST_START_TEST):
810         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
811         (gst_parse_test_element_change_state):
812         Don't use gst_element_get_pad().
813
814 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
815
816         * docs/Makefile.am:
817         Fix installing plugin documentation when gtk-doc is disabled.
818
819 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
820
821         * docs/manual/advanced-autoplugging.xml:
822         * docs/manual/basics-helloworld.xml:
823         * docs/manual/basics-pads.xml:
824         * docs/manual/highlevel-components.xml:
825         Avoid using a bad function in the example code.
826
827 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
828
829         * gst/gstclock.c: (gst_clock_set_calibration):
830         Fix debug of the new clock rate.
831
832 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
833
834         * win32/common/libgstbase.def:
835         Add gst_base_sink_wait_clock() to the exported symbols.
836
837 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
838
839         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
840
841         * libs/gst/base/gstbasetransform.c:
842         (gst_base_transform_sink_event):
843         Unref events that the GstBaseTransform::event vfunc didn't want to
844         have forwarded by the base class. Closes a leak in identity.
845         Fixes bug #446763.
846
847 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
848
849         * docs/libs/gstreamer-libs-sections.txt:
850         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
851         * libs/gst/base/gstbasesink.h:
852         Expose a method that was previously used internally to synchronize
853         against the clock because it can be useful for subclasses too.
854         API: GstBaseSink::gst_base_sink_wait_clock()
855
856 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
857
858         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
859           Add sanity check to make sure we don't get smaller buffers
860           than requested (and fallback to normal buffer alloc if we do).
861
862 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
863
864         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
865         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
866         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
867         Refactor adjusting the running_time with latency and offset into a
868         separate method.
869         When doing clipping, we still want to use the subclass get_times method,
870         just in case the DURATION or TIMESTAMP are not set.
871
872 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
873
874         * docs/gst/gstreamer-sections.txt:
875         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
876         * gst/gsttypefind.h:
877         * win32/common/libgstreamer.def:
878           API: add gst_type_find_suggest_simple(), #533740.
879
880 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
881
882         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
883           Use right error code when typefinding fails, so we can use
884           the default (translated) error messages.
885
886 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
887
888         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
889         (gst_base_src_start):
890         When the subclass did not set caps on outgoing buffers, configure the
891         caps we negotiated on the source pad.
892         When the typefind helper does not find caps, error out properly instead
893         of doing things with NULL caps.
894
895 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
896
897         * gst/gsttypefind.h:
898           Tabs to spaces, oh yes!
899
900 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
901
902         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
903           Add David's and Benjamin's tests for array intersection to the
904           unit test suite (#147931).
905
906 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
907
908         * gst/gstevent.c:
909           Document that gst_event_new_tag() and gst_event_new_navigation()
910           take ownership of the taglist/structure passed to them. (#533635).
911
912 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
913
914         * docs/Makefile.am:
915         Don't descend into the plugins dir if plugin docs building
916         is disabled.
917
918         * docs/README:
919         Add a note about the new type:GTypeName syntax for the plugin
920         documentation .types file.
921
922 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
923
924         * gst/gstmessage.c: (gst_message_new_error),
925         (gst_message_new_warning), (gst_message_new_info):
926         * gst/gstmessage.h:
927         Mark the debug string parameters as const. Fixes bug #533490.
928
929 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
930
931         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
932         Sort buffer cache list by end offsets. This makes sure that we don't
933         stop to search for a cached buffer that contains the requested data
934         too early.
935         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
936         more efficient. Fixes bug #459862.
937
938 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
939
940         * gst/gstinfo.c:
941           Explain why we copy the list.
942
943         * gst/gstpipeline.c:
944           Improve docs.
945
946         * gst/gstutils.c:
947           Add one debug-log statement to help tracing probelms with linking pads.
948
949 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
950
951         * tests/check/gst/gstinfo.c:
952         Add a test for removing the default log handler. Seems to fail under
953         windows.
954
955 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
956
957         * gst/gstpad.c: (gst_pad_peer_accept_caps):
958         Release pad lock before calling out to avoid a possible deadlock.
959
960 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
961
962         * gst/parse/grammar.y:
963         Remove unneeded value unset.
964
965         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
966         Add unit test for de/serialization of caps.
967
968 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
969
970         * plugins/elements/gstfakesink.c:
971         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
972         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
973         (gst_fake_src_class_init):
974         Use custom marshalers that take GstMiniObject as first parameter.
975         Using OBJECT as parameter while a GstMiniObject is given will lead
976         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
977
978 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
979
980         * plugins/elements/gsttypefindelement.c:
981         (gst_type_find_element_handle_event),
982         (gst_type_find_element_send_cached_events),
983         (gst_type_find_element_change_state):
984         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
985         immediately.
986
987 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
988
989         * plugins/elements/gsttypefindelement.c:
990         (gst_type_find_handle_src_query), (stop_typefinding),
991         (gst_type_find_element_handle_event),
992         (gst_type_find_element_send_cached_events),
993         (gst_type_find_element_change_state):
994         Forward FLUSH_START events immediately and clean up instead of
995         caching them.
996
997 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
998
999         Patch by: Sjoerd Simons <sjoerd at luon dot net>
1000
1001         * libs/gst/base/gstbasetransform.c:
1002         (gst_base_transform_buffer_alloc):
1003         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
1004         fall back to default negotiation in the chain function if the caps
1005         are different from what was requested. Fixes bug #526768.
1006
1007 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
1008
1009         * gst/gstsegment.c:
1010         * tests/check/gst/gstsegment.c:
1011           No, let's not use g_slice_{dup|copy} here, since they only exist
1012           since GLib 2.14 and we still depend only on >= 2.12. Also add
1013           unit test for gst_segment_copy().
1014
1015 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
1016
1017         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
1018           Try to fix 'dereferencing type-punned pointer will break strict
1019           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
1020           changed the default GType typedef from gulong to gsize at some point,
1021           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
1022           g_once_* functions all take a gsize * though, so work around the type
1023           mismatch for C++ by doing everything in gsize and casting to GType
1024           later.
1025
1026 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
1027
1028         * plugins/elements/gstmultiqueue.c:
1029         Add documentation for the signals to push our core plugin docs
1030         coverage back up to 100%.
1031
1032 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1033
1034         * gst/gstinfo.h (GST_FUNCTION):
1035           Reverted GST_FUNCTION to the old version as we don't want the
1036           full signature in C++ code. Also added support for MSVC.
1037
1038 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
1039
1040         * gst/gstutils.h:
1041         Intern the type name string, similar to what G_DEFINE_TYPE does.
1042
1043 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
1044
1045         * gst/gstutils.h:
1046         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
1047
1048 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
1049
1050         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
1051
1052         * libs/gst/base/gstbasetransform.c:
1053         (gst_base_transform_buffer_alloc):
1054         Don't passthrough buffer allocation too easily if the caps change.
1055         This breaks when working in passthrough mode and upstream changes
1056         it's caps. Fixes bug #526768.
1057
1058 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1059
1060         * gst/gstinfo.c (gst_debug_log_valist):
1061           Improved the __FILE__ part of debug output for MSVC.
1062
1063 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1064
1065         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
1066           Declaration after statement fix for compilers like MSVC.
1067
1068 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1069
1070         * win32/common/config.h.in:
1071           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
1072           use the real thing than having "???" unconditionally.
1073
1074 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1075
1076         * gst/gstinfo.h (GST_FUNCTION):
1077           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
1078
1079 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1080
1081         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
1082         Small code cleanup.
1083
1084         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
1085         (gst_base_sink_set_flushing):
1086         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1087         Fix some comments.
1088
1089 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1090
1091         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1092         (gst_fake_src_init), (gst_fake_src_set_property),
1093         (gst_fake_src_get_property), (gst_fake_src_start):
1094         * plugins/elements/gstfakesrc.h:
1095         Added format property to control the format of the newsegment events.
1096         API: GstFakeSrc:format
1097
1098 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
1099
1100         * win32/common/libgstreamer.def:
1101         Add gst_pad_has_name() to the exported symbols.
1102
1103 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
1104
1105         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1106         * libs/gst/base/gstbasetransform.c:
1107         (gst_base_transform_prepare_output_buffer):
1108         Don't allow negative sizes when allocating new buffers.
1109         Fixes bug #461253.
1110
1111 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
1112
1113         Patch by: Sjoerd Simons <sjoerd at luon net>
1114
1115         * gst/gstbus.c: (gst_bus_source_dispatch):
1116           Don't print a warning if the queue is empty when we try to pop
1117           here. That could happen if another thread or callback set the
1118           bus to flushing between the source's check/prepare and the
1119           dispatch being called (#531538).
1120
1121 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
1122
1123         * plugins/elements/gstmultiqueue.c:
1124           Small docs fix.
1125         
1126 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
1127
1128         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1129         Add unit test for deserializing uint64s and check some really large
1130         numbers in the int64 test.
1131
1132 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
1133
1134         * tools/gst-inspect.c: (n_print), (print_hierarchy),
1135         (print_interfaces), (print_element_properties_info),
1136         (print_signal_info):
1137         Use "%s" as format string instead of printing strings directly.
1138
1139 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
1140
1141         * gst/gstclock.c: (gst_clock_set_calibration):
1142         Make some checks actually useful.
1143
1144         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
1145         Remove some unused code. Unsigned integers tend to be >= 0.
1146
1147 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1148
1149         * gst/gstminiobject.c: (gst_value_get_mini_object):
1150           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
1151           function was not in the unscheduled 0.10.19 release.
1152
1153 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1154
1155         * gst/gstregistry.c: (gst_registry_scan_path_level):
1156           Only print one log message per non-plugin file.
1157
1158 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1159
1160         * gst/gstinfo.c: (gst_debug_log_default):
1161           Fix alignment of debug log columns on 64-bit.
1162
1163 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1164
1165         * docs/libs/Makefile.am:
1166         * docs/libs/gstreamer-libs-sections.txt:
1167           Ignore private controller headers for docs.
1168
1169 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
1170
1171         * libs/gst/controller/gstcontrollerprivate.h:
1172         * libs/gst/controller/gsthelper.c:
1173         * libs/gst/controller/gstinterpolation.c:
1174         * libs/gst/controller/gstinterpolationcontrolsource.c:
1175         (gst_interpolation_control_source_set_interpolation_mode):
1176         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
1177         * libs/gst/controller/lib.c:
1178         Move some private declarations into private headers.
1179
1180 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
1181
1182         * gst/gstdebugutils.c: (debug_dump_element_pad):
1183         Remove some code that is unused after Stefan's refactoring and uses
1184         uninitialized variables now, resulting in a compiler warning.
1185
1186 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1187
1188         * gst/gstregistry.c: (gst_registry_scan_path_level):
1189           Run g_str_has_suffix() only on the file name, not the
1190           entire file path.
1191
1192 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
1193
1194         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
1195           Since we're not called only from the chain function any longer,
1196           we can't assume that there's always data in the queue, so move
1197           the is_full check to the beginning of the loop (otherwise we'd
1198           hit the assert when changing the limit properties while the
1199           queue is empty or not running yet).
1200           Also, only set a discont if items were actually removed from
1201           the queue.
1202
1203         * tests/check/elements/queue.c: (test_leaky_downstream):
1204           Test case for the above.
1205
1206 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
1207
1208         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
1209
1210         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
1211         (gst_queue_chain), (queue_capacity_change),
1212         (gst_queue_set_property):
1213         When changing thr max capacity of a leaky queue, immediatly drop buffers
1214         instead of waiting for a push on the sinkpad. Fixes #530637.
1215
1216 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
1217
1218         * gst/gstdebugutils.c:
1219           Refactor code and fix handling of ghostpads and their proxypads.
1220
1221 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1222
1223         * docs/gst/gstreamer-sections.txt:
1224         * gst/gstevent.c: (gst_event_has_name):
1225         * gst/gstevent.h:
1226         * tests/check/gst/gstevent.c: (GST_START_TEST):
1227         Add method to conveniently check the name of a custom event with
1228         gst_event_has_name().
1229         Reformat the event docs so that related methods are put together instead
1230         of the default alphabetical sort.
1231         Update unit test with new method.
1232         API: GstEvent::gst_event_has_name()
1233
1234 2008-04-28  Michael Smith <msmith@songbirdnest.com>
1235
1236         * libs/gst/check/Makefile.am:
1237           Don't add an explicit link to libgstreamer-0.10.la; it's already
1238           included in GST_OBJ_LIBS.
1239
1240 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
1241
1242         * gst/gst.c:
1243         Register GstClock type from a type-safe context. Fixes bug #530317.
1244
1245 2008-04-25  Michael Smith <msmith@songbirdnest.com>
1246
1247         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
1248         * tools/gst-run.c:
1249           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
1250
1251 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1252
1253         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
1254         (gst_bin_dispose):
1255         Use the GLib stuff to create a private structure.
1256         Add some locking around some dispose methods to make them a little
1257         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
1258
1259 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
1260
1261         * libs/gst/base/gstbasesink.h:
1262         * libs/gst/base/gstbasesrc.h:
1263         * libs/gst/base/gstbasetransform.h:
1264         * libs/gst/base/gstcollectpads.h:
1265           Fix doc typos and unify caps a bit.
1266
1267 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
1268
1269         * tools/gst-launch.1.in:
1270           Forgot to also add the envvar docs here.
1271
1272 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
1273
1274         * gst/gst.c: (init_post), (gst_deinit):
1275         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
1276           (test_concurrent_create), (gst_pipeline_suite):
1277           Ref some more classes in gst_init() to work around thread-safety
1278           issues in pre-2.16 GLibs, and add basic unit test.
1279
1280 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1281
1282         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
1283         (gst_base_sink_send_event):
1284         Rearrange the latency query code. We always want to do the upstream
1285         query, even if we are not live so that the upstream elements can get the
1286         latency results too. If we fail doing the query and we are live, we
1287         return TRUE afterwards.
1288
1289 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
1290
1291         patch by: Jason Zhao <e3423c@motorola.com>
1292
1293         * docs/gst/running.xml:
1294         * gst/gst.c:
1295           Enable/disable scan_and_update_registry() based on commandline switch
1296           or environment variable. Fixes #520468.
1297           
1298         * ChangeLog:
1299           Fix typo in my previous commit.
1300
1301 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
1302
1303         * gst/gstregistrybinary.c:
1304           Add a warning if we hit unhandled factories when saving.
1305           More debug logging detail, but move to LOG category.
1306
1307 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
1308
1309         * gst/gstregistry.c:
1310           Tell the *truth* when improving the documentation.
1311
1312 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
1313
1314         * gst/gstelementfactory.c: (gst_element_factory_make):
1315         Unref the factory after it was used the last time, not before.
1316
1317         * gst/gstindexfactory.c: (gst_index_factory_make):
1318         Improve debugging a bit and don't leak a ref to the index factory with
1319         each call.
1320
1321 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
1322
1323         * gst/gstregistry.c:
1324           Improve the documentation.
1325
1326 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
1327
1328         * gst/gstsegment.c:
1329           The glib macro seems to be borked. Use g_slice_copy directly and cast
1330           in the hope that this fixes the warning on 64bit.
1331
1332 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
1333
1334         * gst/gstsegment.c:
1335           Document the new function. Use g_slice_dup() (no need for
1336           gst_segment_init()).    
1337
1338 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
1339
1340         * docs/gst/gstreamer-sections.txt:
1341           Move GParamSepc macros to standart section.
1342   
1343         * gst/gstbin.c:
1344           Dn't document _get_type - its in private section in docs anyway and
1345           this doc-blob was incomplete.
1346
1347         * gst/gstclock.h:
1348           Fix wrong symbol names in docs.
1349
1350         * gst/gstmacros.h:
1351           Add once doc sentence.
1352
1353         * tests/check/gst/.cvsignore:
1354           Ignore more.
1355
1356 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
1357
1358         * docs/gst/Makefile.am:
1359           And remove those libs here.
1360
1361 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
1362
1363         * docs/libs/Makefile.am:
1364           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
1365
1366 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1367
1368         Patch by: Olivier Crete <tester at tester dot ca>
1369
1370         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
1371         Add the min-threshold to the min latency if possible. Fixes #529148.
1372
1373 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
1374
1375         * docs/gst/gstreamer.types.in:
1376           Stupid editor, I removed that line as it should go in yet.
1377
1378 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
1379
1380         * docs/gst/gstreamer.types.in:
1381         * docs/libs/gstreamer-libs.types:
1382           Remove library types fro core docs and have them in libs docs.
1383           Reformat and cleanup. Add comment for miniobject types.
1384
1385 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
1386
1387         * gst/gsturi.c: (gst_uri_get_protocol):
1388           Fix leak: g_strdown operates on the string in place, while
1389           g_ascii_strdown() returns a newly-allocated string.
1390
1391 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
1392
1393         * tools/gst-inspect.c: (print_uri_handler_info),
1394         (print_element_info):
1395         Print the URI protocols and the URI type supported by the element.
1396
1397 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1398
1399         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
1400         Use g_value_take_string() instead of the deprecated
1401         g_value_set_string_take_ownership().
1402
1403 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1404
1405         * gst/gstregistrybinary.c: (_gst_crc32):
1406         Return the old CRC instead of 0 if we give a NULL buffer
1407         or a buffer with a length of 0.
1408
1409 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
1410
1411         * gst/gsturi.c: (gst_uri_protocol_check_internal),
1412         (gst_uri_get_protocol), (gst_uri_has_protocol),
1413         (gst_uri_construct), (gst_uri_handler_set_uri):
1414         A valid URI scheme can also include '+', '-' and '.' additional
1415         to alphanumeric characters as per RFC 3986 Section 3.1.
1416
1417         Handle URI schemes case insensitive in all places and convert
1418         to lower-case when constructing an URI or setting an URI with
1419         the GstURIHandler interface. Fixes bug #528868.
1420         All elements can still assume (as before) that they will
1421         get passed URIs with a lower-case URI scheme by the GstURIHandler
1422         interface.
1423
1424 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
1425
1426         * gst/gstcaps.c: (gst_static_caps_get):
1427         * gst/gstclock.c: (gst_clock_entry_new):
1428           Don't use g_atomic_set_int where it's not needed.
1429
1430 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
1431
1432         * gst/gstvalue.c: (gst_value_deserialize_caps):
1433         * gst/parse/grammar.y:
1434         Fix 2 caps leaks.
1435
1436 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
1437
1438         * gst/gstutils.c: (gst_atomic_int_set):
1439         Use g_atomic_int_set() here too instead of assignment +
1440         g_atomic_int_get().
1441
1442 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
1443         
1444         * gst/gstutils.c:
1445         * gst/gstutils.h:
1446         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
1447         now that we depend on new enough GLib.
1448
1449         * gst/gstcaps.c: (gst_static_caps_get):
1450         * gst/gstclock.c: (gst_clock_entry_new):
1451         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
1452         (gst_debug_set_default_threshold), (_gst_debug_category_new),
1453         (gst_debug_category_set_threshold):
1454         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1455         (gst_base_sink_set_qos_enabled):
1456         * libs/gst/net/gstnettimeprovider.c:
1457         (gst_net_time_provider_set_property):
1458         Use g_atomic_int_set() instead of gst_atomic_int_set().
1459
1460 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
1461
1462         * gst/gstquery.c:
1463           Also use G_GINT64_CONSTANT for the queries.
1464
1465 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
1466
1467         * gst/gstmessage.c:
1468           Use G_GINT64_CONSTANT in varargs function.
1469
1470 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
1471
1472         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
1473         Initialize the registry magic with zeroes.
1474
1475 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
1476
1477         * gst/gstregistrybinary.c: (_gst_crc32),
1478         (gst_registry_binary_write),
1479         (gst_registry_binary_initialize_magic),
1480         (gst_registry_binary_write_cache),
1481         (gst_registry_binary_check_magic),
1482         (gst_registry_binary_read_cache):
1483         * gst/gstregistrybinary.h:
1484         Add crc32 checksum to the binary registry file and check this before
1485         accepting a registry file.
1486
1487         Also free the data list when writing to the registry file fails.
1488
1489 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
1490
1491         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1492         (gst_registry_binary_load_feature),
1493         (gst_registry_binary_load_plugin):
1494         If an element supports the Uri interface, returns a valid pointer
1495         to the supported URI protocols but this pointer contains nothing
1496         don't try to save that as it will corrupt the registry.
1497
1498         Don't unref the plugin if we added it to the registry already but
1499         fail to load a feature as gst_registry_add_plugin() takes ownership
1500         of the plugin.
1501
1502         Improve debugging a bit.
1503
1504 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
1505
1506         * gst/gsttaglist.h:
1507           Clarify some tag item docs after discussion on irc.
1508
1509 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
1510
1511         * docs/gst/gstreamer-docs.sgml:
1512           Remove commented out plugins (they have their own docs). Update
1513           comments.
1514
1515 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
1516
1517         * docs/gst/gstreamer-docs.sgml:
1518         * docs/gst/gstreamer-sections.txt:
1519         * gst/gstparamspecs.c:
1520         * gst/gstparamspecs.h:
1521           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
1522           docs to own section.
1523
1524         * gst/gstvalue.c:
1525           This now only documents GValue.
1526           
1527         * docs/libs/gstreamer-libs-sections.txt:
1528         * libs/gst/controller/gstcontroller.h:
1529           Remove GST_PARAM_CONTROLLABLE.
1530
1531 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
1532
1533         * docs/README:
1534           Correct file path. Tell about how to use -overrides.txt.
1535         * docs/design/draft-tagreading.txt:
1536           Small design update.
1537
1538 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
1539
1540         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
1541         (gst_registry_binary_load_plugin):
1542         Fix a typo in a debug message and revert change from yesterday as
1543         gst_registry_add_plugin() will only fail if something is really wrong
1544         already and we can't survive it anyway.
1545
1546 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
1547
1548         * gst/gst.c: (init_post), (gst_deinit):
1549           Pre-register GstGError GType from a thread-safe context
1550           (fixes #527967); unref enum type classes in deinit.
1551
1552 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
1553
1554         Patch by: Rene Stadler <mail at renestadler de>
1555
1556         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
1557           Merging an empty list with another list in KEEP_ALL mode should
1558           yield an empty list as result and not the second list (#512578).
1559
1560         * tests/check/gst/gsttagsetter.c:
1561           Add unit test for tag merge modes and the aforementioned bug.
1562
1563 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
1564
1565         Patch by: Rene Stadler <mail at renestadler de>
1566
1567         * gst/gsttaglist.h:
1568           Fix description to match the order in the table (#512577).
1569   
1570 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
1571
1572         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
1573
1574         * libs/gst/net/gstnettimepacket.h:
1575         * docs/libs/gstreamer-libs-sections.txt:
1576           Define socklen_t as int if it's not defined yet. Fixes compilation
1577           with MSVC6 and other versions where socklen_t is not defined in
1578           the windows headers (#518022).
1579
1580 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
1581
1582         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
1583         If gst_registry_add_plugin() fails our reference to the plugin is
1584         invalid so don't try to use it anymore and instead error out.
1585
1586 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1587
1588         * tools/gst-xmlinspect.c: (print_element_info), (main):
1589           De-cruft a bit. If no argument is specified, print all elements in
1590           XML syntax rather than a freestyle list of elements like gst-inspect.
1591           Also, don't print XML header chunk unless we actually have something
1592           to print (ie. don't print it before an error message); print error
1593           message to stderr not stdout. Remove support for printing plugin
1594           info (it would just output something freestyle along the lines of
1595           gst-inspect so far), which fixes #514507. Also add license header.
1596
1597 2008-04-11  Julien Moutte  <julien@fluendo.com>
1598
1599         Mac OS X love...
1600         * configure.ac: Merge platform specific defines, introduce a new
1601         define on OS X to remember that forking when updating registry is
1602         unsafe.
1603         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
1604         module.
1605         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
1606         is defined.
1607         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
1608         condition that leads to absolutely no plugins being registered on
1609         OS X.
1610
1611 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
1612
1613         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
1614
1615         * gst/gstutils.c: (gst_pad_add_data_probe),
1616           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
1617           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
1618           (gst_pad_add_buffer_probe_full):
1619         * gst/gstutils.h:
1620         * docs/gst/gstreamer-sections.txt:
1621         * win32/common/libgstreamer.def:
1622           Add gst_pad_add_*_probe_full() functions with a notify callback that
1623           lets the caller free the data it passes to the probe functions. This
1624           is useful for bindings such as gst-python or gstreamermm (#526814).
1625           API: gst_pad_add_data_probe_full
1626           API: gst_pad_add_buffer_probe_full
1627           API: gst_pad_add_event_probe_full
1628
1629         * tests/check/gst/gstutils.c:
1630           Add minimal unit test to make sure freeing the data actually works
1631           as expected.
1632
1633         * tests/benchmarks/.cvsignore:
1634           Random cvsignore addendum.
1635
1636 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
1637
1638         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
1639           (GST_DEBUG_BIN_TO_DOT_FILE):
1640           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
1641           to it in the docs (since these are macros the types of the arguments
1642           won't be shown in the docs otherwise).
1643
1644 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
1645
1646         * gst/gstpad.c:
1647           Do not abort on out of memory for pad_alloc_buffer.
1648
1649 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
1650
1651         * libs/gst/check/gstcheck.c:
1652           Remove blank line between symbol name ad parameters to fix gtkdoc
1653           warning.
1654
1655 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
1656
1657         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
1658
1659         * docs/gst/gstreamer-sections.txt:
1660         * gst/gstsegment.c:
1661         * gst/gstsegment.h:
1662         * win32/common/libgstreamer.def:
1663           Expose gst_segment_copy() to make things easier for the c++ bindings.
1664           Fixes #518932.
1665           API: gst_segment_copy()
1666
1667 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
1668
1669         * gst/gst.c: (gst_init_get_option_group), (init_post):
1670           Fix const position; ref GType classes for enum types to work
1671           around thread-safety issues in GLib versions < 2.16.
1672
1673 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
1674
1675         * docs/design/part-buffering.txt:
1676         Fix some typos and set the estimated total for push mode to -1.
1677
1678         * gst/gstquery.c: (gst_query_new_buffering):
1679         Set buffering-left to 0 as we're not buffering by default.
1680
1681         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
1682         Implement BUFFERING query.
1683
1684 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
1685
1686         Based on patch by: Milosz Derezynski <internalerror gmail com>
1687
1688         * gst/gsterror.c: (_gst_stream_errors_init):
1689         * gst/gsterror.h:
1690           Add two new error codes for encrypted content. Fixes #524659.
1691           API: GST_STREAM_ERROR_DECRYPT
1692           API: GST_STREAM_ERROR_DECRYPT_NOKEY
1693
1694 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
1695
1696         * gst/gstquery.h:
1697           Fix typo.
1698
1699         * win32/common/libgstreamer.def:
1700           Add new functions.
1701
1702 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
1703
1704         * plugins/elements/gstidentity.c: (gst_identity_event),
1705         (gst_identity_start):
1706         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
1707         event after processing some data. Fixes bug #526042.
1708
1709 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1710
1711         * docs/gst/gstreamer-sections.txt:
1712         * gst/gstquery.c: (gst_query_parse_latency),
1713         (gst_query_set_buffering_percent),
1714         (gst_query_parse_buffering_percent),
1715         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
1716         * gst/gstquery.h:
1717         Rename _avail -> _range
1718         API: gst_query_set_buffering_range
1719         API: gst_query_parse_buffering_range
1720
1721 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1722
1723         * docs/design/part-buffering.txt:
1724         * gst/gstquark.c:
1725         * gst/gstquark.h:
1726         * gst/gstquery.c: (gst_query_parse_latency),
1727         (gst_query_new_buffering), (gst_query_set_buffering_percent),
1728         (gst_query_parse_buffering_percent):
1729         * gst/gstquery.h:
1730         Add busy field and quark for the buffering query so that the app can
1731         only use the query to see if buffering is in progress.
1732
1733 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1734
1735         * docs/gst/gstreamer-sections.txt:
1736         * gst/gstmessage.c: (gst_message_set_buffering_stats),
1737         (gst_message_parse_buffering_stats):
1738         * gst/gstmessage.h:
1739         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
1740         (gst_query_parse_latency), (gst_query_new_buffering),
1741         (gst_query_set_buffering_percent),
1742         (gst_query_parse_buffering_percent),
1743         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
1744         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
1745         * gst/gstquery.h:
1746         Reorder the message docs and headers for clarity.
1747         Add aditional buffering stats API for messages.
1748         Add buffering query.
1749         Convert some leftover queries to use GstQuark.
1750         API: gst_message_set_buffering_stats
1751         API: gst_message_parse_buffering_stats
1752         API: GST_QUERY_BUFFERING
1753         API: GstBufferingMode
1754         API: gst_query_new_buffering
1755         API: gst_query_set_buffering_percent
1756         API: gst_query_parse_buffering_percent
1757         API: gst_query_set_buffering_stats
1758         API: gst_query_parse_buffering_stats
1759
1760 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1761
1762         * gst/gstmessage.c: (gst_message_new_error),
1763         (gst_message_new_warning), (gst_message_new_info),
1764         (gst_message_new_buffering), (gst_message_new_state_changed),
1765         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
1766         (gst_message_new_new_clock), (gst_message_new_segment_start),
1767         (gst_message_new_segment_done), (gst_message_new_duration),
1768         (gst_message_new_async_start), (gst_message_parse_buffering),
1769         (gst_message_parse_state_changed),
1770         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
1771         (gst_message_parse_new_clock), (gst_message_parse_error),
1772         (gst_message_parse_warning), (gst_message_parse_info),
1773         (gst_message_parse_segment_start),
1774         (gst_message_parse_segment_done), (gst_message_parse_duration),
1775         (gst_message_parse_async_start):
1776         Use GstQuark for messages.
1777
1778 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1779
1780         * gst/gstquark.c: (_priv_gst_quarks_initialize):
1781         * gst/gstquark.h:
1782         Add some more quarks needed for messages and queries.
1783
1784 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1785
1786         * docs/design/part-buffering.txt:
1787         Remove the "none" buffering mode, STREAM is a good default.
1788         Move estimated-time to the avail query, that's when it will be needed.
1789         Other small typo fixes and updates.
1790
1791 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
1792
1793         * gst/gstindex.c: (gst_index_resolver_get_type):
1794           Don't put descriptions into the nick field of a GEnumValue: it's not
1795           meant for that and some language bindings rely on the nick field to
1796           construct constants and the like. Fixes #526705.
1797
1798 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
1799
1800         * NEWS:
1801         * RELEASE:
1802         * gstreamer.doap:
1803           Merge other changes from 0.10.19 release branch.
1804
1805 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
1806
1807         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
1808
1809         * configure.ac:
1810         Actually build dlls when cross-compiling with mingw32.
1811         Fixes bug #526247.
1812
1813 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
1814
1815         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
1816
1817         * gst/gstpoll.c:
1818         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
1819
1820 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1821
1822         * docs/design/draft-latency.txt:
1823         Fix typo.
1824
1825         * docs/design/part-buffering.txt:
1826         Update design docs with more buffering ideas.
1827
1828 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
1829
1830         * configure.ac:
1831           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
1832
1833 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
1834
1835         * configure.ac:
1836           Revert part that belongs to the preset patch.
1837
1838 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
1839
1840         * configure.ac:
1841           Add qoutes to the define. Fixes # 525961.
1842
1843 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
1844
1845         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
1846         (gst_file_index_load), (gst_file_index_add_id),
1847         (gst_file_index_get_assoc_entry):
1848         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
1849         (gst_mem_index_free_id), (gst_mem_index_add_id),
1850         (gst_mem_index_index_format):
1851         Use GSlice when possible.
1852
1853 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
1854
1855         * libs/gst/controller/gstinterpolationcontrolsource.c:
1856         (gst_control_point_free),
1857         (gst_interpolation_control_source_set_internal):
1858         Use GSlice for allocating the control points.
1859
1860 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
1861
1862         * plugins/elements/gsttypefindelement.c:
1863         (gst_type_find_element_class_init),
1864         (gst_type_find_element_set_property),
1865         (gst_type_find_element_get_property),
1866         (gst_type_find_element_activate):
1867         * plugins/elements/gsttypefindelement.h:
1868         Cleanup properties.
1869         Fix pad leak when peer query fails.
1870         We can still typefind when the peer returns -1.
1871         Add property to force caps and bypass typefinding. This will be used in
1872         uridecodebin.
1873         API::force-caps
1874
1875 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
1876
1877         * configure.ac:
1878         Require GLib 2.12.
1879
1880         * gst/glib-compat-private.h:
1881         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
1882         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
1883         Unconditionally use GSlice for allocation.
1884
1885         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
1886         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
1887         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
1888         (gst_structure_free):
1889         Use GSlice for allocation.
1890
1891 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
1892
1893         * gst/parse/Makefile.am:
1894         * gst/parse/grammar.tab.pre.c:
1895         * gst/parse/grammar.tab.pre.h:
1896         * gst/parse/lex._gst_parse_yy.pre.c:
1897         Require a new enough flex and bison and remove the parser hacks to use
1898         a pre-regenerated version.
1899
1900 2008-04-01  Julien Moutte  <julien@fluendo.com>
1901
1902         patch by: Jason Zhao <E3423C@motorola.com>
1903
1904         * configure.ac: Add a configure switch to disable option parsing
1905         in gst_init.
1906         Fixes #522882.
1907
1908 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
1909
1910         * configure.ac:
1911         * gst/gstregistry.c:
1912           MacOS has plugins under .so or under .dylib. Add detection for MacOS
1913           and handle this case.
1914
1915         * gst/gst.c:
1916           Add a comment here describing, why we stat each plugin and not try to
1917           be smart.
1918
1919 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
1920
1921         * libs/gst/base/gstbasetransform.c:
1922         (gst_base_transform_prepare_output_buffer):
1923         Also unset the GAP flag on buffers if we're working inplace but
1924         the element is not GAP-aware.
1925
1926         Mark a comment as FIXME 0.11.
1927
1928 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
1929
1930         * gst/gst.c:
1931           Fix type in log message and add one to ease seeing how long registry
1932           cache verification takes.
1933
1934         * gst/gstregistry.c:
1935           Only test plugin filenames against G_MODULE_SUFFIX.
1936
1937 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
1938
1939         * gst/gstdebugutils.c:
1940           Improve handling ghost/proxy pads.
1941
1942 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
1943
1944         * docs/gst/gstreamer-sections.txt:
1945         * gst/gstpad.c:
1946         * gst/gstpad.h:
1947           Expose macro to docs and fix link to it.
1948
1949 2008-03-27  Michael Smith <msmith@fluendo.com>
1950
1951         * libs/gst/dataprotocol/dataprotocol.c:
1952         (gst_dp_packet_from_event_1_0):
1953           When calculating GDP body CRC, use the correct pointer. 
1954           Fixes part of #522401.
1955
1956 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1957
1958         Patch by: Mark Nauwelaerts <manauw at skynet be>
1959
1960         * plugins/elements/gstidentity.c: (gst_identity_class_init),
1961         (gst_identity_init), (gst_identity_prepare_output_buffer):
1962         Identity is not always a passthrough element, it can modify the buffer
1963         timestamps when it has a datarate and operates in single-segment mode.
1964         We therefore make it an in_place filter with a custom buffer prepare
1965         function that conditionally makes the input buffer metadata writable
1966         when needed.  Fixes #523985.
1967
1968 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1969
1970         Patch by: Mark Nauwelaerts <manauw at skynet be>
1971
1972         * gst/gstclock.h:
1973         * libs/gst/base/gstbasesrc.h:
1974         * libs/gst/base/gstbasetransform.c:
1975         * libs/gst/check/gstcheck.c:
1976         Small documentation fixes. Fixes #523978.
1977
1978 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1979
1980         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
1981         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
1982         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
1983
1984 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1985
1986         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
1987         (single_queue_underrun_cb):
1988         When trying to make room in the queue, bump the max allowed buffers
1989         bigger than the current amount of buffers in the queue. this fixes some
1990         nasty deadlocks in multiqueue when dynamically changing the limits of
1991         the queue.
1992
1993 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1994
1995         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
1996
1997         * gst/gstcaps.c: (gst_caps_set_simple),
1998         (gst_caps_set_simple_valist), (gst_caps_intersect):
1999         * gst/gstcaps.h:
2000         Constify the field gchar * params in set_simple and friends.
2001         Fixes #522326.
2002
2003 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
2004
2005         * gst/gstvalue.c: (gst_value_transform_object_string):
2006         Transform a GstObject to a more meaningfull string that includes the
2007         object type in addition to its name.
2008
2009 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
2010
2011         * ChangeLog:
2012           ChangeLog surgery to add bugnumber to commit.
2013
2014 2008-03-23  Rene Stadler  <mail@renestadler.de>
2015
2016         * libs/gst/base/gstbasetransform.c:
2017         (gst_base_transform_set_gap_aware): Fix confusing documentation.
2018
2019 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
2020
2021         * gst/gstregistrybinary.c: (gst_registry_binary_write):
2022         Rename constant everywhere and don't forget one occurence.
2023
2024 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
2025
2026         * gst/gstregistrybinary.c: (gst_registry_binary_write):
2027         Align memory to the pointer size even if the architecture allows
2028         unaligned memory access. Unaligned memory access usually comes with
2029         performance penality.
2030
2031 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
2032
2033         * gst/gstregistrybinary.c: (gst_registry_binary_write),
2034         (gst_registry_binary_check_magic),
2035         (gst_registry_binary_load_pad_template),
2036         (gst_registry_binary_load_feature),
2037         (gst_registry_binary_load_plugin):
2038         Align memory to the pointer size instead of always 32 bit. Fixes
2039         unaligned memory accesses on ia64 and friends.
2040
2041         * gst/gstregistrybinary.h:
2042         Bump binary registry format version for this as it changes the
2043         format on those architectures that don't have unaligned access
2044         and 64 bit pointers.
2045
2046 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
2047
2048         * docs/pwg/advanced-dparams.xml:
2049         * docs/pwg/building-props.xml:
2050         * docs/pwg/other-source.xml:
2051         * gst/glib-compat.h:
2052         * gst/gstbin.c: (gst_bin_class_init):
2053         * gst/gstclock.c: (gst_clock_class_init):
2054         * gst/gstindex.c: (gst_index_class_init):
2055         * gst/gstobject.c: (gst_object_class_init):
2056         * gst/gstpad.c: (gst_pad_class_init):
2057         * gst/gstpipeline.c: (gst_pipeline_class_init):
2058         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2059         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
2060         * libs/gst/base/gstbasetransform.c:
2061         (gst_base_transform_class_init):
2062         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
2063         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
2064         (_gst_check_fault_handler_sighandler),
2065         (_gst_check_fault_handler_setup), (gst_check_init):
2066         * libs/gst/controller/gstcontroller.c:
2067         (_gst_controller_class_init):
2068         * libs/gst/controller/gstlfocontrolsource.c:
2069         (gst_lfo_control_source_class_init):
2070         * libs/gst/net/gstnetclientclock.c:
2071         (gst_net_client_clock_class_init):
2072         * libs/gst/net/gstnettimeprovider.c:
2073         (gst_net_time_provider_class_init):
2074         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
2075         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
2076         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
2077         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
2078         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2079         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2080         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
2081         * plugins/elements/gstidentity.c: (gst_identity_class_init):
2082         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
2083         * plugins/elements/gstqueue.c: (gst_queue_class_init):
2084         * plugins/elements/gsttee.c: (gst_tee_class_init):
2085         * plugins/elements/gsttypefindelement.c:
2086         (gst_type_find_element_class_init):
2087         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
2088         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
2089         use it everywhere for GParamSpecs that use static strings (i.e. all).
2090         This gives us less memory usage, fewer allocations and thus less
2091         memory defragmentation. Fixes bug #523806.
2092
2093 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
2094
2095         * gst/gstminiobject.c: (gst_value_dup_mini_object),
2096         (gst_param_spec_mini_object):
2097         * gst/gstminiobject.h:
2098         * win32/common/libgstreamer.def:
2099         * docs/gst/gstreamer-sections.txt:
2100         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
2101         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
2102         GstParamSpecMiniObject into a public header for this.
2103
2104         This make GstMiniObject a bit more consistent with GObject and makes
2105         it possible to extend the param specs.
2106
2107         gst_value_dup_mini_object is mainly useful for set_property methods.
2108
2109         Fixes bug #523798.
2110
2111         * tools/gst-inspect.c: (print_element_properties_info):
2112         Print something useful for GstMiniObject properties and not just
2113         "unknown type".
2114
2115 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
2116
2117         * docs/gst/gstreamer-sections.txt:
2118         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
2119         (gst_registry_binary_check_magic):
2120         * gst/gstregistrybinary.h:
2121         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
2122         and add it to the (private part) of the docs to fix the build.
2123
2124 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
2125
2126         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
2127         (gst_registry_binary_check_magic),
2128         (gst_registry_binary_read_cache):
2129         * gst/gstregistrybinary.h:
2130         Don't use GST_MAJORMINOR for the binary registry version. Instead
2131         hardcode a value that must be changed whenever the format changes
2132         in an incompatible way.
2133         Also don't GST_ERROR when there is a version mismatch, just
2134         regenerate the registry silently.
2135
2136 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
2137
2138         * configure.ac:
2139         Back to development - 0.10.18.1
2140
2141 === release 0.10.18 ===
2142
2143 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
2144
2145         * configure.ac:
2146           releasing 0.10.18, "So far away"
2147
2148 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
2149
2150         * configure.ac:
2151         * win32/common/config.h:
2152         0.10.17.4 pre-release
2153
2154 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
2155
2156         Patch by: Ole André Vadla Ravnås
2157             <ole dot andre dot ravnas at tandberg dot com>
2158
2159         * docs/gst/gstreamer-sections.txt:
2160         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
2161         (gst_poll_update_winsock_event_mask),
2162         (gst_poll_prepare_winsock_active_sets),
2163         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
2164         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
2165         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
2166         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
2167         (gst_poll_check_ctrl_commands), (gst_poll_wait):
2168         * gst/gstpoll.h:
2169         * win32/common/libgstreamer.def:
2170         Add new function gst_poll_fd_ignored() for improved Windows
2171         compatibility.
2172         Various minor fixes and cleanups. See #520808.
2173
2174 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
2175
2176         * gst/gstindex.c: (gst_index_entry_free):
2177         * gst/gstindex.h:
2178           Don't free key strings which we don't own. Fixes crash in
2179           gst_index_entry_free() (#522741).
2180
2181         * tests/check/Makefile.am:
2182         * tests/check/gst/.cvsignore:
2183         * tests/check/gst/gstindex.c: (test_index_entries),
2184           (gst_index_suite), (gst_index):
2185           Add unit test for the above.
2186
2187 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
2188
2189         * win32/common/libgstreamer.def:
2190         Remove symbols that were removed recently. Fixes bug #521740.
2191
2192 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
2193
2194         * configure.ac:
2195         * win32/common/config.h:
2196         0.10.17.3 pre-release
2197
2198 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2199
2200         Patch by: Ole André Vadla Ravnås
2201             <ole dot andre dot ravnas at tandberg dot com>
2202
2203         * docs/gst/gstreamer-sections.txt:
2204         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
2205         (gst_poll_update_winsock_event_mask), (gst_poll_new),
2206         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
2207         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
2208         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
2209         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
2210         (gst_poll_fd_can_write), (gst_poll_wait),
2211         (gst_poll_set_controllable), (gst_poll_restart),
2212         (gst_poll_set_flushing):
2213         * gst/gstpoll.h:
2214         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
2215         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
2216         (gst_net_time_provider_new):
2217         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
2218         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
2219         * tests/benchmarks/gstpollstress.c: (main):
2220         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
2221         Remove GstPollMode from the API, it does not make sense to let the
2222         application control this.
2223         Add support for Win32.
2224         Fix the testsuite. Fixes #520671.
2225
2226 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
2227
2228         Patch by: Ole André Vadla Ravnås
2229             <ole dot andre dot ravnas at tandberg dot com>
2230
2231         * gst/gstregistrybinary.c:
2232         Include io.h for write() and close() when building with MSVC. Fixes
2233         bug #520877.
2234
2235 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
2236
2237         * configure.ac:
2238         * gst/gst_private.h:
2239         * gst/gstconfig.h.in:
2240         * gst/gstregistry.h:
2241         * gst/gstregistrybinary.c:
2242         * win32/common/gstconfig.h:
2243           Move registry backend API to private headers where we can. Add
2244           fixme-0.11 comments for the others. Add stubs for the xml backend when
2245           using the binary to ensure they functions exists (they should not be
2246           used though). Fixes #520756.
2247
2248 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
2249
2250         * configure.ac:
2251         * win32/common/config.h:
2252         0.10.17.2 prelease
2253
2254 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
2255
2256         * gst/gstregistrybinary.c: (gst_registry_binary_write),
2257         (gst_registry_binary_read_cache):
2258         * gst/gstregistryxml.c: (gst_registry_save):
2259         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
2260         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
2261         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
2262         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
2263         Switch to using portabl gsize/gssize instead of size_t/ssize_t
2264         Fixes #520152
2265
2266 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
2267
2268         * gst/gstminiobject.c:
2269         Import gst_private.h before any other header that might include other
2270         glib headers. This fixes the build on windows using native compilers.
2271
2272 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2273
2274         * win32/common/gstconfig.h:
2275           Add here too, just for completeness.
2276
2277 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2278
2279         * configure.ac:
2280         * gst/gstconfig.h.in:
2281         * gst/gstregistry.h:
2282           Fix broken use of config.h-defined preprocessor directive in a public
2283           header file. Add a corresponding define to gstconfig.h, since we can't
2284           really remove those function declarations from the header file now
2285           (or can we? and why are they there in the first place?).
2286
2287 2008-03-03  Andy Wingo  <wingo@pobox.com>
2288
2289         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
2290         the new warning.
2291
2292         * gst/gststructure.c (gst_structure_from_string): Warn if
2293         structure_from_string didn't consume the whole string, but the
2294         caller did not provide an end pointer.
2295
2296 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
2297
2298         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
2299
2300         * gst/gstregistryxml.c: (read_string), (load_feature):
2301           Strings allocated by libxml2 should be freed with xmlFree(), not
2302           with g_free(). Fixes issues on windows in certain contexts (#519698).
2303
2304 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
2305
2306         * gst/gstinterface.c: (gst_element_implements_interface):
2307           Don't crash if the element supports the interface queried, but does
2308           not implement GstImplementsInterface. Fixes #519584.
2309
2310         * tests/check/Makefile.am:
2311         * tests/check/gst/.cvsignore:
2312         * tests/check/gst/gstinterface.c:
2313           Add unit test for the above.
2314
2315 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2316
2317         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2318         Small doc update.
2319
2320 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2321
2322         * gst/gstsegment.c: (gst_segment_set_seek),
2323         (gst_segment_to_stream_time):
2324         Improve some comment.
2325         Update variables where it makes more sense.
2326
2327 2008-02-29  Rene Stadler  <mail@renestadler.de>
2328
2329         * gst/gsturi.c: (gst_uri_handler_get_protocols):
2330         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
2331         URIHandlers implemented using language bindings.
2332
2333 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
2334
2335         * gst/gstelementfactory.h:
2336         * tests/check/elements/fakesink.c:
2337         * tests/check/elements/fakesrc.c: (setup_fakesrc):
2338         * tests/check/elements/fdsrc.c: (setup_fdsrc):
2339         * tests/check/elements/filesink.c: (setup_filesink):
2340         * tests/check/elements/filesrc.c: (setup_filesrc):
2341         * tests/check/elements/identity.c: (setup_identity):
2342         * tests/check/elements/tee.c:
2343         * tests/check/generic/sinks.c:
2344         * tests/check/generic/states.c: (setup), (teardown):
2345         * tests/check/gst/gst.c:
2346         * tests/check/gst/gstabi.c:
2347         * tests/check/gst/gstbin.c:
2348         * tests/check/gst/gstbus.c: (pull_messages):
2349         * tests/check/gst/gstcaps.c:
2350         * tests/check/gst/gstelement.c:
2351         * tests/check/gst/gstevent.c:
2352         * tests/check/gst/gstghostpad.c:
2353         * tests/check/gst/gstiterator.c:
2354         * tests/check/gst/gstmessage.c:
2355         * tests/check/gst/gstminiobject.c: (my_foo_init):
2356         * tests/check/gst/gstobject.c: (thread_name_object),
2357         (gst_object_suite):
2358         * tests/check/gst/gstpad.c:
2359         * tests/check/gst/gstplugin.c:
2360         * tests/check/gst/gstpoll.c:
2361         * tests/check/gst/gstquery.c:
2362         * tests/check/gst/gstsegment.c:
2363         * tests/check/gst/gststructure.c:
2364         * tests/check/gst/gstsystemclock.c:
2365         * tests/check/gst/gsttask.c:
2366         * tests/check/gst/gstutils.c:
2367         * tests/check/gst/gstvalue.c:
2368         * tests/check/gst/struct_hppa.h:
2369         * tests/check/gst/struct_i386.h:
2370         * tests/check/gst/struct_ppc32.h:
2371         * tests/check/gst/struct_ppc64.h:
2372         * tests/check/gst/struct_x86_64.h:
2373         * tests/check/libs/adapter.c: (create_and_fill_adapter):
2374         * tests/check/libs/basesrc.c:
2375         * tests/check/libs/controller.c: (GST_START_TEST):
2376         * tests/check/libs/gdp.c:
2377         * tests/check/libs/gstnetclientclock.c:
2378         * tests/check/libs/gstnettimeprovider.c:
2379         * tests/check/libs/libsabi.c:
2380         * tests/check/libs/struct_hppa.h:
2381         * tests/check/libs/struct_i386.h:
2382         * tests/check/libs/struct_ppc32.h:
2383         * tests/check/libs/struct_ppc64.h:
2384         * tests/check/libs/struct_x86_64.h:
2385         * tests/check/pipelines/cleanup.c:
2386         * tests/check/pipelines/simple-launch-lines.c:
2387         * tests/check/pipelines/stress.c:
2388         And correct even more valid sparse warnings.
2389
2390         * win32/common/libgstreamer.def:
2391         Add gst_poll_fd_init to the list of symbols.
2392
2393 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
2394
2395         * gst/gstconfig.h.in:
2396         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
2397         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
2398         (gst_check_log_critical_func), (gst_check_drop_buffers),
2399         (gst_check_element_push_buffer_list):
2400         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
2401         (gst_controller_get_type):
2402         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
2403         (gst_object_get_controller), (gst_object_get_control_source):
2404         * libs/gst/controller/gstinterpolationcontrolsource.c:
2405         (gst_interpolation_control_source_new):
2406         * libs/gst/controller/gstlfocontrolsource.c:
2407         (gst_lfo_control_source_new):
2408         * libs/gst/dataprotocol/dataprotocol.c:
2409         (gst_dp_event_from_packet_0_2):
2410         * plugins/elements/gstfdsrc.c:
2411         * plugins/elements/gstmultiqueue.c:
2412         * plugins/elements/gsttee.c:
2413         * plugins/elements/gsttypefindelement.c:
2414         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
2415         (gst_file_index_add_association):
2416         * plugins/indexers/gstmemindex.c:
2417         * tests/benchmarks/gstpollstress.c: (mess_some_more):
2418         * tests/check/elements/queue.c: (setup_queue):
2419         * tests/check/gst/gstpipeline.c:
2420         * tests/check/libs/collectpads.c: (setup), (teardown),
2421         (gst_collect_pads_suite):
2422         * tests/examples/adapter/adapter_test.c:
2423         * tests/examples/metadata/read-metadata.c: (make_pipeline):
2424         * tests/examples/xml/createxml.c:
2425         * tests/examples/xml/runxml.c:
2426         * tools/gst-inspect.c:
2427         * tools/gst-run.c:
2428         Correct all relevant warnings found by the sparse semantic code
2429         analyzer. This include marking several symbols static, using
2430         NULL instead of 0 for pointers, not using variable sized arrays
2431         on the stack, moving variable declarations to the beginning of
2432         a block and using "foo (void)" instead of "foo ()" for declarations.
2433
2434 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
2435
2436         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
2437         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2438         Don't reset GstPollFDs, this is not necessary at all.
2439
2440         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
2441         (delayed_restart), (delayed_control):
2442         Use GST_POLL_FD_INIT.
2443
2444 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2445
2446         * gst/gstpoll.c: (gst_poll_fd_init):
2447         * gst/gstpoll.h:
2448         Added Since tags.
2449
2450         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
2451         Use some more init macros.
2452
2453 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2454
2455         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
2456         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2457         Use init macros and functions.
2458
2459 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2460
2461         * docs/gst/gstreamer-sections.txt:
2462         * gst/gstpoll.c: (gst_poll_fd_init):
2463         * gst/gstpoll.h:
2464         Add INIT macro and _init method for initializing the GstPollFD.
2465
2466 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
2467
2468         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
2469         (gst_fd_sink_update_fd):
2470         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2471         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
2472         (delayed_restart), (delayed_control):
2473         Initialize some uninitialized variables as spotted by valgrind.
2474
2475 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2476
2477         * tests/benchmarks/Makefile.am:
2478         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
2479         (main):
2480         Add poll stress test.
2481
2482 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2483
2484         Patch by: Peter Kjellerstedt <pkj at axis dot com>
2485
2486         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
2487         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
2488         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
2489         * plugins/elements/gstfdsink.h:
2490         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
2491         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
2492         (gst_fd_src_unlock_stop), (gst_fd_src_create),
2493         (gst_fd_src_uri_set_uri):
2494         * plugins/elements/gstfdsrc.h:
2495         Port to GstPoll. See #505417.
2496
2497 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
2498
2499         * win32/common/libgstreamer.def:
2500         Add new gst_poll_ symbols to win32 defs.
2501
2502 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2503
2504         * docs/libs/gstreamer-libs-sections.txt:
2505         * libs/gst/net/gstnetclientclock.c:
2506         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
2507         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
2508         (gst_net_client_clock_thread), (gst_net_client_clock_start),
2509         (gst_net_client_clock_stop), (gst_net_client_clock_new):
2510         * libs/gst/net/gstnetclientclock.h:
2511         * libs/gst/net/gstnettimeprovider.c:
2512         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
2513         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
2514         (gst_net_time_provider_start), (gst_net_time_provider_stop),
2515         (gst_net_time_provider_new):
2516         * libs/gst/net/gstnettimeprovider.h:
2517         Use a private stuct to not break ABI.
2518
2519 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2520
2521         Patch by: Peter Kjellerstedt <pkj at axis dot com>
2522
2523         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
2524         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
2525         (gst_net_client_clock_thread), (gst_net_client_clock_start),
2526         (gst_net_client_clock_stop), (gst_net_client_clock_new):
2527         * libs/gst/net/gstnetclientclock.h:
2528         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
2529         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
2530         (gst_net_time_provider_start), (gst_net_time_provider_stop),
2531         (gst_net_time_provider_new):
2532         * libs/gst/net/gstnettimeprovider.h:
2533         Massive code removal and cleanups because of GstPoll.
2534         Fixes #505417.
2535
2536 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2537
2538         * configure.ac:
2539         Add checks for poll, ppoll and pselect.
2540
2541         * docs/gst/gstreamer-docs.sgml:
2542         * docs/gst/gstreamer-sections.txt:
2543         Add docs for GstPoll.
2544
2545         * gst/Makefile.am:
2546         * gst/gst.h:
2547         * gst/gstpoll.c: (find_index), (selectable_fds),
2548         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
2549         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
2550         (gst_poll_set_mode), (gst_poll_get_mode),
2551         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
2552         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
2553         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
2554         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
2555         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
2556         (gst_poll_fd_can_write), (gst_poll_wait),
2557         (gst_poll_set_controllable), (gst_poll_restart),
2558         (gst_poll_set_flushing):
2559         * gst/gstpoll.h:
2560         Add generic poll abstraction. We ideally don't want to have this in core
2561         here but in glib intead...
2562         This code will be used in various network elements and ultimately for
2563         the nanosecond precision monotonic clock (that's why it's here in core).
2564         It'll allow us to implement cancelable socket operations for windows too.
2565
2566         * tests/check/Makefile.am:
2567         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
2568         (delayed_stop), (delayed_restart), (delayed_flush),
2569         (delayed_control), (gst_poll_suite):
2570         Add GstPoll unit test.
2571
2572 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
2573
2574         * gst/gstfilter.c:
2575           Improve documentation of gst_filter_run(). Fixes #518627.
2576
2577 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2578
2579         * docs/README:
2580           Add a few lines about the new 'check-inspected-versions' target.
2581
2582 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
2583
2584         * tests/check/gst/gstevent.c:
2585           Add qos to the event test. Rename tcase/tsuite; is not only about
2586           custom events.
2587
2588 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
2589
2590         * plugins/elements/gstqueue.c:
2591           Ensure that buffer metadata is writeable, before modifying. Spotted by
2592           Mike.
2593
2594 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
2595
2596         * plugins/elements/gstqueue.c:
2597         * plugins/elements/gstqueue.h:
2598           When dropping buffers in leaky modes, mark next buffers we sent as
2599           DISCONT.
2600
2601 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
2602
2603         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
2604           Also, if mmap() fails that would be a READ error, not OPEN_READ.
2605
2606 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
2607
2608         * plugins/elements/Makefile.am:
2609         * plugins/elements/gstbufferstore.c:
2610         * plugins/elements/gstbufferstore.h:
2611         * plugins/elements/gsttypefindelement.h:
2612           Remove GstBufferStore, no idea why we were still building it.
2613           It's not used anywhere and superseded by GstAdapter.
2614
2615         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
2616           (gst_file_src_create_mmap):
2617         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
2618           Printf format fixes for 64-bit integers.
2619
2620 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
2621
2622         * configure.ac:
2623         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
2624         We're not in 0.8 times anymore.
2625
2626 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
2627
2628         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
2629         (gst_check_element_push_buffer_list):
2630         * libs/gst/check/gstcheck.h:
2631         Make the declaration in the header for
2632         gst_check_element_push_buffer_list match the implementation.
2633
2634         Fix up spelling, grammar and wording of the documentation in a few
2635         places, and add the Since keyword to new API functions.
2636         Use g_list_delete_link instead of g_list_remove in
2637         gst_check_drop_buffers, since it's immeasurably more efficient.
2638
2639         * tests/check/elements/fakesrc.c: (GST_START_TEST):
2640         Use new gst_check_drop_buffers function where appropriate.
2641
2642         * win32/common/libgstbase.def:
2643         * win32/common/libgstreamer.def:
2644         Add new symbols gst_collect_pads_take_buffer, 
2645         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
2646         exports
2647
2648         Changelog surgery to add API keyword to new gst_check API.
2649
2650 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
2651
2652         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
2653         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
2654         Update pre-generated flex files with flex 2.3.34.
2655
2656 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
2657
2658         * gst/gstminiobject.c:
2659           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
2660           friendly to subclasses and not require them to know all internals
2661           of their parent class.
2662
2663 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
2664
2665         * docs/libs/gstreamer-libs-sections.txt:
2666         * libs/gst/base/gstcollectpads.c:
2667         * libs/gst/base/gstcollectpads.h:
2668           Add sub-buffer functions to collectpads. Fixes #516187.
2669           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
2670
2671 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
2672
2673         * gst/gstbuffer.c:
2674           Copy selected buffer-flags when creating subbuffers.
2675           Fixes #516395.
2676
2677 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
2678
2679         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
2680         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
2681         * gst/gstmessage.c: (gst_message_class_init),
2682         (gst_message_finalize):
2683         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
2684         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
2685         (gst_mmap_buffer_finalize):
2686         Properly chain up finalize functions to the parent class.
2687
2688 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
2689
2690         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
2691
2692         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
2693         (gst_index_set_resolver_full):
2694         * gst/gstindex.h:
2695         Add new function with option to dispose of user_data in resolver.
2696         Actually call the dispose function when finalizing the object and not
2697         just when changing the resolver/filter.
2698         API: GstIndex::gst_index_set_resolver_full()
2699
2700         * docs/gst/gstreamer-sections.txt:
2701         Add new function to docs. Fixes #515469.
2702
2703 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
2704
2705         * gst/gstindex.c: (gst_index_finalize):
2706         Chain up finalize to the parent class. Fixes leaking the GstObject
2707         name and other things.
2708
2709 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
2710
2711         * configure.ac:
2712         Make DISABLE_DEPRECATED defined *only* during CVS, not during
2713         pre-releases or releases.
2714
2715         * docs/faq/gst-uninstalled:
2716         Add gst-plugins-gl
2717
2718         * docs/random/release:
2719         Change one of the steps - we only upload core & base to Gnome FTP
2720
2721 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
2722
2723         * gst/gstconfig.h.in:
2724           Add 'id' for example.
2725
2726         * gst/gstpad.c:
2727         * gst/gstutils.c:
2728         * plugins/elements/gstfdsink.c:
2729           Link to signals. Doc and comment fixes.
2730
2731 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
2732
2733         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
2734         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
2735           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
2736           unused and unimplemented; finally, it is plugin features, not
2737           plugins, that have ranks.
2738           
2739 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
2740
2741         * gst/gstpluginfeature.h:
2742           Clarify GstRank range docs.
2743
2744 2008-02-05  David Schleef  <ds@schleef.org>
2745
2746         * gst/gst.c: Add a separate gst_deinitialized that prevents
2747           gst_init() from being called after gst_deinit().  Fixes #509559
2748
2749 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
2750
2751         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
2752         (gst_bin_class_init):
2753         * gst/gstelement.c: (gst_element_base_class_init),
2754         (gst_element_class_add_pad_template):
2755         * gst/gstpadtemplate.c: (gst_pad_template_init):
2756         * gst/gstpipeline.c: (gst_pipeline_get_type),
2757         (gst_pipeline_base_init), (gst_pipeline_class_init):
2758         * libs/gst/base/gstbasesink.c:
2759         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
2760         (gst_base_src_base_init), (gst_base_src_class_init):
2761         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
2762         (gst_capsfilter_class_init):
2763         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
2764         (gst_fake_sink_class_init):
2765         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
2766         (gst_fake_src_class_init):
2767         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
2768         (gst_fd_sink_class_init):
2769         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
2770         (gst_fd_src_class_init):
2771         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
2772         (gst_file_sink_class_init):
2773         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
2774         (gst_file_src_class_init):
2775         * plugins/elements/gstidentity.c: (gst_identity_base_init),
2776         (gst_identity_class_init):
2777         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
2778         (gst_multi_queue_class_init):
2779         * plugins/elements/gstqueue.c: (gst_queue_base_init),
2780         (gst_queue_class_init):
2781         * plugins/elements/gsttee.c: (gst_tee_base_init),
2782         (gst_tee_class_init):
2783         * plugins/elements/gsttypefindelement.c:
2784         (gst_type_find_element_base_init),
2785         (gst_type_find_element_class_init):
2786         * tests/check/gst/gstelement.c: (gst_element_suite):
2787         Revert previous changes to the behaviour of GstPadTemplates, etc
2788         and the possiblity to call them in class_init as it breaks too
2789         many elements. Reopens bug #491501.
2790
2791         Should be applied again for 0.11, thus added a few FIXME 0.11 at
2792         several places.
2793
2794 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
2795
2796         * tools/gst-launch.c:
2797         Dump one graph per pipeline state-change and state change name
2798         (if GST_DEBUG_DUMP_DOT_DIR is set).
2799
2800 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
2801
2802         * gst/gstpad.c:
2803         * tests/check/gst/gstpad.c:
2804         Be sure that we have a new copy of the caps and not
2805         reffed caps from a template
2806
2807 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
2808
2809         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
2810         * gst/gstpipeline.c: (gst_pipeline_get_type),
2811         (gst_pipeline_class_init):
2812         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
2813         (gst_base_sink_class_init):
2814         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
2815         (gst_base_src_class_init):
2816         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
2817         (gst_base_transform_class_init):
2818         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2819         (gst_collect_pads_class_init):
2820         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
2821         * libs/gst/net/gstnettimeprovider.c:
2822         (gst_net_time_provider_base_init),
2823         (gst_net_time_provider_class_init):
2824         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
2825         (gst_capsfilter_class_init):
2826         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
2827         (gst_fake_sink_class_init):
2828         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
2829         (gst_fake_src_class_init):
2830         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
2831         (gst_fd_sink_class_init):
2832         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
2833         (gst_fd_src_class_init):
2834         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
2835         (gst_file_sink_class_init):
2836         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
2837         (gst_file_src_class_init):
2838         * plugins/elements/gstidentity.c: (gst_identity_base_init),
2839         (gst_identity_class_init):
2840         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
2841         (gst_multi_queue_class_init):
2842         * plugins/elements/gstqueue.c: (gst_queue_base_init),
2843         (gst_queue_class_init):
2844         * plugins/elements/gsttee.c: (gst_tee_base_init),
2845         (gst_tee_class_init):
2846         * plugins/elements/gsttypefindelement.c:
2847         (gst_type_find_element_base_init),
2848         (gst_type_find_element_class_init):
2849         Don't use base_init where not absolutely necessary. For example it's
2850         not necessary anymore for adding pad templates or setting element
2851         details.
2852
2853         Leave empty base_init functions in several places as GST_BOILERPLATE
2854         still defines and uses them.
2855
2856 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
2857
2858         * gst/gstelement.c: (gst_element_base_class_init),
2859         (gst_element_class_add_pad_template):
2860         * gst/gstpadtemplate.c:
2861         Make it possible (and recommended) to set element details and add
2862         pad templates in the class_init functions by copying the details/pad
2863         templates in GstElement's base_init.
2864
2865         Also make it possible to replace existing pad templates by adding
2866         a new one with the same name. This was done in a hackish fashion
2867         in same elements before already.
2868
2869         Don't reference pad templates that are added a second time. A
2870         new pad template has a refcount of one and is not floating anymore
2871         and to be owned by the element's class. Make this more explicit by
2872         mentioning it in the docs of gst_element_class_add_pad_template().
2873
2874         These changes are backwards compatible. Fixes bug #491501.
2875
2876         * tests/check/gst/gstelement.c:
2877         Add unit test for setting element details, adding pad templates and
2878         replacing them in a subclass.
2879
2880 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
2881
2882         * tools/gst-inspect.c: (print_interfaces),
2883         (print_element_properties_info), (print_pad_info),
2884         (print_signal_info), (print_element_info):
2885         Fix a few memory leaks.
2886
2887 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
2888
2889         * docs/libs/gstreamer-libs-sections.txt:
2890         * libs/gst/check/gstcheck.c:
2891         * libs/gst/check/gstcheck.h:
2892         Add more functions for unit testing: gst_check_drop_buffers,
2893         gst_check_caps_equal, gst_check_element_push_buffer_list,
2894         gst_check_element_push_buffer
2895         API: gst_check_drop_buffers
2896         API: gst_check_caps_equal
2897         API: gst_check_element_push_buffer_list
2898         API: gst_check_element_push_buffer
2899
2900 2008-02-01  Julien Moutte  <julien@fluendo.com>
2901
2902         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
2903         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
2904         (gst_index_finalize), (gst_index_entry_free),
2905         (gst_index_add_association): Fix memory leaks.
2906         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
2907         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
2908         (gst_mem_index_free_format), (gst_mem_index_free_id),
2909         (gst_mem_index_finalize): Fix memory leaks.
2910         * win32/common/config.h: Updated to CVS HEAD.
2911
2912 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
2913
2914         * docs/README:
2915           Some more details about how the plugin docs works.
2916
2917         * docs/plugins/gstreamer-plugins-sections.txt:
2918           Whitespace cleanup.
2919
2920 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
2921
2922         * gst/parse/grammar.tab.pre.c:
2923         * gst/parse/grammar.tab.pre.h:
2924         * gst/parse/grammar.y:
2925         * gst/parse/lex._gst_parse_yy.pre.c:
2926           Add delayed set-property. This allows to set properties on dynamicaly
2927           created objects (pads in videomxer). Fixes #509391.
2928
2929 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
2930
2931         * gst/gstutils.c:
2932         Check if caps are not NULL (fix bug #510194)
2933
2934 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
2935
2936         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
2937         (gst_base_sink_get_position_paused):
2938         Add fixme regarding EOS in pull mode.
2939         Fix position reporting in PAUSED for negative rates.
2940
2941 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
2942
2943         * gst/gstminiobject.c: (gst_mini_object_replace):
2944         When replacing a miniobject, do a quick equality check first so that we
2945         can avoid a ref/unref pair.
2946
2947 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
2948
2949         * docs/design/part-synchronisation.txt:
2950         Update some docs.
2951
2952         * docs/plugins/Makefile.am:
2953         * docs/plugins/gstreamer-plugins-docs.sgml:
2954         * docs/plugins/gstreamer-plugins-sections.txt:
2955         * plugins/elements/gstmultiqueue.c:
2956         Add multiqueue to the docs.
2957
2958 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
2959
2960         * configure.ac:
2961           Back to CVS
2962
2963 === release 0.10.17 ===
2964
2965 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
2966
2967         * configure.ac:
2968           releasing 0.10.17, "Due Negligence"
2969
2970 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
2971
2972         * gst/gstutils.c:
2973         Revert caps != NULL check temporarily for 0.10.17 release.
2974
2975 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
2976
2977         * gst/gstutils.c:
2978         Check if caps are not NULL (fix bug #510194)
2979
2980 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
2981
2982         * gst/gstutils.c:
2983         Fix compilation on systems that have posix timers but no
2984         monotonic clock.
2985         Fixes: #512715
2986         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
2987         dot net>
2988
2989 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
2990
2991         * tools/gst-inspect.c:
2992         Revert previous commit in preparation for an impromptu 0.10.17 release
2993
2994 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
2995
2996         * tools/gst-inspect.c: (print_interfaces),
2997         (print_element_properties_info), (print_pad_info),
2998         (print_signal_info), (print_element_info):
2999         Fix a few memory leaks.
3000
3001 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
3002
3003         * configure.ac:
3004         Back to CVS
3005
3006 === release 0.10.16 ===
3007
3008 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
3009
3010         * configure.ac:
3011           releasing 0.10.16, "Special Dispensation"
3012
3013 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
3014
3015         * configure.ac:
3016           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
3017           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
3018           not fail when trying to crosscompile on OpenEmbedded (#511750).
3019
3020 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
3021
3022         * docs/manuals.mak:
3023         Use $(MAKE) instead of make to fix the build if GNU make is
3024         called different. Fixes bug #510747.
3025
3026 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
3027
3028         * gst/gstplugin.c: (_gst_plugin_initialize):
3029           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
3030           again, which I broke two commits ago when changing the API
3031           of gst_plugin_register_static(): the g_list_foreach() in
3032           _gst_plugin_register_static still assumed the old function
3033           signature and would therefore fail (re-fixes #510187).
3034
3035         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
3036           (_gst_plugin_register_static), (gst_plugin_register_static):
3037           Revert the (technically correct) change to call g_thread_init() from
3038           the pre-main() constructor. This will break programs which call
3039           g_thread_init() without an if (!g_thread_supported()) guard in their
3040           main function. We could just blame it on GLib or the application, but
3041           it's probably best to just avoid this altogether and simply not use
3042           any GLib functions here and use plain old malloc() with a simple
3043           array to store the plugins to register later when gst_init() is
3044           finally called (re-fixes #510187).
3045
3046         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
3047           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
3048           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
3049           (GST_START_TEST), (gst_plugin_suite):
3050           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
3051           works.
3052
3053 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
3054
3055         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
3056           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
3057           This makes gtk-doc complain, but results in slightly better
3058           compiler errors. The old _gst_plugin_register_static() is
3059           still guarded, so there'll be a compiler warning about that
3060           instead. Fixes #510187 too.
3061
3062 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
3063
3064         * gst/gst.c: (init_post):
3065         * gst/gstplugin.c: (_gst_plugin_register_static),
3066           (gst_plugin_register_static), (_gst_plugin_initialize):
3067         * gst/gstplugin.h: (GstPluginFilter):
3068           Change API of gst_plugin_register_static() to not take
3069           a GstPluginDesc, but rather just take all the arguments
3070           in a GstPluginDesc directly. This is more intuitive and
3071           avoids certain mistakes when porting code from
3072           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
3073           Fixes #510187.
3074
3075         * tests/check/gst/gstplugin.c:
3076           Fix up for changed API.
3077
3078 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
3079
3080         * docs/faq/legal.xml:
3081           Update FAQ, Totem actually has an exception these days.
3082
3083 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
3084
3085         * win32/common/libgstreamer.def:
3086         Add new API declarations
3087
3088 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
3089
3090         * gst/gstminiobject.c:
3091           Spelling fixes for the API docs.
3092
3093 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
3094
3095         * libs/gst/base/gstbasetransform.c:
3096           Fix long property description for QoS.
3097
3098 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
3099
3100         * gst/gst.c:
3101         _gst_trace_on is already provided by gsttrace.h, no need to declare
3102         it ourselves.
3103
3104         * docs/libs/gstreamer-libs-sections.txt:
3105         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
3106         and remove strange tcase_add_test which is outputting a warning.
3107
3108         * libs/gst/check/gstcheck.c:
3109         * libs/gst/check/gstcheck.h:
3110         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
3111         and define them in gstcheck.c instead of having every .c file whcih
3112         includes gstcheck.h be defining its own copy and relying on symbol
3113         interposing to marry them all, which doesn't work on Solaris.
3114
3115         * tests/check/elements/identity.c: (GST_START_TEST):
3116         Don't define 'buffers' locally, it comes from libgstcheck.
3117
3118         * tests/check/generic/sinks.c: (send_buffer):
3119         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
3120
3121         * tests/check/gst/gststructure.c: (GST_START_TEST):
3122         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
3123         * tests/check/gst/gstutils.c: (GST_START_TEST):
3124         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3125         Add a bunch of casts to make various constants fit the types
3126         they're being assigned to.
3127
3128 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
3129
3130         * gst/gstchildproxy.c:
3131           Improve docs and add some ideas for making this more general-purpose.
3132
3133 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
3134
3135         * gst/gst_private.h: (GST_CAT_TYPES):
3136           Add GST_CAT_TYPES, for consistency, and so that the other
3137           debug categories don't make fun of it. Spotted by Saur on IRC.
3138
3139 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
3140
3141         * gst/parse/Makefile.am:
3142           Move types.h from EXTRA_DIST to noinst_HEADERS.
3143
3144 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
3145
3146         * autogen.sh:
3147           Add -Wno-portability to the automake parameters to stop warnings
3148           about GNU make extensions being used. We require GNU make in almost
3149           every Makefile anyway.
3150
3151         * configure.ac:
3152           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
3153           at the same time is required for per target flags.
3154
3155 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3156
3157         * gst/gstmacros.h:
3158           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
3159           __GNUC__ is defined before using it.
3160
3161 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3162
3163         * docs/gst/gstreamer-sections.txt:
3164         * gst/gst.c: (init_post):
3165         * gst/gstplugin.c: (_gst_plugin_register_static),
3166           (gst_plugin_register_static), (_gst_plugin_initialize),
3167           (gst_plugin_register_func):
3168         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
3169           API: add gst_plugin_register_static() and deprecate
3170           GST_PLUGIN_DEFINE_STATIC, since it's not portable
3171           (#498924).
3172           Also, in _gst_plugin_register_static(), make sure to call
3173           g_thread_init() before calling GLib functions such as
3174           g_list_append() if we're not initialised yet, since that
3175           may lead to random crashes with older GSlice/GLib versions.
3176
3177         * tests/check/gst/gstplugin.c:
3178           Adapt unit test to above changes.
3179
3180 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3181
3182         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
3183         * gst/gstcaps.c: (gst_caps_to_string):
3184         * gst/gststructure.c: (GST_ASCII_IS_STRING),
3185           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
3186           Yet another gratuitous GString micro-optimisation: add a (private)
3187           function that serialises a structure appending to an existing
3188           GString, so that when we serialise caps we don't need to alloc+free
3189           a throwaway GString for each structure (each of which also entailing
3190           multiple reallocs on the way); also use g_string_sized_new() in
3191           various places with an approximate string length to avoid reallocs
3192           within GString. See #500143.
3193
3194 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3195
3196         * gst/gststructure.c: (gst_structure_id_set_value):
3197           Always check UTF-8 conformance of structure strings and not only
3198           if the debugging system is enabled; reasoning: the behaviour of
3199           the actual code shouldn't really change depending on whether the
3200           debugging system is enabled or not (#508291).
3201
3202 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
3203
3204         * Makefile.am:
3205           Remove old coverage target in favour of "make lcov".
3206
3207 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3208
3209         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3210         (gst_base_src_loop):
3211         The start segment for reverse playback goes from start to last_stop.
3212
3213 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3214
3215         Patch by: Peter Kjellerstedt <pkj axis com>
3216
3217         * gst/gstclock.h:
3218         Cast the results from the timeval/spec_to_time macros to what the
3219         docs say it casts to, a GstClockTime. fixes #508175.
3220
3221 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3222
3223         * gst/gstbuffer.c:
3224         Update some comments.
3225
3226         * tools/gst-inspect.c: (print_element_properties_info):
3227         Improve printing of flags.
3228
3229 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
3230
3231         * libs/gst/base/gstbasetransform.c:
3232           (gst_base_transform_transform_size):
3233           Print element name with g_warning() if there's a problem
3234           with the unit size.
3235
3236 2008-01-07  David Schleef  <ds@schleef.org>
3237
3238         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
3239
3240         * libs/gst/controller/gstcontroller.h:
3241         * libs/gst/controller/gstcontrolsource.h:
3242         * libs/gst/controller/gstinterpolationcontrolsource.h:
3243         * libs/gst/controller/gstlfocontrolsource.h:
3244         * libs/gst/dataprotocol/dataprotocol.h:
3245           Fix empty prototypes.  Fixes bug #507957.
3246
3247 2008-01-07  David Schleef  <ds@schleef.org>
3248
3249         * docs/faq/dependencies.xml: Fix typo.
3250
3251 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3252
3253         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
3254         (gst_base_src_loop):
3255         Don't update the last_stop position in do_seek, that's the position we
3256         did a seek to.
3257         Read backwards when we have a negative rate.
3258
3259         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
3260         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
3261         (filesrc_suite):
3262         Add check for reverse reading.
3263
3264 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
3265
3266         Patch by: Alexis Ballier <aballier at gentoo org>
3267
3268         * tests/check/gst/gstabi.c:
3269         * tests/check/gst/struct_ppc64.h:
3270         * tests/check/libs/libsabi.c:
3271         * tests/check/libs/struct_ppc64.h:
3272           Decide which header to include based on the userland ABI target
3273           and not the kernel/cpu. Fix up structure sizes of ppc64 header
3274           for 64-bit userland (#503590).  Might need something similar for
3275           x86 too.
3276
3277 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
3278
3279         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
3280           Log the reason why fopen fails in addition to the fact that it failed.
3281           
3282 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
3283
3284         * gst/parse/parse.l:
3285         Use "%option never-interactive" to prevent useless calls to isatty()
3286         on every input when parsing. Also use "%option noinput" to not define
3287         the static input/yyinput functions which we don't use anyway. This
3288         removes a compiler warning with gcc 4.3 and saves some bytes in the
3289         library.
3290         
3291         * gst/parse/lex._gst_parse_yy.pre.c:
3292         Regenerated for the above change.
3293
3294 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
3295
3296         * gst/gstpad.c: (fixate_value):
3297         Don't crash when trying to fixate and empty list.
3298         Fixes #506643.
3299
3300 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
3301
3302         * docs/faq/gst-uninstalled:
3303         Clarify the comments to make the usage of this script and what it
3304         does easier to understand.
3305
3306 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
3307
3308         * tools/gst-plot-timeline.py:
3309         Add more options to gst-plot-timeline
3310
3311 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
3312
3313         * docs/design/part-synchronisation.txt:
3314         Some more info on how the stream_time in GstBaseSink is done.
3315
3316 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
3317
3318         * tests/check/generic/sinks.c: (gst_sinks_suite):
3319           Put back the tcase_set_timeout(), apparently it's needed after
3320           all; fix it up in a way that makes things work with valgrind too.
3321
3322 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
3323
3324         * gst/gstdebugutils.c:
3325           Add warning when failed to open file for writing.
3326
3327 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
3328
3329         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
3330
3331         * gst/gstvalue.c: (gst_value_is_fixed):
3332           Optimisation: bail out of the loop as early as possible (#500143).
3333
3334 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
3335
3336         * gst/gstcaps.c: (gst_caps_to_string):
3337         * gst/gstinfo.c: (gst_debug_construct_term_color):
3338         * gst/gstparse.c: (gst_parse_launchv):
3339         * gst/gstutils.c: (gst_util_dump_mem):
3340         * gst/gstvalue.c: (gst_value_serialize_any_list),
3341           (gst_value_transform_any_list_string):
3342           Bunch of gratuitous nano-optimisations.
3343
3344 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
3345
3346         * tests/check/generic/sinks.c: (async_done_func),
3347           (async_done_eos_func):
3348           Fix leak in unit test (bus sync handler must unref the message
3349           if it returns GST_BUS_DROP). Don't fiddle with the default test
3350           timeout, this is smaller than the current preconfigured value
3351           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
3352           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
3353
3354 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3355
3356         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
3357
3358         * configure.ac:
3359         Check for stdio_ext.h for the filesink changes.
3360
3361         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
3362         (gst_file_sink_class_init), (gst_file_sink_init),
3363         (gst_file_sink_dispose), (gst_file_sink_set_property),
3364         (gst_file_sink_get_property), (gst_file_sink_open_file),
3365         (gst_file_sink_close_file):
3366         * plugins/elements/gstfilesink.h:
3367         Add two properties to control the buffering mode and size.
3368         API: GstFileSink::buffer-mode
3369         API: GstFileSink::buffer-size
3370         Fixes #500150.
3371
3372 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3373
3374         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
3375         Add some more docs to explain why a FIXME was wrongly added. 
3376
3377 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
3378
3379         * gst/gstobject.c:
3380           Fix typo in the gst_object_{ref,unref} documentation.
3381
3382 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
3383
3384         * tests/check/libs/controller.c:
3385         * tests/check/libs/typefindhelper.c:
3386         * tests/check/pipelines/parse-launch.c:
3387           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
3388           going to be deprecated (see #498924).
3389
3390 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
3391
3392         * gst/gsttypefind.c: (gst_type_find_register):
3393           Make gst_type_find_register work for static typefind functions,
3394           ie. allow passing plugin == NULL (prerequisite for #498924).
3395
3396         * gst/gstelementfactory.c: (gst_element_register):
3397           Small docs addition.
3398
3399 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3400
3401         * gst/gstpad.c: (gst_pad_dispose):
3402         Really unlink the peer pad instead of setting the peer pointer to NULL
3403         when we dispose the pad.
3404         This correctly calls the unlink functions and makes sure that the peer
3405         does not have a handle to invalid memory. See #504671.
3406
3407         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
3408         Add testsuite for above case.
3409
3410 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
3411
3412         Patch by: Peter Kjellerstedt <pkj axis com>
3413
3414         * libs/gst/check/gstcheck.h:
3415           Fix detection of the check version we're compiling against (would
3416           otherwise break if check goes v0.10.0); correctly report the
3417           name of the failed test again in case of failure, instead of
3418           just 'tf' (fixes #504499).
3419
3420 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
3421
3422         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
3423         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3424         (gst_base_src_loop), (gst_base_src_set_flushing),
3425         (gst_base_src_change_state):
3426         Allow sending EOS to the source to make it send out an EOS event from
3427         the streaming thread.
3428         Update docs and deprecate the old NULL/READY shutdown method.
3429
3430         * tests/check/libs/basesrc.c: (GST_START_TEST),
3431         (gst_basesrc_suite):
3432         Add unit test for controlled shutdown.
3433
3434 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
3435
3436         * docs/design/part-synchronisation.txt:
3437         Small updates.
3438
3439         * gst/gstsegment.c: (gst_segment_set_seek),
3440         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
3441         (gst_segment_to_running_time):
3442         The seek format can be different from the segment format when the start
3443         and stop values are not to be updated, when we only do a rate change for
3444         example.
3445
3446         * tests/check/gst/gstsegment.c: (GST_START_TEST),
3447         (gst_segment_suite):
3448         Add a testcase for the rate-only seeks, checking that the format is
3449         correctly ignored when start and stop are not updated.
3450
3451 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
3452
3453         Patch by: Matthias Bolte <photon at mail dot upb dot de>
3454
3455         * win32/vs8/grammar.vcproj:
3456         * win32/vs8/libgstcontroller.vcproj:
3457         * win32/vs8/libgstreamer.vcproj:
3458         Fix compilation with VS8 and include some missing files.
3459
3460 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
3461
3462         * gst/gsttaglist.c:
3463           Small docs addition: mention that the strings returned by
3464           gst_tag_list_get_string*() are in UTF-8 encoding.
3465
3466 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
3467
3468         * Makefile.am:
3469           The check-exports stuff moved to common/win32.mak, so include that.
3470
3471 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3472
3473         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
3474         (gst_base_src_perform_seek), (gst_base_src_get_range),
3475         (gst_base_src_set_playing), (gst_base_src_change_state):
3476         Make _wait_playing() not check any variables so that we can call this
3477         function from subclasses. Move the checks elsewhere similar to
3478         _wait_preroll() in basesink.
3479         Add some debugging.
3480         Only signal the LIVE cond when we are going back to PLAYING.
3481
3482 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
3483
3484         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
3485           Use g_remove() and g_rename(). Check result of g_rename(), and
3486           don't leak the open file descriptor if we error out when writing.
3487
3488         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
3489           Must check the return value of close() after writing out the new
3490           registry file.  Sometimes write problems such as out-of-diskspace
3491           are only reported when the file is closed and not already during
3492           the write.  This may have caused partial/broken registry files in
3493           some rare circumstances. Should fix #503675.
3494
3495 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
3496
3497         * docs/gst/.cvsignore:
3498         * docs/libs/.cvsignore:
3499         * docs/plugins/.cvsignore:
3500         Ignore files generated by new common/* modifications
3501
3502 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
3503
3504         * win32/common/libgstbase.def:
3505           Yes, you can also have a <TAB> if you want.
3506
3507 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
3508
3509         * win32/common/libgstbase.def:
3510           Add new basetransform API to win export file.
3511
3512 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
3513
3514         * tests/check/gst/gstbin.c:
3515           Adjust the test to the refcount change two days ago.
3516
3517 2007-12-14  David Schleef  <ds@schleef.org>
3518
3519         * docs/faq/getting.xml: Fix typo.
3520
3521 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
3522
3523         * docs/libs/gstreamer-libs-sections.txt:
3524         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
3525           (gst_base_transform_prepare_output_buffer),
3526           (gst_base_transform_set_gap_aware):
3527         * libs/gst/base/gstbasetransform.h:
3528           API: Add gst_base_transform_set_gap_aware() to control whether
3529           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
3530           get buffers with this flag at all. Fixes #503231.
3531
3532 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
3533
3534         * libs/gst/base/gstbasesink.c:
3535         * libs/gst/base/gstbasesrc.c:
3536         * libs/gst/base/gstbasetransform.c:
3537           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
3538           thread. Correct log message in gstbasesrc.c.
3539
3540 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
3541
3542         * gst/gstutils.c: (element_find_unconnected_pad):
3543           Fix possible compiler warning (#503417).
3544
3545 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
3546
3547         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
3548           Don't use GST_CAT_EVENT here for logging, it makes no sense.
3549
3550 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
3551
3552         * tools/gst-inspect.c: (print_element_properties_info):
3553           Add support for GstFraction properties.
3554
3555 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3556
3557         * Makefile.am:
3558           Add check-exports target and run it as part of 'make check'
3559           (see #499140 and #493983).
3560
3561         * gst/gst_private.h:
3562         * gst/gstelementfactory.h:
3563         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
3564         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
3565           (_priv_gst_in_valgrind):
3566         * gst/gstinfo.h: (GstLogFunction):
3567         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
3568           (gst_type_find_register):
3569         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
3570           (gst_type_find_factory_get_type):
3571         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
3572           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
3573           (gst_controller_new_valist), (gst_controller_new_list),
3574           (_gst_controller_dispose), (_gst_controller_class_init):
3575         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
3576         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
3577           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
3578           (gst_object_get_controller), (gst_object_set_controller),
3579           (gst_object_suggest_next_sync), (gst_object_sync_values),
3580           (gst_object_set_control_source), (gst_object_get_control_source),
3581           (gst_object_get_value_arrays), (gst_object_get_value_array),
3582           (gst_object_get_control_rate), (gst_object_set_control_rate):
3583         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
3584         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
3585           Make some functions that should be static static; rename some
3586           private symbols so that they don't get exported; add some FIXME
3587           comments so we can move accidentally exported functions into
3588           our private section in 0.11.
3589
3590         * win32/common/libgstreamer.def:
3591           Add gst_utils_get_timestamp().
3592
3593 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
3594
3595         * gst/gstvalue.c:
3596         * gst/gstvalue.h:
3597           Add more missing "Since:" tags to docs.
3598
3599 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
3600
3601         * gst/gstutils.c:
3602           Add mising "Since:" to docs.
3603
3604 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
3605
3606         * gst/gstplugin.c:
3607           Include "glib-compat-private.h" to fix the build on system with
3608           glib < 2.10. Fixes #503131.
3609
3610 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
3611
3612         * gst/gstutils.c:
3613         * gst/gstutils.h:
3614           Actually its not PURE as it gets the time from elsewhere.
3615
3616 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
3617
3618         * docs/gst/gstreamer-sections.txt:
3619         * gst/gstclock.h:
3620         * gst/gstdebugutils.c:
3621         * gst/gstinfo.c:
3622         * gst/gstutils.c:
3623         * gst/gstutils.h:
3624         * libs/gst/base/gstbasesink.c:
3625         * tools/gst-launch.c:
3626           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
3627           uses as we don't have HAVE_POSIX_TIMERS in public headers.
3628           Thanks Tim for spotting.
3629           API: gst_util_get_timestamp
3630
3631 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
3632
3633         * configure.ac:
3634           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
3635
3636 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
3637
3638         * gst/gststructure.c: (gst_structure_validate_name),
3639           (gst_structure_new_valist), (gst_structure_parse_value),
3640           (gst_structure_from_string):
3641           Don't crash in _from_string() if the structure name is not valid
3642           (fixes #501560).  Allow structure names to start with a number
3643           again (this apparently broke the ubuntu codec installer).
3644
3645         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
3646           (GST_START_TEST):
3647           Add unit test for the crash; update unit tests for new behaviour.
3648
3649 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
3650
3651         * gst/gstutils.c:
3652         Clarify gst_element_get_compatible_pad() documentation.
3653         Fixes #500919.
3654
3655 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
3656
3657         * tests/check/Makefile.am:
3658           Don't forget to dist {gst,libs}/struct_hppa.h.
3659
3660 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
3661
3662         * libs/gst/base/gstbasesink.c:
3663           Use new API to get elapsed time.
3664
3665 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
3666
3667         * gst/gstdebugutils.c:
3668         * gst/gstinfo.c:
3669           Fix wrong order of args in GST_CLOCK_DIFF() usage.
3670
3671         * tools/gst-launch.c:
3672           Use new API to get elapsed time.
3673
3674 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
3675
3676         * docs/gst/gstreamer-sections.txt:
3677         * gst/gstclock.h:
3678         * gst/gstdebugutils.c:
3679         * gst/gstinfo.c:
3680           Rename new API + ChangeLog surgery to remove old name from last entry..
3681
3682 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
3683
3684         * docs/gst/gstreamer-sections.txt:
3685         * gst/gstclock.h:
3686         * gst/gstdebugutils.c:
3687         * gst/gstinfo.c:
3688           Now hide the different clock stuff behind a macro.
3689
3690 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
3691
3692         * configure.ac:
3693         * gst/gstdebugutils.c:
3694         * gst/gstinfo.c:
3695           Apply the posix-timer check from #361155. Conditionally use the posix
3696           timer for logging. This gives better timestamp precission, less
3697           overhead and no ntp jitter.
3698
3699 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
3700
3701         * gst/gstminiobject.c: (gst_mini_object_get_type),
3702         (gst_mini_object_class_init), (gst_mini_object_copy_default),
3703         (gst_mini_object_finalize), (gst_mini_object_copy),
3704         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
3705         (gst_mini_object_replace), (param_mini_object_validate),
3706         (gst_param_spec_mini_object_get_type):
3707         Some cleanup and checking against invalid function parameters.
3708
3709 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
3710
3711         * docs/gst/gstreamer-sections.txt:
3712         * gst/gstclock.h:
3713         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3714         (gst_systemclock_suite):
3715         Start merging in the easy bits of #361155, the monotonic clock patch.
3716         This one adds a few handy macros with docs and a testsuite.
3717
3718 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
3719
3720         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
3721         Be a bit smarter when seeking, like, don't try to do a seek when it's
3722         not needed. This avoids errors when the file is not seekable.
3723         Fixes #499771.
3724
3725 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
3726
3727         * docs/gst/gstreamer-docs.sgml:
3728         * docs/gst/gstreamer-sections.txt:
3729         * docs/gst/gstreamer.types.in:
3730         * gst/Makefile.am:
3731         * gst/gst.h:
3732         * gst/gstpreset.c:
3733         * gst/gstpreset.h:
3734         * plugins/elements/gstqueue.c:
3735           Due to popular request remove preset interface again. :-(.
3736
3737 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
3738
3739         * tools/gst-inspect.c:
3740           Print 'default value' for enums and flags too.
3741
3742 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
3743
3744         * docs/random/ensonic/profiling.txt:
3745           More ideas.
3746
3747         * gst/gstbin.c:
3748           Fix typo and give better log output.
3749
3750         * gst/gstdebugutils.c:
3751         * gst/gstdebugutils.h:
3752           More ideas, make graphs a bit smaller and fix param name in macro.
3753
3754 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
3755
3756         * gst/gstpreset.c:
3757           Try harder to use the return value from fgets().
3758
3759 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
3760
3761         * gst/gstpreset.c:
3762           For theses two fgets we handle the error below.
3763
3764 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
3765
3766         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
3767         Only send upstream events upstream. Fixes #498746.
3768
3769 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
3770
3771         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
3772
3773         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3774         (gst_identity_init), (gst_identity_transform_ip),
3775         (gst_identity_set_property), (gst_identity_get_property):
3776         * plugins/elements/gstidentity.h:
3777         Add property to disable handoff signal emission. Fixes #498694.
3778         API: GstIdentity::signal-handoffs
3779
3780 2007-11-21  Julien Moutte  <julien@fluendo.com>
3781
3782         * docs/faq/gst-uninstalled: Yet another missing library for the
3783         uninstalled script (fft)
3784
3785 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
3786
3787         * docs/faq/developing.xml:
3788         Add a question about how to submit new translations.
3789
3790         * docs/random/release:
3791         Update the contact email address for the Translation Project
3792
3793         * plugins/elements/gstfdsrc.c:
3794         The parent_class for fdsrc is pushsrc, not GstElement.
3795
3796 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
3797
3798         * gst/gstpreset.c:
3799           Plug a leak and fix saving.
3800
3801 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
3802
3803         * docs/gst/gstreamer-sections.txt:
3804         Add new gst_preset__get_property_names() function to the docs
3805         to fix the build.
3806
3807 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
3808
3809         * gst/gstpreset.c:
3810         * gst/gstpreset.h:
3811           Change _get_preset_names API to return a strv with copies. Add
3812           _get_property_names to allow implementations to filter and provide
3813           good default implementation.
3814
3815 2007-11-20  Julien MOUTTE  <julien@moutte.net>
3816
3817         * docs/faq/gst-uninstalled: Add another library to the uninstalled
3818         script (sdp).
3819
3820 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
3821
3822         * gst/gstpreset.c:
3823           More cleanups, docs, and TODOs from comments that now slowly come in.
3824
3825 2007-11-19  Julien MOUTTE  <julien@moutte.net>
3826
3827         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
3828         search path.
3829
3830 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
3831
3832         * gst/gstpreset.c:
3833           Fix bogus warning and make the property type specific code more
3834           similar.
3835
3836 2007-11-19  Julien MOUTTE  <julien@moutte.net>
3837
3838         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
3839         it build on OS X.
3840
3841 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
3842
3843         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3844         (gst_bin_add_func), (gst_bin_remove_func),
3845         (gst_bin_change_state_func), (gst_bin_continue_func):
3846         Change email, cleanups add some more debug and comments.
3847         Also set bus and clock on new elements when the pipeline was in error.
3848
3849 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
3850
3851         * gst/gstbin.c:
3852         * gst/gstdebugutils.c:
3853           Fix build with --disable-gst-debug. Fixes #497859.
3854           Spotted by Sameer Naik.
3855
3856 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
3857
3858         * gst/gstevent.c:
3859           Little documentation improvment.
3860
3861         * gst/gstpreset.c:
3862           More TODO cleanups. Remove c++ comments.
3863
3864         * libs/gst/controller/gstcontroller.c:
3865           Add TODO and use quark from static string.
3866
3867         * tests/check/gst/gstmessage.c:
3868         * tests/check/gst/gststructure.c:
3869           Use quark from static string.
3870
3871 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
3872
3873         * gst/gstpreset.c:
3874           Add some comments and TODOs.
3875
3876         * gst/gstpreset.h:
3877           Add padding for future changes.
3878
3879         * plugins/elements/gstqueue.c:
3880           Implement the iface.    
3881
3882 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
3883
3884         * docs/gst/gstreamer-docs.sgml:
3885         * docs/gst/gstreamer-sections.txt:
3886         * docs/gst/gstreamer.types.in:
3887         * gst/Makefile.am:
3888         * gst/gst.h:
3889         * gst/gstpreset.c:
3890         * gst/gstpreset.h:
3891           Add the preset interface (Fixes #396779). Do some doc cleanups along.
3892
3893 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
3894
3895         * configure.ac:
3896
3897         Back to CVS
3898
3899 === release 0.10.15 ===
3900
3901 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
3902
3903         * configure.ac:
3904           releasing 0.10.15, "October"
3905
3906 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
3907
3908         * win32/vs6/libgstreamer.dsp:
3909         Convert line endings back to DOS.
3910
3911 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
3912
3913         * docs/design/draft-tagreading.txt:
3914         * docs/random/ensonic/profiling.txt:
3915         Update fast tagreading draft and performance profiling ideas.
3916
3917 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
3918
3919         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
3920         Don't hold the object lock when unreffing a buffer because it could
3921         cause a deadlock when the finalize function wants to grab the object
3922         lock too. Fixes #495133.
3923
3924 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
3925
3926         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
3927         (gst_segment_to_stream_time), (gst_segment_to_running_time):
3928         Also accumulate time correctly when doing reverse playback. Fixes
3929         #488201,
3930         When converting to running and stream time, use default values for
3931         start/stop/time/accum when comparing different formats. Fixes #494245.
3932
3933         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3934         Do running/stream time in TIME format.
3935
3936         * tests/check/gst/gstsegment.c: (GST_START_TEST),
3937         (gst_segment_suite):
3938         2 new unit tests for segment accumulation.
3939
3940 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3941
3942         * gst/gst.c: (init_pre):
3943         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
3944           (_gst_debug_bin_to_dot_file):
3945           Move getenv() back into gst_init, so everyone can live happily
3946           ever after. Make sure the symbol isn't exported though.
3947
3948 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
3949
3950         Patch by: Sebastien Moutte  <sebastien moutte net>
3951
3952         * win32/common/gstenumtypes.c:
3953         * win32/common/gstenumtypes.h:
3954           Update enum types.
3955
3956         * win32/vs6/libgstreamer.dsp:
3957           Update vs6 project files (#494343).
3958
3959 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
3960
3961         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
3962         (gst_base_src_perform_seek), (gst_base_src_default_event),
3963         (gst_base_src_set_flushing), (gst_base_src_activate_push),
3964         (gst_base_src_activate_pull):
3965         Unify flushing code, remove some old unlock code that is no longer used.
3966         Take the streaming lock when seeking to avoid races. Fixes #492729.
3967         Added some more comments.
3968
3969 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
3970
3971         * gst/gst.c: (_gst_disable_segtrap):
3972           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
3973           we can use gst_segtrap_is_enabled() there now that we have that API.
3974           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
3975           to do the getenv here (and export the variable).
3976
3977         * gst/gstdebugutils.c: (debug_dump_element),
3978           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
3979           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
3980
3981         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
3982           (gst_debug_log_default):
3983           Rename _gst_info_start_time to priv_gst_info_start_time so it
3984           doesn't get exported (was never in any header).
3985
3986         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
3987           (gst_plugin_loading_mutex):
3988           Make static mutex gst_plugin_loading_mutex really static (was never
3989           in any header), and use gst_segtrap_is_enabled() instead of
3990           _gst_disable_segtrap.
3991
3992         * gst/gsttrace.c: (_gst_trace_default):
3993           Make local _gst_trace_default static (was never in any header).
3994
3995 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
3996
3997         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
3998
3999         * win32/common/libgstbase.def:
4000         * win32/common/libgstcontroller.def:
4001         * win32/common/libgstdataprotocol.def:
4002         * win32/common/libgstnet.def:
4003         * win32/common/libgstreamer.def:
4004           Add more missing symbols, remove some duplicates, and sort
4005           as the 'sort' command sorts it (partially fixes #493983).
4006
4007 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
4008
4009         * gst/gstelement.c: (gst_element_set_state_func):
4010         Only change the state cookie if a different state was set on the
4011         element. See #492729.
4012
4013 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
4014
4015         * gst/gstvalue.c:
4016           Remove unused and uninitialised type variables that were still
4017           exported for some reason (they were never in any header files
4018           though).
4019
4020 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
4021
4022         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
4023         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
4024         (gst_base_sink_event), (gst_base_sink_get_position_last),
4025         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
4026         (gst_base_sink_change_state):
4027         Don't try to report a 0 position when we don't know, return -1 and FALSE
4028         instead. This mostly happens when we are prerolling.
4029         Make sure we can report the right position before we post the ASYNC_DONE
4030         message so that a message handler can query position without races.
4031
4032         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
4033         (async_done_handoff), (async_done_func), (send_buffer),
4034         (async_done_eos_func), (gst_sinks_suite):
4035         Add two tests for the above.
4036
4037 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
4038
4039         * MAINTAINERS:
4040         Update with new email address.
4041
4042         * docs/design/part-TODO.txt:
4043         Add some more info about future pad-block and negotiation changes.
4044
4045         * docs/design/part-buffering.txt:
4046         Add some ideas about buffering reporting.
4047
4048 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
4049
4050         * tests/check/gst/gstobject.c:
4051         Disable silly racy test that always fails on this combination of CPU
4052         and kernel.
4053
4054 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4055
4056         Patch by: Murray Cumming  <murrayc@murrayc.com>
4057
4058         * gst/gstobject.c:
4059           Corrected the registration of the parent-set and parent-unset
4060           signals: The parameter is a GstObject, not a GObject (#493134).
4061
4062 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4063
4064         * gst/gst_private.h:
4065         * gst/gstbuffer.h:
4066         * gst/gstevent.h:
4067         * gst/gstformat.h:
4068         * gst/gstmessage.h:
4069         * gst/gstplugin.h:
4070         * gst/gstquery.h:
4071         * gst/gsttaglist.h:
4072         * gst/gstvalue.h:
4073           Move declaration of private _gst_foo_initialize() functions into
4074           our private header file where they should have been all along.
4075
4076 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4077
4078         * docs/plugins/gstreamer-plugins-sections.txt:
4079         * gst/gstdebugutils.h:
4080         * gst/gstxml.h:
4081         * plugins/elements/gstqueue.c:
4082           gtk-doc fixes; trailing-comma-in-enum fix.
4083
4084 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4085
4086         * gst/gst.c: (gst_deinit):
4087           Clean up on deinit (not the external ones though, doesn't seem to be
4088           needed for some reason).
4089
4090 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
4091
4092         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
4093           Remove __declspec(dllimport) for MSVC that was copied over into core
4094           from a plugin, obviously without ever having been tested (note the
4095           single underscore in _declspec in the initial commit), and that doesn't
4096           really make sense.  See #492077.
4097
4098 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
4099
4100         * gst/gst.c: (init_post):
4101         * gst/gstevent.c: (_gst_event_initialize):
4102         * gst/gstquery.c: (_gst_query_initialize):
4103         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
4104           g_type_class_ref() other types as well, see #349410 and #64764.
4105
4106         * gst/gstbuffer.c: (_gst_buffer_initialize):
4107         * gst/gstmessage.c: (_gst_message_initialize):
4108           Simplify existing g_type_class_ref().
4109
4110 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
4111
4112         * gst/gstformat.c: (_gst_format_initialize):
4113           g_type_class_ref() our GstFormat type to make sure we avoid the
4114           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
4115           bug #64764. Should fix intermittent tee unit test failures (#474823).
4116
4117 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
4118
4119         * tests/check/elements/tee.c: (test_num_buffers):
4120           Simplify, simplify, simplify - or not.  Rewrite unit test
4121           not to use gst_parse_launch(); allow N sub-streams. Increasing
4122           the number of sub-streams seems to reproduce #474823 more easily.
4123
4124 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
4125
4126         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
4127
4128         * gst/gsttrace.c:
4129         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4130         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
4131         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
4132           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
4133           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
4134           so use _pipe() directly (#492077).
4135
4136         * win32/common/dirent.c: (_treaddir):
4137           Add a couple of casts to make it build without warnings with MSVC.
4138
4139         * win32/common/libgstreamer.def:
4140           Add some more symbols that need to be exported.
4141
4142 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
4143
4144         * tests/examples/metadata/read-metadata.c: (message_loop):
4145           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
4146           arriving in a second or third tag message are added to
4147           the tag list as well.
4148
4149 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
4150
4151         * libs/gst/base/gstbasesrc.c:
4152           Its "Since:" and not "@Since:". And remove an superflous cast.
4153
4154 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
4155
4156         * docs/libs/gstreamer-libs-sections.txt:
4157         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4158         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
4159         (gst_base_sink_get_property), (gst_base_sink_render_object),
4160         (gst_base_sink_preroll_object),
4161         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
4162         (gst_base_sink_change_state):
4163         * libs/gst/base/gstbasesink.h:
4164         Add a new last-buffer property that contains the last buffer used in
4165         basesink for preroll or rendering. useful for making snapshots.
4166         API: gst_base_sink_get_last_buffer()
4167         API: GstBaseSink::last-buffer
4168
4169 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
4170
4171         * docs/gst/running.xml:
4172         * gst/gst.c:
4173         * gst/gstdebugutils.c:
4174         * gst/gstdebugutils.h:
4175         * tools/gst-launch.c:
4176           Improve bin graph dumping, by using the envvar to specify a path.
4177           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
4178
4179 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
4180
4181         * plugins/elements/gsttypefindelement.c:
4182           (gst_type_find_element_handle_event),
4183           (gst_type_find_element_activate):
4184           Post special error message if we can't determine the type of a stream
4185           because it's empty.
4186
4187 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
4188
4189         * docs/gst/running.xml:
4190         * gst/gstdebugutils.c:
4191           Document new env-var. Add one log-line after dumpng a graph.
4192
4193 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
4194
4195         * configure.ac:
4196           Ugly hack to put the (recently removed and non-portable, apparently)
4197           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
4198           GNU ld, because without that 'make check' fails miserably on my debian
4199           stable box.  Someone with more knowledge of linker intricacies and
4200           portability issues than me fix this properly please.
4201
4202 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
4203
4204         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
4205         Reset last seen position after flushing so that we don't report the old
4206         position anymore.
4207
4208 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
4209
4210         * gst/gstelementfactory.c: (gst_element_register):
4211         * gst/gsturi.h:
4212         Patch from Alessandro Decina adding get_type_full and
4213         get_protocols_full private vfuncs to the URIHandler interface
4214         to allow bindings to support creating URI handlers. 
4215         Partially fixes: #339279
4216         API: GstURIHandlerInterface::get_type_full
4217         API: GstURIHandlerInterface::get_protocols_full
4218
4219 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
4220
4221         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
4222         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
4223         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
4224         Make it so that pads are considered linked until a buffer is pushed
4225         and discovered otherwise. This avoids problems with decodebin2 hanging
4226         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
4227         case.
4228
4229         Make sure we lock the multiqueue when updating the max-size properties.
4230         
4231         Fix a crash on Solaris in a debug statement in get_request_pad that
4232         passes a NULL string to GST_DEBUG. 
4233
4234         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
4235         (run_output_order_test):
4236         Fix the test to allow the first buffer on not-linked pads to come out
4237         of sequence while multiqueue discovers that they are not-linked.
4238
4239 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
4240
4241         * configure.ac:
4242         * libs/gst/check/Makefile.am:
4243         Use a custom export symbol regex for libgstcheck, as it needs
4244         to export symbols that don't match the standard GStreamer gst_*
4245         pattern, and  --export-dynamic is not portable (only works on 
4246         GNU ld)
4247
4248         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
4249         (gst_check_setup_sink_pad):
4250         Make sure to pass a message parameter to the fail_* macros.
4251
4252         * tests/check/gst/gstinfo.c: (GST_START_TEST):
4253         Fix some compiler warnings.
4254
4255 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
4256
4257         * tests/check/gst/gststructure.c: (test_to_string):
4258           Disable test that checks that white spaces are not allowed
4259           in structure names or field names, since we need to
4260           support that for now for backwards compatibility reasons.
4261
4262 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
4263
4264         * docs/gst/gstreamer-sections.txt:
4265         * gst/gsttaglist.c:
4266         * gst/gsttaglist.h:
4267           API: add GST_TAG_ARTIST_SORTNAME
4268           API: add GST_TAG_ALBUM_SORTNAME
4269           API: add GST_TAG_TITLE_SORTNAME
4270           Add tag variants for sorting (#414539).
4271
4272 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
4273
4274         * gst/gststructure.c:
4275           Also allow white space for names so we don't break
4276           backwards compatibility.
4277
4278 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
4279
4280         * docs/design/part-TODO.txt:
4281         * docs/design/part-segments.txt:
4282         * docs/design/part-streams.txt:
4283         Small updates.
4284
4285 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
4286
4287         * docs/gst/gstreamer-sections.txt:
4288          Fixed documentation from my previous commit (added new API add
4289          gst_value_set_structure(), add gst_value_get_structure() and
4290          GST_VALUE_HOLDS_STRUCTURE).
4291
4292 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
4293
4294         * gst/gstdebugutils.c:
4295           Reflow code to fix uninitialized variable warning.
4296
4297 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
4298
4299         * gst/gstcaps.c: (gst_caps_to_string),
4300         (gst_caps_from_string_inplace):
4301         * gst/gststructure.c: (gst_structure_get_abbrs),
4302         (gst_structure_to_string), (gst_structure_from_string):
4303         * gst/gstvalue.c: (gst_value_set_structure),
4304         (gst_value_get_structure), (gst_value_serialize_structure),
4305         (gst_value_deserialize_structure), (_gst_value_initialize):
4306         * gst/gstvalue.h:
4307         * tests/check/gst/gststructure.c: (GST_START_TEST),
4308         (gst_structure_suite):
4309         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4310          Added GstStructure to gst_value_table and its related functions.
4311          Changed gst_structure_to_string to print ';' in the end.
4312          Changed gst_caps_to_string to not print ';' beteween its
4313          fields (structures) anymore and remove the lastes ';' from latest
4314          structure. Now it is possible to have nested structures.
4315          In addition, backward compatibilty is assured by accepting '\0' as
4316          end delimiter. Fixes: #487969.
4317          API: add gst_value_set_structure()
4318          API: add gst_value_get_structure()
4319          API: add GST_VALUE_HOLDS_STRUCTURE
4320
4321 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
4322
4323         * gst/gstbus.c:
4324           When no GSource callback has been set up, tell developer
4325           to use a function that actually exists.
4326
4327 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
4328
4329         * docs/gst/gstreamer-sections.txt:
4330         * gst/Makefile.am:
4331         * gst/gst.c:
4332         * gst/gst.h:
4333         * gst/gstdebugutils.c:
4334         * gst/gstdebugutils.h:
4335         * gst/gstinfo.c:
4336         * gst/gstinfo.h:
4337         * tools/gst-launch.c:
4338           Allow dumping pipelines as dot graphs. Fixes #456573.
4339
4340 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
4341
4342         * gst/gststructure.c:
4343           Allow '+' as well, it can be part of media or mime types
4344           such as image/svg+xml.
4345
4346 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
4347
4348         * docs/gst/gstreamer-sections.txt:
4349         * gst/gstbus.c:
4350         * gst/gstbus.h:
4351           API: add gst_bus_pop_filtered
4352           API: add gst_bus_timed_pop_filtered
4353           Two new functions for waiting for specific message types on the
4354           bus for a specified amount of time without iterating any main
4355           loops or main contexts.
4356
4357         * tests/check/gst/gstbus.c:
4358           Some tests for the new functions.
4359
4360 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
4361
4362         * docs/libs/gstreamer-libs-sections.txt:
4363           Make gtk-doc ignore stuff it should ignore.
4364
4365 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
4366
4367         * libs/gst/check/gstcheck.c:
4368         * libs/gst/check/gstcheck.h:
4369           Allow runtime selection of unit tests to run via the GST_CHECKS
4370           environment variable (test case function names, comma-separated).
4371
4372 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
4373
4374         * gst/gststructure.c:
4375         * tests/check/gst/gststructure.c:
4376           Revert serialisation change and constrain structure-names after
4377           consensus on irc. Update api documentation to reflect the change.
4378
4379 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
4380
4381         * gst/gststructure.c:
4382           Improve serialization and fix tests.
4383
4384         * tests/check/gst/gststructure.c:
4385           Add another test that covers why I actually did the previous structure
4386           change.
4387
4388 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
4389
4390         * tools/gst-inspect.c: (print_element_info):
4391         Don't crash when inspecting an element.
4392
4393 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4394
4395         * tests/check/gst/gststructure.c:
4396           Add unit test for escaping of structure name when serialising
4397           and deserialising to/from strings.
4398
4399 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
4400
4401         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
4402         (gst_single_queue_new):
4403         * plugins/elements/gstqueue.c: (gst_queue_init),
4404         (gst_queue_push_one):
4405         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
4406         upstream is tricked into thinking it can suggest a format downstream
4407         while downstream does not support that format. The real problem is that
4408         core calls acceptcaps when pushing a buffer with new caps, for which we
4409         do a little workaround by setting the caps on the srcpad ourselves
4410         before pushing the buffer (until this is figured out). Fixes #486758.
4411
4412 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
4413
4414         * gst/gststructure.c:
4415         * gst/gstvalue.c:
4416           Add some more comments and debug output. Quote structure name to fix
4417           deserialisation of some strings.
4418
4419 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
4420
4421         * gst/gstbuffer.h:
4422           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
4423           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
4424
4425 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
4426
4427         * tools/gst-inspect.c:
4428           Save approx. 400 1 byte allocs when printing. Use API to acces element
4429           details.
4430
4431         * tools/gst-run.c:
4432           Avoid a strdup.
4433
4434         * tools/gst-xmlinspect.c:
4435           Use API to acces element details.
4436
4437 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
4438
4439         * gst/gstinfo.c:
4440           Fix some spelling errors.
4441
4442 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
4443
4444         * gst/gstbin.c: (bin_handle_async_done):
4445         Correctly set the next state if all of our async children commited their
4446         state. This makes sure we can actually cancel the state change in
4447         progress. Fixes a regression in Rhythmbox when seeking.
4448
4449 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4450
4451         * gst/gstbin.c:
4452           Don't shadow local variable.
4453
4454         * gst/gstinfo.c:
4455           Don't shadow global function name.
4456
4457 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4458
4459         * gst/gstelementfactory.c:
4460         * gst/gstpluginfeature.c:
4461         * gst/gstpluginfeature.h:
4462         * gst/gstregistrybinary.c:
4463         * gst/gstregistryxml.c:
4464         * gst/gsttypefind.c:
4465           Use already-interned string for the private GstPluginFeature
4466           plugin_name field.
4467
4468 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4469
4470         * docs/libs/gstreamer-libs-sections.txt:
4471           Add new API to docs; fixes the build.
4472
4473 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
4474         
4475         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
4476
4477         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
4478         (gst_base_sink_event):
4479         * libs/gst/base/gstbasesink.h:
4480         Add function to wait for EOS, subclasses can use this to correctly wait
4481         for devices to drain before performing the EOS logic. Fixes #485343.
4482         API: gst_base_sink_wait_eos()
4483
4484 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
4485
4486         * gst/gstplugin.h:
4487           Cast description string constants in GST_PLUGIN_DEFINE macros
4488           to a (gchar*) to make C++ code using these macros compile
4489           without warning with g++-4.2 (see #462737).  Even if slightly
4490           ugly, this seems preferable to putting the description strings
4491           into the GLib quark table or making the structure member a
4492           const gchar * and doing casts in core code that allocs and
4493           frees these strings, or requiring a cast in the C++ code.
4494
4495 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4496
4497         * gst/gstinfo.h:
4498           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
4499           to print the entire class/function signature into the log
4500           file for C++ code.  This only affects C++ code, for C code
4501           everything remains the same.
4502
4503 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
4504
4505         * gst/gstbin.c: (remove_from_queue):
4506         Work around a problem with pipelines containing (semi)loops until a
4507         proper, more complicated solution is ready. See #475455.
4508
4509 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4510
4511         * gst/gstplugin.c:
4512         * gst/gstplugin.h:
4513         * gst/gstregistrybinary.c:
4514         * gst/gstregistryxml.c:
4515           Put more strings into the GLib quark table. No need to keep
4516           a hundred-something copies of identical version strings,
4517           license strings, package name strings and package origin
4518           strings around. 
4519
4520 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
4521
4522         * docs/manual/advanced-dataaccess.xml:
4523           Don't imply that it's okay to unconditionally change
4524           buffer data or buffer metadata in a pad probe callback,
4525           and a bunch of other comments. Fixes #430031.
4526
4527 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4528
4529         * win32/common/gstenumtypes.c:
4530         * win32/common/gstenumtypes.h:
4531         * win32/common/gstversion.h:
4532           Update generated files.
4533
4534 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4535
4536         * docs/manual/advanced-autoplugging.xml:
4537           Prefix section with broken code with a warning (see #342432).
4538
4539 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
4540
4541         * docs/manual/appendix-integration.xml:
4542         * docs/manual/basics-init.xml:
4543           Call g_thread_init() before g_option_context_new() to
4544           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
4545
4546 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
4547
4548         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4549         (gst_base_sink_queue_object_unlocked),
4550         (gst_base_sink_queue_object), (gst_base_sink_event),
4551         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
4552         When we received EOS and are waiting for when to post the EOS message,
4553         our state is prerolled and we should not return ASYNC.
4554         Reorganize some code paths to implement this behavior.
4555
4556         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
4557         (gst_sinks_suite):
4558         Add unit test to verify above EOS fix.
4559
4560 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
4561
4562         * plugins/elements/gsttypefindelement.c:
4563         (gst_type_find_element_have_type), (gst_type_find_element_init),
4564         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
4565         Move detecting the input caps of the sinkpad to the setcaps function.
4566         This allows us to update the output caps when we receive new input caps
4567         instead of always using the first detected caps.
4568
4569 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
4570
4571         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
4572         (gst_base_sink_get_position):
4573         Don't try to preroll non-async elements after a flush.
4574         Subtract latency form clock times when reporting position.
4575
4576 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
4577
4578         * gst/gstpad.c: (gst_pad_pause_task):
4579         * gst/gstutils.c:
4580         Small comment and documentation update.
4581
4582 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
4583
4584         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
4585         (gst_base_src_set_live), (gst_base_src_is_live),
4586         (gst_base_src_query_latency), (gst_base_src_perform_seek),
4587         (gst_base_src_default_event), (gst_base_src_wait),
4588         (gst_base_src_do_sync), (gst_base_src_get_range),
4589         (gst_base_src_pad_get_range), (gst_base_src_loop),
4590         (gst_base_src_unlock), (gst_base_src_unlock_stop),
4591         (gst_base_src_set_flushing), (gst_base_src_set_playing),
4592         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4593         (gst_base_src_change_state):
4594         Rework the locking of basesrc in a similar fashion to basesink. We
4595         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
4596         us to handle live sources and semi live ones much better.
4597         Simplify flushing.
4598         Fix unlocking when seeking, shutting down and pausing in live sources.
4599
4600 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
4601
4602         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
4603         Fix compilation again.
4604
4605 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4606
4607         * gst/gstelement.c:
4608           Use meaningful categories for the logs to clean the default one.
4609
4610 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4611
4612         * tests/check/pipelines/cleanup.c:
4613           Print message name and not just number.
4614
4615 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4616
4617         * docs/design/draft-tagreading.txt:
4618           Add some more thoughts.
4619
4620 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4621
4622         * tests/check/pipelines/simple-launch-lines.c:
4623           Print message name and not just number.
4624
4625 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4626
4627         * libs/gst/base/gsttypefindhelper.c:
4628           Speedup typefinding. This is work in progress (see #459862).
4629
4630 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
4631
4632         * gst/gstplugin.c:
4633           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
4634           Spotted by Josep Torra Valles <josep@fluendo.com>.
4635
4636 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
4637
4638         * gst/gstclock.h:
4639           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
4640           field has moved to GstObject.
4641
4642 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
4643
4644         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
4645         (gst_base_src_get_range), (gst_base_src_change_state):
4646         Call unlock for live sources so that they can't get stuck in _create and
4647         produce a buffer before they are set back to PLAYING.
4648
4649 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
4650
4651         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
4652         (gst_queue_locked_dequeue):
4653         Comment the segment-related code... in the PROPER function.
4654         See #482147 and my commit from yesterday.
4655
4656 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
4657
4658         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
4659         Also initialize the counter that calculates the first timestamp on a
4660         buffer correctly for non-live sources.
4661
4662 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
4663
4664         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
4665         Disable code that's breaking the current-time-level reporting.
4666         See #482147
4667
4668 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
4669
4670         * docs/gst/gstreamer-sections.txt:
4671         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
4672         as they shouldn't show up. Fixes the docs build.
4673
4674 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
4675         
4676         * gst/gstinfo.h:
4677         Add an explicit variable importation needed on VS6 (only for MSC_VER)
4678         Define M_PI which is used in files which are including gstinfo.h. 
4679         VS6 includes doesn't define it.
4680         * win32/common/libgstbase.def:
4681         * win32/common/libgstcontroller.def:
4682         * win32/common/libgstreamer.def:
4683         Add new exported functions and variables.
4684         * win32/vs6/libgstcontroller.dsp:
4685         * win32/vs6/libgstreamer.dsp:
4686         Update the list of files to build.
4687         
4688 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
4689
4690         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
4691
4692         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
4693         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
4694         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
4695         Improve debugging. Fixes #480858.
4696
4697 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
4698
4699         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
4700
4701         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
4702         First patch of code cleanups, use the macros and right arguments in the
4703         macros to signal and lock the queue. See #480858.
4704
4705 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
4706
4707         * gst/gstbus.c: (poll_func):
4708         Improve debugging when dealing with _poll().
4709
4710 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
4711
4712         * gst/gstregistryxml.c:
4713           Fix memory leak I introduced a few days ago.
4714
4715 2007-09-26  Michael Smith <msmith@fluendo.com>
4716
4717         * gst/gstbuffer.c: (gst_buffer_finalize):
4718           Make it once again possible to free GstBuffers in the default
4719           build.
4720           The poisoning scribbles on parts of the miniobject we need in
4721           order to free it.
4722           Fixes #480341
4723
4724 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
4725
4726         * docs/gst/gstreamer-sections.txt:
4727         * gst/gsttaglist.c:
4728         * gst/gsttaglist.h:
4729         API: add GST_TAG_COMPOSER, fixes #459809.
4730
4731 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
4732
4733         * gst/gstplugin.c:
4734         * gst/gstplugin.h:
4735         Add the 3-clause BSD license and the MIT/X11 license to the license
4736         list. Fixes #479784.
4737
4738 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
4739
4740         * docs/faq/getting.xml:
4741           Add Q+A about different GStreamer versions (#364056).
4742
4743 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
4744
4745         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
4746         (gst_base_sink_event), (gst_base_sink_change_state):
4747         Return correct gboolean from query function.
4748
4749 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
4750
4751         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
4752         (gst_base_sink_event), (gst_base_sink_query),
4753         (gst_base_sink_change_state):
4754         Simplify latency query.
4755         When not synchronizing, we can report latency without querying the peer
4756         element.
4757
4758 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
4759
4760         * gst/gstobject.h:
4761         * gst/gstvalue.c:
4762         Fix small typos in the docs.
4763
4764 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
4765
4766         * docs/design/draft-latency.txt:
4767         * docs/design/draft-push-pull.txt:
4768         * docs/design/draft-tagreading.txt:
4769         * docs/design/part-MT-refcounting.txt:
4770         * docs/design/part-activation.txt:
4771         * docs/design/part-block.txt:
4772         * docs/design/part-element-source.txt:
4773         * docs/design/part-events.txt:
4774         * docs/design/part-gstbin.txt:
4775         * docs/design/part-gstelement.txt:
4776         * docs/design/part-gstobject.txt:
4777         * docs/design/part-gstpipeline.txt:
4778         * docs/design/part-messages.txt:
4779         * docs/design/part-preroll.txt:
4780         * docs/design/part-push-pull.txt:
4781         * docs/design/part-qos.txt:
4782         * docs/design/part-query.txt:
4783         * docs/design/part-scheduling.txt:
4784         * docs/design/part-seeking.txt:
4785         * docs/design/part-segments.txt:
4786         * docs/design/part-states.txt:
4787         Documentation updates and typo fixes.
4788
4789 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
4790
4791         * plugins/elements/gstfakesink.c:
4792           Add some debug text to error message to indicate that
4793           we errored out on request.
4794
4795         * tools/gst-launch.c:
4796           When the state change to PLAYING fails, check for an
4797           error message on the bus and print it.
4798
4799 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4800
4801         translated by: Jorge González González <aloriel@gmail.com>
4802
4803         * po/LINGUAS:
4804         * po/es.po:
4805           Added Spanish translation.
4806
4807 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
4808
4809         * plugins/elements/gstqueue.c: (gst_queue_push_one):
4810         Fix printf arguments.
4811
4812 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
4813
4814         * tests/check/generic/states.c:
4815           Improved state change unit test.
4816
4817 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
4818
4819         * gst/gstbin.h:
4820           Move priv to the right place.
4821
4822         * gst/gstsystemclock.c:
4823           Add FIXME: and improve log.
4824
4825         * tests/check/Makefile.am:
4826         * tests/examples/manual/Makefile.am:
4827           Work with all types of registries.
4828
4829 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
4830
4831         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
4832         Don't unref the event after pushing it. Fixes #478401.
4833
4834 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
4835
4836         * .cvsignore:
4837         * tests/examples/manual/.cvsignore:
4838           Ignore registries in any format.
4839
4840 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
4841
4842         * gst/glib-compat-private.h:
4843           Add compatibility macro for g_intern_string() for
4844           GLib-2.8 (any reason we can't just bump the
4845           requirement to at least 2.10?)
4846
4847         * gst/gstpadtemplate.h:
4848         * gst/gstelementfactory.c:
4849         * gst/gstregistryxml.c:
4850         * gst/gstregistrybinary.c:
4851           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
4852           up the internal code accordingly.  This shouldn't be a problem, since
4853           there is no reason external code could ever assume the string in such
4854           a structure is dynamically allocated unless it did that itself;  the
4855           use of g_strdup() is private to element factories.  The new code also
4856           saves some memory by putting pad template name strings into the GLib
4857           quark table instead of allocating them dynamically.
4858           Declaring this field constant fixes warnings with g++-4.2 when using
4859           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
4860
4861 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
4862
4863         * gst/gstelementfactory.c:
4864           Release static caps. Fixes #475723.
4865
4866 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
4867
4868         * gst/gstinfo.c:
4869         * gst/gstinfo.h:
4870           Make some internal API take const gchar * instead of just
4871           gchar * to avoid compiler warnings with g++-4.2.2 when
4872           passing string constants (partially fixes #478092).
4873
4874 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
4875
4876         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
4877         A latency query fails when one of the sinks fail.
4878
4879         * gst/gstelement.c: (gst_element_set_base_time):
4880         Improve debugging.
4881
4882 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
4883
4884         * gst/gstbin.c: (gst_bin_continue_func):
4885         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
4886         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
4887         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
4888
4889         Fix minor compilation warnings shown with Forte.
4890
4891 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
4892
4893         * plugins/elements/gstqueue.c: (apply_buffer),
4894         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
4895         Measure queue level based on the diff between head and tail timestamps
4896         even when pushing the first buffer.
4897
4898 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
4899
4900         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
4901         (gst_base_sink_event), (gst_base_sink_change_state):
4902         Sinks that don't preroll can always be queried for the latency.
4903         Don't post ASYNC start when we are not async.
4904
4905 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
4906
4907         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
4908         (gst_queue_handle_sink_event), (gst_queue_chain),
4909         (gst_queue_push_one), (gst_queue_handle_src_query),
4910         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
4911         * plugins/elements/gstqueue.h:
4912         When downstream returns UNEXPECTED from pushing a buffer, don't try to
4913         push more buffers but allow pushing of EOS and NEWSEGMENT.
4914         Add some more debug info here and there. Fixes #476514.
4915
4916 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
4917
4918         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4919         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
4920         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
4921         (gst_base_sink_set_flushing), (gst_base_sink_query),
4922         (gst_base_sink_change_state):
4923         Latency query is allowed after we are prerolled. Introduce a new flag
4924         for this and stop abusing other variables.
4925
4926 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
4927
4928         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
4929         Push OOB events downstream when we get them in send_event. This allows
4930         the application to insert events in the pipeline.
4931         Add some more comments.
4932
4933 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
4934
4935         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
4936         (do_bin_latency), (gst_bin_change_state_func):
4937         * gst/gstpipeline.c: (gst_pipeline_change_state):
4938         Move latency query from GstPipeline to GstBin so that we can also
4939         use it when async-handling is enabled on bins.
4940
4941 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
4942
4943         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
4944         (gst_base_src_do_sync), (gst_base_src_change_state):
4945         Update docs.
4946         Clean up the timestamping and syncing code for pseudo live sources.
4947
4948 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
4949
4950         Patch by: Steve Fink  <sphink gmail com>
4951
4952         * docs/manual/appendix-checklist.xml:
4953           Mention less -R switch in the section about debug output (#474055).
4954
4955 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
4956
4957         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4958         Queue can latency to the pipeline up to the configured max size in time.
4959         Report this fact in the latency query.
4960
4961 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
4962
4963         Patch by: Sebastien Moutte <sebastien at moutte dot net>
4964
4965         * libs/gst/controller/gstinterpolation.c:
4966         * libs/gst/controller/gstlfocontrolsource.c:
4967         Use gst_guint64_to_gdouble() when converting from a uint64 or
4968         GstClockTime to double to fix the build on win32. Fixes #474371.
4969
4970 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
4971
4972         * gst/gstbuffer.c: (gst_buffer_finalize):
4973         Implement poisoning for GstBuffer if --enable-poisoning is specified.
4974         When finalizing a buffer the complete struct is filled with 0xff,
4975         thus making a use of the buffer after the final unref impossible.
4976
4977 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
4978
4979         * tests/check/libs/controller.c: (GST_START_TEST):
4980         Use fail_unless_equals_int(a, b) instead of
4981         fail_unless_equals (a == b) to get better output on failures.
4982
4983 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
4984
4985         * tests/check/gst/gsturi.c:
4986           Also check for the other file URI variant on win32.
4987
4988 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
4989
4990         * gst/gsturi.c: (gst_uri_get_location):
4991           If there's no hostname, we want to return 'c:/foo/bar.txt'
4992           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
4993
4994         * tests/check/gst/gsturi.c:
4995           Unit test for the above and a few more things.
4996
4997 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
4998
4999         * docs/design/part-live-source.txt:
5000         Add docs on how live sources should timestamp.
5001
5002         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
5003         Add some more debug info.
5004         For subclasses that are live and like to sync, add aditional startup
5005         latency to sync time and timestamps so that we timstamp according to the
5006         design doc.
5007
5008 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
5009
5010         * gst/gstbuffer.c:
5011           Also do a g_type_class_ref() for the subbuffer type in
5012           the init function.
5013
5014 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
5015
5016         * docs/gst/gstreamer-sections.txt:
5017         * gst/gstpad.c: (gst_pad_peer_query):
5018         * gst/gstpad.h:
5019         Add function to perform a query on the peer of a pad.
5020         API: gst_pad_peer_query()
5021
5022 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
5023
5024         * tests/check/gst/gstsystemclock.c:
5025           Cleanup the test a little (use gst-logging and not g_message). Improve
5026           test to check if a wait reached the target.
5027
5028 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
5029
5030         * docs/libs/gstreamer-libs-sections.txt:
5031           Add new API to docs and fix the build.
5032
5033 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
5034
5035         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5036         (gst_base_src_init), (gst_base_src_set_do_timestamp),
5037         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
5038         (gst_base_src_get_property), (gst_base_src_do_sync):
5039         * libs/gst/base/gstbasesrc.h:
5040         Add property to make the basesrc timestamp buffers based on the current
5041         running time.
5042         API: GstBaseSrc::do-timestamp
5043         API: gst_base_src_set_do_timestamp()
5044         API: gst_base_src_get_do_timestamp()
5045
5046 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
5047
5048         * docs/random/release:
5049           Really make sure translations are up-to-date before
5050           a release (#465010).
5051
5052 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
5053
5054         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
5055         Always destroy the timer, also in error cases.
5056
5057 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
5058
5059         * docs/manual/highlevel-xml.xml:
5060         Fix XML example code. Fixes #472714.
5061
5062 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
5063
5064         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5065         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
5066         (gst_base_sink_query):
5067         Protect eos and have_preroll with the OBJECT lock so we don't need to
5068         take the PREROLL lock when querying the latency. Fixes #473846.
5069
5070 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
5071
5072         * gst/gstelement.c:
5073           Give some log-messages a category.
5074
5075 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
5076
5077         * gst/gststructure.c:
5078         (gst_structure_fixate_field_nearest_fraction):
5079         Fix fraction list fixation code. Take the fraction with the smallest
5080         difference with the target instead of the first one in the list.
5081
5082         * tests/check/gst/gststructure.c: (GST_START_TEST),
5083         (gst_structure_suite):
5084         Added test to verify correct fraction list fixation behaviour.
5085
5086 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
5087
5088         * win32/common/libgstreamer.def:
5089           Export gst_bus_add_signal_watch too.
5090
5091 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
5092
5093         * docs/libs/gstreamer-libs-sections.txt:
5094         Add new methods to docs.
5095
5096         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5097         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
5098         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
5099         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
5100         * libs/gst/base/gstbasesink.h:
5101         Add ts-offset property to fine-tune the synchronisation.
5102         API: GstBaseSink::ts-offset property
5103         API: gst_base_sink_set_ts_offset()
5104         API: gst_base_sink_get_ts_offset()
5105
5106 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
5107
5108         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5109         (gst_base_sink_init), (gst_base_sink_set_sync),
5110         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
5111         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
5112         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
5113         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
5114         (gst_base_sink_get_property), (gst_base_sink_change_state):
5115         * libs/gst/base/gstbasesink.h:
5116         Add async property to instruct the sink never to inform the parent about
5117         ASYNC state changes, update docs.
5118         Check argument with g_return_* for the public functions.
5119         API: GstBaseSink::async property
5120         API: gst_base_sink_set_async_enabled()
5121         API: gst_base_sink_is_async_enabled()
5122
5123 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
5124
5125         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
5126         Improve debugging.
5127
5128         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
5129         (gst_base_src_default_query), (gst_base_src_wait),
5130         (gst_base_src_do_sync), (gst_base_src_change_state):
5131         Rearrange some code so that we can add support for measuring the 
5132         startup latency.
5133
5134 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
5135
5136         * docs/random/ensonic/dynlink.txt:
5137           More thoughs on this.
5138
5139         * plugins/elements/gstcapsfilter.c:
5140           Add bugzilla ticket number to FIXME comment.
5141
5142 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
5143
5144         * docs/design/part-TODO.txt:
5145         * docs/design/part-block.txt:
5146         Update some docs.
5147
5148 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
5149
5150         * gst/Makefile.am:
5151           Revert patch which uses $(gst_headers) instead of $^ because it
5152           breaks make dist.
5153
5154 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
5155
5156         * tests/check/gst/gstbin.c: (GST_START_TEST):
5157           Fix leaks in the new unit test.
5158
5159 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
5160
5161         * gst/gst.c:
5162           Don't use GST_INFO before the debug system is actually initialised
5163           (shouldn't do any harm, but won't print anything either, so we can
5164           just as well remove it).
5165
5166         * gst/gstinfo.h:
5167           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
5168           compilers that don't support variadic macros (such as MSVC), should
5169           check for debug_level <= __gst_debug_min as well, since that's the
5170           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
5171           inline helper functions. Should improve performance a bit, but also
5172           makes sure uses of GST_INFO et.al are ignored if the debugging
5173           system isn't initialised yet (instead of printing an assertion
5174           failure).
5175
5176 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
5177
5178         patch by: David Nečas <yeti@physics.muni.cz>
5179
5180         * gst/Makefile.am:
5181           Replace some non portable makefile constructs.
5182
5183 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
5184
5185         * common/gtk-doc-plugins.mak:
5186           Grrrrr. Don't remove the types file on make clean.
5187
5188 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
5189
5190         * tools/gst-launch.1.in:
5191         Add colorspace to example pipeline. Fixes #458274.
5192
5193 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
5194
5195         * docs/random/release:
5196           The release manager should run 'make download-po' before making a
5197           release to make sure translations are up-to-date.
5198
5199         * po/LINGUAS:
5200         * po/be.po:
5201         * po/pl.po:
5202         * po/rw.po:
5203           Add some new translations.
5204
5205 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
5206
5207         * tools/gst-launch.c: (event_loop), (main):
5208         Don´t try to do any state management when a live pipeline posts
5209         buffering messages.
5210         Also make the buffering string translatable.
5211
5212 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
5213
5214         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
5215         (bin_handle_async_start), (gst_bin_handle_message_func):
5216         Improve debugging.
5217         When adding elements, insert messages into the bus of the newly added
5218         element and make sure the element is the source of the message. This
5219         allows the parent bin to intercept the message and do the
5220         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
5221         messages to the app (which is not allowed).
5222         Update some docs.
5223
5224         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
5225         Fix testsuite so that is does not work around messages that should not
5226         have been posted in the first place.
5227
5228 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
5229
5230         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
5231         (update_degree), (gst_bin_sort_iterator_next):
5232         Fix annoying bug in the sorted iterator where a sink that is not really
5233         a sink (when it has downstream links) screwed up the iterator.
5234
5235         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5236         Unit test to verify the fix.
5237
5238 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
5239
5240         * gst/gstmessage.h:
5241         Add some more docs for the messages.
5242
5243         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5244         (gst_base_sink_query):
5245         Add some more debugging.
5246
5247         * tools/gst-launch.c: (event_loop):
5248         When interrupting, don't try to set pipeline to PAUSED twice.
5249
5250 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
5251
5252         
5253         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
5254         (bin_handle_async_start), (gst_bin_handle_message_func):
5255         Move ASYNC_START message posting to where it belongs, similar to
5256         async_done. 
5257         Don't post ASYNC_START when we are in error. 
5258         Post ASYNC_START when we added an async element to a bin.
5259
5260 2007-08-14  Julien MOUTTE  <julien@moutte.net>
5261
5262         * gst/gstindex.c: (gst_index_add_association): Fix index entry
5263         generation from vargs. Fixes #466595.
5264
5265 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
5266
5267         * gst/gstbin.c: (gst_bin_element_set_state):
5268         Always change the state of a NO_PREROLL element even if it has ASYNC
5269         elements inside (in case of a bin).
5270
5271         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
5272         Unit test for this case.
5273
5274 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
5275
5276         * libs/gst/check/gstbufferstraw.c:
5277         * libs/gst/check/gstcheck.h:
5278         * libs/gst/controller/gstcontroller.c:
5279         * libs/gst/controller/gstcontrolsource.h:
5280         * libs/gst/controller/gstlfocontrolsource.h:
5281         * plugins/elements/gstcapsfilter.h:
5282         * plugins/elements/gstfdsink.h:
5283         * plugins/elements/gstfdsrc.h:
5284           Add more missing docs.
5285
5286 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
5287
5288         * gst/gststructure.c:
5289         Add Since tag to docs.
5290
5291 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
5292
5293         * docs/gst/gstreamer-sections.txt:
5294         * gst/gststructure.c: (gst_structure_get_uint):
5295         * gst/gststructure.h:
5296         Add function to get uint from a structure.
5297         API: gst_structure_get_uint()
5298
5299 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
5300
5301         * gst/gstcaps.c: (gst_caps_set_simple_valist),
5302         (gst_caps_intersect):
5303         Fix proper check for simple caps.
5304
5305 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
5306
5307         * docs/gst/Makefile.am:
5308         * docs/libs/Makefile.am:
5309           Remove cruft and do some cleanups.
5310
5311         * docs/gst/gstreamer-docs.sgml:
5312         * docs/libs/gstreamer-libs-docs.sgml:
5313           Prepare for comming gtkdoc features (rebase against online docs).
5314
5315 2007-08-10  Michael Smith <msmith@fluendo.com>
5316
5317         * docs/gst/gstreamer-sections.txt:
5318           Add gst_registry_add_path to docs.
5319
5320 2007-08-10  Michael Smith <msmith@fluendo.com>
5321
5322         * gst/gstregistry.h:
5323           Add gst_registry_add_path, which was missing from this header.
5324
5325 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
5326
5327         * libs/gst/controller/gstlfocontrolsource.c:
5328           Printf format fix.
5329
5330 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
5331
5332         * libs/gst/base/gstbasesink.c:
5333           Don't send an async_start message during downwards state change if 
5334           target state is less than READY
5335
5336 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5337
5338         translated by: Gabor Kelemen <kelemeng@gnome.hu>
5339
5340         * po/LINGUAS:
5341         * po/hu.po:
5342           Added Hungarian translation.
5343
5344 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5345
5346         * po/fi.po:
5347         * po/it.po:
5348         * po/nl.po:
5349         * po/sv.po:
5350         * po/uk.po:
5351           Updated translations.
5352
5353 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
5354
5355         * libs/gst/controller/Makefile.am:
5356         Dist gstlfocontrolsourceprivate.h
5357
5358 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
5359
5360         * docs/libs/gstreamer-libs.types:
5361         Don't register the enum type gst_lfo_waveform_get_type() in the
5362         .types file - only GObject derived types belong.
5363
5364 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
5365
5366         Patch by: <arenevier at fdn dot fr>
5367
5368         * gst/gstbuffer.h:
5369         Remove comma from last element in enum to avoid compile errors when
5370         using -pendantic. Fixes #464366.
5371
5372 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
5373
5374         * docs/design/part-TODO.txt:
5375         Add some more TODO items
5376
5377         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
5378         Improve debugging.
5379
5380         * gst/gstcaps.c: (gst_caps_intersect):
5381         Optimize trivial intersection case between identical caps pointers.
5382
5383         * gst/gstelement.c: (gst_element_continue_state),
5384         (gst_element_set_state_func):
5385         * gst/gstpad.c:
5386         Fix spelling and grammar mistakes.
5387
5388 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
5389
5390         * po/POTFILES.in:
5391         * po/POTFILES.skip:
5392           Update POTFILES. Fixes #461599.
5393
5394 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
5395
5396         * gst/gst.c:
5397         Fix confusing typo in debug output.
5398
5399 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
5400
5401         reviewed by: Stefan Kost <ensonic@users.sf.net>
5402
5403         * libs/gst/controller/Makefile.am:
5404         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
5405         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
5406         (gst_lfo_control_source_new),
5407         (gst_lfo_control_source_set_waveform),
5408         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
5409         (gst_lfo_control_source_finalize),
5410         (gst_lfo_control_source_dispose),
5411         (gst_lfo_control_source_set_property),
5412         (gst_lfo_control_source_get_property),
5413         (gst_lfo_control_source_class_init):
5414         * libs/gst/controller/gstlfocontrolsource.h:
5415         * libs/gst/controller/gstlfocontrolsourceprivate.h:
5416         API: Add GstLFOControlSource, a control source that gives values
5417         for specific timestamps based on several periodic waveforms.
5418         Fixes #459717.
5419
5420         * tests/check/libs/controller.c: (GST_START_TEST),
5421         (gst_controller_suite):
5422         * docs/libs/gstreamer-libs-docs.sgml:
5423         * docs/libs/gstreamer-libs-sections.txt:
5424         * docs/libs/gstreamer-libs.types:
5425         Add documentation and unit tests for GstLFOControlSource.
5426
5427 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
5428
5429         * configure.ac:
5430         Back to CVS
5431
5432 === release 0.10.14 ===
5433
5434 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
5435
5436         * configure.ac:
5437           releasing 0.10.14, "Breathing Vacuum"
5438
5439 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
5440
5441         * gst/gstelement.c: (gst_element_class_set_details_simple):
5442         * gst/gstelement.h:
5443           Make strings passed to gst_element_class_set_details_simple()
5444           constant, as they should be (#462752).
5445
5446 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
5447
5448         * gst/gstbin.c: (gst_bin_change_state_func),
5449         (bin_handle_async_done), (gst_bin_handle_message_func):
5450         Don't forget about the fact that some element went ASYNC even after a
5451         resync. This makes us post the ASYNC_DONE message correctly.
5452         Fixes #462558.
5453
5454 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
5455
5456         * gst/gstregistry.c: (gst_registry_add_feature):
5457         When replacing an existing feature in the registry, make sure to
5458         continue holding a reference until we've replaced the name string
5459         within our feature hash table. Make sure to use g_hash_table_replace
5460         instead of g_hash_table_insert to ensure the new name string is used
5461         as a key instead of the old one that we're about to free.
5462         Fixes: #462085
5463
5464 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
5465
5466         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5467         (gst_plugin_feature_set_name):
5468         Revert patch from #459466 until after the release and we can work
5469         out exactly what the problem is (if any).
5470
5471 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
5472
5473         * docs/gst/gstreamer-sections.txt:
5474         * gst/gsttaglist.c:
5475         * gst/gsttaglist.h:
5476           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
5477
5478 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
5479
5480         * docs/libs/Makefile.am:
5481         Include our build-prefix libs and includes before the generic ones to
5482         avoid linking against the installed libs when we want the build-tree
5483         ones.
5484
5485 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
5486
5487         Patch by: Steve Fink  <sphink gmail com>
5488
5489         * docs/pwg/building-testapp.xml:
5490           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
5491           if people try to build or install the example from the plugin
5492           template against a GStreamer from package using the configure
5493           defaults.
5494
5495 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
5496
5497         Patch by: Steve Fink  <sphink gmail com>
5498
5499         * tools/gst-inspect.1.in:
5500           Document --print-all and --print-plugin-auto-install-info command
5501           line options in man page.
5502
5503 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
5504
5505         * docs/gst/gstreamer-sections.txt:
5506         Add docs for new api function.
5507
5508 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
5509
5510         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
5511         * gst/gstelementfactory.h:
5512         API: gst_element_factory_has_interface()
5513         Added method to check if an element factory implements a named
5514         interface.
5515
5516 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
5517
5518         * configure.ac:
5519         * docs/gst/gstreamer.types.in:
5520           Another conditional doc check.
5521
5522         * gst/gstmessage.c:
5523         * gst/gstparamspecs.h:
5524         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
5525         * gst/gstvalue.c:
5526         * gst/gstxml.h:
5527           API-doc fixes.
5528
5529 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
5530
5531         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
5532         (gst_registry_binary_load_feature),
5533         (gst_registry_binary_load_plugin),
5534         (gst_registry_binary_read_cache):
5535           Print error just once and with additional info.
5536
5537 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
5538
5539         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
5540         (helper_find_suggest), (helper_find_get_length),
5541         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
5542         (gst_type_find_helper_for_buffer):
5543           Cleanup the typefindhelper code and add private doc comments.
5544
5545 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
5546
5547         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5548         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
5549         Fix capsfilter for cases where the caps set on capsfilter will provide
5550         additional information.
5551         Fixes #449197
5552
5553 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
5554
5555         * gst/gsttypefindfactory.c:
5556           Fix docs that recommened wrong function to use.
5557
5558 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
5559
5560         * tools/gst-inspect.c: (print_plugin_features):
5561           Also give media-type for typefinders in element output.
5562
5563 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
5564
5565         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
5566         (gst_registry_remove_features_for_plugin_unlocked),
5567         (gst_registry_add_feature), (gst_registry_remove_feature),
5568         (gst_registry_lookup_feature_locked):
5569         * gst/gstregistry.h:
5570           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
5571           Fixes #459501.
5572
5573 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
5574
5575         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5576         (gst_plugin_feature_set_name):
5577           Avoid double memory usage for pluginfeature names. Fixes #459466.
5578
5579 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
5580
5581         * gst/gstpad.h:
5582           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
5583           driving the pipeline may need to explicitly check for NOT_LINKED as
5584           well, since IS_FATAL doesn't cover that.
5585
5586 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
5587
5588         * docs/pwg/advanced-types.xml:
5589           Fix typo and duplicate entry in video formats list.
5590
5591 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
5592
5593         * libs/gst/controller/gstinterpolation.c:
5594         Also round to the nearest int when using cubic interpolation.
5595
5596 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
5597
5598         * libs/gst/controller/gstinterpolation.c:
5599         When linearly interpolating integer types, round to the nearest int
5600         by adding 0.5. Don't do it for float/double types.
5601         Fixes the failing controller test on my machine, which is somehow
5602         rounding differently than on the buildbots.
5603
5604 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
5605
5606         * tools/gst-plot-timeline.py:
5607           Better log parsing (categories can have -). Adjust text vs. lines, so
5608           that they span the same y-range.        
5609
5610 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
5611
5612         * docs/random/ensonic/audiobaseclasses.txt:
5613         * docs/random/ensonic/dynlink.txt:
5614         * docs/random/ensonic/profiling.txt:
5615           Save my thoughts.
5616
5617         * docs/random/moving-plugins:
5618           Add note to use g_assert type macros.
5619
5620 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
5621
5622         * configure.ac:
5623         * libs/gst/check/Makefile.am:
5624           Add libm check as we use in for plugins.
5625
5626 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
5627
5628         * gst/gstbin.c: (gst_bin_continue_func):
5629         Check that the state_cookie hasn't changed since the continue_func
5630         was scheduled. Avoids problems where the state changes back to
5631         something it shouldn't be because it was changed in the meantime.
5632
5633 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
5634
5635         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
5636         (gst_registry_binary_save_string),
5637         (gst_registry_binary_save_pad_template),
5638         (gst_registry_binary_save_feature),
5639         (gst_registry_binary_save_plugin),
5640         (gst_registry_binary_load_feature),
5641         (gst_registry_binary_load_plugin),
5642         (gst_registry_binary_read_cache):
5643           Fix memory leak. Be less verbose in the log.
5644
5645 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
5646
5647         * tests/check/elements/.cvsignore:
5648         Add file to cvsignore as commanded.
5649
5650 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
5651
5652         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
5653         (mq_dummypad_event), (run_output_order_test):
5654         Use a GStaticMutex to protect all cases where libcheck
5655         fail_if/fail_unless macros might be called from multiple threads
5656         simultaneously to avoid errors like:
5657           "check_pack.c:107: :-1081725400:Bad message type arg"
5658
5659 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
5660
5661         * tests/check/pipelines/stress.c: (GST_START_TEST):
5662         Make sure we set the pipeline back to the NULL state before
5663         dropping our final reference.
5664
5665 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
5666
5667         * tests/check/elements/tee.c: (GST_START_TEST):
5668         Make the tee stress-test a little less stressful so it doesn't just
5669         time out on slow-machines, and remove a small race when it's starting 
5670         up by adding a get_state() call.
5671
5672 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
5673
5674         * gst/gst.c:
5675           Avoid reading registry twice on startup. Fixes #457322.
5676
5677 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
5678
5679         * pkgconfig/gstreamer-check-uninstalled.pc.in:
5680         * pkgconfig/gstreamer-check.pc.in:
5681         Substitute the CFLAGS for libcheck into our .pc file too so that
5682         dependent modules will pick it up properly if libcheck is installed
5683         into some other prefix.
5684
5685 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
5686
5687         * configure.ac:
5688         Revert the pkg-config check for libcheck, since it pulls in the
5689         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
5690         a proper solution, either from the check project, or something else.
5691
5692 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
5693
5694         * configure.ac:
5695           Use pkg-config to locate check.
5696
5697 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
5698
5699         * gst/gsttaglist.c:
5700           Fix doc syntax.
5701
5702         * gst/gstutils.c:
5703         * gst/gstutils.h:
5704           Add deprecation guards.
5705
5706         * libs/gst/base/gstcollectpads.h:
5707           Don't document object (this is implicitly private).
5708
5709 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
5710
5711         * gst/gststructure.c: (gst_structure_parse_value):
5712           When deserialising foo=bar without a type cast, check if it's a
5713           boolean before falling back to a string type, otherwise things like
5714           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
5715           because the filtercaps end up having a signed=(string)true field,
5716           which causes problems later when intersection caps.
5717
5718         * tests/check/gst/gststructure.c: (GST_START_TEST):
5719           Add a unit test for this.
5720
5721 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
5722
5723         Reviewed by: Stefan Kost <ensonic@users.sf.net>
5724
5725         * libs/gst/controller/Makefile.am:
5726         * libs/gst/controller/gstcontroller.c:
5727         (gst_controlled_property_add_interpolation_control_source),
5728         (gst_controlled_property_new), (gst_controlled_property_free),
5729         (gst_controller_find_controlled_property),
5730         (gst_controller_new_valist), (gst_controller_new_list),
5731         (gst_controller_new), (gst_controller_remove_properties_valist),
5732         (gst_controller_remove_properties_list),
5733         (gst_controller_remove_properties),
5734         (gst_controller_set_property_disabled),
5735         (gst_controller_set_disabled), (gst_controller_set_control_source),
5736         (gst_controller_get_control_source), (gst_controller_get),
5737         (gst_controller_sync_values), (gst_controller_get_value_array),
5738         (_gst_controller_dispose), (gst_controller_get_type),
5739         (gst_controlled_property_set_interpolation_mode),
5740         (gst_controller_set), (gst_controller_set_from_list),
5741         (gst_controller_unset), (gst_controller_unset_all),
5742         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
5743         * libs/gst/controller/gstcontroller.h:
5744         * libs/gst/controller/gstcontrollerprivate.h:
5745         * libs/gst/controller/gstcontrolsource.c:
5746         (gst_control_source_class_init), (gst_control_source_init),
5747         (gst_control_source_get_value),
5748         (gst_control_source_get_value_array), (gst_control_source_bind):
5749         * libs/gst/controller/gstcontrolsource.h:
5750         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
5751         (gst_object_get_control_source):
5752         * libs/gst/controller/gstinterpolation.c:
5753         (gst_interpolation_control_source_find_control_point_node),
5754         (gst_interpolation_control_source_get_first_value),
5755         (_interpolate_none_get), (interpolate_none_get),
5756         (interpolate_none_get_boolean_value_array),
5757         (interpolate_none_get_enum_value_array),
5758         (interpolate_none_get_string_value_array),
5759         (_interpolate_trigger_get), (interpolate_trigger_get),
5760         (interpolate_trigger_get_boolean_value_array),
5761         (interpolate_trigger_get_enum_value_array),
5762         (interpolate_trigger_get_string_value_array):
5763         * libs/gst/controller/gstinterpolationcontrolsource.c:
5764         (gst_control_point_free), (gst_interpolation_control_source_reset),
5765         (gst_interpolation_control_source_new),
5766         (gst_interpolation_control_source_set_interpolation_mode),
5767         (gst_interpolation_control_source_bind),
5768         (gst_control_point_compare), (gst_control_point_find),
5769         (gst_interpolation_control_source_set_internal),
5770         (gst_interpolation_control_source_set),
5771         (gst_interpolation_control_source_set_from_list),
5772         (gst_interpolation_control_source_unset),
5773         (gst_interpolation_control_source_unset_all),
5774         (gst_interpolation_control_source_get_all),
5775         (gst_interpolation_control_source_get_count),
5776         (gst_interpolation_control_source_init),
5777         (gst_interpolation_control_source_finalize),
5778         (gst_interpolation_control_source_dispose),
5779         (gst_interpolation_control_source_class_init):
5780         * libs/gst/controller/gstinterpolationcontrolsource.h:
5781         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
5782         API: Refactor GstController into the core controller which can take
5783         a GstControlSource for providing actual values for timestamps.
5784         Implement a interpolation control source and use this for backward
5785         compatibility, deprecate a bunch of functions that are now handled
5786         by GstControlSource or GstInterpolationControlSource.
5787         Make it possible to disable the controller completely or only for
5788         specific properties. Fixes #450711.
5789         * docs/libs/gstreamer-libs-docs.sgml:
5790         * docs/libs/gstreamer-libs-sections.txt:
5791         * docs/libs/gstreamer-libs.types:
5792         Add new functions and classes to the docs.
5793         * tests/check/libs/controller.c: (GST_START_TEST),
5794         (gst_controller_suite):
5795         * tests/examples/controller/audio-example.c: (main):
5796         Port unit test and example to the new API and add some new
5797         unit tests.
5798
5799 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
5800
5801         Patch by: Mark Nauwelaerts <manauw at skynet be>
5802
5803         * plugins/elements/gstmultiqueue.c:
5804         (gst_multi_queue_get_internal_links), (apply_buffer),
5805         (single_queue_overrun_cb), (gst_single_queue_new):
5806         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
5807         the pipeline layout can be tracked correctly. Fixes #453732.
5808
5809 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
5810
5811         * docs/gst/Makefile.am:
5812         * docs/libs/Makefile.am:
5813         * docs/plugins/Makefile.am:
5814           Simplify --extra-dir as gtkdoc scans recursively.
5815
5816 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
5817
5818         * tools/gst-launch.c: (main):
5819         When we got an error, there is no point in waiting for preroll when
5820         shutting down.
5821
5822 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
5823
5824         * plugins/elements/gsttee.c: (gst_tee_base_init),
5825         (gst_tee_request_new_pad), (gst_tee_release_pad),
5826         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
5827         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
5828         (gst_tee_chain):
5829         Be a lot smarter when deciding what srcpad to use for proxying
5830         the buffer_alloc. Also handle pad added/removed when doing so.
5831         Fixes #357959.
5832         Keep track of what pads we already pushed on in case we have pads
5833         added/removed while pushing. Fixes #374639 
5834
5835         * tests/check/Makefile.am:
5836         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
5837         (tee_suite):
5838         Added unit test for pad resync.
5839
5840 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5841
5842         * po/nl.po:
5843         * po/sv.po:
5844           Updated translations.
5845
5846 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5847
5848         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
5849
5850         * po/LINGUAS:
5851         * po/fi.po:
5852           Added new Finnish translation.
5853
5854 2007-06-28  Wim Taymans  <wim@fluendo.com>
5855
5856         * plugins/elements/gstmultiqueue.c: (apply_buffer),
5857         (single_queue_overrun_cb):
5858         When figuring out when a queue is filled, use our internal time estimate
5859         based on segments, just like check_full does.
5860
5861 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
5862
5863         * gst/gstminiobject.c: (gst_mini_object_get_type):
5864           Remove 3 do-nothing methods.
5865
5866 2007-06-27  Wim Taymans  <wim@fluendo.com>
5867
5868         Patch by: Tim Angus <tim at ngus dot net>
5869
5870         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
5871         (gst_capsfilter_set_property):
5872         Take a reference instead of a copy when setting "caps".
5873         Fix documentation to clarify this behaviour. Fixes #449414.
5874
5875 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
5876
5877         * gst/gstindexfactory.c: (gst_index_factory_get_type):
5878         * gst/gstplugin.c: (gst_plugin_init):
5879         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
5880         * gst/gstquery.c: (gst_query_get_type):
5881         * gst/gstregistry.c: (gst_registry_init):
5882         * gst/gsturi.c: (gst_uri_handler_base_init):
5883           Remove empty instance_init() functions to save relocs and lessen the
5884           noise. Remove some of the function prototypes that are doubled by
5885           G_DEFINE_TYPE.
5886           
5887 2007-06-27  Wim Taymans  <wim@fluendo.com>
5888
5889         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
5890
5891         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
5892         Add peer and direction in the XML serialisation of ghostpads.
5893         Fixes #449226.
5894
5895 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
5896
5897         * configure.ac:
5898           Preserve useful information, thanks Tim.
5899
5900 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
5901
5902         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
5903         (gst_single_queue_flush), (apply_segment), (apply_buffer),
5904         (gst_single_queue_push_one), (gst_multi_queue_loop),
5905         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
5906         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
5907         (compute_high_id), (gst_single_queue_new):
5908         * plugins/elements/gstmultiqueue.h:
5909         Take the multiqueue lock when updating the fill level so we don't get
5910         confused. 
5911
5912         After applying a buffer or event on the src pad segment, make sure to
5913         call gst_data_queue_limits_changed() to get the data queue to unblock
5914         and check the filled state again.
5915         
5916         Rework the not-linked pad handling so the logic is that not-linked 
5917         pads can push as fast as they like, but only so they never get 
5918         ahead of any linked pads.
5919
5920         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
5921         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
5922         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
5923
5924         Add a test to check that not-linked pads always stay behind
5925         linked pads.
5926
5927         Fixes: #430682
5928
5929 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
5930
5931         * docs/random/release:
5932           Some updates to the release procedure.
5933
5934 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
5935
5936         * gst/gstelementfactory.c: (__gst_element_details_clear):
5937           Microoptimization that saves stunning 80 bytes.
5938
5939 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
5940
5941         * docs/plugins/gstreamer-plugins.args:
5942         * docs/plugins/inspect/plugin-coreelements.xml:
5943         * docs/plugins/inspect/plugin-coreindexers.xml:
5944           Update docs with caps info.
5945
5946 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5947
5948         * po/it.po:
5949           Updated Italian translation.
5950
5951 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5952
5953         * ChangeLog:
5954         * po/vi.po:
5955           Update Vietnamese translations.
5956
5957 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5958
5959         * libs/gst/base/gstbasesink.c:
5960           Remove unused signal enum.
5961
5962 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
5963
5964         * docs/gst/gstreamer-sections.txt:
5965         * gst/gstelement.c:
5966         * gst/gstutils.c: (gst_type_register_static_full):
5967         Beef up and include the docs for gst_type_register_static_full and
5968         gst_element_class_set_details_simple and add the API keyword
5969         in the ChangeLog.
5970
5971 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
5972
5973         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
5974         (update_time_level), (gst_single_queue_push_one),
5975         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
5976         (single_queue_overrun_cb), (single_queue_underrun_cb),
5977         (single_queue_check_full):
5978         Fix setting max-* properties after adding queues.
5979         Use IS_FILLED for checking visible items.
5980         Signal overrun if multiple queues overrun.
5981         Add extra debug output.
5982         Patch by: Wim Taymans <wim@fluendo.com>
5983
5984 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
5985
5986         * gst/gstelement.c: (gst_element_class_set_details_simple):
5987         * gst/gstelement.h:
5988         * gst/gstutils.c: (gst_type_register_static_full):
5989         * gst/gstutils.h:
5990         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
5991         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
5992         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
5993         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
5994         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
5995         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
5996         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
5997         * plugins/elements/gstidentity.c: (gst_identity_base_init):
5998         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
5999         * plugins/elements/gstqueue.c: (gst_queue_base_init),
6000         (apply_buffer), (gst_queue_chain):
6001         * plugins/elements/gsttee.c: (gst_tee_base_init):
6002         * plugins/elements/gsttypefindelement.c:
6003         (gst_type_find_element_base_init),
6004         (gst_type_find_element_class_init):
6005           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
6006           API: add gst_type_register_static_full
6007           API: add gst_element_class_set_details_simple
6008
6009 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
6010
6011         * docs/pwg/advanced-types.xml:
6012           Fix typo in iana.org URI.
6013
6014 2007-06-19  Andy Wingo  <wingo@pobox.com>
6015
6016         * tests/check/pipelines/simple-launch-lines.c
6017         (test_state_change_returns): Enable pull-mode tests now that
6018         basesink has been fixed.
6019
6020         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
6021         Changed from gst_base_sink_is_prerolled, reversing the sense of
6022         the return value. Returns FALSE also if the sink is in pull mode,
6023         in which case it needs no preroll.
6024         (gst_base_sink_query, gst_base_sink_change_state): Update for
6025         needs_preroll change.
6026         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
6027         chaining up, in which we return SUCCESS directly if we activated
6028         in pull mode instead of ASYNC. Involves countering an async_start
6029         message sent before chaining up; not sure if this is correct, in
6030         an ideal world we only send async-start when activating in push
6031         mode.
6032
6033         * tests/check/pipelines/simple-launch-lines.c
6034         (test_state_change_returns): New test, partially disabled until
6035         basesink is fixed.
6036
6037 2007-06-19  Wim Taymans  <wim@fluendo.com>
6038
6039         * plugins/elements/gstmultiqueue.c: (apply_buffer),
6040         (gst_multi_queue_sink_event):
6041         Fix event leak.
6042
6043 2007-06-19  Wim Taymans  <wim@fluendo.com>
6044
6045         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
6046         (gst_bin_change_state_func), (bin_push_state_continue),
6047         (bin_handle_async_start), (bin_handle_async_done),
6048         (gst_bin_handle_message_func):
6049         Move the common code for posting state-change messages into
6050         one function.
6051         Broadcast the state signal after we posted the messages.
6052         Mark the bin as busy when it's doing a state-change.
6053         Make sure async-start/done messages don't interfere with the bin's
6054         state when it's busy.
6055         After the state change, let the bin check which elements completed the
6056         state change while it was busy so that it can update its state.
6057
6058 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
6059
6060         * docs/random/release:
6061         Add a note about updating the doap file to the release checklist
6062
6063 2007-06-18  Wim Taymans  <wim@fluendo.com>
6064
6065         * plugins/elements/gstmultiqueue.c: (apply_buffer),
6066         (gst_single_queue_push_one), (gst_multi_queue_chain),
6067         (gst_multi_queue_sink_event):
6068         Make sure we don't reference the buffer/event after we have given away
6069         ownership in the queue.
6070
6071 2007-06-18  Wim Taymans  <wim@fluendo.com>
6072
6073         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
6074         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
6075         Update queue state _after_ adding the item in the queue because else we
6076         could end up being full without the element added yet.
6077
6078 2007-06-18  Wim Taymans  <wim@fluendo.com>
6079
6080         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
6081         (gst_bin_remove_func), (gst_bin_get_state_func),
6082         (gst_bin_element_set_state), (gst_bin_continue_func),
6083         (bin_push_state_continue), (bin_handle_async_start),
6084         (bin_handle_async_done), (gst_bin_handle_message_func):
6085         * gst/gstbin.h:
6086         Immediatly commit the toplevel bin state when receiving an async-done
6087         message. This enables us to avoid spawning a thread to commit the state
6088         in some common cases and it also avoids some races.
6089         Avoid spawning a state thread when adding/removing async elements to a
6090         toplevel bin. Instead we immediatly update the bin state.
6091         Get rid of iterating all the children when getting the state in the bin
6092         because it is now always up-to-date.
6093         Fix bug where locked elements would always return _SUCCESS even it they
6094         returned NO_PREROLL before being locked.
6095         Fix the order of the state_change, async-start/done messages that was
6096         sometimes incorrect.
6097         Mark the state_dirty field as deprecated, we don't need it anymore as we
6098         are always up-to-date.
6099
6100         * gst/gstelement.c: (gst_element_get_state_func),
6101         (gst_element_continue_state):
6102         Small debug inprovements.
6103         Return the previous element state return when nothing is pending instead
6104         of blindly returning SUCCESS.
6105
6106         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
6107         (gst_sinks_suite):
6108         Add a whole bunch of new testcases.
6109
6110 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
6111
6112         * po/uk.po:
6113         * po/vi.po:
6114           Update translations.
6115
6116 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
6117
6118         * gst/gstpad.c:
6119         Fix typo in the docs.
6120
6121 2007-06-15  Wim Taymans  <wim@fluendo.com>
6122
6123         * docs/libs/gstreamer-libs-sections.txt:
6124         Add docs for new methods.
6125
6126 2007-06-15  Wim Taymans  <wim@fluendo.com>
6127
6128         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
6129         (gst_multi_queue_item_new):
6130         Don't use GSlice because we don't depend on >= 2.10 yet.
6131
6132 2007-06-15  Wim Taymans  <wim@fluendo.com>
6133
6134         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
6135         (update_time_level), (apply_segment), (apply_buffer),
6136         (gst_single_queue_push_one), (gst_multi_queue_item_new),
6137         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
6138         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
6139         (single_queue_underrun_cb), (single_queue_check_full):
6140         Remove debug printf.
6141
6142 2007-06-15  Wim Taymans  <wim@fluendo.com>
6143
6144         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
6145         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
6146         (gst_data_queue_set_flushing), (gst_data_queue_push),
6147         (gst_data_queue_pop), (gst_data_queue_drop_head),
6148         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
6149         * libs/gst/base/gstdataqueue.h:
6150         Various cleanups.
6151         Added methods to get the current levels and to inform the queue that the
6152         'full' limits changed.
6153
6154         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
6155         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
6156         (gst_single_queue_flush), (update_time_level), (apply_segment),
6157         (apply_buffer), (gst_single_queue_push_one),
6158         (gst_multi_queue_item_steal_object),
6159         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
6160         (gst_multi_queue_loop), (gst_multi_queue_chain),
6161         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
6162         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
6163         (gst_multi_queue_src_query), (single_queue_overrun_cb),
6164         (single_queue_underrun_cb), (single_queue_check_full),
6165         (gst_single_queue_new):
6166         Keep track of time in the queue by measuring the difference between
6167         running_time on input and output. This gives more accurate results and
6168         can compensate for segments correctly.
6169         Make a queue by default only 5 buffers deep. We will now increase the
6170         buffer size depending on the filledness of the other queues.
6171         Factor out commong flush code.
6172         Make sure we don't add additional refcounts to buffers when we can avoid
6173         it.
6174         Propagate GstFlowReturn differently.
6175         Use GSlice for intermediate GstMultiQueueItems.
6176         Keep track of EOS.
6177         Resize queues on over and underruns based on filled level of other
6178         queues.
6179         When checking if the queue is filled, prefer to measure in time if we
6180         can and fall back to bytes when no time is known.
6181
6182         * plugins/elements/gstqueue.c:
6183         Fix return value.
6184
6185 2007-06-15  Wim Taymans  <wim@fluendo.com>
6186
6187         * libs/gst/base/gstbasetransform.c:
6188         (gst_base_transform_sink_event):
6189         Work around the brokenness of the event vmethod in basetransform. Prefer
6190         to return TRUE when the subclass returned FALSE (meaning don't forward
6191         the event). 
6192
6193         * libs/gst/base/gstbasetransform.h:
6194         Clarify the docs.
6195
6196 2007-06-15  Wim Taymans  <wim@fluendo.com>
6197
6198         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
6199         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6200         (gst_base_src_default_query), (gst_base_src_get_range),
6201         (gst_base_src_start):
6202         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
6203         Improve debugging.
6204
6205 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
6206
6207         * docs/pwg/advanced-types.xml:
6208           Added more formats to caps table.
6209
6210 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
6211
6212         * tools/gst-launch.c: (main):
6213           Remove crufy code. GOption does not need this workaround.
6214
6215 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
6216
6217         * libs/gst/controller/gstcontroller.c:
6218         (gst_controlled_property_set_interpolation_mode):
6219           Fix wrong getter for enums in controller.
6220
6221 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6222
6223         * libs/gst/check/gstcheck.c: (gst_check_init):
6224           Intercept criticals and warnings in the Gst-Phonon log domain, so
6225           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
6226           well.
6227         
6228 2007-06-14  Edward Hervey  <edward@fluendo.com>
6229
6230         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
6231         Since this file doesn't include "gst.h" it will not go through the
6232         macros that disable GST_LOG if debugging was disabled.
6233
6234 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6235
6236         * libs/gst/check/Makefile.am:
6237         * libs/gst/check/gstcheck.h:
6238         * pkgconfig/gstreamer-check-uninstalled.pc.in:
6239         * pkgconfig/gstreamer-check.pc.in:
6240           Ugly 'fix' for the controller unit test on the p5 bot: in
6241           fail_unless_equals_float() check whether the values are 'almost
6242           equal' by allowing a small absolute error, which should be good
6243           enough for our use cases (normal numbers and values close to 0).
6244           Proper fixage left to floating point arithmetic aficionados.
6245
6246 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
6247
6248         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
6249         (gst_base_sink_render_object), (gst_base_sink_get_position):
6250           Add two breaks thats where missing.
6251
6252 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6253
6254         * docs/libs/gstreamer-libs-sections.txt:
6255         * libs/gst/check/gstcheck.h:
6256           API: add fail_unless_equals_float() and assert_equals_float().
6257           Add documentation for some of the macros.
6258
6259         * tests/check/libs/controller.c: (GST_START_TEST):
6260           Use newly-added asserts.
6261
6262 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
6263
6264         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
6265           Show the caps change in the log to help spotting the case of not
6266           exactly matching caps.
6267
6268 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
6269
6270         * docs/pwg/building-boiler.xml:
6271           Fix typos, spotted by Thijs Vermeir (#447190).
6272
6273 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6274
6275         * docs/plugins/tmpl/.cvsignore:
6276         Ignore file to keep the buildbots happy
6277
6278 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
6279
6280         * docs/plugins/Makefile.am:
6281         * docs/plugins/gstreamer-plugins-docs.sgml:
6282         * docs/plugins/gstreamer-plugins-sections.txt:
6283         Pull fdsink into the docs too.
6284
6285 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
6286
6287         * libs/gst/controller/gstinterpolation.c:
6288         Actually use the new functions with min/max checks for the trigger and
6289         none interpolation modes for get() and get_value_array() instead of
6290         just the latter.
6291
6292 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
6293
6294         * libs/gst/controller/gstcontroller.c:
6295         (gst_controlled_property_free):
6296         Unset the minimum and maximum GValues when freeing the corresponding
6297         GstControllerProperty struct.
6298
6299 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
6300
6301         * libs/gst/controller/gstcontroller.c:
6302         (gst_controlled_property_new):
6303         * libs/gst/controller/gstcontrollerprivate.h:
6304         * libs/gst/controller/gstinterpolation.c:
6305         (gst_controlled_property_find_control_point_node),
6306         (interpolate_none_get), (interpolate_none_get_enum_value_array),
6307         (interpolate_none_get_string_value_array),
6308         (interpolate_trigger_get),
6309         (interpolate_trigger_get_enum_value_array),
6310         (interpolate_trigger_get_string_value_array):
6311         Protect against values larger or smaller than the minimum or maximum
6312         allowed value for the property when using values that can be compared.
6313
6314         Optimize trigger interpolator a bit by taking the last requested value
6315         into account instead of always looping through the complete list.
6316
6317         Fix coding style a bit, everywhere else we use "return foo" instead
6318         of "return (foo)".
6319         
6320         * tests/check/libs/controller.c: (GST_START_TEST),
6321         (gst_controller_suite):
6322         Add unit test for the protection against too large or too small
6323         values.
6324
6325 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
6326
6327         * docs/random/slomo/controller.txt:
6328         Add some thoughts about the future of the controller.
6329
6330 2007-06-08  Wim Taymans  <wim@fluendo.com>
6331
6332         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6333         Don't overflow in retimestamping code.
6334
6335 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
6336
6337         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
6338         Use gst_util_guint64_to_gdouble for conversions.
6339         * win32/common/libgstreamer.def:
6340         Add new exported functions.
6341
6342 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
6343
6344         * gst/gstutils.c:
6345           Small docs addition.
6346
6347 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
6348
6349         * README:
6350           Remove that test line again.
6351
6352 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
6353
6354         * README:
6355           Test commit mail sending.
6356
6357 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
6358
6359         * configure.ac:
6360           Fix typo and test commit mail sending.
6361
6362 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
6363
6364         * tests/examples/controller/audio-example.c:
6365           Improve comment and test commit mail sending.
6366
6367 2007-06-07  Wim Taymans  <wim@fluendo.com>
6368
6369         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
6370         (gst_bin_remove_func), (gst_bin_element_set_state),
6371         (bin_handle_async_start), (bin_handle_async_done),
6372         (gst_bin_handle_message_func):
6373         Add helper function to find messages.
6374         Generate the async-done messages together with the state change
6375         messages.
6376         Small cleanups in handling toplevel bins.
6377
6378 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
6379
6380         * libs/gst/base/gstdataqueue.c:
6381         * libs/gst/base/gstdataqueue.h:
6382         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6383         (gst_multi_queue_item_new), (gst_multi_queue_chain),
6384         (gst_multi_queue_sink_event):
6385         * tests/check/elements/multiqueue.c: (multiqueue_suite):
6386           Fix multiqueue leaking buffers and events when downstream or the
6387           queue are flushing. Make refcounting assumptions explicit and
6388           document them (shouldn't break existing code that uses it other than
6389           maybe leak miniobjects, but that already happens anyway). Add unit
6390           test for the most common flushing case. Fixes #423700.
6391           
6392 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
6393
6394         * libs/gst/controller/gstcontroller.c:
6395         Clarify docs: The get_all, get_value_array(s) functions
6396         don't modify the GObject properties.
6397
6398 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
6399
6400         * libs/gst/controller/gstcontroller.c:
6401         (gst_controlled_property_set_interpolation_mode),
6402         (gst_controlled_property_prepend_default),
6403         (gst_controlled_property_new), (gst_controller_set_unlocked),
6404         (gst_controller_set), (gst_controller_set_from_list),
6405         (gst_controller_unset), (gst_controller_unset_all):
6406         * libs/gst/controller/gstcontrollerprivate.h:
6407         * libs/gst/controller/gstinterpolation.c:
6408         Factor out the 'set' logic into gst_controller_set_unlocked for the
6409         gst_controller_set and gst_controller_set_from_list functions.
6410
6411         To make life of the interpolators easier always add a control point
6412         at timestamp zero with the default value.
6413
6414         In the linear interpolator make things more obvious by better variable
6415         naming (slope).
6416
6417         Implement cubic interpolation mode (by using a natural cubic spline)
6418         and map the quadratic interpolation mode to this too (as quadratic
6419         doesn't make much sense, see discussion on the list).
6420
6421         * tests/check/libs/controller.c: (GST_START_TEST),
6422         (gst_controller_suite):
6423         Add unit test for the cubic interpolation mode and check everywhere
6424         if the interpolation mode could be set as expected.
6425
6426 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
6427
6428         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
6429           Don't use GLib-2.10 functions, we still depend on
6430           GLib-how-old-is-it-again-2.8.
6431
6432 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
6433
6434         * docs/gst/gstreamer-sections.txt:
6435         * gst/Makefile.am:
6436         * gst/gst.c:
6437         * gst/gst.h:
6438         * gst/gstparamspecs.c: (_gst_param_fraction_init),
6439         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
6440         (_gst_param_fraction_values_cmp),
6441         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
6442         * gst/gstparamspecs.h:
6443         * gst/gstvalue.c:
6444         * tests/check/Makefile.am:
6445         * tests/check/gst/.cvsignore:
6446         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
6447         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
6448         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
6449         (GST_START_TEST), (gst_param_spec_suite):
6450           API: add GstParamSpecFraction, so elements can have fraction
6451           properties without lots of painful string parsing (#444648).
6452
6453 2007-06-05  Wim Taymans  <wim@fluendo.com>
6454
6455         * gst/gstobject.c: (gst_object_class_init):
6456         Fix signal signature.
6457
6458         * gst/gstsegment.c:
6459         Add small clarification in the api docs.
6460
6461         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
6462         States are protected with object lock.
6463
6464 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
6465
6466         * AUTHORS:
6467         I should probably be listed as an author by now.
6468
6469         * docs/random/release:
6470         Update the release doc
6471
6472 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
6473
6474         * gst/gstvalue.c:
6475           Make docs for gst_value_compare() mention return enums that
6476           actually exist.
6477
6478 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
6479
6480         * configure.ac:
6481           Back to CVS
6482
6483 === release 0.10.13 ===
6484
6485 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
6486
6487         * configure.ac:
6488           releasing 0.10.13, "With or without you"
6489
6490 2007-05-25  Wim Taymans  <wim@fluendo.com>
6491
6492         * gst/gstbin.c: (bin_handle_async_done):
6493         Make sure that the child bin stops after completing the async state
6494         change so that the parent can continue the state change to PLAYING.
6495         Fixes #441159.
6496
6497 2007-05-25  Wim Taymans  <wim@fluendo.com>
6498
6499         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6500         (unref_data), (gst_collect_pads_remove_pad),
6501         (gst_collect_pads_check_pads):
6502         Use additional refcounting to avoid crashes when dynamically adding and
6503         removing pads. Fixes #420206.
6504
6505 2007-05-24  Wim Taymans  <wim@fluendo.com>
6506
6507         * tools/gst-launch.c: (event_loop):
6508         When buffering goes from a two digit to a single digit number, make sure
6509         to remove the old second digit by writing a blank over it.
6510
6511 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
6512
6513         * libs/gst/base/gstdataqueue.c:
6514           Eliminate tabs and trailing comma in enum list; fix some typos.
6515
6516 2007-05-24  Wim Taymans  <wim@fluendo.com>
6517
6518         * tests/check/gst/gstbin.c: (GST_START_TEST):
6519         Allow refcount of 3 and 4 because some state thread might still be busy
6520         with it.
6521
6522 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
6523
6524         * plugins/elements/Makefile.am:
6525         * plugins/elements/gstmultiqueue.h:
6526         * plugins/elements/gstqueue.h:
6527           These are not installed headers, no need for padding.
6528
6529 2007-05-24  Wim Taymans  <wim@fluendo.com>
6530
6531         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
6532         (gst_bin_continue_func):
6533         Enable latency for next release.
6534         Restore STATE_LOCK around recalc_state that was left out during the
6535         rewrite and could result in racy behaviour when _get_state and
6536         recalc_state are run concurrently. See #440463.
6537
6538 2007-05-23  Wim Taymans  <wim@fluendo.com>
6539
6540         * tests/check/gst/gstsystemclock.c: (store_callback),
6541         (GST_START_TEST):
6542         Improve test_async_order to also work when both timers are already
6543         expired when we get scheduled to check it.
6544
6545 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
6546
6547         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
6548         (gst_bin_set_property), (gst_bin_get_property),
6549         (gst_bin_remove_func), (gst_bin_handle_message_func):
6550         * gst/gstbin.h:
6551           'private' is a c++ keyword, let's not use that in header files,
6552           otherwise c++ compilers will throw a tantrum.
6553
6554 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
6555
6556         * plugins/elements/gstelements.c:
6557         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
6558         (gst_file_sink_get_current_offset):
6559         * plugins/indexers/gstindexers.c: (plugin_init):
6560           Use #ifdef for HAVE_XYZ for consistency.
6561
6562         * tests/check/Makefile.am:
6563         * tests/check/elements/.cvsignore:
6564         * tests/check/elements/filesink.c: (setup_filesink),
6565         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
6566           Add some unit tests for filesink.
6567
6568 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
6569
6570         Patch by: Mark Nauwelaerts <manauw at skynet be>
6571
6572         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
6573         (gst_file_sink_query), (gst_file_sink_do_seek),
6574         (gst_file_sink_get_current_offset), (gst_file_sink_render):
6575         * plugins/elements/gstfilesink.h:
6576           Fix position reporting; rename data_written member to current_pos to
6577           reflect its real meaning (fixes #412648).
6578
6579 2007-05-22  Edward Hervey  <edward@fluendo.com>
6580
6581         * docs/gst/gstreamer-sections.txt:
6582         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
6583         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
6584         (gst_bin_remove_func), (gst_bin_handle_message_func):
6585         * gst/gstbin.h:
6586         Add a property for bins that handle the state change of their childs.
6587         Fixes #435880
6588
6589 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
6590
6591         * libs/gst/controller/gstinterpolation.c:
6592         Use an array of the correct type when using _get_value_array with
6593         linear interpolation.
6594
6595 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
6596
6597         * gst/gstelement.c (gst_element_requires_clock,
6598           gst_element_provides_clock, gst_element_request_pad,
6599           gst_element_class_set_details, gst_element_class_set_details_simple,
6600           gst_element_default_send_event, gst_element_abort_state,
6601           gst_element_continue_state, gst_element_set_state,
6602           gst_element_set_state_func, iterator_activate_fold_with_resync):
6603         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
6604           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
6605           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
6606           gst_pad_get_range, gst_pad_pull_range):
6607         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
6608           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
6609           GstPadActivateModeFunction, GstPadChainFunction,
6610           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
6611           GstPadFixateCapsFunction, GstPadTemplate):
6612         * gst/gstpipeline.c (gst_pipeline_change_state,
6613           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
6614           gst_pipeline_set_clock, gst_pipeline_auto_clock,
6615           gst_pipeline_get_delay):
6616           Whitespace and docs fixes.
6617
6618 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
6619
6620         * libs/gst/controller/gstinterpolation.c:
6621         (interpolate_trigger_get_enum_value_array),
6622         (interpolate_trigger_get_string_value_array):
6623         Add support for retrieving value arrays when using the trigger
6624         interpolation mode. 
6625
6626 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
6627
6628         * libs/gst/controller/gstcontroller.c:
6629         (gst_controller_get_value_array):
6630         * libs/gst/controller/gstcontroller.h:
6631         Clarify the docs of gst_controller_get_value_array(): The array where
6632         the values should be written to must be allocated as there seems to be
6633         no way to get the size of a random GType. This doesn't change any
6634         behaviour. Also fix some typos all over the place and remove an unused,
6635         commented function that is not necessary as g_object_set() could be
6636         used instead.
6637         * tests/check/libs/controller.c: (GST_START_TEST),
6638         (gst_controller_suite):
6639         Add unit test for gst_controller_get_value_array().
6640
6641 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
6642
6643         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6644
6645         Disable part of the gst_buffer_try_new_and_alloc test, because
6646         it can happily succeed on 64-bit systems where there's more address
6647         space available.
6648
6649 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
6650
6651         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
6652         Add unit test for the improved caps checking from bug #421543.
6653
6654 2007-05-21  Wim Taymans  <wim@fluendo.com>
6655
6656         * docs/design/part-synchronisation.txt:
6657         Small addition.
6658
6659         * gst/gstbin.c: (gst_bin_query):
6660         * plugins/elements/gstqueue.c: (apply_segment):
6661         Improve debugging.
6662
6663         * gst/gstmessage.h:
6664         Improve docs.
6665
6666 2007-05-21  Wim Taymans  <wim@fluendo.com>
6667
6668         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
6669         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
6670         (gst_pad_configure_src):
6671         Added simple version of improved caps checking. It was previously
6672         assumed that a setcaps function would check the validity of the caps but
6673         people prefer us to check caps against the template automatically. 
6674         Fixes #421543.
6675
6676 2007-05-21  Wim Taymans  <wim@fluendo.com>
6677
6678         * libs/gst/base/gstbasetransform.h:
6679         Fix macro for locking/unlocking the transform lock.
6680
6681 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
6682
6683         * docs/plugins/tmpl/.cvsignore:
6684           Ignore more.
6685
6686 2007-05-18  Edward Hervey  <edward@fluendo.com>
6687
6688         * plugins/elements/gstqueue.c: (gst_queue_loop):
6689         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
6690         for the subtle art of warning a potentially blocking thread that it
6691         should check the source pad return value, and relay the information
6692         upstream.
6693
6694 2007-05-18  Edward Hervey  <edward@fluendo.com>
6695
6696         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6697         Release the queue lock !
6698
6699 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
6700
6701         * docs/libs/gstreamer-libs-sections.txt:
6702         Add the two new controller functions to the appropiate places.
6703
6704 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
6705
6706         reviewed by: Stefan Kost <ensonic@users.sf.net>
6707
6708         * libs/gst/controller/gstcontroller.c:
6709         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
6710         (_gst_controller_get_property), (_gst_controller_set_property),
6711         (_gst_controller_init), (_gst_controller_class_init):
6712         * libs/gst/controller/gstcontroller.h:
6713         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
6714         (gst_object_get_control_rate), (gst_object_set_control_rate):
6715         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
6716         Add API that provides sync suggestion timestamps for elements that
6717         call gst_object_sync_values() from which those elements can subdivide
6718         their processing loop to get the best results for the controlled
6719         properties. For now it just suggests last_sync + control_rate as
6720         new timestamp but this will be improved in the future.
6721
6722         While doing that change the control-rate property to a GstClockTime
6723         from guint and change it's meaning from samples to nanoseconds as
6724         the GstController doesn't know anything about sampling rate. Strictly
6725         speaking this breaks ABI but as the control-rate property didn't do
6726         anything in the past and as such couldn't be used this should be no
6727         problem.        
6728
6729 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
6730
6731         reviewed by: Stefan Kost <ensonic@users.sf.net>
6732
6733         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6734         (gst_controller_unset_all):
6735         * libs/gst/controller/gstcontrollerprivate.h:
6736         * libs/gst/controller/gstinterpolation.c:
6737         (gst_controlled_property_find_control_point_node):
6738         Save last synced value from the list to continue searching from there
6739         in future syncs. This speeds everything up a bit.
6740         
6741 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
6742
6743         reviewed by: Stefan Kost <ensonic@users.sf.net>
6744
6745         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
6746         (gst_control_point_find), (gst_controlled_property_new),
6747         (gst_control_point_free), (gst_controlled_property_free),
6748         (gst_controller_set), (gst_controller_set_from_list),
6749         (gst_controller_unset), (gst_controller_unset_all),
6750         (gst_controller_sync_values):
6751         * libs/gst/controller/gstcontroller.h:
6752         * libs/gst/controller/gstcontrollerprivate.h:
6753         * libs/gst/controller/gstinterpolation.c:
6754         (gst_controlled_property_find_control_point_node),
6755         (interpolate_none_get), (interpolate_trigger_get):
6756         Add a new private GstControlPoint struct which "inherits" from
6757         GstTimedValue to allow different interpolators to store internal
6758         values next to each control point. From the outside everything is
6759         still a GstControlPoint so we don't loose binary compatibility.
6760         Also fixup all the GValue handling to not leak GValues or list nodes.
6761         * tests/check/libs/controller.c: (GST_START_TEST):
6762         Free the list nodes and GValues in the controller_misc test.
6763
6764 2007-05-17  Edward Hervey  <edward@fluendo.com>
6765
6766         * gst/gstsegment.c:
6767         Small doc fix.
6768
6769 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
6770
6771         * gst/gstplugin.c: (gst_plugin_load_file):
6772           If we fail to load a plugin because of unresolved symbols or missing
6773           libraries and spew a warning to stderr, we may just as well mention
6774           which plugin it was that failed to load.
6775
6776 2007-05-13  David Schleef  <ds@schleef.org>
6777
6778         * docs/Makefile.am: the gtk-doc makefile snippet correctly
6779           handles the case when ENABLE_GTK_DOC is false, and installs
6780           the prebuilt documentation.  So gtk-doc subdirs are 
6781           unconditionally enabled.  Fixes: #349099.
6782
6783 2007-05-13  David Schleef  <ds@schleef.org>
6784
6785         * gst/gstutils.h: Reword some documentation.
6786
6787 2007-05-12  David Schleef  <ds@schleef.org>
6788
6789         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
6790           do anything with the passed "module" parameter, so remove it.
6791           Allows removal of additional vestigal code.
6792
6793 2007-05-12  David Schleef  <ds@schleef.org>
6794
6795         * gst/gstplugin.c:
6796           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
6797           Switch to using g_stat() because it's more portable.
6798
6799 2007-05-12  David Schleef  <ds@schleef.org>
6800
6801         * gst/gst.c:
6802           Add GST_DISABLE_OPTION_PARSING, in order to disable option
6803           parsing for embedded systems.
6804         * gst/gstelementfactory.c:
6805           Allow gst_element_register() to be called with plugin==NULL.
6806           Did nobody notice that static elements were broken?
6807
6808 2007-05-12  Wim Taymans  <wim@fluendo.com>
6809
6810         * tools/gst-launch.c: (event_loop):
6811         Give more interesting info when buffering starts and stops.
6812         Fix case where buffering starts but we fail to update the buffering flag
6813         because the target state is not PLAYING.
6814
6815 2007-05-12  Wim Taymans  <wim@fluendo.com>
6816
6817         * plugins/elements/gstqueue.c: (gst_queue_init),
6818         (gst_queue_finalize), (update_time_level), (apply_segment),
6819         (apply_buffer), (gst_queue_locked_flush),
6820         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
6821         (gst_queue_handle_sink_event), (gst_queue_chain),
6822         (gst_queue_push_one), (gst_queue_loop):
6823         * plugins/elements/gstqueue.h:
6824         Refactor an cleanup queue a bit.
6825         Do better time level calculations that also work when the srcpad is not
6826         yet running.
6827         Remove some unneeded debug lines.
6828
6829         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
6830         Added testcase for time level measurement.
6831         Try to make some stuff more racefree.
6832
6833 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
6834
6835         * gst/gsturi.c: (gst_element_make_from_uri):
6836           Don't leak plugin feature.
6837
6838         * tests/check/Makefile.am:
6839         * tests/check/gst/.cvsignore:
6840         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
6841           Add brain-dead unit test.
6842
6843 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
6844
6845         Patch by: Jeroen Wouters <woutersj at gmail com>
6846
6847         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
6848           Treat protocol strings in a case-insensitive way (#437563).
6849
6850 2007-05-11  Michael Smith <msmith@fluendo.com>
6851
6852         * gst/gstplugin.c: (gst_plugin_load_file):
6853         * gst/gstregistry.c: (gst_registry_scan_path_level):
6854           Don't print a g_warning for any failure to load a shared object.
6855           Instead, push this down into gstplugin.c, and warn _only_ if we
6856           failed to open the module (i.e. failure to link).
6857           Avoids warnings on normal, working, non-plugin .so files.
6858
6859 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
6860
6861         * gst/gstplugin.c (gst_plugin_load_file):
6862         * gst/gstregistry.c (GST_CAT_DEFAULT,
6863           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
6864           Print a g_warning if there was an error when loading a plugins during
6865           registry scan. The shuld help beginners starting with gst-plugin
6866           template.
6867
6868 2007-05-10  Wim Taymans  <wim@fluendo.com>
6869
6870         * plugins/elements/gstqueue.c: (gst_queue_class_init),
6871         (update_time_level), (gst_queue_locked_flush),
6872         (gst_queue_handle_sink_event), (gst_queue_chain),
6873         (gst_queue_push_one), (gst_queue_loop):
6874         * plugins/elements/gstqueue.h:
6875         Be smarter when calculating the current amount of data in the queue by
6876         measuring the difference between start and end timestamps (in running
6877         time) inside the queue. Fixes #432876.
6878         API: GstQueue::pushing to notify elements that we are pushing data again
6879         since the running signal is rather broken for this purpose.
6880
6881 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
6882
6883         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
6884           gst_queue_base_init, gst_queue_init):
6885           use GST_BOILERPLATE
6886
6887 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
6888
6889         * win32/common/libgstreamer.def:
6890         Add new exported functions.
6891         * win32/vs6/grammar.dsp:
6892         Use grammar pre-generated files.
6893
6894 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6895
6896         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
6897
6898         * gst/Makefile.am:
6899         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
6900         * gst/gstparse.h:
6901         * gst/gstutils.c: (gst_parse_bin_from_description):
6902         * gst/gstutils.h:
6903           Maintain API and ABI when --disable-parse is used. Now that
6904           we have an appropriate error code, we can just return NULL and the
6905           appropriate error when gst_parse_launch() is used despite it having
6906           been disabled (#342564).
6907
6908         * tests/check/Makefile.am:
6909         * tests/check/pipelines/.cvsignore:
6910         * tests/check/pipelines/parse-disabled.c:
6911           Make sure these functions exist and return NULL plus a GError when
6912           --disable-parse is used.
6913
6914 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6915
6916         * tests/benchmarks/complexity.c: (main):
6917         * tests/benchmarks/mass-elements.c: (main):
6918           Set a good example and don't leak messages.
6919
6920 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
6921
6922         * docs/gst/Makefile.am:
6923         * docs/libs/Makefile.am:
6924           Correct fixxrefs options.
6925
6926         * docs/plugins/Makefile.am:
6927         * docs/plugins/gstreamer-plugins-docs.sgml:
6928         * docs/plugins/gstreamer-plugins-sections.txt:
6929         * plugins/elements/Makefile.am:
6930         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
6931         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
6932           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
6933           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
6934           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
6935           _GstCapsFilterClass, trans_class):
6936         * plugins/elements/gstelements.c (name, rank, type, _elements):
6937         * plugins/elements/gstidentity.c
6938           (gst_identity_check_imperfect_timestamp,
6939           gst_identity_check_imperfect_offset):
6940           Document capsfilter and add doc-blurb to identity.
6941
6942 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6943
6944         * libs/gst/controller/gstcontroller.c:
6945         (gst_controlled_property_set_interpolation_mode):
6946         * libs/gst/controller/gstinterpolation.c:
6947           Don't crash if someone tries to set an interpolation mode that
6948           is invalid or that isn't supported yet. Fixes #422295.
6949
6950         * tests/check/libs/controller.c: (GST_START_TEST),
6951         (gst_controller_suite):
6952           Add a test case for the above.
6953
6954 2007-05-03  Edward Hervey  <edward@fluendo.com>
6955
6956         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
6957         Properly set the last_stop position on GstSegment. This will only happen
6958         if there is a buffer to push out.
6959
6960 2007-05-03  Wim Taymans  <wim@fluendo.com>
6961
6962         * libs/gst/base/gstbasetransform.c:
6963         (gst_base_transform_buffer_alloc):
6964         always_in_place does not mean that the sink and source caps are the
6965         same! Make sure we don't blindly proxy the buffer_alloc in this case.
6966
6967 2007-05-03  Wim Taymans  <wim@fluendo.com>
6968
6969         * docs/libs/gstreamer-libs-sections.txt:
6970         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6971         (gst_base_src_default_query), (gst_base_src_get_range):
6972         * libs/gst/base/gstbasesrc.h:
6973         API: gst_base_src_query_latency(). Added method so that subclasses can
6974         easily get the latency values of the base source class.
6975
6976 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
6977
6978         * tools/gst-inspect.c (print_implementation_info):
6979         Remove 0.8 cruft.
6980
6981 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
6982
6983         * tools/Makefile.am:
6984         * tools/gst-launch.1.in:
6985           Don't create a customised man page based on the host architecture,
6986           describe the default registry path generically. That way the man
6987           page is the same for all architectures and packagers have one
6988           multilib issue less to deal with. Fixes #434926.
6989
6990 2007-05-02  Wim Taymans  <wim@fluendo.com>
6991
6992         * gst/gstpad.c:
6993         Fix documentation as spotted by rg on IRC. 
6994
6995 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
6996
6997         * gst/gstutils.c:
6998           Improve docs for gst_element_{link,unlink}.
6999
7000 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
7001
7002         * docs/design/part-events.txt:
7003         * docs/design/part-overview.txt:
7004         * gst/gstevent.c:
7005         * gst/gsturi.c:
7006         * gst/gsturi.h:
7007         * libs/gst/base/gstbasesink.c:
7008           Typo fixes; minor docs addition.
7009
7010 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
7011
7012         * docs/gst/gstreamer-sections.txt:
7013         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
7014         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
7015         * gst/gsturi.h:
7016         API: Add gst_uri_protocol_is_supported(), which checks if a sink
7017         or src that supports a given URI protocol exists.
7018
7019 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
7020
7021         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
7022         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
7023         Set the location to NULL if "file://" is set as URI. Otherwise
7024         some random previous URI would still be set if "file://" is
7025         set on an already used filesink/filesrc.
7026
7027 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
7028
7029         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
7030         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
7031         Special case the "file://" URI as as this is used by some
7032         applications to test with gst_element_make_from_uri if there's
7033         an element that supports the URI protocol.
7034         Also move the g_path_is_absolute() check for the location part
7035         of the URI to also check this for "file://localhost/bla" URIs.
7036
7037 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
7038
7039         * docs/gst/gstreamer-sections.txt:
7040         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
7041         * gst/gstbuffer.h:
7042         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
7043         (gst_buffer_suite):
7044           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
7045
7046 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
7047
7048         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
7049         (gst_registry_binary_load_pad_template),
7050         (gst_registry_binary_load_plugin),
7051         (gst_registry_binary_read_cache):
7052         * gst/gstregistrybinary.h:
7053           Implement no-mmap alternative for registry reading. Do code cleanups.
7054           Add more comments about avoiding strdups for all text data. Comments
7055           welcome.
7056
7057 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
7058
7059         * gst/gstregistrybinary.h (GstBinaryPluginElement,
7060           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
7061           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
7062           Comment structs and reformat to fix the build (that stuff should go
7063           into a priv. header).
7064
7065 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
7066
7067         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
7068         (gst_registry_binary_load_feature):
7069         * gst/gstregistrybinary.h:
7070           Refactor so that we can implement multiple features. Add support for
7071           TypeFindFactory features.
7072
7073 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
7074
7075         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
7076
7077         * configure.ac:
7078           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
7079
7080 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
7081
7082         * gst/gstbin.c: (gst_bin_element_set_state),
7083         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
7084         (bin_handle_async_done), (gst_bin_handle_message_func):
7085           Fix build with --gst-disable-gst-debug
7086
7087 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
7088
7089         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
7090           Make sure streaming has finished before calling the ::stop() vfunc,
7091           since that vfunc might clear state which is being used in the
7092           streaming thread. This fixes a race that caused crashes in
7093           audioresample when shutting down a pipeline (#420106).
7094
7095 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
7096
7097         * docs/gst/gstreamer-sections.txt:
7098           That was one byte missing.
7099
7100 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
7101
7102         * configure.ac:
7103         * docs/gst/gstreamer-sections.txt:
7104         * gst/Makefile.am:
7105         * gst/gstconfig.h.in:
7106         * gst/gstobject.c: (gst_object_class_init),
7107         (gst_signal_object_class_init):
7108         * gst/gstobject.h:
7109           2nd attempt to have a xml-less build as a joined effort of #413123
7110           and #421480.
7111
7112 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
7113
7114         * docs/design/draft-tagreading.txt:
7115           Added open issues/thoughts to draft.
7116
7117 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
7118
7119         * gst/parse/grammar.tab.pre.c:
7120         * gst/parse/grammar.tab.pre.h:
7121         * gst/parse/lex._gst_parse_yy.pre.c:
7122         Update the prebuild parser sources.
7123
7124 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
7125
7126         * gst/parse/Makefile.am:
7127         And now fix the building of the flex sources. Now everything should
7128         work as expected.
7129
7130 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
7131
7132         * gst/parse/Makefile.am:
7133         Now hopefully fix the build failures by setting proper rule
7134         dependencies and moving instead of copying.
7135
7136 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
7137
7138         * tests/benchmarks/complexity.gnuplot:
7139         * tests/benchmarks/complexity.scm:
7140         * tests/benchmarks/mass-elements.gnuplot:
7141         * tests/benchmarks/mass-elements.scm:
7142           Total licensification.
7143
7144 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
7145
7146         * gst/parse/Makefile.am:
7147           Fix the build by correcting the rule that gave wrong files to flex.
7148
7149 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
7150
7151         * tests/benchmarks/complexity.c:
7152         * tests/benchmarks/mass-elements.c:
7153           Change licence to LGPL as granted by Benjamin and Andy.
7154
7155 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
7156
7157         * gst/parse/Makefile.am:
7158         Add correct grammar.tab.h dependency if compiling without new enough
7159         flex. Fixes #431150.
7160
7161 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
7162
7163         * gst/parse/Makefile.am:
7164         Fix typo and use outdated sources if the flex/bison sources are newer
7165         than the pregenerated ones but flex is too old. Print a warning in
7166         that case. This should fix the build on the build bot.
7167
7168 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
7169
7170         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
7171         * gst/parse/Makefile.am:
7172         * gst/parse/grammar.y:
7173         * gst/parse/parse.l:
7174         Make the parser reentrant and recursively callable. This requires flex
7175         >= 2.5.31, for older versions pregenerated sources are used as we
7176         can't bump the build dependency. Finally fixes #349180.
7177
7178         * gst/gstparse.c: (gst_parse_launch):
7179         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
7180         now anyway.
7181
7182         * docs/gst/Makefile.am:
7183         * docs/gst/Makefile.am:
7184         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
7185         (__gst_parse_strfree), (__gst_parse_link_new),
7186         (__gst_parse_link_free), (__gst_parse_chain_new),
7187         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
7188         (gst_parse_element_set), (gst_parse_free_link),
7189         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
7190         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
7191         (_gst_parse_launch):
7192         * gst/parse/grammar.tab.pre.h:
7193         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
7194         (yy_get_previous_state), (yy_try_NUL_trans), (input),
7195         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
7196         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
7197         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
7198         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
7199         (_gst_parse_yypop_buffer_state),
7200         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
7201         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
7202         (yy_fatal_error), (_gst_parse_yyget_extra),
7203         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
7204         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
7205         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
7206         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
7207         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
7208         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
7209         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
7210         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
7211         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
7212         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
7213         (_gst_parse_yyfree):
7214         If the installed flex version is too old use pre-generated parser
7215         sources. These pre-generated parser sources are always updated when
7216         the actual flex/bison sources change but require everybody who wants
7217         to change something in the parser to have flex >= 2.5.31 installed.
7218
7219 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
7220
7221         * common/m4/gst-gettext.m4:
7222         * gst/gst-i18n-lib.h:
7223           Make --disable-nls to work
7224
7225 2007-04-17  Wim Taymans  <wim@fluendo.com>
7226
7227         * gst/gstconfig.h.in:
7228         Revert previous change that broke the build.
7229
7230 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
7231
7232         * configure.ac:
7233         * gst/Makefile.am:
7234         * gst/gstconfig.h.in:
7235           Drop libxml2 dependency when building with 
7236           --enable-binary-registry --disable-loadsave
7237
7238 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
7239
7240         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
7241         (gst_registry_binary_read_cache):
7242         * gst/gstregistrybinary.h:
7243           Remove unnecessary <sys/mman.h> include which broke the win32 build
7244           with MingW; move includes from header file to .c file, even if the
7245           header file isn't installed; use g_strerror() where UTF-8 strings
7246           are expected, such as in GST_DEBUG messages.
7247
7248 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
7249
7250         * docs/libs/gstreamer-libs-sections.txt:
7251         Remove bogus addition for API I didn't end up keeping.
7252
7253         * libs/gst/base/gstbasesrc.h:
7254         Mention Since: 0.10.13 in the documentation.
7255
7256         Add the API keyword to the previous ChangeLog entry.
7257
7258 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
7259
7260         * docs/libs/gstreamer-libs-sections.txt:
7261         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7262         (gst_base_src_default_prepare_seek_segment),
7263         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
7264         * libs/gst/base/gstbasesrc.h:
7265         Allow basesrc derived classes to execute seeks in other formats
7266         by providing a prepare_seek_segment vmethod. Sub-classes can choose
7267         to prepare the GstSegment in any format that their perform_seek method
7268         will be able to understand. The default implementation provides the
7269         old behaviour of attempting to convert the seek offsets to the 
7270         configured native format.
7271
7272         API: basesrc::prepare_seek_segment vmethod.
7273
7274 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
7275
7276         * gst/gstelement.c: (gst_element_get_state_func):
7277         Don't output the same debug statement twice.
7278
7279         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
7280         (gst_adapter_peek), (gst_adapter_take_buffer):
7281         Optimise the case where we have buffers at the head of the queue that
7282         can be joined quickly (because they're contiguous sub-buffers) by
7283         merging them together rather than copying data out into new memory.
7284
7285         * gst/parse/grammar.y:
7286         * tests/check/pipelines/parse-launch.c:
7287         Fix a leak in an error path for parse_launch, and add a check 
7288         for it to the testsuite.
7289
7290 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
7291
7292         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
7293           Don't deadlock when releasing a pad - gst_pad_set_active may try
7294           and take the multiqueue lock too.
7295
7296 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
7297
7298         * gst/gsterror.c: (_gst_core_errors_init):
7299         * gst/gsterror.h:
7300           API: add GST_CORE_ERROR_DISABLED (#392804).
7301
7302 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7303
7304         * docs/faq/gst-uninstalled:
7305           don't get empty paths on the PATH variables
7306         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
7307           Don't format for the uncommon terminal width of 84 characters.
7308
7309 2007-04-06  Wim Taymans  <wim@fluendo.com>
7310
7311         * gst/gstpipeline.c: (reset_stream_time),
7312         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
7313         Only try to select a different pipeline clock when we went back to
7314         PAUSED and not when we merely got flushed.
7315
7316 2007-04-05  Michael Smith  <msmith@fluendo.com>
7317
7318         * tools/gst-launch.1.in:
7319           fractions are better supported in gstreamer than ractions, so
7320           suggest using those.
7321
7322 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7323
7324         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
7325
7326         * po/LINGUAS:
7327         * po/da.po:
7328           Added Danish translation.
7329
7330 2007-04-05  Wim Taymans  <wim@fluendo.com>
7331
7332         * libs/gst/base/gstbasesink.c:
7333         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
7334         Fix leak caused when refusing newsegment after EOS.
7335
7336         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
7337         (gst_fake_sink_init), (gst_fake_sink_set_property),
7338         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
7339         (gst_fake_sink_render), (gst_fake_sink_change_state):
7340         * plugins/elements/gstfakesink.h:
7341         Add num-buffers property to make the element generate EOS after a
7342         configurable amount of buffers.
7343         API: fakesink::num-buffers property.
7344
7345         * tests/check/elements/fakesink.c: (GST_START_TEST),
7346         (fakesink_suite):
7347         Fix GstBus leak in test.
7348         Test for fakesink num-buffers.
7349
7350 2007-04-05  Wim Taymans  <wim@fluendo.com>
7351
7352         * libs/gst/base/gstbasesink.c:
7353         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
7354         (gst_base_sink_change_state):
7355         Don't accept anything after an EOS, return UNEXPECTED instead.
7356
7357         * tests/check/elements/fakesink.c: (GST_START_TEST),
7358         (fakesink_suite):
7359         Unit test for new EOS behaviour.
7360
7361 2007-04-05  Wim Taymans  <wim@fluendo.com>
7362
7363         * gst/gstelement.c: (gst_element_get_request_pad):
7364         Make padtemplates also work when they don't contain %s or %d.
7365
7366 2007-04-05  Wim Taymans  <wim@fluendo.com>
7367
7368         * docs/gst/gstreamer-sections.txt:
7369         * gst/gstclock.c: (gst_clock_adjust_unlocked),
7370         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
7371         * gst/gstclock.h:
7372         Improve _adjust_unlocked() so that it overflows less.
7373         Add gst_clock_unadjust_unlocked to convert from external time to
7374         internal time based on calibration.
7375         Add some more debug.
7376         API: GstClock::gst_clock_unadjust_unlocked()
7377
7378 2007-04-03  Wim Taymans  <wim@fluendo.com>
7379
7380         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
7381
7382         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
7383         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
7384         when releasing sink pad. Fixes #425400.
7385
7386 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
7387
7388         * docs/random/ensonic/dynlink.txt:
7389           More work on proposal for new core api.
7390
7391         * docs/libs/gstreamer-libs-sections.txt:
7392         * libs/gst/base/gstbasetransform.h:
7393           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
7394           
7395         * libs/gst/controller/gstcontroller.c:
7396         (on_object_controlled_property_changed),
7397         (gst_controller_sync_values),
7398         (gst_controller_set_interpolation_mode):
7399         * libs/gst/controller/gstcontroller.h:
7400           Less verbose logging add docs for unimplemented parts and correctly
7401           return when using unavailable parts.
7402
7403 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
7404
7405         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
7406         Move all the debug to the CLOCK category, and associate it with
7407         the clock object.
7408
7409 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
7410
7411         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
7412         Make take_buffer a bit quicker by removing redundant checks
7413         caused by calling gst_adapter_take.
7414
7415 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
7416
7417         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
7418           Don't leak GCond.
7419
7420         * tests/check/Makefile.am:
7421         * tests/check/elements/.cvsignore:
7422         * tests/check/elements/multiqueue.c: (setup_multiqueue),
7423         (GST_START_TEST), (multiqueue_suite):
7424           Add some dead simple unit tests for the 'multiqueue' element
7425           (some bits don't work yet and are disabled for now).
7426
7427 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
7428
7429         * gst/gstelement.c: (gst_element_get_request_pad),
7430         (gst_element_class_get_request_pad_template):
7431           Make gst_element_get_request_pad() create request pads only for
7432           request pad templates and not for, say, sometimes pad templates.
7433
7434 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
7435
7436         * docs/design/draft-klass.txt:
7437           Add example that needs more thinking.
7438         
7439         * docs/design/draft-missing-plugins.txt:
7440           More thoughts about wrapper plugins.
7441         
7442         * docs/random/ensonic/embedded.txt:
7443         * docs/random/ensonic/profiling.txt:
7444           More design work.
7445
7446 2007-03-25  Wim Taymans  <wim@fluendo.com>
7447
7448         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
7449         (gst_base_src_loop):
7450         Only push the segment events in the PLAYING state for live sources.
7451
7452 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
7453
7454         * gst/gstpipeline.c: (gst_pipeline_change_state):
7455         Modify the clock distribution path in PAUSED->PLAYING so that we 
7456         never attempt to choose a new clock unless we're actually leaving
7457         the PAUSED state for the first time. This prevents choosing a
7458         different clock when the state_change gets called for a 2nd time due
7459         to some element doing an async state change.
7460
7461 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
7462
7463         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
7464         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
7465         (gst_pad_chain_unchecked), (gst_pad_push):
7466         Revert last commit. This needs some more thoughts.
7467
7468 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
7469
7470         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
7471         (gst_pad_chain_unchecked), (gst_pad_push):
7472         Check in set_caps if the caps are compatible with the pad and remove
7473         two functions that are redundant now. Fixes #421543.
7474
7475 2007-03-22  Wim Taymans  <wim@fluendo.com>
7476
7477         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
7478         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
7479         Unref some more to make valgrind happy.
7480
7481 2007-03-22  Wim Taymans  <wim@fluendo.com>
7482
7483         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
7484         (gst_system_clock_id_wait_jitter),
7485         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
7486         Fix anoying regression that survived a few releases. When adding an
7487         async entry while blocking on a sync entry, the sync entry will unblock
7488         but still be busy, so it should continue to wait instead of returning
7489         _BUSY to the app.
7490         Add some comments here and there.
7491
7492         * tests/check/gst/gstsystemclock.c: (mixed_thread),
7493         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
7494         Add testcase for this.
7495
7496 2007-03-22  Wim Taymans  <wim@fluendo.com>
7497
7498         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
7499         Handle errors from the clock sync better, only UNSCHEDULED indicates a
7500         WRONG_STATE and can silently pause the task. All other cases should
7501         error out.
7502
7503 2007-03-22  Wim Taymans  <wim@fluendo.com>
7504
7505         Patch by: Ville Syrjala <syrjala at sci dot fi>
7506
7507         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
7508         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
7509         Improve debugging.
7510
7511 2007-03-21  Michael Smith  <msmith@fluendo.com>
7512
7513         * docs/pwg/advanced-types.xml:
7514           Fix some errors in the typefinding docs pointed out on irc.
7515
7516 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
7517
7518         * libs/gst/base/gstbasesrc.c:
7519         Clarify FIXME comment in the face of having added unlock_stop()
7520
7521 2007-03-21  Wim Taymans  <wim@fluendo.com>
7522
7523         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
7524         Prepare for release where we warn against possible app breakage in the
7525         case of live pipelines along with an env var to enable/disable live
7526         preroll mode (GST_COMPAT=[no-]live-preroll).
7527
7528 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7529
7530         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
7531         So we should use correct constants for checking for None offset.
7532
7533 2007-03-20  Wim Taymans  <wim@fluendo.com>
7534
7535         * docs/design/part-block.txt:
7536         Mention the fact that the newly switched element should be set to at
7537         least PAUSED.
7538
7539 2007-03-20  Wim Taymans  <wim@fluendo.com>
7540
7541         * gst/gst.c:
7542         Fix compilation with registry disabled as spotted by Saur.
7543
7544 2007-03-20  Wim Taymans  <wim@fluendo.com>
7545
7546         Patch by: Olivier Crete <tester at tester dot ca>
7547
7548         * gst/gstelement.c: (gst_element_sync_state_with_parent):
7549         Look at the pending state too when syncing the element state to the
7550         parent. Fixes #420133.
7551
7552 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
7553
7554         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
7555         (gst_base_sink_change_state):
7556         * libs/gst/base/gstbasesink.h:
7557         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7558         (gst_base_src_default_event), (gst_base_src_unlock_stop),
7559         (gst_base_src_deactivate):
7560         * libs/gst/base/gstbasesrc.h:
7561         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
7562         for sub-classes to correctly clear any state they set trying to
7563         unlock, such as clearing out unlock commands from a command fd.
7564         API: basesrc::unlock_stop
7565         API: basesink::unlock_stop
7566
7567         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
7568         (gst_fd_sink_render), (gst_fd_sink_unlock),
7569         (gst_fd_sink_unlock_stop):
7570         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
7571         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
7572         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
7573
7574         Implement unlock_stop in fdsrc and fdsink.
7575         Implement seeking in fdsrc when a seekable fd is passed, as in
7576         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
7577
7578 2007-03-19  Wim Taymans  <wim@fluendo.com>
7579
7580         Patch by: Evan Nemerson <evan at coeus dash group dot com>
7581
7582         * gst/gstelement.c: (gst_element_class_init):
7583         Fix pad-added and pad-removed signal signatures so that the pad type is
7584         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
7585
7586 2007-03-19  Wim Taymans  <wim@fluendo.com>
7587
7588         * docs/gst/gstreamer-sections.txt:
7589         Add new element field and method.
7590
7591         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
7592         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
7593         (gst_bin_recalc_state), (gst_bin_get_state_func),
7594         (gst_bin_element_set_state), (gst_bin_change_state_func),
7595         (gst_bin_continue_func), (bin_bus_handler),
7596         (bin_push_state_continue), (bin_handle_async_start),
7597         (bin_handle_async_done), (gst_bin_handle_message_func):
7598         Make async state changes a bit smarter by using new ASYNC_START and
7599         ASYNC_DONE messages. This reduces the number of times we run the state
7600         recalculation thread.
7601         Don't change state of element with a pending ASYNC_START message.
7602         Deprecate STATE_DIRTY messages.
7603         
7604         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
7605         (gst_element_get_state_func), (gst_element_continue_state),
7606         (gst_element_lost_state), (gst_element_set_state_func),
7607         (gst_element_change_state):
7608         * gst/gstelement.h:
7609         Keep the state that was last set by the app in a new element field.
7610         Don't allow state changes when handling an element event.
7611         Post ASYNC_START and ASYNC_DONE messages.
7612         Change lost_state so that we go to PAUSED and wait for the parent to set
7613         us to PLAYING again (so latency calculation can be performed)
7614         Export gst_element_change_state() method so that subclasses can use it.
7615         API: gst_element_change_state()
7616         API: GST_STATE_TARGET
7617
7618         * gst/gstpipeline.c: (gst_pipeline_class_init),
7619         (reset_stream_time), (gst_pipeline_change_state),
7620         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
7621         Using the new ASYNC_START message we can reset the base_time when
7622         needed. This can then be used to implement base_time redistribution in
7623         flushing seeks so that we can remove the explicit seek handling.
7624         Perform latency query and configuration when going to PLAYING.
7625
7626         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7627         (gst_base_sink_query), (gst_base_sink_change_state):
7628         Post new ASYNC_START/ASYNC_DONE messages.
7629
7630         * tests/check/generic/sinks.c: (GST_START_TEST):
7631         Fix test because the bin will not set the async element to PLAYING right
7632         away.
7633
7634         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
7635         Make the message check a little stronger.
7636         Handle ASYNC messages.
7637
7638         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
7639         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
7640         Expect ASYNC_DONE messages.
7641
7642 2007-03-19  Wim Taymans  <wim@fluendo.com>
7643
7644         * docs/gst/gstreamer-sections.txt:
7645         * gst/gstmessage.c: (gst_message_new_async_start),
7646         (gst_message_new_async_done), (gst_message_parse_info),
7647         (gst_message_parse_async_start):
7648         * gst/gstmessage.h:
7649         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
7650         support.
7651
7652 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
7653
7654         * tools/gst-inspect.c:
7655         (print_plugin_automatic_install_info_codecs):
7656           Now that we don't check for the 'Codec' keyword any longer in the
7657           klass, we shouldn't spew a warning if the klass isn't a decoder or
7658           encoder (since it might be a Source/Network, for example).
7659
7660 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7661
7662         * tools/gst-inspect.c:
7663         (print_plugin_automatic_install_info_codecs):
7664           Don't require decoder/demuxer/depayloader elements or
7665           encoder/muxer/paylader elements to have 'Codec' as part of their
7666           factory class string when introspecting a plugin's capabilities.
7667           draft-klass.txt mentions that it might be removed in future, and
7668           flump3dec doesn't have it as part of its class string, so chances
7669           are others might also not have it.
7670
7671 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7672
7673         * po/af.po:
7674         * po/az.po:
7675         * po/bg.po:
7676         * po/ca.po:
7677         * po/cs.po:
7678         * po/de.po:
7679         * po/en_GB.po:
7680         * po/fr.po:
7681         * po/it.po:
7682         * po/nb.po:
7683         * po/nl.po:
7684         * po/ru.po:
7685         * po/sq.po:
7686         * po/sr.po:
7687         * po/sv.po:
7688         * po/tr.po:
7689         * po/uk.po:
7690         * po/vi.po:
7691         * po/zh_CN.po:
7692         * po/zh_TW.po:
7693           Update translations from translation project
7694
7695 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
7696
7697         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
7698         (gst_child_proxy_set_property):
7699           Invert precondition check to be alike the ones in the mimiced gobject
7700           api.
7701
7702 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
7703
7704         * docs/design/draft-tagreading.txt:
7705         * docs/random/ensonic/audiobaseclasses.txt:
7706           Do some Architect work.
7707
7708         * gst/gstobject.c: (gst_object_set_name):
7709           Add a WARNING.
7710
7711         * gst/gstpad.c:
7712           Add docs that point from gst_pad_get_range to gst_pad_pull_range
7713
7714 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
7715
7716         * gst/gstsystemclock.c: (gst_system_clock_init),
7717         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
7718         Defer starting the async system clock thread until the first async
7719         wait is scheduled. Fixes #414986.
7720
7721 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
7722
7723         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
7724         (gst_single_queue_free):
7725           Fix small leak (free GstSingleQueue structure too, not only contents).
7726
7727 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
7728
7729         * gst/gstbin.c:(gst_bin_add):
7730         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
7731         * win32/common/libgstbase.def:
7732         * win32/common/libgstreamer.def:
7733         Add new exported functions.
7734
7735 2007-03-09  Wim Taymans  <wim@fluendo.com>
7736
7737         * docs/plugins/gstreamer-plugins-sections.txt:
7738         Fix GstTee docs.
7739
7740 2007-03-09  Wim Taymans  <wim@fluendo.com>
7741
7742         * docs/gst/gstreamer-sections.txt:
7743         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
7744         * gst/gstbuffer.h:
7745         Add metadata copy functions. Fixes #393099.
7746         API: gst_buffer_copy_metadata()
7747
7748         * gst/gstutils.c: (gst_buffer_stamp):
7749         * libs/gst/base/gstbasetransform.c:
7750         (gst_base_transform_prepare_output_buffer):
7751         Use new metadata copy functions.
7752
7753 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7754
7755         * plugins/elements/gstidentity.c: (gst_identity_class_init),
7756         (gst_identity_init), (gst_identity_check_perfect),
7757         (gst_identity_check_imperfect_timestamp),
7758         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
7759         (gst_identity_set_property), (gst_identity_get_property):
7760         * plugins/elements/gstidentity.h:
7761         Separate out check-imperfect-timestamp and check-imperfect-offset.
7762         Put back check-perfect as it was to keep compatibility.
7763
7764 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
7765
7766         * gst/gstelement.c: (gst_element_dispose):
7767         There's no need to warn if VOID_PENDING is not NONE here, as
7768         long as the state is NULL it's ok, and that's checked immediately
7769         above.
7770
7771 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7772
7773         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
7774         Fix check for perfect stream to ignore buffers with -1 
7775         offsets/offset ends when checking data contiguity.
7776
7777 2007-03-08  Wim Taymans  <wim@fluendo.com>
7778
7779         * tools/gst-launch.c: (event_loop):
7780         Print INFO messages.
7781
7782 2007-03-08  Wim Taymans  <wim@fluendo.com>
7783
7784         * libs/gst/base/gstbasetransform.c:
7785         (gst_base_transform_sink_eventfunc),
7786         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7787         (gst_base_transform_activate):
7788         * libs/gst/base/gstbasetransform.h:
7789         Add support for dropping buffers with custom GstFlowReturn.
7790         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
7791         buffers or dropped buffers.
7792
7793         * docs/libs/gstreamer-libs-sections.txt:
7794         docs for new custom return code.
7795
7796         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7797         Use drop support in base class to implement drop-probability.
7798
7799 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
7800
7801         * gst/gst.c: (load_plugin_func):
7802         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
7803         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7804         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
7805           Remove newlines at end of debug log strings.
7806
7807 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7808
7809         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
7810         Only post bus message at max, once per buffer received.
7811
7812 2007-03-07  Wim Taymans  <wim@fluendo.com>
7813
7814         * docs/design/Makefile.am:
7815         * docs/design/part-synchronisation.txt:
7816         Add doc about synchronisation
7817
7818         * docs/design/draft-latency.txt:
7819         * docs/design/part-TODO.txt:
7820         * docs/design/part-clocks.txt:
7821         * docs/design/part-events.txt:
7822         * docs/design/part-gstbus.txt:
7823         * docs/design/part-gstpipeline.txt:
7824         * docs/design/part-live-source.txt:
7825         * docs/design/part-messages.txt:
7826         * docs/design/part-overview.txt:
7827         * docs/design/part-streams.txt:
7828         * docs/design/part-trickmodes.txt:
7829         Documentation updates.
7830
7831 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
7832
7833         * gstreamer.doap:
7834         Update the doap file.
7835
7836 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7837
7838         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
7839         Rename non-perfect to imperfect for Mike and for the sanctity of the
7840         language.
7841         Also make sure bus message gets emitted for data-incontiguities.
7842
7843 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7844
7845         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
7846         (gst_identity_start):
7847         * plugins/elements/gstidentity.h:
7848         Emit bus message if check-perfect is true and we encounter a
7849         non-perfect stream between 2 consecutive buffers.
7850         Fixes #415394.
7851
7852 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
7853
7854         * configure.ac:
7855         Back to CVS
7856
7857 === release 0.10.12 ===
7858
7859 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
7860
7861         * configure.ac:
7862           releasing 0.10.12, "Inevitable Demise"
7863
7864 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
7865
7866         * configure.ac:
7867          Version 0.10.11.2 (0.10.12 pre-release)
7868          Bump libtool versioning.
7869
7870 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
7871
7872         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
7873           Log flow-names and not numbers.
7874
7875 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7876
7877         * configure.ac:
7878           Convert to new AG_GST style.
7879
7880 2007-02-28  Wim Taymans  <wim@fluendo.com>
7881
7882         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
7883         Don't unref query twice.
7884
7885 2007-02-28  Wim Taymans  <wim@fluendo.com>
7886
7887         * gst/gstvalue.c: (gst_value_transform_object_string),
7888         (_gst_value_initialize):
7889         Implement GstObject -> string transform so we print object names
7890         when serializing GValues containing GstObjects.
7891
7892 2007-02-28  Wim Taymans  <wim@fluendo.com>
7893
7894         * docs/gst/gstreamer-sections.txt:
7895         Add new stuff to docs.
7896
7897 2007-02-28  Wim Taymans  <wim@fluendo.com>
7898
7899         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
7900         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
7901         (gst_base_sink_change_state):
7902         Improve latency query code.
7903         Don't leak latency events.
7904
7905         * tests/check/gst/gstbin.c: (GST_START_TEST):
7906         Improve debugging.
7907
7908 2007-02-28  Wim Taymans  <wim@fluendo.com>
7909
7910         * gst/gstelement.c: (gst_element_message_full),
7911         (gst_element_get_state_func):
7912         * gst/gstelement.h:
7913         Improve docs a little. Added Since: for new macro.
7914
7915         * gst/gstobject.c: (gst_object_sink):
7916         * gst/gstpipeline.c: (gst_pipeline_change_state),
7917         (gst_pipeline_set_new_stream_time):
7918         * gst/gstpipeline.h:
7919         Improve debugging and docs.
7920
7921         * gst/gstutils.c: (gst_element_state_change_return_get_name):
7922         Improve debugging.
7923
7924 2007-02-28  Wim Taymans  <wim@fluendo.com>
7925
7926         * gst/gstelement.c: (gst_element_message_full),
7927         (gst_element_set_locked_state), (gst_element_get_state_func),
7928         (gst_element_change_state):
7929         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
7930         Documentation updates.
7931         Small code cleanups.
7932
7933         * gst/gstmessage.c: (gst_message_new_info),
7934         (gst_message_parse_info):
7935         * gst/gstmessage.h:
7936         API: gst_message_new_info()
7937         API: gst_message_parse_info()
7938         Add INFO message create and parse code.
7939
7940 2007-02-28  Wim Taymans  <wim@fluendo.com>
7941
7942         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
7943         (bin_query_latency_done):
7944         Also report the live parameter of a latency query.
7945
7946 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7947
7948         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
7949           Copy the current generic/states example from -base and adapt so
7950           we can use the exact same code everywhere.
7951           Check a STATES_IGNORE_ELEMENTS env var which can be used
7952           to ignore certain element factories for this test, which is
7953           what is being done in -base
7954         * tests/check/Makefile.am:
7955           Mention this environment variable.
7956
7957 2007-02-27  Wim Taymans  <wim@fluendo.com>
7958
7959         * docs/gst/gstreamer-sections.txt:
7960         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
7961         (gst_bus_timed_pop), (gst_bus_pop):
7962         * gst/gstbus.h:
7963         API: gst_bus_timed_pop()
7964         Implement gst_bus_timed_pop() to do a blocking timed wait for a
7965         message to arrive on the bus.
7966
7967         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
7968         (gst_bus_suite):
7969         Two unit tests for new _timed_pop() function.
7970
7971 2007-02-23  Wim Taymans  <wim@fluendo.com>
7972
7973         * gst/gstpipeline.c: (gst_pipeline_change_state),
7974         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
7975         Don't ref a NULL clock in _provide_clock_func().
7976         Don't allow an INVALID delay.
7977         Don't try to calculate base_time with an invalid start_time.
7978         Also distribute and notify a NULL clock when it was selected.
7979
7980         * tools/gst-launch.c: (event_loop):
7981         Don't crash when a NULL clock was selected in the pipeline.
7982
7983 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
7984
7985         * docs/design/Makefile.am:
7986         * docs/design/draft-missing-plugins.txt:
7987         * docs/random/draft-missing-plugins.txt:
7988           Some small updates: update plugin system identifier prefix
7989           ('gstreamer.net' to 'gstreamer'), mention our new install
7990           API in libgstbaseutils rather than libgimme-codec, add
7991           reference to the online docs.
7992
7993 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7994
7995         * win32/common/config.h:
7996           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
7997           use moap cl ci to only check in what is mentioned in the ChangeLog.
7998
7999 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8000
8001         * docs/gst/gstreamer-sections.txt:
8002         * gst/gstelement.h:
8003           Fix up documentation to link to the correct GstGError section.
8004           Add GST_ELEMENT_INFO macro since someone else added a Info message.
8005
8006 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8007
8008         * tools/gst-launch.c: (event_loop):
8009           Make sure that we actually show the important message part of a
8010           warning message.
8011           No need to check if the gerror is not NULL to free; first of all
8012           g_free accepts NULL; and second the default error handler would
8013           segfault if gerror was NULL.
8014
8015 2007-02-21  Wim Taymans  <wim@fluendo.com>
8016
8017         * docs/gst/gstreamer-sections.txt:
8018         Removed docs as well.
8019
8020 2007-02-21  Wim Taymans  <wim@fluendo.com>
8021
8022         * gst/gstmessage.c: (gst_message_parse_duration):
8023         * gst/gstmessage.h:
8024         Remove new messages for release.
8025
8026 2007-02-20  Wim Taymans  <wim@fluendo.com>
8027
8028         * docs/design/part-gstghostpad.txt:
8029         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
8030         (gst_ghost_pad_new_full):
8031         Make the ghostpad a parent of the internal pad again for better backward
8032         compatibility. Don't write code that relies on this however.
8033
8034         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
8035         (gst_pad_link_check_hierarchy):
8036         Require that parents should be GstElements in the hierarchy check.
8037
8038 2007-02-20  Wim Taymans  <wim@fluendo.com>
8039
8040         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
8041         (gst_bin_change_state_func), (bin_query_min_max_init),
8042         (bin_query_latency_fold), (bin_query_latency_done),
8043         (gst_bin_query):
8044         Improve debug info.
8045         Implement latency query.
8046
8047 2007-02-20  Wim Taymans  <wim@fluendo.com>
8048
8049         * docs/design/part-gstghostpad.txt:
8050         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
8051         (gst_ghost_pad_internal_do_activate_push),
8052         (gst_ghost_pad_internal_do_activate_pull),
8053         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
8054         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
8055         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
8056         Do not set the internal pad as a parent anymore so we can avoid
8057         hierarchy linking errors when the ghostpad has no parent yet. This also
8058         fixes failed activation because of unlinked internal pads, which in
8059         turn fixes the impossible case where you have to activate a pad before
8060         you can add it to a running element.
8061         Also fix the docs.
8062
8063         * gst/gstpad.c: (pre_activate), (post_activate),
8064         (gst_pad_set_active), (gst_pad_activate_pull),
8065         (gst_pad_activate_push), (gst_pad_check_pull_range):
8066         Add some more debug info.
8067         Mark activation mode in pre_activate so that we don't try to activate in
8068         endless loops. Fixes #385084.
8069
8070 2007-02-19  Wim Taymans  <wim@fluendo.com>
8071
8072         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
8073         (gst_base_transform_check_get_range):
8074         Implement a checkgetrange function instead of relying on the default
8075         core behaviour that assumes we can operate in pull mode if we have a
8076         getrange function. First step at fixing #385084.
8077
8078 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
8079
8080         * gst/gstchildproxy.h:
8081         * libs/gst/base/gstbasesink.h:
8082         * libs/gst/base/gstbasesrc.h:
8083         * libs/gst/base/gstbasetransform.h:
8084         More docs coverage and some ChangeLog surgery (add missing names)
8085
8086 2007-02-15  Wim Taymans  <wim@fluendo.com>
8087
8088         * docs/design/part-TODO.txt:
8089         * docs/design/part-activation.txt:
8090         * docs/design/part-block.txt:
8091         * docs/design/part-buffering.txt:
8092         * docs/design/part-clocks.txt:
8093         * docs/design/part-element-source.txt:
8094         * docs/design/part-events.txt:
8095         * docs/design/part-gstbin.txt:
8096         * docs/design/part-gstbus.txt:
8097         * docs/design/part-gstpipeline.txt:
8098         * docs/design/part-live-source.txt:
8099         * docs/design/part-messages.txt:
8100         * docs/design/part-overview.txt:
8101         * docs/design/part-qos.txt:
8102         * docs/design/part-query.txt:
8103         * docs/design/part-states.txt:
8104         * docs/design/part-trickmodes.txt:
8105         Some doc updates. Start renaming from stream_time to running_time where
8106         it was used wrongly.
8107
8108 2007-02-15  Wim Taymans  <wim@fluendo.com>
8109
8110         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
8111         Answer LATENCY query.
8112
8113 2007-02-15  Wim Taymans  <wim@fluendo.com>
8114
8115         * tests/check/gst/gstevent.c: (event_probe), (test_event),
8116         (GST_START_TEST):
8117         Improve debugging.
8118
8119 2007-02-15  Wim Taymans  <wim@fluendo.com>
8120
8121         * gst/gstpad.c: (gst_pad_get_internal_links_default),
8122         (gst_pad_dispatcher):
8123         Improve debugging of default pad dispatcher and query functions.
8124
8125 2007-02-15  Wim Taymans  <wim@fluendo.com>
8126
8127         * docs/gst/gstreamer-sections.txt:
8128         Remove old unused method.
8129
8130 2007-02-13  Wim Taymans  <wim@fluendo.com>
8131
8132         * tests/check/gst/gstsegment.c: (GST_START_TEST):
8133         Fix check
8134
8135 2007-02-13  Wim Taymans  <wim@fluendo.com>
8136
8137         * docs/design/part-seeking.txt:
8138         Some small update.
8139
8140         * gst/gstsegment.c: (gst_segment_set_seek):
8141         Revert old bogus change that should make seeking work again.
8142
8143 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
8144
8145         * docs/random/ensonic/dynlink.txt:
8146         * docs/random/ensonic/interfaces.txt:
8147         * docs/random/ensonic/receipies.txt:
8148           Possible dynamic reconnection api, plus some type fixes the other two
8149           docs.
8150
8151 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
8152
8153         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8154         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8155         Also check for an absolute path following file:// in the filesrc
8156         element. Remove redundant check and call g_path_is_absolute() on the
8157         unescaped location.
8158
8159 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
8160
8161         * docs/design/draft-klass.txt:
8162           Add existing category analysis.
8163           
8164         * gst/gstcaps.c:
8165           Fix doc example, framerate is a fraction.
8166
8167 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
8168
8169         * configure.ac:
8170         * docs/gst/Makefile.am:
8171         * docs/gst/gstreamer-sections.txt:
8172         * docs/libs/Makefile.am:
8173           Erm, forgot a bunch of --extra-dir.
8174
8175 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
8176
8177         * configure.ac:
8178         * docs/gst/Makefile.am:
8179         * docs/libs/Makefile.am:
8180         * docs/plugins/Makefile.am:
8181           Add crossreferences to glib/gobject docs.
8182
8183 2007-02-12  Wim Taymans  <wim@fluendo.com>
8184
8185         * docs/design/draft-latency.txt:
8186         Small update.
8187
8188         * docs/libs/gstreamer-libs-sections.txt:
8189         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
8190         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
8191         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
8192         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
8193         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
8194         (gst_base_sink_get_position), (gst_base_sink_query),
8195         (gst_base_sink_change_state):
8196         * libs/gst/base/gstbasesink.h:
8197         API: gst_base_sink_query_latency() to let subclasses query the upstream
8198         latency.
8199         API: gst_base_sink_get_latency() to let subclasses query the configured
8200         latency in the sink.
8201         Implement query and set latency.
8202         Update some docs.
8203         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
8204         don't continue preroll when we are flushing. Fixes #405284.
8205
8206         * tests/check/pipelines/stress.c: (change_state_timeout),
8207         (quit_timeout), (GST_START_TEST), (stress_suite):
8208         Test for #405284.
8209
8210 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
8211
8212         Patch by: René Stadler <mail at renestadler de>
8213
8214         * docs/gst/gstreamer-sections.txt:
8215         * gst/gsttaglist.c: (_gst_tag_initialize):
8216         * gst/gsttaglist.h:
8217           API: add GST_TAG_REFERENCE_LEVEL (#403597).
8218
8219 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
8220
8221         * docs/libs/Makefile.am:
8222           Fix path to core docs.
8223
8224         * gst/gstbin.c: (gst_bin_get_by_interface),
8225         (gst_bin_iterate_all_by_interface):
8226           Refix docs by also renaming 'interface' to 'iface' in implementation.
8227
8228         * docs/gst/gstreamer-sections.txt:
8229         * gst/gstcaps.c:
8230         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
8231         * gst/gstchildproxy.h:
8232         * gst/gstelementfactory.c:
8233         * gst/gstpadtemplate.h:
8234         * libs/gst/controller/gstcontroller.c:
8235         (gst_controlled_property_new):
8236           Document more.
8237
8238 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
8239
8240         * gst/gstbin.h:(gst_bin_get_by_interface),
8241         (gst_bin_iterate_all_by_interface):
8242         Replace interface parameter name by iface as interface is 
8243         a reserved keyword in Visual Studio for C++ projects so it removes
8244         a build error for application developpers using VS.
8245         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
8246         Fix a bug on Windows in uri format check. Now the prefix checked
8247         is file:// and next we check if the path after file:// is absolute.
8248         * win32/common/libgstbase.def:
8249         * win32/common/libgstdataprotocol.def:
8250         * win32/common/libgstgstreamer.def:
8251         Add new exported functions.
8252
8253 2007-02-09  Andy Wingo  <wingo@pobox.com>
8254
8255         * tests/check/pipelines/simple-launch-lines.c
8256         (simple_launch_lines_suite, test_tee): Disable tee test until I
8257         have time to fix it :-(
8258
8259         * tests/check/Makefile.am (noinst_HEADERS): 
8260         * tests/check/libs/libsabi.c: 
8261         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
8262         * tests/check/gst/gstabi.c: 
8263         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
8264
8265         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
8266         tests for push and pull tee behavior.
8267
8268         * plugins/elements/gsttee.h: 
8269         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
8270         mark as deprecated as well as unimplemented. It was a crack idea.
8271         Add support for tee operating in pull mode, off by default.
8272
8273         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
8274         normal-case logs down to LOG, raise errors to WARNING.
8275         (gst_registry_xml_read_cache): Don't log before calling a function
8276         that logs.
8277
8278         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
8279         exit (registry finalize).
8280         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
8281         DEBUG log when we emit signals that people don't even have the
8282         chance to connect to.
8283         (gst_registry_scan_path_level): Less logging in the normal case.
8284
8285 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
8286
8287         Patch by: Michal Benes <michal dot benes at itonis dot tv>
8288
8289         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
8290         Correctly generate EOS for non-seekable files. We don't have a total
8291         length for them and would get an unexpected end of file if we only
8292         special-cased for regular files. (Fixes: #404569)
8293
8294 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
8295
8296         * tests/check/elements/filesrc.c: (GST_START_TEST),
8297         (filesrc_suite):
8298         Add unit test for the GstURIHandler interface in filesrc. This also
8299         tests the newly added file://localhost/foo/bar support.
8300
8301 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8302
8303         * gst/gstelementfactory.h:
8304           The klass string is not a hierarchy. Add reference to the design doc
8305           for more information and common types.
8306
8307 2007-02-02  Wim Taymans  <wim@fluendo.com>
8308
8309         * gst/gstquery.c: (gst_query_new_latency):
8310         Remove old structure field.
8311
8312 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
8313
8314         * tools/gst-launch.1.in:
8315           Give example for network streaming (#351998)
8316
8317 2007-02-02  Wim Taymans  <wim@fluendo.com>
8318
8319         * docs/gst/gstreamer-sections.txt:
8320         Add docs for new methods.
8321
8322         * gst/gstevent.c: (gst_event_new_latency),
8323         (gst_event_parse_latency):
8324         * gst/gstevent.h:
8325         Add new LATENCY event to configure latency in a pipeline.
8326         API: gst_event_new_latency
8327         API: gst_event_parse_latency
8328
8329         * gst/gstmessage.c: (gst_message_new_buffering),
8330         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
8331         (gst_message_new_latency), (gst_message_parse_buffering),
8332         (gst_message_parse_lost_preroll):
8333         * gst/gstmessage.h:
8334         Added messages used in draft-latency.
8335         API: gst_message_new_lost_preroll
8336         API: gst_message_parse_lost_preroll
8337         API: gst_message_new_prerolled
8338         API: gst_message_new_latency
8339
8340         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
8341         (gst_query_parse_latency):
8342         * gst/gstquery.h:
8343         Implemented new latency query as in design doc.
8344         API: gst_query_new_latency
8345         API: gst_query_set_latency
8346         API: gst_query_parse_latency
8347
8348 2007-02-02  Wim Taymans  <wim@fluendo.com>
8349
8350         * docs/design/draft-latency.txt:
8351         Slight redesign to allow for dynamic latency adjustments.
8352
8353         * docs/design/part-negotiation.txt:
8354         Fix some typos.
8355
8356 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
8357
8358         reviewed by: Wim Taymans <wim@fluendo.com>
8359
8360         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8361         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8362         Allow file://localhost/foo/bar URLs and correctly fail for every other
8363         hostname that one sets. This was gnomevfssrc is linked for those if
8364         installed as it can handle it (#403172)
8365
8366 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
8367
8368         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
8369
8370         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8371         (unref_data), (gst_collect_pads_add_pad_full):
8372         * libs/gst/base/gstcollectpads.h:
8373         Don't put the previously added destroy notify in the GstCollectData
8374         struct as all it's padding is already used and we don't want to break
8375         ABI. Instead put in the pad's GObject data for now. This should be
8376         cleaned up for 0.11 (#402393).
8377
8378 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
8379
8380         reviewed by: Wim Taymans <wim@fluendo.com>
8381
8382         * docs/libs/gstreamer-libs-sections.txt:
8383         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8384         (unref_data), (gst_collect_pads_add_pad),
8385         (gst_collect_pads_add_pad_full):
8386         * libs/gst/base/gstcollectpads.h:
8387         API: Add function to specify a destroy notification for custom
8388         GstCollectData when adding new pads in GstCollectPads (#402393).
8389
8390 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
8391
8392         * po/sv.po:
8393           Update Swedish translation (#378255).
8394
8395 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
8396
8397         * docs/design/draft-klass.txt:
8398           Fix the previous change, this is a list of categories and not a hierarchy.
8399
8400 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
8401
8402         * docs/design/draft-klass.txt:
8403           Add info about how to get a list of used classes.
8404
8405 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
8406
8407         * plugins/elements/gsttypefindelement.c:
8408         (gst_type_find_element_chain_do_typefinding),
8409         (gst_type_find_element_change_state):
8410           Don't leak found caps in chain function (no idea why that never
8411           showed up as a leak anywhere).
8412
8413 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
8414
8415         * gst/gstplugin.h:
8416           Fix and expand GstPluginDesc API docs.
8417
8418 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
8419
8420         * gst/gstcaps.c:
8421         * gst/gstelementfactory.c:
8422         * gst/gstpadtemplate.h:
8423           api doc fixes
8424
8425         * libs/gst/controller/gstcontroller.c:
8426         (gst_controlled_property_new):
8427         * tests/examples/controller/audio-example.c:
8428           comment fixes
8429
8430 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
8431
8432         * configure.ac:
8433           comment about refining the xml deps
8434
8435         * docs/manuals.mak:
8436           comments about moving away from jade for docs
8437         
8438         * gst/gst.c:
8439           recommit the ifdefs to use the binary registry
8440         
8441         * gst/gstbin.c: (gst_bin_change_state_func):
8442           this break is obsolete
8443
8444         * gst/gstelementfactory.h:
8445           better GST_ELEMENT_DETAILS docs, add comment about translation
8446
8447         * gst/gstinfo.h:
8448           remove eol slash
8449
8450         * gst/gstobject.c: (gst_signal_object_get_type):
8451           add G_UNLIKELY as usual
8452
8453         * gst/gstpad.c: (gst_pad_event_default):
8454           add fall trhu comment
8455
8456         * gst/gstregistrybinary.c: (gst_registry_binary_write),
8457         (gst_registry_binary_initialize_magic),
8458         (gst_registry_binary_save_string),
8459         (gst_registry_binary_save_pad_template),
8460         (gst_registry_binary_save_feature),
8461         (gst_registry_binary_save_plugin),
8462         (gst_registry_binary_write_cache),
8463         (gst_registry_binary_check_magic),
8464         (gst_registry_binary_load_pad_template),
8465         (gst_registry_binary_load_feature),
8466         (gst_registry_binary_load_plugin),
8467         (gst_registry_binary_read_cache):
8468           comment typo and formatting
8469
8470         * gst/gstutils.c: (gst_element_state_get_name),
8471         (gst_element_state_change_return_get_name):
8472           remove obsolete breaks
8473
8474         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8475           add FIXME 0.11 and remove cpp comment
8476
8477 2007-01-29  Edward Hervey  <edward@fluendo.com>
8478
8479         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
8480         Fix print statement in an even more portable way.
8481
8482 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
8483
8484         * docs/gst/gstreamer-sections.txt:
8485         * gst/gstutils.h:
8486           API: add GST_ROUND_DOWN_* macros (#401781).
8487
8488 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
8489
8490         * docs/gst/gstreamer.types.in:
8491         * gst/gstregistry.c: (gst_registry_class_init):
8492           Document registry signals and make gtk-doc pick them up (#401381).
8493
8494 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
8495
8496         * docs/pwg/building-testapp.xml:
8497           Add some audioconverts and audioresample to the pipeline, and some
8498           more comments and error handling.
8499
8500 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
8501
8502         * docs/manual/manual.xml:
8503         * docs/pwg/pwg.xml:
8504           Fix typo (#400987).
8505
8506 2007-01-26  Wim Taymans  <wim@fluendo.com>
8507
8508         * gst/gstcaps.c: (gst_static_caps_get):
8509         Init caps flags too.
8510
8511 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
8512
8513         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
8514
8515         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
8516         If not using mmap'ed files try to seek to the end instead of the
8517         start to determine whether we can seek at all. This fixes the case
8518         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
8519         seeks for everything afterwards fail. Fixes #400656
8520
8521 2007-01-25  Wim Taymans  <wim@fluendo.com>
8522
8523         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
8524         Add some refcount debugging.
8525         Make gst_static_caps_get threadsafe, which is needed when autoplugging
8526         in multiple streaming threads.
8527
8528 2007-01-25  Wim Taymans  <wim@fluendo.com>
8529
8530         Patch by: David Schleef <ds at schleef dot org>
8531
8532         * docs/libs/gstreamer-libs-sections.txt:
8533         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
8534         * libs/gst/base/gstadapter.h:
8535         API: gst_adapter_copy() that can reduce the amount of memcpy when
8536         getting data from the adapter. Fixes #388201.
8537
8538 2007-01-25  Edward Hervey  <edward@fluendo.com>
8539
8540         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
8541         In print statements, "%x" is for guint. Fixes build on macosx.
8542
8543 2007-01-24  Edward Hervey  <edward@fluendo.com>
8544
8545         * plugins/elements/gstmultiqueue.c:
8546         (gst_multi_queue_loop):
8547         Small fix.
8548         (single_queue_overrun_cb), (single_queue_underrun_cb),
8549         (single_queue_check_full), (gst_single_queue_new):
8550         Implement single queue growth system.
8551         This uses the extra-size properties, and will grow single queues by
8552         that much if one goes full whereas there are others empty. This is
8553         called extra-mode in the code.
8554         When a single queue's levels go back below the initial max-size
8555         limits, it is no longer in extra-mode. This is to ensure we don't
8556         consume too much memory.
8557         Fixes #399875
8558
8559 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
8560
8561         * gst/gst.c: (gst_init_get_option_group):
8562           Make warning about late g_thread_init() calls a bit more explicit,
8563           so that it's more obvious to application developers what they need
8564           to do if a user files a bug against their application.
8565
8566 2007-01-22  Edward Hervey  <edward@fluendo.com>
8567
8568         * plugins/elements/gstmultiqueue.c:
8569         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
8570         Remove previous hack of unsetting the flushing flag for the source pad
8571         instead of activating it. Instead, fix the source pad activate function
8572         so that it no longer depends on having a parent set or not.
8573
8574 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
8575
8576         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
8577
8578         * docs/manual/basics-bus.xml:
8579           Fix example code, gst_element_unref() doesn't exist any longer.
8580
8581 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
8582
8583         Patch by: Mark Nauwelaerts <manauw at skynet be>
8584
8585         * gst/gstpad.c:
8586           Fix two docs typoes (#399094).
8587
8588 2007-01-19  Edward Hervey  <edward@fluendo.com>
8589
8590         * docs/faq/gst-uninstalled:
8591         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
8592         depending on libgstbaseutils can work in uninstalled environment.
8593
8594 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
8595
8596         * gst/gsttaglist.h:
8597         * gst/gsttagsetter.c:
8598         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
8599         statement for new tag.
8600
8601 2007-01-17  Edward Hervey  <edward@fluendo.com>
8602
8603         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
8604         When dynamically creating single queues, activate sinkpad before adding
8605         it.
8606         We should be doing the same thing for the source pad, but we can't
8607         since it would call a method which needs the parent to be set in order
8608         to work propertly. Instead of activating the source pad, we just unset
8609         the flushing flag, which is the minimal requirement for adding a pad
8610         to an element in a state greater than READY.
8611
8612 2007-01-17  Edward Hervey  <edward@fluendo.com>
8613
8614         * docs/faq/gst-uninstalled:
8615         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
8616         Mac OS X.
8617
8618 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
8619
8620         * tests/check/gst/gstabi.c:
8621         * tests/check/gst/struct_hppa.h:
8622         * tests/check/libs/libsabi.c:
8623         * tests/check/libs/struct_hppa.h:
8624           Add ABI structs for HPPA (see #393796).
8625
8626 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
8627
8628         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
8629           Actually write ABI structs to the file specified in the GST_ABI
8630           environment variable, as the message we print claims we would.
8631
8632 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
8633
8634         * tests/check/gst/gsttask.c:
8635           Fix header comment.
8636
8637 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
8638
8639         * gst/gsttaglist.c: (_gst_tag_initialize):
8640           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
8641           previous two entries.
8642
8643 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
8644
8645         * docs/gst/gstreamer-sections.txt:
8646         * gst/gsttaglist.c: (_gst_tag_initialize):
8647         * gst/gsttaglist.h:
8648           Add tag support for beat-per-minute.
8649
8650 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
8651
8652         * gst/gstregistrybinary.c: (gst_registry_binary_write),
8653         (gst_registry_binary_initialize_magic),
8654         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
8655         (gst_registry_binary_save_pad_template),
8656         (gst_registry_binary_save_feature),
8657         (gst_registry_binary_save_plugin),
8658         (gst_registry_binary_write_cache),
8659         (gst_registry_binary_check_magic),
8660         (gst_registry_binary_load_pad_template),
8661         (gst_registry_binary_load_feature),
8662         (gst_registry_binary_load_plugin),
8663         (gst_registry_binary_read_cache):
8664         * gst/gstregistrybinary.h:
8665           Use glib types, cleanup comments, impement interfaces and uri-types.
8666
8667 2007-01-13  Andy Wingo  <wingo@pobox.com>
8668
8669         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
8670         getrange() to return buffers with other caps, while we fix
8671         demuxers and typefind, or otherwise change part-negotiation.txt.
8672
8673 2007-01-12  Andy Wingo  <wingo@pobox.com>
8674
8675         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
8676         Factor start/stop into this private function instead of partially
8677         in activate functions and partially in the change_state function.
8678         Fixes setup before the element has changed from READY->PAUSED, as
8679         is the case in pull-mode pipelines.
8680         (gst_base_transform_sink_activate_push)
8681         (gst_base_transform_src_activate_pull): Refactor to use
8682         gst_base_transform_activate().
8683         (gst_base_transform_change_state): Removed, not needed any more.
8684
8685         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
8686         Truncate before fixating.
8687         
8688         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
8689         Don't set_caps() if the result of fixating is ANY, as it's not
8690         supported, and not necessary in the case of a link with no
8691         template caps on either side. Fixes tests/check/libs/basesrc in
8692         some pull-mode tests.
8693
8694         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
8695         (gst_base_transform_init, gst_base_transform_sink_activate_push)
8696         (gst_base_transform_src_activate_pull): 
8697         Track the activation mode.
8698         (gst_base_transform_setcaps): In pull mode, when activating the
8699         src pad, after activating the sink pad, activate the sink pad's
8700         peer, as discussed in part-negotiation.txt.
8701
8702         * libs/gst/base/gstbasesrc.h: 
8703         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
8704         vmethod, as in basesink.
8705
8706         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
8707
8708         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
8709         mode, first proxy the setcaps to the peer pad.
8710         (gst_base_sink_pad_fixate): Add a fixate function that calls the
8711         new fixate vmethod.
8712         (gst_base_sink_default_activate_pull): Rename from
8713         gst_base_sink_activate_pull.
8714         (gst_base_sink_negotiate_pull): New function, performs negotiation
8715         in pull mode before calling ::activate_pull().
8716         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
8717         vmethod instead of the default implementation. I have no idea how
8718         this worked before. Negotiate before calling activate_pull.
8719
8720         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
8721         sink pads in pull mode. In addition to being correct, fixes
8722         filesrc ! decodebin ! identity ! fakesink.
8723         (gst_pad_get_range, gst_pad_pull_range): Don't call
8724         gst_pad_set_caps() if the caps changes; instead error out with
8725         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
8726
8727 2007-01-12  Andy Wingo  <wingo@pobox.com>
8728
8729         * docs/design/part-negotiation.txt: Update with more policy.
8730
8731 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
8732
8733         * libs/gst/check/gstbufferstraw.h:
8734         * libs/gst/check/gstcheck.h:
8735           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
8736           belongs.
8737
8738 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
8739
8740         * tests/check/Makefile.am:
8741         * tests/check/gst/.cvsignore:
8742         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
8743         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
8744         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
8745         (GST_START_TEST), (gst_tag_setter_suite):
8746           Add minimal unit test for beforementioned GstTagSetter bug.
8747
8748 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
8749
8750         Patch by: René Stadler <mail at renestadler dot de>
8751
8752         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
8753           gst_tag_list_merge() returns a new list, so it's not the best idea
8754           to ingore its return value. Effectively meant that tags could only
8755           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
8756           Also add function guard to require a non-NULL taglist as input (has
8757           always been so due to gst_tag_list_copy(), just making it explicit).
8758
8759 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
8760
8761         * docs/random/draft-missing-plugins.txt:
8762           Some additions: mention new API that is supposed to be used at the
8763           various stages; short blob about new gst-inspect introspection
8764           option; mention potential future problem with plugins that have
8765           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
8766
8767 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
8768
8769         * tools/gst-inspect.c:
8770         (print_plugin_automatic_install_info_codecs),
8771         (print_plugin_automatic_install_info_protocols),
8772         (print_plugin_automatic_install_info), (main):
8773         Add --print-plugin-auto-install-info option to gst-inspect, so we can
8774         introspect plugin files and get machine-parsable output that corresponds
8775         to the last bit of the missing-plugin installer string (small gotcha:
8776         doesn't take into account ranks).
8777
8778 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
8779
8780         * configure.ac:
8781         * docs/gst/gstreamer-sections.txt:
8782         * gst/Makefile.am:
8783         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
8784         (gst_registry_lookup_locked):
8785         * gst/gstregistry.h:
8786         * gst/gstregistrybinary.c: (gst_registry_binary_write),
8787         (gst_registry_binary_initialize_magic),
8788         (gst_registry_binary_save_string),
8789         (gst_registry_binary_save_pad_template),
8790         (gst_registry_binary_save_feature),
8791         (gst_registry_binary_save_plugin),
8792         (gst_registry_binary_write_cache),
8793         (gst_registry_binary_check_magic),
8794         (gst_registry_binary_load_pad_template),
8795         (gst_registry_binary_load_feature),
8796         (gst_registry_binary_load_plugin),
8797         (gst_registry_binary_read_cache):
8798         * gst/gstregistrybinary.h:
8799         * gst/gstregistryxml.c: (load_feature),
8800         (gst_registry_xml_read_cache):
8801           commit binary registry (disabled by default, see #359653)
8802
8803 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
8804
8805         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
8806           Fix 'make check' too.
8807
8808 2007-01-10  Andy Wingo  <wingo@pobox.com>
8809
8810         * docs/design/part-negotiation.txt: Fix a typo, add a couple
8811         notes.
8812         
8813         * docs/design/part-negotiation.txt: Update with, um, one way that
8814         pull-mode negotiation might work?
8815
8816         * gst/gstpad.h: 
8817         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
8818         that the pad must be a src pad; makes sense to call it the other
8819         way in pull mode, and the logic is symmetric anyway.
8820
8821 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
8822
8823         * plugins/elements/gstfilesink.c:
8824           Include <stdio.h> for fseeko().
8825
8826 2007-01-10  Wim Taymans  <wim@fluendo.com>
8827
8828         * gst/gstevent.c:
8829         * gst/gstevent.h:
8830         Reserve LATENCY event.
8831
8832 2007-01-09  Wim Taymans  <wim@fluendo.com>
8833
8834         * docs/design/draft-latency.txt:
8835         Updates.
8836
8837 2007-01-09  Wim Taymans  <wim@fluendo.com>
8838
8839         * docs/design/draft-latency.txt:
8840         Updates.
8841
8842         * gst/gstelement.h:
8843         * gst/gststructure.c:
8844         * gst/gsttrace.c:
8845         Small typo fixes.
8846
8847 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
8848
8849         * tests/check/.cvsignore:
8850           Ignore test-registry.xml as well.
8851
8852 2007-01-09  Wim Taymans  <wim@fluendo.com>
8853
8854         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
8855         unref data at the end when we are done with the pad.
8856
8857 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
8858
8859         * docs/gst/gstreamer-sections.txt:
8860         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
8861         (init_post), (gst_deinit), (gst_update_registry):
8862         * gst/gst.h:
8863           API: add gst_update_registry() (#391296).
8864
8865         * tests/check/Makefile.am:
8866         * tests/check/gst/gstregistry.c:
8867         * tests/check/gst/.cvsignore:
8868           Simple unit test for the above.
8869
8870 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
8871
8872         * gst/gstregistry.c: (gst_registry_scan_path_level):
8873           Plugin extension on HP-UX is .sl, add that to the list of approved
8874           plugin extensions (see #393796).
8875
8876         * tests/check/gst/gstpad.c: (GST_START_TEST):
8877           ulong => gulong. Fixes compilation with HP-UX compiler.
8878
8879         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
8880           Fix compilation if valgrind headers are not available.
8881
8882 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
8883
8884         * win32/common/libgstreamer.def: 
8885           Add new exported function.
8886         * win32/vs6/libgstbase.dsp: 
8887           Add gstdataqueue.c to the build.
8888         * win32/vs6/libgstcoreelements.dsp:
8889           Add gstmultiqueue.c to the build.
8890         
8891 2007-01-06  Andy Wingo  <wingo@pobox.com>
8892
8893         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
8894         activate_pull(), providing for a way to specialize the process of
8895         spawning a thread to pull on the sink pad. There is a default
8896         implementation.
8897
8898         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
8899         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
8900         (gst_base_sink_init): Renamed pad activation functions (inserting
8901         "_pad" in their names). Refactor to use the new activate_pull
8902         vmethod, as appropriate.
8903         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
8904         default activate_pull function to start a task pulling from the
8905         sink pad, as before.
8906
8907         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
8908         on the pads if necessary, as in push()/chain(). Update docs.
8909         Shouldn't affect existing pull() usage as it is currently only
8910         being used on buffers without caps.
8911
8912 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
8913
8914         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
8915         (init_pre):
8916           Call g_thread_init() first thing in gst_init() / gst_check_init().
8917           When initialisation is done via gst_init_get_option_group() and
8918           GOption parsing, issue a warning if the GLib thread system has not
8919           been initialised yet by the time gst_init_get_option_group() is
8920           called, as it's quite likely other GLib functions such as
8921           g_option_context_new() have been called already then, and
8922           g_thread_init() must be called before any other GLib function. The
8923           application in question must be fixed in that case, since memory
8924           corruption might happen otherwise.
8925           We issue the warning because even if the GLib folks decide to work
8926           around the problem on their end in future, this is still an issue
8927           with all GLib versions >= 2.10.0, so we should warn until we depend
8928           on a GLib version we know to be safe.
8929           Update documentation as well.
8930           Closes bug #391278.
8931
8932 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
8933
8934         * tools/gst-inspect.c: (main):
8935         * tools/gst-launch.c: (main):
8936         * tools/gst-typefind.c: (main):
8937         * tools/gst-xmlinspect.c: (main):
8938           Call g_thread_init() really really early, before any other GLib
8939           function (see #342564 and recent discussion on gtk-devel-list).
8940
8941 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
8942
8943         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
8944
8945         * gst/gst_private.h:
8946         * gst/gstconfig.h.in:
8947         * gst/gstinfo.h:
8948           On win32, all the __declspec stuff for symbol exporting is
8949           apparently only needed with MSVC, but doesn't work with MingW.
8950           Fixes compilation with MingW and #391909.
8951
8952 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
8953
8954         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
8955           Change some GST_ERROR_OBJECT that aren't really errors to
8956           GST_WARNING_OBJECT in order to reduce terminal spam.
8957
8958 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
8959
8960         * tests/check/Makefile.am:
8961           disable test again, as there seem to be still race problems
8962
8963 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
8964
8965         * tests/check/Makefile.am:
8966         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
8967         (GST_START_TEST), (queue_suite):
8968           enable queue test again, add tests for the leaky behaviour
8969
8970 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
8971
8972         * configure.ac:
8973         * tests/examples/Makefile.am:
8974           Compile adapter test/example only if the required headers are
8975           available (fixes #391915).
8976
8977 2007-01-01  David Schleef  <ds@schleef.org>
8978
8979         * gst/gstplugin.c:
8980           Restore the previous signal handler for SIGSEGV instead of
8981           setting to default, since we may have stolen it away from
8982           someone.  (i.e., Mono)
8983
8984 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
8985
8986         * docs/random/draft-missing-plugins.txt:
8987           Some small additions and clarifications.
8988
8989 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
8990
8991         * gst/gstregistryxml.c: (gst_registry_save_escaped):
8992           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
8993           since that can lead to random memory corruptions and crashes
8994           (may or may not be related to #383244, #386711, and #386711).
8995
8996 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
8997
8998         * tests/check/.cvsignore:
8999         * tests/check/Makefile.am:
9000           sync .cvsignome and CLEANFILES
9001
9002 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9003
9004         * tests/check/Makefile.am:
9005           fix distcheck
9006
9007 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9008
9009         * docs/design/part-states.txt:
9010           two tiny additional comments
9011         
9012         * gst/gststructure.c:
9013           doc fixing
9014
9015         * tests/check/Makefile.am:
9016         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9017         (GST_START_TEST):
9018           disable test for now, unless it gets fixed
9019
9020 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9021
9022         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9023         (GST_START_TEST):
9024           fix race in underrun test
9025
9026 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9027
9028         * tests/check/elements/.cvsignore:
9029           ignore more
9030
9031         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9032         (GST_START_TEST):
9033           try to narrow test failure
9034
9035 2006-12-21  David Schleef  <ds@schleef.org>
9036
9037         * plugins/elements/gstfakesrc.c:
9038           Use g_random_int_range(), since it produces better random
9039           numbers in a range than almost-correct floating point code.
9040
9041 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
9042
9043         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
9044         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
9045         (gst_check_teardown_sink_pad):
9046           do not automatically (de)activate pads
9047
9048         * tests/check/Makefile.am:
9049         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
9050         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
9051           add new, yet simple tests for queue
9052
9053         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
9054         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
9055         * tests/check/elements/filesrc.c: (cleanup_filesrc),
9056         (GST_START_TEST):
9057         * tests/check/elements/identity.c: (cleanup_identity):
9058           consistent pad (de)activation
9059
9060 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
9061
9062         Patch by: Sebastian Dröge  <slomo ubuntu com>
9063
9064         * libs/gst/base/gstcollectpads.c:
9065           Fix two doc typos (#387866).
9066
9067 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
9068
9069         * docs/manual/advanced-dparams.xml:
9070           Fix typo (g_object_control_properties() doesn't exist).
9071
9072 2006-12-19  Edward Hervey  <edward@fluendo.com>
9073
9074         * gst/gstsegment.c: (gst_segment_set_seek):
9075         Fine tune the cases where the segment start/stop values are really
9076         updated.
9077         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9078         Add tests for the return values of gst_segment_set_seek().
9079
9080 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
9081
9082         * gst/gst.c:
9083           Docs typo fix.
9084
9085         * plugins/elements/gstqueue.c: (gst_queue_class_init),
9086         (gst_queue_init):
9087           Fix incorrect documentation and flesh it out a bit more.
9088           Set default values for the max properties on the GParamSpec as well,
9089           so it shows up correctly in gst-inspect.
9090
9091 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
9092
9093         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
9094           Correct docs of queue, add more detail and crosslink it more.
9095
9096 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
9097
9098         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9099           Print additional debug info when the stream isn't perfectly
9100           timestamped; don't try to use invalid durations.
9101
9102 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
9103
9104         * docs/design/Makefile.am:
9105           Dist new design docs.
9106
9107 2006-12-16  Wim Taymans  <wim@fluendo.com>
9108
9109         Patch by: Sjoerd Simons <sjoerd at luon dot net>
9110
9111         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
9112         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
9113         (gst_collect_pads_stop), (gst_collect_pads_event),
9114         (gst_collect_pads_chain):
9115         * libs/gst/base/gstcollectpads.h:
9116         Add refcounting to the collectpads data so we can track when it's safe
9117         to free the data. Fixes #383382.
9118
9119 2006-12-15  Wim Taymans  <wim@fluendo.com>
9120
9121         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
9122         (gst_collect_pads_remove_pad):
9123         Automatically activate/deactivate pads when they are added to a
9124         started/stoped collectpads.
9125
9126 2006-12-15  Wim Taymans  <wim@fluendo.com>
9127
9128         * gst/gstelement.c: (gst_element_add_pad):
9129         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
9130         * gst/gstpad.c: (gst_pad_init):
9131         Set pads to FLUSHING when they are created. Check, warn and fix when a
9132         demuxer adds an inactive pad to itself when running. Fixes #339326.
9133
9134 2006-12-15  Wim Taymans  <wim@fluendo.com>
9135
9136         * gst/gstelement.c: (gst_element_class_init),
9137         (gst_element_default_send_event), (gst_element_send_event),
9138         (gst_element_default_query), (gst_element_query):
9139         Expose default element send_event and query handling as vmethods that
9140         subclasses can chain up to.
9141
9142 2006-12-15  Wim Taymans  <wim@fluendo.com>
9143
9144         * gst/gstelement.c: (gst_element_set_state_func):
9145         Small documentation fixes.
9146
9147 2006-12-15  Wim Taymans  <wim@fluendo.com>
9148
9149         * docs/design/draft-latency.txt:
9150         Checked in draft for handling latency in pipelines.
9151
9152 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9153
9154         * Makefile.am:
9155         * gstreamer.doap:
9156         * gstreamer.spec.in:
9157           adding .doap file
9158
9159 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
9160
9161         * gst/gst.c: (init_pre), (init_post):
9162           init_pre() and init_post() might be called via our GOptionGroup or
9163           from gst_init(), and we should skip both of them if we've already
9164           been initialised, otherwise we will init some things twice or add
9165           two default log functions.
9166
9167 2006-12-13  Edward Hervey  <edward@fluendo.com>
9168
9169         * docs/manual/basics-bus.xml:
9170         No, gst_main_loop does not exist. Its g_main_loop.
9171         Discovered by somebody who abused the copy-paste technique of coding :)
9172
9173 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
9174
9175         * gst/gstghostpad.c:
9176           Log ghostpad debug stuff to the GST_PADS category as well rather
9177           than just to the default category.
9178
9179 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9180
9181         * configure.ac:
9182         * gst/gst.c: (init_pre):
9183           Add some basic system details such as OS and architecture
9184           to the debug output if possible, courtesy of uname().
9185
9186 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9187
9188         * docs/gst/running.xml:
9189           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
9190           environment variables.
9191
9192 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
9193
9194         * tests/check/gst/gstbin.c: (GST_START_TEST):
9195         It is acceptable to have a refcount of 2 or 3 at this point in the
9196         test, because the pipeline might be just posting its state_change
9197         message. The next line then waits for that message to appear using
9198         bus_poll, so that should be fine too.
9199
9200 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
9201
9202         * gst/gst.c: (ensure_current_registry_forking):
9203         Ignore EINTR when reading from the child registry pipe.
9204         Explicitly ignore the return value from close, since it makes no
9205         difference.
9206
9207         * gst/gstminiobject.c: (gst_mini_object_ref),
9208         (gst_mini_object_unref):
9209         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
9210
9211         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
9212         When removing cached plugins, remove their features too, so they're
9213         not visible after they've disappeared.
9214
9215         * gst/gstutils.c: (prepare_link_maybe_ghosting):
9216         In the unlikely case that we are linking pads with no parents, don't
9217         crash trying to get the non-existent parent bin.
9218
9219         * gst/parse/grammar.y:
9220         Output debug in the PIPELINE category
9221
9222 2005-03-08  Wim Taymans  <wim@fluendo.com>
9223
9224         Patch by: René Stadler <mail at renestadler dot de>
9225
9226         * gst/gstclock.c: (gst_clock_new_periodic_id):
9227         Reject invalid clock times for interval of periodic ids.
9228         Fixes ##383506.
9229
9230 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
9231
9232         * gst/gstelementfactory.c: (gst_element_factory_create):
9233         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9234         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
9235         * tools/gst-inspect.c: (print_element_info):
9236         Fix refcounting of gst_plugin_feature_load to match the docs. 
9237         Fixes: #380129
9238
9239 2006-12-07  Wim Taymans  <wim@fluendo.com>
9240
9241         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
9242         (gst_base_sink_get_position):
9243         Improve debugging of events.
9244
9245 2006-12-07  Wim Taymans  <wim@fluendo.com>
9246
9247         Patch by: René Stadler <mail at renestadler dot de>
9248
9249         * gst/gstclock.c: (gst_clock_id_wait):
9250         Make period ids add the interval to the origial requested time instead
9251         of the possibly updated time which can be wrong when there are multiple
9252         waiters for the same id. Fixes #382592.
9253
9254         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
9255         (gst_system_clock_id_wait_jitter_unlocked),
9256         (gst_system_clock_id_wait_jitter):
9257         Fix restart in the async notify thread when an async entry is added to
9258         the front of the list. Fixes #381492. 
9259
9260         * tests/check/gst/gstsystemclock.c: (store_callback),
9261         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
9262         Added test for multiple async waits.
9263         Added test for async wait order.
9264
9265 2006-12-07  Wim Taymans  <wim@fluendo.com>
9266
9267         * gst/gstbin.c: (gst_bin_query):
9268         Add some more docs about the POSITION query.
9269
9270 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
9271
9272         * configure.ac:
9273         Bump version nano - back to CVS.
9274
9275 === release 0.10.11 ===
9276
9277 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
9278
9279         * configure.ac:
9280           releasing 0.10.11, "Love never runs on time"
9281
9282 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
9283
9284         * win32/common/libgstbase.def:
9285         * win32/common/libgstreamer.def:
9286         * win32/vs8/libgstbase.vcproj:
9287         * win32/vs8/libgstcoreelements.vcproj:
9288         * win32/vs8/libgstreamer.vcproj:
9289         Fix compilation on win32 under VS8
9290         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
9291         Partially fixes #381175
9292
9293 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
9294
9295         * gst/gstvalue.c: (gst_value_compare_fraction):
9296         If someone is foolish enough to compare 2 fractions with denominator =
9297         0, return UNORDERED rather than aborting.
9298
9299 2006-11-28  Edward Hervey  <edward@fluendo.com>
9300
9301         * libs/gst/base/Makefile.am:
9302         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
9303         (gst_data_queue_base_init), (gst_data_queue_class_init),
9304         (gst_data_queue_init), (gst_data_queue_new),
9305         (gst_data_queue_cleanup), (gst_data_queue_finalize),
9306         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
9307         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
9308         (gst_data_queue_is_empty), (gst_data_queue_is_full),
9309         (gst_data_queue_set_flushing), (gst_data_queue_push),
9310         (gst_data_queue_pop), (gst_data_queue_drop_head),
9311         (gst_data_queue_set_property), (gst_data_queue_get_property):
9312         * libs/gst/base/gstdataqueue.h:
9313         New GstDataQueue object for threadsafe queueing. Most useful for
9314         elements that need some queueing functionnality.
9315         * docs/libs/gstreamer-libs-docs.sgml:
9316         * docs/libs/gstreamer-libs-sections.txt:
9317         Insert documentation for GstDataQueue
9318         * plugins/elements/Makefile.am:
9319         * plugins/elements/gstelements.c:
9320         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
9321         (gst_multi_queue_class_init), (gst_multi_queue_init),
9322         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
9323         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
9324         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
9325         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
9326         (gst_multi_queue_loop), (gst_multi_queue_chain),
9327         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
9328         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
9329         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
9330         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
9331         (wake_up_next_non_linked), (compute_next_non_linked),
9332         (single_queue_overrun_cb), (single_queue_underrun_cb),
9333         (single_queue_check_full), (gst_single_queue_new):
9334         * plugins/elements/gstmultiqueue.h:
9335         New multiqueue element, using GstDataQueue. Used for queuing multiple
9336         streams.
9337         Closes #344639 and #347785
9338
9339 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
9340
9341         * docs/pwg/advanced-types.xml:
9342           add more missing type details
9343
9344         * tools/gst-run.c: (main):
9345           remove unused variable
9346
9347 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
9348
9349         * docs/libs/Makefile.am:
9350         * docs/libs/gstreamer-libs.types:
9351           add types of base classes to enable gobject specific stuff in the docs
9352
9353         * docs/random/ensonic/embedded.txt:
9354           more ideas about isolating platform specific things
9355
9356 2006-11-20  Wim Taymans  <wim@fluendo.com>
9357
9358         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
9359
9360         * libs/gst/check/gstcheck.h:
9361         Fix compilation and running against 0.9.4. Fixes #377332.
9362
9363 2006-11-20  Wim Taymans  <wim@fluendo.com>
9364
9365         * gst/gstsegment.c: (gst_segment_set_seek),
9366         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
9367         (gst_segment_to_running_time):
9368         Fix boundary checking in to_running_time() and to_stream_time().
9369         Fixes #377183.
9370
9371         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9372         stream and running time can now be calculated for the complete
9373         clipped segment.
9374
9375 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
9376
9377         * gst/gstpad.c: (gst_pad_push_event):
9378           Can't access event structure after giving away ownership of
9379           the event.
9380
9381 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
9382
9383         * docs/random/ensonic/embedded.txt:
9384         * docs/random/ensonic/profiling.txt:
9385         * docs/random/ensonic/receipies.txt:
9386           more thinking
9387
9388 2006-11-13  Wim Taymans  <wim@fluendo.com>
9389
9390         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
9391
9392         * gst/gstpad.c:
9393         Fix documentation for gst_pad_dispatcher. Fixes #374475.
9394
9395 2006-11-13  Wim Taymans  <wim@fluendo.com>
9396
9397         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
9398
9399         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
9400         Store new length in segment duration so we don't keep on calling the
9401         potentially expensize get_size() call. Fixes #370865.
9402
9403 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
9404
9405         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
9406
9407         * win32/common/libgstreamer.def:
9408           Add two missing symbols (#366492).
9409
9410 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
9411
9412         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
9413         (gst_adapter_take_buffer):
9414         Fix format string to use all its arguments.
9415         Remove useless >= check on a guint
9416
9417 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
9418
9419         * tests/examples/adapter/.cvsignore:
9420         Ignore build file as commanded by the build-bot
9421
9422 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
9423
9424         * tests/examples/adapter/Makefile.am:
9425         * tests/examples/adapter/adapter_test.c: (run_test_take),
9426         (run_test_take_buffer), (run_tests), (main):
9427
9428         Add new files from the previous commit
9429
9430 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
9431
9432         * Makefile.am:
9433         * configure.ac:
9434         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
9435         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
9436         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
9437         * libs/gst/base/gstadapter.h:
9438         * tests/check/libs/adapter.c: (create_and_fill_adapter),
9439         (GST_START_TEST), (gst_adapter_suite):
9440         * tests/examples/Makefile.am:
9441         Do some optimisation work in GstAdapter to avoid copies in more cases.
9442         It could still do slightly better by merging buffers when
9443         gst_buffer_is_span_fast is true, but is already faster. 
9444
9445         Also, avoid traversing a single-linked list to append each incoming 
9446         buffer inside the adapter.
9447
9448         Add simple test app that times the adapter behaviour in different
9449         situations, and extend the unit test to check that bytes enter and
9450         exit the adapter in their original order.
9451
9452 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
9453
9454         * docs/random/draft-missing-plugins.txt:
9455           Update: use element message instead of adding a new message
9456           type to the core; don't provide GStreamer API to initiate the
9457           plugin download, just provide API to compose the strings needed
9458           and let an external libgimmestuff handle the rest.
9459
9460 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
9461
9462         * tools/gst-inspect.c: (print_element_properties_info):
9463         Print a string instead of 'unknown type' for GValueArray properties
9464
9465 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
9466
9467         * docs/random/draft-missing-plugins.txt:
9468         More small fixes.
9469
9470 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
9471
9472         * tests/examples/typefind/typefind.c: (type_found), (main):
9473           Make typefind element example work again (#371894); add a
9474           license header.
9475
9476 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
9477
9478         * docs/random/draft-missing-plugins.txt:
9479           Commit initial draft about how to deal with missing plugins,
9480           needs work (API too).
9481
9482 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
9483
9484         * docs/pwg/advanced-types.xml:
9485           documents the new caps elements (see #363118)
9486
9487 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
9488
9489         * gst/gstplugin.c: (gst_plugin_load_file):
9490         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
9491         (gst_file_src_map_region), (gst_file_src_start):
9492         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
9493         (gst_file_index_commit):
9494           Use g_strerror() instead of strerror() - we want UTF-8.
9495
9496 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
9497
9498         Patch by: Peter Kjellerstedt <pkj at axis com>
9499
9500         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
9501           Another printf fix (#371493).
9502
9503 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
9504
9505         * tests/check/gst/gsttag.c:
9506           relicence (okay with author=company)
9507
9508 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
9509
9510         * gst/gstpad.c: (gst_pad_event_default_dispatch),
9511         (gst_pad_push_event):
9512           Enhance debug and improve docs
9513         
9514         * gst/gsturi.c:
9515           Fix docs
9516
9517 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
9518
9519         * docs/random/ensonic/distributed.txt:
9520         * docs/random/ensonic/profiling.txt:
9521           more ideas
9522
9523 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
9524
9525         * docs/gst/gstreamer-sections.txt:
9526           add new API and fix the build
9527           
9528         * gst/gstbin.c: (gst_bin_recalc_state):
9529         * gst/gstelement.c: (gst_element_message_full),
9530         (gst_element_get_state_func), (gst_element_set_state_func):
9531           use new API and improve logging
9532         
9533         * gst/gstutils.c: (gst_element_state_change_return_get_name):
9534         * gst/gstutils.h:
9535           API: add function to get StateChangereturn names to improve logs 
9536
9537 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9538
9539         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
9540           I'm considering shooting the next person to put strerror stuff
9541           in the translateable part of the message.
9542
9543 2006-11-03  Wim Taymans  <wim@fluendo.com>
9544
9545         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
9546         Get the type and printf conversion specifiers right.
9547
9548 2006-11-03  Wim Taymans  <wim@fluendo.com>
9549
9550         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
9551
9552         * gst/gstpad.c: (gst_pad_init), (pre_activate),
9553         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
9554         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
9555         Some small cleanups. Improve debugging.
9556         * gst/gstpad.h:
9557         Signal all waiting threads with a broadcast instead of just one.
9558         Fixes #369942.
9559
9560 2006-11-03  Wim Taymans  <wim@fluendo.com>
9561
9562         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
9563         (gst_fd_src_create):
9564         Add some debugging. 
9565         Only update fd when it's different from the old.
9566
9567 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
9568
9569         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
9570           Printf fixes for PPC/OSX, take two (#369366).
9571
9572 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
9573
9574         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
9575
9576         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
9577         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
9578         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
9579           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
9580           don't cast to long long for portability reasons, but use
9581           GLib's types instead.
9582
9583 2006-10-30  Michael Smith  <msmith@fluendo.com>
9584
9585         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
9586           Get the arguments to lseek() the right way around.
9587           Fixes 367677.
9588
9589 2006-10-30  Wim Taymans  <wim@fluendo.com>
9590
9591         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
9592
9593         * gst/gstinfo.h:
9594         _declspec should be __declspec (two underscores, not one). Fixes 366572.
9595
9596 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
9597
9598         Patch by: Kjartan Maraas  <kmaraas at gnome org>
9599
9600         * docs/design/part-MT-refcounting.txt:
9601         * docs/random/wtay/capsnego2-docs:
9602         * gst/gstclock.c:
9603         * gst/gstxml.c:
9604           Typo fixes (#366212).
9605
9606 2006-10-28  Wim Taymans  <wim@fluendo.com>
9607
9608         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
9609
9610         * gst/gst.c:
9611         * win32/common/libgstbase.def:
9612         * win32/common/libgstreamer.def:
9613         * win32/vs8/libgstbase.vcproj:
9614         * win32/vs8/libgstcontroller.vcproj:
9615         Add needed entries in .def files.
9616         Use HAVE_UNISTD_H.
9617         Rearrange def files in vs8 solutions. Fixes #366286.
9618
9619 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
9620
9621         * win32/common/gstconfig.h:
9622           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
9623           hand-made win32 gstconfig.h. Fixes #366321.
9624
9625 2006-10-27  Wim Taymans  <wim@fluendo.com>
9626
9627         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
9628         (gst_ghost_pad_new_full):
9629         Make acceptcaps return TRUE when we don't have a target, just like
9630         setcaps does.
9631
9632 2006-10-27  Wim Taymans  <wim@fluendo.com>
9633
9634         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
9635         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
9636
9637 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
9638
9639         * gst/gststructure.c: (gst_structure_id_set_value):
9640           If someone tries to set a non-UTF8 string field on a structure,
9641           don't just print a warning, but also ignore the request and do
9642           not change/add that field to the structure.
9643
9644         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9645           Test for the above.
9646
9647 2006-10-25  David Schleef  <ds@schleef.org>
9648
9649         * gst/gstinfo.c:
9650           g_hash_table_insert() needs a cast to a non-const pointer duh.
9651
9652 2006-10-25  David Schleef  <ds@schleef.org>
9653
9654         * gst/gstinfo.c:
9655         * gst/gstinfo.h:
9656           Change name parameter of _gst_debug_register_funcptr to const
9657           to reflect the constness of its use in the function as well
9658           as to quiet a gcc warning.
9659
9660 2006-10-25  Edward Hervey  <edward@fluendo.com>
9661
9662         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
9663         Don't push the buffer if it's empty.
9664         Closes #363095
9665
9666 2006-10-24  Wim Taymans  <wim@fluendo.com>
9667
9668         * gst/gstevent.h:
9669         Add small comment.
9670
9671         * libs/gst/base/gstbasetransform.c:
9672         (gst_base_transform_sink_eventfunc):
9673         Debug segment values *after* updating them as this is more
9674         interesting.
9675
9676 2006-10-23  Wim Taymans  <wim@fluendo.com>
9677
9678         * docs/design/part-events.txt:
9679         Update some docs.
9680
9681         * docs/design/part-block.txt:
9682         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
9683         (gst_pad_push_event):
9684         Revert BLOCKING patch, it tries to be smart without really having a
9685         clear idea what or how. So, now we discard all FLUSHING events again on
9686         a blocking pad. Should fix gnonlin again.
9687
9688 2006-10-23  Wim Taymans  <wim@fluendo.com>
9689
9690         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
9691
9692         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
9693         (gst_base_src_start), (gst_base_src_activate_push):
9694         Make sure size is always initialized. Fixes #364388.
9695
9696 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
9697
9698         * docs/random/ensonic/distributed.txt:
9699           add some ideas about doing distributed processing
9700
9701         * docs/random/ensonic/profiling.txt:
9702           get_rusage look promising
9703
9704 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
9705
9706         * docs/manual/basics-helloworld.xml:
9707           Add a cast in example to fix compile warning
9708
9709 2006-10-18  Wim Taymans  <wim@fluendo.com>
9710
9711         * gst/gstsegment.c: (gst_segment_set_last_stop),
9712         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
9713         Relax arg checking again, -1 is allowed.
9714
9715 2006-10-18  Wim Taymans  <wim@fluendo.com>
9716
9717         * gst/gstsegment.c: (gst_segment_set_last_stop),
9718         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
9719         _set_last_stop() must be with a value != -1
9720         A _TYPE_SET to -1 means seek to 0.
9721         Calc last_stop correctly for negative rates.
9722         Make sure we work with positive durations when updating a segment.
9723
9724 2006-10-18  Wim Taymans  <wim@fluendo.com>
9725
9726         * docs/design/part-live-source.txt:
9727         * gst/gstclock.h:
9728         Small docs fixes.
9729
9730 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
9731
9732         * gst/gstbuffer.h:
9733           Add an explicit cast to GstBuffer** to keep old code that added an
9734           explicit cast to GstMiniObject** for gst_mini_object_replace()
9735           compiling without warning.
9736
9737 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
9738
9739         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
9740           check for validity of dates
9741
9742 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
9743
9744         * docs/gst/gstreamer-sections.txt:
9745           Forgot this one, makes gtk-doc shut up.
9746
9747 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
9748
9749         Patch by: Peter Kjellerstedt <pkj at axis com>
9750
9751         * gst/gstobject.h:
9752           Don't define xmlNodePtr to gpointer if the core was built with
9753           --disable-loadsave and --disable-registry, this will break
9754           applications that want to use libxml2 but are buildling against a
9755           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
9756           instead so we don't have to mess with the libxml2 namespace
9757           (#361675).
9758
9759 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
9760
9761         * gst/gstbuffer.h:
9762           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
9763           type-punned pointer warnings.
9764
9765 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
9766
9767         * gst/gstelement.h:
9768           Add casts to the correct return type to state <=> state transition
9769           macros.
9770
9771 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
9772
9773         * docs/design/part-live-source.txt:
9774           describe howto handle latency
9775         
9776         * docs/random/ensonic/profiling.txt:
9777           more ideas
9778
9779         * tools/gst-plot-timeline.py:
9780           fix log parsing for solaris, remove unused function
9781
9782 2006-10-16  Wim Taymans  <wim@fluendo.com>
9783
9784         * docs/design/part-trickmodes.txt:
9785         * gst/gstevent.c:
9786         Update some docs regarding reverse playback.
9787
9788 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
9789
9790         Patch by: Marcus Granado  <mrc dot gran at gmail com>
9791
9792         * win32/vs8/grammar.vcproj:
9793           Error out with a warning if glib-genmarshal.exe is not in path,
9794           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
9795
9796 2006-10-13  Wim Taymans  <wim@fluendo.com>
9797
9798         * gst/gstsegment.c: (gst_segment_set_seek):
9799         When seeking to stop -1, set last_stop (current position) to the
9800         duration of the segment.
9801
9802 2006-10-13  Wim Taymans  <wim@fluendo.com>
9803
9804         * gst/gstelement.h:
9805         Clarify _NO_PREROLL a bit more.
9806
9807         * gst/gstevent.c:
9808         Fix docs.
9809
9810         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
9811         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
9812         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
9813         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
9814         due to wrong locking order. Fixes #361769.
9815         Remove some redundant/misplaced checks in pad_block.
9816
9817         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9818         For negative rates, count backwards from the duration.
9819
9820 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9821
9822         * gst/gsterror.c: (_gst_library_errors_init):
9823           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
9824           up with something better).
9825
9826 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
9827
9828         * win32/vs6/libgstreamer.dsp:
9829         * win32/vs7/libgstreamer.vcproj:
9830         * win32/vs8/libgstreamer.vcproj:
9831           Don't reference glib-compat.c which is currently not used and not
9832           disted; add gstquark.c which was recently added. Fixes #361730.
9833
9834 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
9835
9836         * win32/common/libgstbase.def:
9837         * win32/common/libgstcontroller.def:
9838         * win32/common/libgstreamer.def:
9839           Add gst_caps_merge() and a bunch of other recently-added functions.
9840           Fixes #361732.
9841
9842 2006-10-11  Wim Taymans  <wim@fluendo.com>
9843
9844         * docs/plugins/gstreamer-plugins.args:
9845         * docs/plugins/inspect/plugin-coreelements.xml:
9846         * docs/plugins/inspect/plugin-coreindexers.xml:
9847         Update element args.
9848
9849         * gst/gstsystemclock.c:
9850         Small comment update.
9851
9852         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
9853         (gst_tee_request_new_pad), (gst_tee_release_pad),
9854         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
9855         (gst_tee_sink_activate_pull):
9856         * plugins/elements/gsttee.h:
9857         Some tee loving:
9858         Add default property defines.
9859         Implement release pad function.
9860         Give properties better blubs etc.
9861         Activate pads before adding them to a running tee.
9862         Do simple buffer_alloc on the first requested pad.
9863         Post error when activation fails.
9864
9865 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
9866
9867         * gst/gst.c: (ensure_current_registry_forking):
9868           Check return value of write() to make compiler happy.
9869
9870 2006-10-11  Wim Taymans  <wim@fluendo.com>
9871
9872         Patch by: Sjoerd Simons <sjoerd at luon dot net>
9873
9874         * plugins/elements/gstqueue.c: (gst_queue_chain):
9875         Recheck queue filledness after signalling the overrun when we're about
9876         to leak downstream because we released the lock when emitting the signal
9877         and the queue could be empty again. Fixes #352345.
9878
9879 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
9880
9881         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
9882           Fix refcounting here too, just like we did for _new_valist() a few
9883           days ago (#357180) (thanks to René Stadler). Also remove all those
9884           'Since: 0.9' from the gtk-doc blobs.
9885
9886         * tests/check/libs/controller.c: (controller_refcount_new_list),
9887         (gst_controller_suite):
9888           Unit test for the above.
9889
9890 2006-10-10  Wim Taymans  <wim@fluendo.com>
9891
9892         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
9893
9894         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
9895         (gst_pad_save_thyself):
9896         Update some docs.
9897         Write pad direction in XML output. Fixes #345496.
9898
9899 2006-10-10  Wim Taymans  <wim@fluendo.com>
9900
9901         Patch by: René Stadler <mail at renestadler dot de>
9902
9903         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9904         (gst_controller_new_list), (_gst_controller_dispose),
9905         (_gst_controller_finalize), (_gst_controller_class_init):
9906         Take ref to controlled object so that it cannot disappear. 
9907         Fixes #357432.
9908
9909 2006-10-10  Wim Taymans  <wim@fluendo.com>
9910
9911         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
9912         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
9913         (gst_check_teardown_sink_pad):
9914         Activate/deactivate pads in setup/teardown respectively.
9915
9916 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9917
9918         Patch by: Josep Torra Valles <josep@fluendo.com>
9919
9920         * gst/Makefile.am:
9921         Cast values when making gstenumtypes.h.  This pacifies Forte
9922         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
9923         in the enumeration.
9924
9925 2006-10-09  Wim Taymans  <wim@fluendo.com>
9926
9927         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
9928         Rename some more @cur to @start to fix docs. 
9929
9930         * gst/gstsegment.c: (gst_segment_set_seek):
9931         Fix typo.
9932         time and start must always stay in sync as defined in design doc.
9933
9934         * gst/gsttaglist.c: (gst_tag_list_is_empty):
9935         Rename param to fix docs.
9936
9937         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9938         Check that start and time are in sync.
9939
9940         * tests/check/pipelines/parse-launch.c:
9941         (gst_parse_test_element_change_state):
9942         Activate pad before adding to the element.
9943
9944 2006-10-09  Wim Taymans  <wim@fluendo.com>
9945
9946         * docs/design/part-qos.txt:
9947         Fix typo.
9948
9949         * gst/gstevent.c:
9950         * gst/gstevent.h:
9951         Update seek event docs regarding negative rates.
9952         Rename @cur to @start. 
9953
9954         * gst/gstsegment.c: (gst_segment_set_seek):
9955         * gst/gstsegment.h:
9956         Update set_seek docs regarding negative rates.
9957         Correctly update last_stop to @stop when dealing with negative
9958         rates.
9959         Rename @cur to @start. 
9960
9961         * tests/check/gst/gstpad.c: (GST_START_TEST):
9962         Activate pads before trying to use them.
9963
9964         * tests/check/gst/gstsegment.c: (GST_START_TEST),
9965         (gst_segment_suite):
9966         Add simple check for segments and negative rates.
9967
9968 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
9969
9970         * gst/gsttaglist.c: (gst_tag_list_is_empty):
9971         * gst/gsttaglist.h:
9972         * docs/gst/gstreamer-sections.txt:
9973           API: add gst_tag_list_is_empty() (#360467).
9974
9975         * tests/check/gst/gsttag.c: (GST_START_TEST):
9976           And a test case.
9977
9978 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9979
9980         * gst/gstmessage.h:
9981         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
9982         a value that doesn't fit on enumeration.
9983
9984 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9985
9986         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
9987         Remove local debugging system and use Gstreamer's instead.
9988
9989 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9990
9991         Patch by: Josep Torra Valles <josep@fluendo.com>
9992
9993         * common/m4/gst-error.m4:
9994         Disable warning of statement not reached on Forte.
9995         * gst/gstmessage.h:
9996         Fix warning on Forte (value doesn't fit on enumeration).
9997         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
9998         Fix warning on Forte (value doesn't fit on enumeration).
9999         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
10000         DEBUG macro says it takes minimum of 2 args and so Forte
10001         complains about the use with just 1 arg.
10002         * plugins/elements/gstfdsink.c:
10003         * plugins/elements/gstfdsrc.c:
10004         * plugins/elements/gstfilesink.c:
10005         * plugins/elements/gstfilesrc.c:
10006         Use correct return type for the uri handler implementations.
10007
10008         All these fix warnings in Forte.  Fixes bug #360860.
10009
10010 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
10011
10012         * gst/gstelement.h:
10013           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
10014           format string, so don't use G_GNUC_PRINTF for those versions.
10015
10016 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
10017
10018         * gst/gsttaglist.c: (gst_is_tag_list):
10019         * gst/gsttaglist.h:
10020           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
10021
10022         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10023           Small test for the above.
10024
10025 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
10026
10027         * gst/gsttaglist.h:
10028           Less tabs, more spaces.
10029
10030 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
10031
10032         * gst/gstinfo.h:
10033           Those two function declarations do actually belong there, revert
10034           commit from yesterday that turned them intro macros.
10035
10036 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10037
10038         Patch by: Josep Torra Valles <josep@fluendo.com>
10039
10040         * gst/gst.c: (gst_init_get_option_group):
10041         Fix empty declaration and type mismatch.
10042         * gst/gstbin.c: (gst_bin_change_state_func):
10043         Fix type mismatch.
10044         * gst/gstelement.c: (gst_element_continue_state),
10045         (gst_element_set_state_func), (gst_element_change_state),
10046         (gst_element_change_state_func):
10047         Fix type mismatches.
10048         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
10049         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
10050         Cast as appropriate.
10051         * gst/gstobject.c: (gst_class_signal_connect):
10052         Cast as appropriate.  The function pointer parameter really
10053         has the wrong type but would break API if we change it.
10054         * gst/gstquery.c:
10055         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
10056         order of including string.h.
10057         * gst/gstutils.c: (gst_element_state_get_name):
10058         Remove unreachable line.
10059         * gst/gstxml.c: (gst_xml_parse_doc):
10060         Fix type mismatch.
10061         All these caught by Forte.
10062
10063 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10064
10065         Patch by: Josep Torra Valles <josep@fluendo.com>
10066
10067         * common/m4/gst-error.m4:
10068         Fixed bug #360151.
10069         We need to disable warnings on Forte for empty declarations
10070         due to gst-indent adding ;s to lines that just use macros
10071         where the macro actually doesn't need a ; at end to end
10072         statement.
10073
10074 2006-10-06  Wim Taymans  <wim@fluendo.com>
10075
10076         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
10077         (gst_file_sink_close_file), (gst_file_sink_event),
10078         (gst_file_sink_render):
10079         Add some FIXME for the NEWSEGMENT handling.
10080
10081 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10082
10083         * gst/parse/grammar.y:
10084         Remove static function gst_parse_element_lock as all it does
10085         is return.  Looks like cruft from 0.8.
10086
10087 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10088
10089         Patch by: Josep Torra Valles <josep@fluendo.com>
10090
10091         * common/m4/gst-error.m4:
10092         * configure.ac:
10093         * libs/gst/net/Makefile.am:
10094         Fix a compilation issue with Forte on Solaris.  inet_aton is in
10095         libresolv.
10096
10097 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
10098
10099         * gst/gstpad.c: (pre_activate):
10100         * gst/gstregistry.c: (gst_registry_scan_path_level):
10101         * gst/gstregistryxml.c: (load_plugin):
10102         * libs/gst/controller/gstcontroller.c:
10103         (gst_controlled_property_set_interpolation_mode):
10104         * libs/gst/dataprotocol/dataprotocol.c:
10105         (gst_dp_packet_from_event_1_0):
10106         * libs/gst/net/gstnetclientclock.c:
10107         (gst_net_client_clock_observe_times):
10108         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
10109           Printf fixes.
10110
10111 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
10112
10113         * configure.ac:
10114         * docs/gst/gstreamer-sections.txt:
10115         * gst/gstconfig.h.in:
10116         * gst/gstelement.h:
10117         * gst/gstinfo.h:
10118           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
10119           whether we can use G_GNUC_PRINTF in other header files and at
10120           least check the printf format/arguments of debug messages and
10121           GST_ELEMENT_ERROR messages when the printf extension is not
10122           being used.
10123           Replace more tabs with spaces in gstinfo.h and remove two spurious
10124           function declarations in GST_DISABLE_DEBUG part with macros.
10125
10126 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
10127
10128         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
10129           More docs for the sync-message signal (mention that it is not
10130           emitted by default); log message structures of messages posted on
10131           the bus as well.
10132
10133 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
10134
10135         * gst/gst.c: (ensure_current_registry_forking):
10136         Use a pipe pair to receive status results from the forked child, and
10137         ignore the result from waitpid. Fixes #355499
10138
10139 2006-10-02  Wim Taymans  <wim@fluendo.com>
10140
10141         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
10142         (gst_ghost_pad_suite):
10143         Fix leak in check.
10144
10145 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
10146
10147         * gst/gstpad.c:
10148           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
10149
10150 2006-10-02  Edward Hervey  <edward@fluendo.com>
10151
10152         * docs/design/part-block.txt:
10153         Further explain the use of flushing on blocked pads.
10154         * docs/gst/gstreamer-sections.txt:
10155         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
10156         (gst_pad_push_event):
10157         * gst/gstpad.h:
10158         Added new GstPadFlag : GST_PAD_BLOCKING.
10159         Adds the notion of pads really blocking, which enables to properly
10160         handle FLUSH_START/FLUSH_STOP events on blocked pads.
10161         Fixes #358999
10162         API: gst_pad_is_blocking()
10163         API: GST_PAD_IS_BLOCKING() macro
10164         API: GST_PAD_BLOCKING GstPadFlag
10165         
10166 2006-10-02  Wim Taymans  <wim@fluendo.com>
10167
10168         Patch by: mrcgran <mrc.gran at gmail dot com>
10169
10170         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
10171         Filter the proxied caps against the padtemplate if we have one.
10172
10173         * gst/gstquery.c: (gst_query_new_segment):
10174         Add include for gstinfo.h so that compilation with
10175         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
10176
10177 2006-10-02  Wim Taymans  <wim@fluendo.com>
10178
10179         Patch by: Alessandro Decina  <alessandro at nnva org>
10180
10181         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
10182         (gst_file_sink_set_location), (gst_file_sink_open_file),
10183         (gst_file_sink_close_file), (gst_file_sink_event),
10184         (gst_file_sink_render):
10185         Set file to NULL when closing filesink so that we can set a new filename
10186         in READY. Fixes #358613.
10187
10188 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
10189
10190         Patch by: Alessandro Decina  <alessandro at nnva org>
10191
10192         * gst/gstevent.c: (_gst_event_copy):
10193           Fix gst_mini_object_make_writable() and gst_event_copy() for events
10194           with event structures by setting the parent refcount address of the
10195           copied structure to the address of the refcount member of the newly
10196           copied event rather than the address of the refcount member of the
10197           original event. Fixes #358737.
10198
10199         * tests/check/gst/gstevent.c: (GST_START_TEST):
10200           Unit test for the above.
10201
10202 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
10203
10204         * docs/design/Makefile.am:
10205           Dist some more files.
10206
10207 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10208
10209         * tests/check/libs/controller.c: (GST_START_TEST),
10210         (gst_controller_suite):
10211           Add test for the previous fix; add some more tests
10212           for correct refcounting behaviour; fix a few leaks
10213           in test cases; call gst_controller_init() at start
10214           of all tests.
10215
10216 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10217
10218         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10219         (gst_controller_set_from_list):
10220           Don't g_return_val_if_fail() on timed values with invalid timestamps
10221           inside a critical section without unlocking the mutex. Spotted by
10222           René Stadler. (#357617)
10223           Also, fix up refcounting properly: when returning an existing
10224           controller, we should increase the reference only once and not
10225           once per property and when trying to control a property again
10226           we should also increase the refcount.
10227
10228 2006-09-29  Wim Taymans  <wim@fluendo.com>
10229
10230         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
10231         * libs/gst/net/gstnettimeprovider.c:
10232         (gst_net_time_provider_thread):
10233         Stop reading commands when EOF as well.
10234
10235         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
10236         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
10237         * plugins/elements/gstidentity.c: (gst_identity_class_init):
10238         Unify description of the dump property.
10239
10240 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
10241
10242         * tests/examples/manual/.cvsignore:
10243         OK, so it's actually cvsignore that needs changing. Stop laughing.
10244
10245 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
10246
10247         * tests/examples/manual/Makefile.am:
10248         Gah, declare vars *before* using them
10249
10250 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
10251
10252         * gst/gst.c: (init_pre), (scan_and_update_registry),
10253         (ensure_current_registry_nonforking),
10254         (ensure_current_registry_forking), (ensure_current_registry),
10255         (init_post), (gst_debug_help), (gst_deinit):
10256         * gst/gst_private.h:
10257         * gst/gstregistry.c: (gst_registry_finalize),
10258         (gst_registry_remove_features_for_plugin_unlocked),
10259         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
10260         (gst_registry_scan_path),
10261         (_priv_gst_registry_remove_cache_plugins),
10262         (_priv_gst_registry_cleanup):
10263         * gst/gstregistry.h:
10264         Re-commit the registry changes, along with an extra fix:
10265           When a cached plugin is encountered at a different file path,
10266           update the stored path in the registry cache so that the parent
10267           process knows where it actually is now when it re-reads the registry
10268           cache. Fixes the thing that broke distcheck with the previous commit.
10269
10270         * tests/check/Makefile.am:
10271         Clean up files named 'core' too when running make clean.
10272
10273         * tests/examples/manual/Makefile.am:
10274         Set up a registry path for running these tests, and clean it properly
10275         for distcheck.
10276
10277 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
10278
10279         * configure.ac:
10280         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
10281         want gmodule-no-export-2.0.pc instead so that we don't drag in
10282         --export-dynamic on every project that links to GStreamer.
10283
10284         Also, make our export regex only match the start of symbols, rather 
10285         than any symbol that contains '_gst' somewhere.
10286
10287         * libs/gst/check/Makefile.am:
10288         The libgstcheck we build does however need export-dynamic, as it
10289         produces some symbols that don't match our _gst... style regex.
10290         Fixes: #318031
10291
10292 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
10293
10294         * gst/gst.c: (init_pre), (scan_and_update_registry),
10295         (ensure_current_registry_nonforking),
10296         (ensure_current_registry_forking), (ensure_current_registry),
10297         (init_post), (gst_debug_help), (gst_deinit):
10298         * gst/gst_private.h:
10299         * gst/gstregistry.c: (gst_registry_finalize),
10300         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
10301         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
10302         (_gst_registry_cleanup):
10303         * gst/gstregistry.h:
10304           Revert previous change until I figure out why it breaks distcheck.
10305
10306 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
10307
10308         * gst/gst.c: (init_pre), (scan_and_update_registry),
10309         (ensure_current_registry_nonforking),
10310         (ensure_current_registry_forking), (ensure_current_registry),
10311         (init_post), (gst_debug_help), (gst_deinit):
10312
10313           Make init_pre and init_post take the full complement of GOptionFunc
10314           args so they can return useful GErrors. Make the registry updating
10315           functions do so.
10316
10317           Call _priv_gst_registry_remove_cache_plugins after scanning files to
10318           ensure that the registry we're about to write out doesn't contain
10319           stale information about old-deleted plugin files.
10320
10321           Make _priv_gst_registry_remove_cache_plugins return a boolean so
10322           that deletion of plugin files is considered a registry change.
10323
10324         * gst/gst_private.h:
10325         * gst/gstregistry.c: (gst_registry_finalize),
10326         (gst_registry_remove_features_for_plugin_unlocked),
10327         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
10328         (gst_registry_scan_path),
10329         (_priv_gst_registry_remove_cache_plugins),
10330         (_priv_gst_registry_cleanup):
10331         * gst/gstregistry.h:
10332         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
10333         by adding _priv prefix, so that they won't appear in the global
10334         symbol table. They still do atm though because of #318031. Move the
10335         prototypes to gst_private.h
10336
10337         When removing a plugin, remove all features for that plugin too. 
10338         Fixes #340878.
10339
10340 2006-09-27  Wim Taymans  <wim@fluendo.com>
10341
10342         * docs/random/moving-plugins:
10343         Make it clear that the "compiled-in descriptions" really mean
10344         the element details.
10345
10346         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10347         (gst_base_sink_wait_preroll):
10348         Update docs.
10349
10350         * docs/libs/gstreamer-libs-sections.txt:
10351         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
10352         (gst_base_src_get_range), (gst_base_src_activate_push):
10353         * libs/gst/base/gstbasesrc.h:
10354         Added function to block while waiting for PLAYING, this function
10355         is used by live sources that block on the clock.
10356         API: gst_base_src_wait_playing()
10357
10358 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10359
10360         Patch by: Peter Kjellerstedt <pkj at axis com>
10361
10362         * Makefile.am:
10363           gst-element-check.m4 is generated and should therefore be
10364           copied from the build dir rather than the source dir (#357593).
10365           'make distcheck' hasn't noticed this because we were disting
10366           the file as well, so stop doing that.
10367
10368 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10369
10370         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
10371           Add some tests for gst_caps_intersect().
10372
10373         * tools/gst-launch.c: (event_loop):
10374           Print all buffering percentages we get, even the 100% one.
10375
10376 2006-09-26  Wim Taymans  <wim@fluendo.com>
10377
10378         * tools/gst-inspect.c: (print_element_properties_info),
10379         (print_signal_info):
10380         Fix printing of flags to match the look of enums.
10381
10382 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
10383
10384         * gst/gstelementfactory.c:
10385           Fix typo in docs blurb.
10386
10387 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
10388
10389         * gst/gsturi.c: (search_by_entry):
10390           Don't assert/crash here if a uri handler doesn't return any
10391           supported protocols. The list of protocols could be generated
10392           dynamically at runtime or at plugin registration, and an error
10393           in the underlying library shouldn't be fatal (#353301).
10394
10395 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
10396
10397         * gst/gstinfo.c:
10398           Fix warning if HAVE_PRINTF_EXTENSION is undefined
10399           (spotted by Peter Kjellerstedt).
10400
10401 2006-09-23  Wim Taymans  <wim@fluendo.com>
10402
10403         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
10404
10405         * libs/gst/base/gstbasesrc.c:
10406         (gst_base_src_default_check_get_range), (gst_base_src_start),
10407         (gst_base_src_activate_push), (gst_base_src_activate_pull),
10408         (gst_base_src_change_state):
10409         Match _start/_stop calls in the activate functions. Remove redundant
10410         _stop call from the state change function. Fixes #356910.
10411         Turn failure DEBUG into ERROR. 
10412
10413 2006-09-22  Wim Taymans  <wim@fluendo.com>
10414
10415         * docs/design/part-buffering.txt:
10416         * gst/gstmessage.c: (gst_message_new_buffering),
10417         (gst_message_parse_buffering):
10418         Update docs about buffering.
10419
10420         * docs/design/part-trickmodes.txt:
10421         Fix typo.
10422
10423 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
10424
10425         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10426         (gst_controller_new_list):
10427           Ref instances when returning them again (fixes #357180)
10428
10429 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10430
10431         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
10432           Don't forget to release proxy lock when there's an error.
10433
10434 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
10435
10436         * gst/gstcaps.h:
10437           Add extra initialisers for Caps things, to fix some plugin warnings
10438           when using -Wextra
10439
10440 2006-09-18  Wim Taymans  <wim@fluendo.com>
10441
10442         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
10443           Also set template on the internal pad so that a getcaps from the 
10444           target pad returns the template caps.
10445
10446 2006-09-18  Wim Taymans  <wim@fluendo.com>
10447
10448         * gst/gstelement.c: (gst_element_post_message),
10449         (gst_element_dispose):
10450         Use _DEBUG_OBJECT some more.
10451
10452         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
10453         Avoid typechecks.
10454
10455         * tools/gst-launch.c: (main):
10456         If the toplevel element is not a GstPipeline, it must be put in a
10457         pipeline so that a bus and clock is selected.
10458
10459 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
10460
10461         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
10462           JITTER, RATE, and LATENCY query should be handled by the
10463           default case and not by the CONVERT query code.
10464
10465 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
10466
10467         * gst/gstformat.c: (gst_format_register):
10468           Fix locking order (must take lock before using n_values).
10469
10470         * gst/gstvalue.c: (gst_value_serialize_enum),
10471         (gst_value_deserialize_enum_iter_cmp),
10472         (gst_value_deserialize_enum):
10473           Fix serialisation/deserialisation of custom registered GstFormats.
10474
10475         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
10476           Unit test for custom format serialisation/deserialisation.
10477
10478 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
10479
10480         * docs/pwg/building-boiler.xml:
10481         * plugins/elements/gstcapsfilter.c:
10482         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
10483         section.
10484
10485 2006-09-16  Edward Hervey  <edward@fluendo.com>
10486
10487         * libs/gst/base/gstbasetransform.c:
10488         (gst_base_transform_buffer_alloc):
10489         Check if requested caps are the same as the sinks caps IF
10490         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
10491         is FALSE.
10492         This fixes the renegotiation issues stated in #352827.
10493
10494 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10495
10496         * configure.ac:
10497         * docs/manual/advanced-autoplugging.xml:
10498         * tests/examples/Makefile.am:
10499         * tests/examples/manual/.cvsignore:
10500         * tests/examples/manual/Makefile.am:
10501         * tests/examples/manual/extract.pl:
10502           Extract the manual examples again like we used to do.
10503           Fix one of them.
10504
10505 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10506
10507         * win32/common/config.h:
10508           update for version
10509
10510 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
10511
10512         * gst/gsterror.c:
10513           Documents how to receive errors.
10514
10515 2006-09-15  Wim Taymans  <wim@fluendo.com>
10516
10517         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
10518         (event_loop), (main):
10519         Added some comments here and there.
10520         Post an application message when an interrupt is caught instead of doing
10521         an uncontrolled state change.
10522         Clean up the event loop.
10523         Handle buffering messages, pause/resume the pipeline.
10524         Make shutdown because of an interrupt more reliable.
10525
10526 2006-09-15  Wim Taymans  <wim@fluendo.com>
10527
10528         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10529         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
10530         (gst_base_sink_preroll_object):
10531         Make sure that our internal state is correct when we commit our state
10532         asynchronously. This solves a race where a state change to PLAYING
10533         could cause the sink to remain blocked in preroll in some situations.
10534
10535 2006-09-15  Wim Taymans  <wim@fluendo.com>
10536
10537         * tools/gst-inspect.c: (print_element_properties_info),
10538         (print_signal_info):
10539         List flags as hex so it's easier to deal with.
10540
10541 2006-09-15  Wim Taymans  <wim@fluendo.com>
10542
10543         * docs/libs/gstreamer-libs-sections.txt:
10544         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
10545         (gst_base_sink_do_sync):
10546         * libs/gst/base/gstbasesink.h:
10547         Expose logic to wait for preroll so that subclasses such as audiosink
10548         can also use this method.
10549         API: gst_base_sink_wait_preroll()
10550
10551 2006-09-15  Wim Taymans  <wim@fluendo.com>
10552
10553         * gst/gstobject.c: (gst_object_set_parent):
10554         * gst/gstpipeline.c: (do_pipeline_seek):
10555         Small cleanups in docs and code.
10556
10557         * gst/gstsegment.c: (gst_segment_clip):
10558         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10559         if stop == start and start is in the segment, no clipping should be
10560         done. Also add a test for this.
10561
10562 2006-09-15  Wim Taymans  <wim@fluendo.com>
10563
10564         * docs/design/part-buffering.txt:
10565         * docs/gst/gstreamer-sections.txt:
10566         * gst/gstmessage.c: (gst_message_new_buffering),
10567         (gst_message_parse_buffering):
10568         * gst/gstmessage.h:
10569         Added methods to create and parse BUFFERING messages.
10570         Added preliminary docs about buffering.
10571         API: gst_message_new_buffering
10572         API: gst_message_parse_buffering
10573
10574 2006-09-06  Wim Taymans  <wim@fluendo.com>
10575
10576         * gst/gstbin.c:
10577         Update documentation.
10578
10579         * gst/gstelement.c: (gst_element_class_init),
10580         (gst_element_release_request_pad), (gst_element_set_clock),
10581         (gst_element_get_index), (gst_element_add_pad),
10582         (gst_element_remove_pad), (gst_element_get_random_pad),
10583         (gst_element_send_event), (gst_element_get_query_types),
10584         (gst_element_query), (gst_element_post_message),
10585         (gst_element_message_full), (gst_element_continue_state),
10586         (gst_element_lost_state), (gst_element_save_thyself),
10587         (gst_element_restore_thyself):
10588         Documentation updates.
10589         Rename last bit of the new-pad -> pad-added signal rename.
10590         Fix the case where an element query would only work if the source
10591         pad was linked.
10592         Avoid some useless type checking in message handling.
10593
10594         * gst/gstevent.c:
10595         * gst/gstevent.h:
10596         * gst/gstutils.c:
10597         Documentation updates.
10598
10599 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10600
10601         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
10602           add an INFO line for when we actually update the fd
10603
10604 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10605
10606         * configure.ac:
10607           back to TRUNK
10608
10609 === release 0.10.10 ===
10610
10611 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
10612
10613         * configure.ac:
10614           releasing 0.10.10, "Pais"
10615
10616 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
10617
10618         * docs/manual/advanced-position.xml:
10619           Fix typo in sample code.
10620
10621 2006-09-05  Wim Taymans  <wim@fluendo.com>
10622
10623         * libs/gst/net/gstnetclientclock.c: (inet_aton),
10624         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
10625         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
10626         * libs/gst/net/gstnetclientclock.h:
10627         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
10628         * libs/gst/net/gstnettimepacket.h:
10629         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
10630         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
10631         (gst_net_time_provider_thread), (gst_net_time_provider_new):
10632         * libs/gst/net/gstnettimeprovider.h:
10633         Make stuff compile on windows. Fixes #345295.
10634
10635 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
10636
10637         * gst/gst.c: (ensure_current_registry_forking):
10638           Print better details when child was terminated by signal.
10639
10640 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
10641
10642         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
10643           Print a warning rather than g_assert() if a plugin feature
10644           is a URI handler but returns no protocols (#353976).
10645
10646 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
10647
10648         * docs/random/moving-plugins:
10649         Fix two typos.         
10650
10651 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
10652
10653         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
10654           Fix locking order, handle NULL function values properly.
10655
10656         * gst/gstinfo.h:
10657           Fix docs.
10658
10659         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
10660           Initialise variable before using it and fix debug statement to
10661           print the address of the function rather than the address of the
10662           variable on the stack holding the address of the function.
10663
10664 2006-09-01  Wim Taymans  <wim@fluendo.com>
10665
10666         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
10667         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
10668         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10669         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
10670         (gst_ghost_pad_parent_unset),
10671         (gst_ghost_pad_internal_do_activate_push),
10672         (gst_ghost_pad_internal_do_activate_pull),
10673         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10674         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
10675         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
10676         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
10677         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
10678         (gst_ghost_pad_new_no_target_from_template),
10679         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
10680         More cleanups.
10681         Avoid needless typechecking in macros.
10682         Since the internal pad is always present and never changes, there is
10683         no need to locking or ref when retrieving it.
10684         Improve debugging a bit.
10685         Handle link errors when setting the target. Fixes #341029.
10686
10687 2006-09-01  Wim Taymans  <wim@fluendo.com>
10688
10689         * docs/libs/gstreamer-libs-sections.txt:
10690         * docs/plugins/gstreamer-plugins-sections.txt:
10691         Fix docs some more.
10692
10693         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
10694         (gst_collect_pads_event):
10695         * libs/gst/base/gstcollectpads.h:
10696         Documentation updates.
10697         Free queued buffer when removing a pad.
10698
10699 2006-08-31  Michael Smith  <msmith@fluendo.com>
10700
10701         * gst/gstutils.c: (gst_element_link_pads),
10702         (gst_element_link_pads_filtered):
10703           Ensure that we set a capsfilter to NULL if we failed to link it
10704           when doing filtered linking, to avoid criticals.
10705
10706           No need to check for unreffing srcpad, which is explicly NULLed
10707           above (a trivial code cleanup).
10708
10709 2006-08-31  Wim Taymans  <wim@fluendo.com>
10710
10711         * docs/design/part-gstghostpad.txt:
10712         Update ascii art in documentation.
10713
10714         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
10715         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
10716         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
10717         (gst_ghost_pad_internal_do_activate_push),
10718         (gst_ghost_pad_internal_do_activate_pull),
10719         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10720         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
10721         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
10722         (gst_ghost_pad_set_target):
10723         Small cleanups and leak fixes.
10724         Remove some checks now that the internal pad is never NULL.
10725         Fix the case where linking pads without a target would create nasty
10726         criticals. Fixes #341029.
10727         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
10728         value of _set_target().
10729
10730         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
10731         (gst_ghost_pad_suite):
10732         Some more tests for creating and linking untargeted ghostpads.
10733
10734 2006-08-31  Edward Hervey  <edward@fluendo.com>
10735
10736         * docs/gst/gstreamer-sections.txt:
10737         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
10738         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
10739         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
10740         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
10741         (gst_ghost_pad_new_from_template),
10742         (gst_ghost_pad_new_no_target_from_template):
10743         * gst/gstghostpad.h:
10744         Refactored *_new() functions.
10745         Templates are now used as a g_object_new() parameter.
10746         Use template in _do_getcaps() if we don't have a target.
10747         Small documentation cleanups.
10748         Added two new constructors:
10749         gst_ghost_pad_new_from_template()
10750         gst_ghost_pad_new_no_target_from_template()
10751         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
10752         (gst_ghost_pad_suite):
10753         Added tests for new ghostpad instanciation functions.
10754
10755         API additions: gst_ghost_pad_new_from_template,
10756         gst_ghost_pad_new_no_target_from_template
10757
10758 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
10759
10760         * docs/random/ensonic/profiling.txt:
10761           Ideas about qos profiling.
10762
10763 2006-08-29  Wim Taymans  <wim@fluendo.com>
10764
10765         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
10766         Code cleanups.
10767         Fix memleak.
10768
10769 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
10770
10771         * gst/gstxml.c:
10772           Improve and detypofy docs.
10773
10774         * tests/check/Makefile.am:
10775         * tests/check/gst/.cvsignore:
10776         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
10777           Add a basic test suite for GstXML.
10778
10779 2006-08-29  Wim Taymans  <wim@fluendo.com>
10780
10781         * gst/gstelement.c: (activate_pads), (clear_caps),
10782         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
10783         Clear the pad caps when the element shut down all of the pads and
10784         is not streaming data that could modify the caps. 
10785         Fixes #352958.
10786
10787 2006-08-28  Michael Smith  <msmith@fluendo.com>
10788
10789         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10790           Revert previous change; I misunderstood single-segment mode.
10791
10792 2006-08-28  Michael Smith  <msmith@fluendo.com>
10793
10794         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10795           Unset DISCONT on buffers when using single-segment mode.
10796
10797 2006-08-28  Wim Taymans  <wim@fluendo.com>
10798
10799         * gst/gstcaps.c: (gst_caps_merge_structure):
10800         * gst/gstcaps.h:
10801         Fix docs and indentation again.
10802
10803         * tests/check/gst/gstquery.c: (GST_START_TEST):
10804         Fix leak in tests and add some more tests.
10805
10806 2006-08-28  Edward Hervey  <edward@fluendo.com>
10807
10808         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
10809         Inform GstSegment of the last stop position in order for the current
10810         segment to have a proper duration if it doesn't have a specific stop
10811         position from which a duration could be calculated.
10812         This bug was noticeable when a non-flushing, non-update new segment was
10813         followed by another segment (all buffers from the new segment were being
10814         dropped).
10815
10816 2006-08-28  Wim Taymans  <wim@fluendo.com>
10817
10818         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
10819         Small comment update.
10820
10821         * plugins/elements/gstidentity.c: (gst_identity_class_init),
10822         (gst_identity_transform_ip):
10823         Drop-probability is broken, mention this in the code with a 
10824         FIXME and also in the property description.
10825         Make silent also be silent about the drop messages.
10826
10827 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
10828
10829         * docs/manual/appendix-win32.xml:
10830           Remove mention of popt, we don't depend on that any
10831           longer (#353136). Add some comments pointing out that
10832           this section is slightly outdated.
10833
10834 2006-08-28  Wim Taymans  <wim@fluendo.com>
10835
10836         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
10837
10838         * gst/gstquery.c: (gst_query_new_segment):
10839         * tests/check/gst/gstquery.c: (GST_START_TEST):
10840         Initialize variables when creating a new segment query.
10841         Fixes #353121.
10842
10843 2006-08-28  Wim Taymans  <wim@fluendo.com>
10844
10845         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
10846
10847         * gst/gstelement.c: (gst_element_get_bus):
10848         * tests/check/gst/gstelement.c: (GST_START_TEST):
10849         Check for NULL before _reffing the bus. Fixes #353122.
10850
10851 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
10852
10853         * docs/manual/basics-bus.xml:
10854           Docs update: fix wrong callback return value explanation; add
10855           some lines about the implicit relationship between main loop
10856           and main context; remove duplicate main loop variable declaration.
10857
10858 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
10859
10860         * tests/check/gst/gstcaps.c: (GST_START_TEST):
10861           Don't leak caps in unit test; add a few more simple
10862           checks. 
10863
10864 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
10865
10866         * docs/gst/gstreamer-sections.txt:
10867         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
10868         (gst_caps_structure_is_subset), (gst_caps_merge),
10869         (gst_caps_merge_structure):
10870         * gst/gstcaps.h:
10871         * libs/gst/base/gstbasetransform.c:
10872         (gst_base_transform_transform_caps):
10873         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
10874           implement caps merging (fixes #352580)
10875
10876 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
10877
10878         * tools/Makefile.am:
10879         * tools/gst-plot-timeline.py:
10880           add debug-log plotting developer tool (#340674)
10881
10882 2006-08-23  Wim Taymans  <wim@fluendo.com>
10883
10884         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
10885         (gst_pad_stop_task):
10886         Improve debugging for task functions.
10887
10888         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
10889         (gst_task_start), (gst_task_pause), (gst_task_join):
10890         Make sure that the task function started and finished after a 
10891         join(). 
10892         Don't try to push the task function on the threadpool multiple
10893         times.
10894         Improve the g_warning message with some useful suggestions
10895         about how to fix the problem. 
10896
10897 2006-08-23  Wim Taymans  <wim@fluendo.com>
10898
10899         * gst/gstutils.c: (gst_pad_proxy_getcaps):
10900         Handle RESYNC correctly in _proxy_getcaps.
10901
10902 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
10903
10904         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
10905         (gst_xml_parse_memory), (gst_xml_get_element):
10906           Chain up to parent class in dispose function and also
10907           unref the elements in the toplevel_elements GList.
10908           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
10909           Always return a reference in gst_xml_get_element() rather
10910           than only sometimes.
10911
10912         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
10913           Don't leak GstXml object.
10914
10915 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
10916
10917         * docs/gst/gstreamer-sections.txt:
10918         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
10919         (gst_caps_merge):
10920         * gst/gstcaps.h:
10921         * libs/gst/base/gstbasetransform.c:
10922         (gst_base_transform_transform_caps):
10923           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
10924           in a better way
10925
10926 2006-08-21  Edward Hervey  <edward@fluendo.com>
10927
10928         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
10929         Implement GObject::dispose virtual method in GstXML so we can free the
10930         top_elements GList.
10931
10932 2006-08-21  Wim Taymans  <wim@fluendo.com>
10933
10934         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
10935         (gst_buffer_create_sub):
10936         Copy duration/offset_end/caps when creating a subbuffer of the
10937         complete parent.
10938         Make the subbuffer read-only when we make the metadata writable for
10939         now. Fixes #351768.
10940
10941         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
10942         Added check for metadata copy when creating subbuffers.
10943
10944 2006-08-21  Edward Hervey  <edward@fluendo.com>
10945
10946         * libs/gst/base/gstbasetransform.c:
10947         (gst_base_transform_buffer_alloc):
10948         Only call downstream buffer_alloc if transform element is passthrough
10949         or always_in_place. Closes #350449.
10950
10951 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
10952
10953         * ChangeLog:
10954           ChangeLog surgery to add comments to previous changes
10955
10956 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
10957
10958         * gst/gst.c:
10959           Add comments
10960
10961         * gst/gstpad.c: (gst_pad_set_active):
10962           Be more verbose in the log
10963
10964         * libs/gst/base/gstbasetransform.c:
10965         (gst_base_transform_transform_caps):
10966           Simplify caps to get rid of duplicates, fixes #345444
10967
10968 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
10969
10970         * gst/gstvalue.c:
10971         * gst/gstvalue.h:
10972           Use these optimizations only internally.
10973
10974 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
10975
10976         * gst/gstvalue.c: (gst_value_compare_list),
10977         (gst_value_compare_fraction_range),
10978         (gst_value_intersect_fraction_fraction_range),
10979         (gst_value_intersect_fraction_range_fraction_range),
10980         (gst_value_subtract_fraction_fraction_range),
10981         (gst_value_subtract_fraction_range_fraction_range),
10982         (gst_value_get_compare_func), (gst_value_compare),
10983         (gst_value_compare_with_func):
10984         * gst/gstvalue.h:
10985           Saves the expensive lookup of the compare function in many cases
10986          (#345444)
10987
10988 2006-08-18  Edward Hervey  <edward@fluendo.com>
10989
10990         * tests/check/gst/gstinfo.c: (gst_info_suite):
10991         Disable test that require gstdebug if it wasn't built in core.
10992
10993 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
10994
10995         * docs/random/ensonic/logging.txt:
10996           update ideas
10997           
10998         * gst/gstinfo.c: (gst_debug_log_default):
10999           reorder fields, save some columns, add optional color codes for log
11000           levels
11001
11002 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
11003
11004         * docs/random/ensonic/logging.txt:
11005           add ideas about making the logs a bit more useful
11006
11007 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
11008
11009         * docs/pwg/advanced-events.xml:
11010         * docs/pwg/titlepage.xml:
11011           Update for 0.10 API (#340627). Add myself
11012           to authors list.
11013
11014 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
11015
11016         * docs/libs/gstreamer-libs-docs.sgml:
11017         * docs/libs/gstreamer-libs-sections.txt:
11018         * libs/gst/check/gstbufferstraw.c:
11019           Make gstcheck stuff show up in docs (still needs to
11020           be documented properly though).
11021
11022 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
11023
11024         * docs/gst/gstreamer-sections.txt:
11025         * gst/Makefile.am:
11026         * gst/gst.c: (init_post):
11027         * gst/gst_private.h:
11028         * gst/gstquark.c: (_priv_gst_quarks_initialize):
11029         * gst/gstquark.h:
11030         * gst/gstquery.c: (gst_query_new_position),
11031         (gst_query_set_position), (gst_query_parse_position),
11032         (gst_query_new_duration), (gst_query_set_duration),
11033         (gst_query_parse_duration), (gst_query_new_convert),
11034         (gst_query_set_convert), (gst_query_parse_convert),
11035         (gst_query_new_segment), (gst_query_set_segment),
11036         (gst_query_parse_segment), (gst_query_new_seeking),
11037         (gst_query_set_seeking), (gst_query_parse_seeking):
11038         Add internal helpers for pre-registering quarks from static strings
11039         and using the quark values directly instead of looking them up when
11040         creating and parsing queries. Can be used for event construction too.
11041         Closes #350432.
11042
11043 2006-08-16  Wim Taymans  <wim@fluendo.com>
11044
11045         * gst/gstbin.c:
11046         Fix bogus docs.
11047
11048 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
11049
11050         * gst/gstutils.c: (gst_util_set_value_from_string):
11051           Fix memleak (#351502).
11052
11053         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11054           Add unit test for most of gst_util_set_value_from_string()
11055           (not that one would want to encourage use of this function).
11056
11057 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
11058
11059         * libs/gst/check/gstcheck.h:
11060           Use const gchar * variables in fail_unless_equals_string
11061           macro to avoid compiler warnings (and don't use tabs for
11062           indenting).
11063
11064 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
11065
11066         * tools/gst-launch.c: (print_tag):
11067           More space on the left for the tag names, to cater
11068           for the 'extended comment' tag (not touching the
11069           string for the first line since it's translated).
11070
11071 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
11072
11073         * libs/gst/check/gstcheck.h:
11074           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
11075           print something when they fail.
11076
11077 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
11078
11079         * docs/gst/gstreamer-sections.txt:
11080         * gst/gsttaglist.c: (_gst_tag_initialize):
11081         * gst/gsttaglist.h:
11082           API: add GST_TAG_EXTENDED_COMMENT (#350935).
11083           Also change merge function for GST_TAG_COMMENT to
11084           use_first.
11085
11086 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
11087
11088         * gst/gstinfo.c: (gst_debug_print_object):
11089           Make GST_PTR_FORMAT print messages as well.
11090
11091         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
11092         (GST_START_TEST), (gst_info_suite):
11093           More tests.
11094
11095 2006-08-14  Edward Hervey  <edward@fluendo.com>
11096
11097         * gst/gstelementfactory.c: (gst_element_register):
11098         If the GstElementClass doesn't have a GstElementDetails with all fields
11099         filled up correctly (longname, description AND author), then error out
11100         nicely instead of crashing.
11101
11102 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
11103
11104         * gst/gststructure.c:
11105           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
11106
11107         * gst/gstvalue.h:
11108           Expand on the difference between arrays and lists as we use them.
11109           
11110 2006-08-14  Wim Taymans  <wim@fluendo.com>
11111
11112         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
11113         If the parent state change function failed, don't assume we can safely
11114         stop the source, this will be done when the pads are deactivated.
11115
11116 2006-08-14  Wim Taymans  <wim@fluendo.com>
11117
11118         * gst/gstbuffer.c:
11119         * gst/gsttask.c: (gst_task_join):
11120         Small doc updates.
11121
11122         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
11123         (gst_pad_stop_task):
11124         When pad (de)activation failed for some reason, restore the old
11125         activation mode and set the pad to flushing instead of assuming the
11126         pad is deactivated.
11127         If the _task_join() failed, reinstall the task on the pad so that it can
11128         be stopped later and return an error.
11129
11130 2006-08-11  Andy Wingo  <wingo@pobox.com>
11131
11132         * configure.ac:
11133         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
11134         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
11135         is only for users of API that don't want to see deprecated
11136         functions in the headers; people that want to compile out
11137         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
11138         CFLAGS. Fixes the build of multifdsink, or will soon..
11139
11140 2006-08-11  Wim Taymans  <wim@fluendo.com>
11141
11142         * docs/gst/gstreamer-sections.txt:
11143         Add GstClockClass vmethod docs.
11144
11145         * gst/gstcaps.h:
11146         Mark #endif with comment for associated #if
11147
11148         * gst/gstclock.c: (gst_clock_id_wait):
11149         * gst/gstclock.h:
11150         Add vmethod wait_jitter to avoid an unneeded _get_time() for
11151         most clock implementations.
11152         Document vmethods.
11153         Flesh out docs about resolution methods.
11154         API: GstClockClass::wait_jitter
11155
11156         * gst/gstsystemclock.c: (gst_system_clock_class_init),
11157         (gst_system_clock_async_thread),
11158         (gst_system_clock_id_wait_jitter_unlocked),
11159         (gst_system_clock_id_wait_jitter):
11160         Use base class wait_jitter variant for improved performance
11161         due to less clock polling.
11162
11163 2006-08-11  Edward Hervey  <edward@fluendo.com>
11164
11165         * gst/gst.c: (gst_init_check), (init_post):
11166         Set gst as being initialized before scanning/updating the registry,
11167         since there might be my python plugin loader that calls gst_init() and
11168         we don't want to loop back in.
11169         Closes #350879
11170
11171 2006-08-11  Wim Taymans  <wim@fluendo.com>
11172
11173         * docs/design/part-qos.txt:
11174         Bring docs in line with the code. Mostly the sign of the jitter was
11175         wrong in the docs. Fixes #349943.
11176
11177         * gst/gstclock.c:
11178         Fix the docs for the jitter.
11179
11180         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
11181         (gst_event_parse_tag), (gst_event_new_buffer_size),
11182         (gst_event_parse_buffer_size), (gst_event_parse_qos),
11183         (gst_event_new_seek), (gst_event_parse_seek),
11184         (gst_event_new_navigation):
11185         Make sure the GstStructure has no parent when creating custom
11186         events.
11187         Add some more argument checking so that we avoid 0.0 rates.
11188         Flesh out the docs for the QoS event some more.
11189
11190 2006-08-11  Wim Taymans  <wim@fluendo.com>
11191
11192         * docs/gst/gstreamer-sections.txt:
11193         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
11194         (ensure_current_registry_forking), (ensure_current_registry),
11195         (parse_one_option), (parse_goption_arg), (gst_deinit),
11196         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
11197         * gst/gst.h:
11198         Doc updates.
11199         Added API and command line option to disable registry forking in
11200         addition to the environment variable.
11201         Constify some static arrays.
11202         Added some more debug.
11203         Don't deinit twice.
11204         API: gst_registry_fork_is_enabled()
11205         API: gst_registry_fork_set_enabled()
11206         API: --gst-disable-registry-fork command line option
11207         Fixes #348918.
11208
11209 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
11210
11211         * gst/gst.c: (gst_init):
11212           Fix typo in error message.
11213
11214 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
11215
11216         * libs/gst/controller/gstcontroller.h:
11217           fix ABI size-correction
11218
11219         * tests/check/libs/gdp.c: (gst_dp_suite):
11220           make tests that use deprecated API conditional
11221
11222 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
11223
11224         * docs/libs/gstreamer-libs-sections.txt:
11225         * libs/gst/controller/gstcontroller.c:
11226         (_gst_controller_get_property), (_gst_controller_set_property),
11227         (_gst_controller_init), (_gst_controller_class_init):
11228         * libs/gst/controller/gstcontroller.h:
11229         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
11230         (gst_object_set_control_rate):
11231           API: add gst_object_{s,g}et_control_rate(), add private data section,
11232           fix docs
11233
11234         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
11235         * libs/gst/dataprotocol/dataprotocol.h:
11236           add deprecation guards to make gtk-doc happy and allow disabling cruft
11237
11238 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
11239
11240         * tests/check/Makefile.am:
11241         * tests/check/gst/.cvsignore:
11242           Let's enable the new unit test as well.
11243
11244 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
11245
11246         * configure.ac:
11247         * docs/gst/gstreamer-sections.txt:
11248         * gst/gstconfig.h.in:
11249         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
11250         (_gst_info_printf_extension_ptr),
11251         (_gst_info_printf_extension_segment):
11252           API: add GST_SEGMENT_FORMAT, which is a printf extension we
11253           register that lets us easily dump GstSegments into debug
11254           logs (#350419).
11255
11256         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
11257         (info_segment_format_printf_extension), (gst_info_suite):
11258           Add simple unit test that logs a bunch of different segments (not
11259           valgrinded at the moment because of leaks in
11260           gst_debug_add_log_function).
11261
11262 2006-08-09  Edward Hervey  <edward@fluendo.com>
11263
11264         * libs/gst/base/gstbasetransform.c:
11265         (gst_base_transform_buffer_alloc):
11266         Even if we can't figure out the proper format to request downstream,
11267         call buffer_alloc() downstream with the input parameters without setting
11268         the caps on the srcpad. This will force negotiation in the chain
11269         function.
11270         Closes #350449
11271
11272 2006-08-08  Edward Hervey  <edward@fluendo.com>
11273
11274         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
11275         Unlinking from a pad without a target is now a perfectly valid case
11276         which should NOT raise an assertion.
11277         This case would happen if a linked ghostpad its target set to NULL after
11278         it was previously linked.
11279
11280 2006-08-08  Edward Hervey  <edward@fluendo.com>
11281
11282         * tests/check/libs/gdp.c:
11283         Also comment out the test (see below).
11284
11285 2006-08-08  Edward Hervey  <edward@fluendo.com>
11286
11287         * tests/check/libs/gdp.c: (gst_dp_suite):
11288         Use the architecture information from config.h and not gcc macros
11289         in order to properly disable a test that fails on PPC64.
11290
11291 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
11292
11293         * gst/gstelement.c: (gst_element_remove_pad):
11294           Don't crash printing the warning if the pad has no parent.
11295
11296 2006-08-02  Wim Taymans  <wim@fluendo.com>
11297
11298         * libs/gst/dataprotocol/dataprotocol.c:
11299         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
11300         (gst_dp_crc), (gst_dp_header_payload_length),
11301         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
11302         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
11303         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
11304         (gst_dp_event_from_packet), (gst_dp_validate_header),
11305         (gst_dp_validate_payload):
11306         Make debug category static
11307         Constify the crc table.
11308         Do some more arg checking in public functions.
11309         Fix some docs and do some small cleanups.
11310
11311         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
11312         Add some more checks to see if GDP deals with bogus input.
11313
11314 2006-07-31  Wim Taymans  <wim@fluendo.com>
11315
11316         * gst/gstvalue.c: (gst_value_compare_list):
11317         Fix GstValueList comparison code. Fixes #347293.
11318
11319         * tests/check/gst/gstvalue.c: (GST_START_TEST):
11320         Check to test GstValueList comparison.
11321
11322 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
11323
11324         * gst/gstelementfactory.c: (gst_element_factory_create):
11325         Remove unnecessary ref/unref pair
11326
11327         * gst/parse/grammar.y:
11328         Make sure to free the parse buffer on all code paths.
11329         Move a g_free up to the error handler where it's easier to see.
11330
11331         * tests/check/gst/gstevent.c: (test_event):
11332         Extending timeout for downstream travelling events to 10 seconds to
11333         hopefully avoid intermittent failure on the buildbots.
11334
11335         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
11336         Don't manually set the state of the src element - it will happen as a
11337         natural consequence of the pipeline changing state, and that way it
11338         will do it in the right order too.
11339
11340 2006-07-31  Wim Taymans  <wim@fluendo.com>
11341
11342         * libs/gst/base/gstbasetransform.c:
11343         (gst_base_transform_buffer_alloc):
11344         Use OBJECT_LOCK and refcounting to get the pad caps in the
11345         buffer_alloc function because the caps could change while we are
11346         busy with them. Fixes #349105
11347
11348 2006-07-31  Wim Taymans  <wim@fluendo.com>
11349
11350         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
11351         Protect _PAD_CAPS with OBJECT_LOCK.
11352
11353 2006-07-31  Wim Taymans  <wim@fluendo.com>
11354
11355         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
11356         (gst_pad_get_property), (gst_pad_activate_pull),
11357         (gst_pad_activate_push), (gst_pad_set_blocked_async),
11358         (gst_pad_set_activate_function),
11359         (gst_pad_set_activatepull_function),
11360         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
11361         (gst_pad_set_getrange_function),
11362         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
11363         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
11364         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
11365         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
11366         (gst_pad_set_acceptcaps_function),
11367         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
11368         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
11369         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
11370         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
11371         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
11372         (gst_pad_configure_sink), (gst_pad_configure_src),
11373         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
11374         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
11375         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
11376         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
11377         (gst_pad_send_event):
11378         Use _DEBUG_OBJECT when it makes sense.
11379         Protect GST_PAD_CAPS with the OBJECT_LOCK.
11380         Small cleanups and code reflows.
11381         Avoid caps refcounting in _accept_caps.
11382         Refactor alloc_buffer so that the code performed on the peer is in a
11383         separate function. Also if the pad does not implement a buffer alloc
11384         function, we should still check if the pad is flushing before falling
11385         back to the default allocator.
11386
11387 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
11388
11389         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
11390         Make all uses of identity and fakesink have silent=true to avoid
11391         serialising every passing data structure, which is breaking tests
11392         on FC4 for some unknown reason.
11393
11394 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
11395
11396         * gst/parse/Makefile.am:
11397         * gst/parse/grammar.y:
11398         * gst/parse/parse.l:
11399           Reverted previous patch as it required to bump the flex dependency to
11400           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
11401
11402 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
11403
11404         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
11405
11406         * gst/parse/Makefile.am:
11407         * gst/parse/grammar.y:
11408         * gst/parse/parse.l:
11409           push & pop the state of the lexer for reentrant use case
11410           Fixes #349180
11411
11412 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
11413
11414         * libs/gst/base/gstbasesrc.h:
11415           Note in the docs that the ::newsegment vfunc is not actually used by
11416           GstBaseSrc.
11417
11418 2006-07-28  Wim Taymans  <wim@fluendo.com>
11419
11420         * libs/gst/base/gstcollectpads.c:
11421         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
11422         (gst_collect_pads_clear), (gst_collect_pads_flush),
11423         (gst_collect_pads_event), (gst_collect_pads_chain):
11424         When flushing a pad, also clear the queued buffer so that we don't
11425         accidentally use it when we shouldn't.
11426         Fix leaks by inreffing incomming buffer.
11427         Flush out queued buffers in case of errors.
11428         Fixes #347452.
11429
11430 2006-07-28  Wim Taymans  <wim@fluendo.com>
11431
11432         * docs/random/phonon-gst:
11433         Random notes about a Phonon backend.
11434
11435 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
11436
11437         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
11438         Extra debug output
11439         * tests/check/libs/gdp.c: (gst_dp_suite):
11440         Take a whack at fixing the ppc compile using a different define to
11441         disable the broken test.
11442
11443         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
11444         Remove excess g_print()
11445
11446 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
11447
11448         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
11449         Oops, meant to uncomment this line too to dampen the noise a bit.
11450
11451 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
11452
11453         * gst/parse/grammar.y:
11454         * gst/parse/parse.l:
11455         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
11456         (GST_START_TEST), (parse_suite):
11457         Fix some of the leaks exposed by extending the parse-launch testsuite,
11458         and move the 3 I can't figure out into a separate test that won't run
11459         the pipelines unless the appropriate line is uncommented.
11460
11461 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
11462
11463         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
11464           Requesting 0 bytes before the end of the file should result in
11465           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
11466           unit test.
11467
11468 2006-07-27  Wim Taymans  <wim@fluendo.com>
11469
11470         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
11471         Fix useless assert, a uint is always positive.
11472
11473         * gst/gststructure.c: (gst_structure_nth_field_name),
11474         (gst_structure_foreach), (gst_structure_map_in_place):
11475         Check input arguments for public functions to avoid obvious crashes.
11476
11477         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
11478         * plugins/elements/gstfakesink.h:
11479         Do less useless typechecking.
11480
11481 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
11482
11483         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
11484           Do not use mmap() by default since there are a number of error
11485           conditions that we would like to handle in a non-fatal way that
11486           will result in a SIGBUS if we use mmap(). Examples: external
11487           devices (USB harddrive, portable music player) being unplugged
11488           while in use; file on mounted CD/DVD that can't be read because
11489           the medium is partly damaged. Fixes #348455 and #348475.
11490
11491 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
11492
11493         * gst/gstquery.h:
11494         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
11495         rates are a gdouble
11496
11497 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
11498
11499         * gst/gstregistry.c:
11500           Move big documentation comment into class section header, so that it
11501           appears in the API docs.
11502
11503 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
11504
11505         * docs/gst/gstreamer-sections.txt:
11506         Oops. Commit the docs additions too for new API.
11507         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
11508
11509 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
11510
11511         * gst/gststructure.c: (gst_structure_id_set),
11512         (gst_structure_id_set_valist):
11513         * gst/gststructure.h:
11514         Add API for setting values into structures without performing
11515         a quark lookup, if the appropriate quark is already known.
11516
11517         API: gst_structure_id_set
11518         API: gst_structure_id_set_valist
11519
11520         * gst/parse/grammar.y:
11521         * gst/parse/parse.l:
11522         Remove some dead code shown by the coverage information.
11523         Don't throw a critical g_warning when encountering a syntax error,
11524         just warn and let the normal error path handle it.
11525
11526         * plugins/elements/gstelements.c:
11527         Bump the rank of filesink up to PRIMARY so that it is preferred over
11528         gnomevfssink for file:// sink uri's
11529
11530         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
11531         (GST_START_TEST), (run_delayed_test),
11532         (gst_parse_test_element_base_init),
11533         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
11534         (gst_parse_test_element_change_state),
11535         (gst_register_parse_element), (parse_suite):
11536         Beef up the tests for parse syntax to check that more error cases
11537         fail as they are supposed to. Increases the test coverage a bit.
11538
11539 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
11540
11541         * docs/manual/basics-elements.xml:
11542           Fix gst_element_link() example.
11543
11544         * gst/gstutils.c:
11545           Mention in API docs that one should usually gst_bin_add()
11546           elements to a bin or pipeline before doing the linking.
11547           
11548 2006-07-26  Wim Taymans  <wim@fluendo.com>
11549
11550         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
11551         (gst_subbuffer_get_type), (gst_buffer_create_sub):
11552         Avoid function call for known types by keeping the buffer and
11553         subbuffer GType global.
11554
11555         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
11556         Random silly optimisations in read() path.
11557
11558 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
11559
11560         * tools/gst-launch.c: (main):
11561           If the top-level of the parse is a normal bin, it doesn't do the
11562           right logic to run as a top-level element, so place it inside a
11563           pipeline.
11564
11565 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
11566
11567         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
11568           Remove superfluous g_object_notify() calls, GObject does
11569           that for us automatically.
11570
11571 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
11572
11573         * gst/gstinfo.h:
11574           on Win32, use dllspec to export the debug category symbols
11575
11576 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
11577
11578         * gst/gsttaglist.c: (_gst_tag_initialize):
11579           Allow more than one GST_TAG_IMAGE per taglist.
11580
11581 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11582
11583         * gst/gstminiobject.c:
11584           update docs
11585         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
11586         (gst_fd_src_create):
11587           log recurring events at LOG level
11588           add more debug for when the fd gets set
11589
11590 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
11591
11592         * gst/gstparse.c: (gst_parse_launch):
11593           Also remove reentrance checks if flex is MT safe (#348179)
11594          Fix my empty ChangeLog entry below
11595
11596 2006-07-21  Andy Wingo  <wingo@pobox.com>
11597
11598         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
11599
11600         * libs/gst/check/Makefile.am
11601         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
11602         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
11603         * libs/gst/check/gstbufferstraw.h:
11604         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
11605         functions, thus proving I am still a GStreamer haxor. OK I wrote
11606         them a long time ago, but anyways.
11607
11608 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
11609
11610         * configure.ac:
11611         * gst/gstparse.c: (gst_parse_launch):
11612           Check for flex version and omit mutex if we have a MT save flex
11613           (fixes #348179)
11614
11615 2006-07-21  Wim Taymans  <wim@fluendo.com>
11616
11617         * gst/gstparse.c: (gst_parse_launch):
11618         Protect recursive calls to _parse with a recursive mutex
11619         and busy flag.
11620
11621 2006-07-21  Wim Taymans  <wim@fluendo.com>
11622
11623         * tests/check/gst/gstpad.c: (GST_START_TEST):
11624         Fix leak in test.
11625
11626 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
11627
11628         * gst/gstparse.c: (gst_parse_launch):
11629           Do not hang on recursive usage of gst_parse_launch()
11630
11631 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
11632
11633         * gst/gsttaglist.c:
11634           Add some more docs, comments and FIXME 0.11s here and there
11635           and also fix some typos.
11636
11637 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
11638
11639         * gst/gstsegment.h:
11640           Convert tabs to spaces for better readability. 
11641
11642 2006-07-20  Edward Hervey  <edward@fluendo.com>
11643
11644         * tests/check/libs/gdp.c: (gst_dp_suite):
11645         the test_buffer test fails at line 140 on ppc64 at the following
11646         check:
11647         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
11648                 GST_BUFFER_FLAG_IN_CAPS),
11649                 "GST_BUFFER_IN_CAPS flag should have been copied !");
11650         See bug #348114 for more details.
11651
11652 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
11653
11654         * docs/pwg/advanced-scheduling.xml:
11655         * gst/gstpad.c:
11656           Fix typos (#348000).
11657
11658 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
11659
11660         * docs/pwg/intro-basics.xml:
11661           Fix wrong links (#347927).
11662
11663 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
11664
11665         * gst/gstregistry.h:
11666         * gst/gstregistryxml.c: (load_feature),
11667         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
11668         * win32/common/config.h:
11669           make --disable-index work (#342564)
11670
11671 2006-07-18  Wim Taymans  <wim@fluendo.com>
11672
11673         Patch by: Peter Kjellerstedt <pkj at axis dot com>
11674
11675         * gst/Makefile.am:
11676         * gst/gsttrace.h:
11677         The attached patch adds two missing defines to gsttrace.h when tracing
11678         is disabled.  It also corrects one existing define.
11679         Fixes #347756.
11680
11681 2006-07-17  Wim Taymans  <wim@fluendo.com>
11682
11683         * docs/gst/gstreamer-sections.txt:
11684         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
11685         * gst/gst.h:
11686         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
11687         Add two functions to check and change the SIGSEGV behaviour
11688         when loading plugins.
11689         Don't mess with the SIGSEGV handler when we were told not to.
11690         Fixes #347794.
11691         API: gst_segtrap_is_enabled
11692         API: gst_segtrap_set_enabled
11693
11694 2006-07-14  Wim Taymans  <wim@fluendo.com>
11695
11696         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11697         * tests/check/elements/filesrc.c: (GST_START_TEST):
11698         Revert fix for regression in #347408 after release.
11699
11700 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
11701
11702         Patch by: Antoine Tremblay <hexa00 at gmail com>
11703
11704         * gst/gstutils.c: (gst_element_unlink):
11705           Free iterator when done (#347311).
11706
11707         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11708           And add a test case for this.
11709
11710 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
11711
11712         * configure.ac:
11713         Bump nano back to CVS
11714
11715 === release 0.10.9 ===
11716
11717 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
11718
11719         * configure.ac:
11720           releasing 0.10.9, "On the road again"
11721
11722 2006-07-13  Wim Taymans  <wim@fluendo.com>
11723
11724         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11725         * tests/check/elements/filesrc.c: (GST_START_TEST):
11726         Revert pull-0 fix for release. Disable check. Fixes #347408.
11727
11728 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11729
11730         * libs/gst/dataprotocol/dataprotocol.c:
11731         (gst_dp_event_from_packet_1_0):
11732           Fixes #347337: failure to deserialize event packets with
11733           empty payload (only event type)
11734
11735 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11736
11737         * gst/Makefile.am:
11738           do not install a .c file in the header directory
11739
11740 2006-07-13  Edward Hervey  <edward@fluendo.com>
11741
11742         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
11743         GhostPad no longer implicitely use the padtemplates of the targets.
11744         Fixes #347384
11745
11746 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
11747
11748         * gst/gstvalue.c: (gst_value_compare_list),
11749         (gst_value_compare_array), (_gst_value_initialize):
11750         * tests/check/gst/gstvalue.c: (GST_START_TEST):
11751         Make GstValueArray comparison be order dependent as designed.
11752         Add checks for value lists and value array comparisons.
11753         Fixes #347221
11754
11755 2006-07-11  Edward Hervey  <edward@fluendo.com>
11756
11757         * gst/gstbin.c: (activate_pads),
11758         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
11759         (gst_bin_change_state_func):
11760         (de)activate src pads before calling state_change on the childs.
11761         This is to avoid the case where a src ghostpad is blocked (holding the
11762         stream lock), which would block the deactivation of the ghostpad's
11763         target pad.
11764         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
11765         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
11766         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
11767         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
11768         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
11769         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
11770         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
11771         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
11772         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
11773         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
11774         (gst_ghost_pad_class_init),
11775         (gst_ghost_pad_internal_do_activate_push),
11776         (gst_ghost_pad_internal_do_activate_pull),
11777         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
11778         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
11779         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
11780         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
11781         GhostPads now create their internal GstProxyPad at creation (and not
11782         when they're linked, as it was being done previously).
11783         The internal and target pads are linked straight away.
11784         The data will also travel through the other pad in order to make
11785         pad blocking and probes non-hackish (the probe/block now really happens
11786         on the GhostPad and not on the target).
11787         * gst/gstpad.c: (gst_pad_set_blocked_async),
11788         (gst_pad_link_prepare), (gst_pad_push_event):
11789         Remove previous ghostpad cruft.
11790         * gst/gstutils.c: (gst_pad_add_data_probe),
11791         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11792         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11793         (gst_pad_remove_buffer_probe):
11794         Remove previous ghost pad cruft.
11795         Added more detailed debug statements.
11796         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
11797         Fix the testsuite for refcounting changes.
11798         The comments about who has references were correct, but the refcount
11799         being checked wasn't the same (!?!).
11800
11801         Fixes #341029
11802
11803 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
11804
11805         * docs/gst/gstreamer-sections.txt:
11806         * gst/gstconfig.h.in:
11807         More docs for configuration options, add docs to gtk-doc.
11808
11809 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
11810
11811         * gst/Makefile.am:
11812         * gst/gstconfig.h.in:
11813         * win32/common/config.h:
11814         Fix build when disabling tracing (fixes #344016). Also start to document
11815         the defines that disable the sub-systems.
11816
11817 2006-07-10  Edward Hervey  <edward@fluendo.com>
11818
11819         * gst/gst.c: (ensure_current_registry_forking):
11820         let's make valgrind happy...
11821
11822 2006-07-09  Wim Taymans  <wim@fluendo.com>
11823
11824         * gst/gstelement.c: (activate_pads),
11825         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
11826         Better pad activation code: Reset the collect value too on resync.
11827         Add some comments.
11828
11829 2006-07-09  Wim Taymans  <wim@fluendo.com>
11830
11831         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
11832         (gst_pad_activate_push):
11833         Use some more macros where it makes sense.
11834         Allow pad mode switching instead of asserting. When a pad
11835         is activated in one mode and we activate it in another, 
11836         deactivate it first before activating it in a different mode.
11837         Fixes #329198.
11838
11839 2006-07-08  Andy Wingo  <wingo@pobox.com>
11840
11841         * tools/gst-launch.c (main): Handle err == NULL.
11842
11843         * gst/gst.c (init_post, ensure_current_registry)
11844         (ensure_current_registry_forking)
11845         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
11846         factoring out the registry scanning into separate functions. Don't
11847         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
11848         Better environment var name/interface suggestions accepted.
11849
11850 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
11851
11852         * gst/gstobject.c: (gst_object_set_name_default),
11853         (gst_object_set_name):
11854           Random micro-optimisation: don't use a hash table
11855           with strings as keys and the usual strdup/strcmp
11856           involved, but rather just use the GQuark of the
11857           type name as key, since it needs to be looked up
11858           anyway to get the type name string.
11859
11860         * tests/check/gst/gstobject.c: (GST_START_TEST):
11861           Fix various leaks.
11862
11863 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
11864
11865         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
11866         (gst_bin_iterate_all_by_interface):
11867           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
11868           GTypes are gulongs and thus the top 4 bytes might be cut
11869           off on some platforms when doing GPOINTER_TO_INT, leading
11870           to invalid GTypes and bad things happening (see RH bug #179654).
11871           Also add a check to make sure the type passed in is really
11872           an interface type.
11873
11874 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
11875
11876         * .cvsignore:
11877           Ignore more.
11878
11879 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
11880
11881         * Makefile.am:
11882         * configure.ac:
11883         * gst-element-check.m4:
11884         * gst-element-check.m4.in:
11885           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
11886           instead of the unversioned gst-inspect (#324176, #168659).
11887
11888 2006-07-06  Wim Taymans  <wim@fluendo.com>
11889
11890         * gst/gstmessage.h:
11891         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
11892         warnings.
11893
11894 2006-07-06  Wim Taymans  <wim@fluendo.com>
11895
11896         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11897         (gst_base_src_wait), (gst_base_src_update_length),
11898         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
11899         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
11900         (gst_base_src_loop), (gst_base_src_start),
11901         (gst_base_src_activate_pull):
11902         Update docs.
11903         blocksize == 0 now means the default blocksize when working in push
11904         based mode.
11905         Remove some pointless asserts in _wait function.
11906         Fix offset/length calculations and EOS handling. We can now pull 0
11907         bytes as well, which is allowed.
11908         use _check_get_range() to decide if we can operate in _pull based
11909         mode.
11910         Fix refcounting leak when check_get_range function was not 
11911         implemented.
11912         API GstBaseSrc::blocksize range can be 0 too now (default)
11913
11914         * tests/check/elements/filesrc.c: (GST_START_TEST),
11915         (filesrc_suite):
11916         Added check to test _get_range() behaviour.
11917
11918 2006-07-06  Wim Taymans  <wim@fluendo.com>
11919
11920         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
11921         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
11922         (gst_pad_pull_range):
11923         * gst/gstpad.h:
11924         Lots of comments and docs added to the pad functions.
11925         Flesh out the expected behaviour of the get_range() functions.
11926
11927 2006-07-06  Wim Taymans  <wim@fluendo.com>
11928
11929         * gst/gstbus.h:
11930         * gst/gstclock.h:
11931         * gst/gstevent.h:
11932         * gst/gstiterator.h:
11933         * gst/gstpad.h:
11934         * gst/gstplugin.h:
11935         * gst/gsttask.h:
11936         Remove comma at end of enumerator list. 
11937
11938 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
11939
11940         * win32/common/libgstbase.def:
11941         * win32/common/libgstdataprotocol.def:
11942         * win32/common/libsgtreamer.def:
11943         Add new exported functions.
11944
11945 2006-07-05  Wim Taymans  <wim@fluendo.com>
11946
11947         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
11948         Add some more docs here and there.
11949
11950 2006-07-05  Wim Taymans  <wim@fluendo.com>
11951
11952         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
11953         (gst_base_sink_loop), (gst_base_sink_get_position):
11954         When operating in pull mode update the offset so that we
11955         read sequentially.
11956
11957 2006-07-05  Wim Taymans  <wim@fluendo.com>
11958
11959         * gst/gstregistryxml.c: (read_string):
11960         Avoid strdup. (will happen in libxml, but hey!)
11961
11962         * gst/gsturi.c:
11963         Add some more docs.
11964
11965 2006-07-05  Wim Taymans  <wim@fluendo.com>
11966
11967         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
11968         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
11969         (gst_buffer_suite):
11970         No point in checking if the size of the subbuffer > 0, the
11971         code handles it correclty as demonstrated by unit test.
11972         Also add a unit test for the zero sized _new_and_alloc and
11973         _copy. Fixes #346663.
11974
11975 2006-07-05  Wim Taymans  <wim@fluendo.com>
11976
11977         * libs/gst/base/gstbasetransform.c:
11978         (gst_base_transform_prepare_output_buffer),
11979         (gst_base_transform_buffer_alloc),
11980         (gst_base_transform_handle_buffer):
11981         Make sure the buffer we pass to transform_ip has a refcount of
11982         1 and thus is writable. Fixes #343196
11983
11984 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
11985
11986         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11987         (gst_file_src_init), (gst_file_src_set_property),
11988         (gst_file_src_get_property), (gst_file_src_map_region):
11989         * plugins/elements/gstfilesrc.h:
11990         Add "sequential" property, off by default, to use madvise and hint
11991         to the kernel that sequential access is desired.
11992         Touch all retrieved pages by default to ensure they are pulled
11993         into memory. (Closes #345720)
11994
11995 2006-07-03  Wim Taymans  <wim@fluendo.com>
11996
11997         * docs/design/part-block.txt:
11998         * docs/design/part-dynamic.txt:
11999         Small docs updates.
12000
12001 2006-07-03  Wim Taymans  <wim@fluendo.com>
12002
12003         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
12004         (gst_caps_unref), (gst_static_caps_get),
12005         (gst_caps_append_structure):
12006         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
12007         Use GSlice when the glib we build against is >= 2.10
12008
12009 2006-07-03  Wim Taymans  <wim@fluendo.com>
12010
12011         * gst/gstelement.c: (gst_element_pads_activate):
12012         Small cleanup in pad activation code.
12013
12014 2006-07-03  Wim Taymans  <wim@fluendo.com>
12015
12016         Patch by: Peter Kjellerstedt <pkj at axis dot com>
12017
12018         * gst/gst-i18n-app.h:
12019         * gst/gst-i18n-lib.h:
12020         * tools/gst-inspect.c: (print_signal_info):
12021         The attached patch will make the inclusion of gettext.h unconditional in
12022         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
12023         libintl.h in tools/gst-inspect.c.
12024         This allows use of --disable-nls again and fixes #344642.
12025
12026 2006-07-03  Edward Hervey  <edward@fluendo.com>
12027
12028         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
12029         Implement pad blocking on events according to part-block.txt.
12030         More comments on behaviour.
12031         * tests/check/gst/gstevent.c: (test_event):
12032         Send event to peer pad of blocked pad (else it will block).
12033
12034 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12035
12036         * libs/gst/check/gstcheck.c: (gst_check_message_error),
12037         (gst_check_run_suite):
12038           if we get the wrong message, give us the types as string
12039         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
12040           Fix a translatable
12041         * tests/check/elements/filesrc.c: (GST_START_TEST):
12042           add a test for trying to open a non-existing file
12043
12044 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12045
12046         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12047           add a test for adding self
12048
12049 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12050
12051         * libs/gst/check/gstcheck.h:
12052           add some assert_ as alias for fail_unless_*
12053         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
12054           increase test coverage
12055
12056 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12057
12058         * Makefile.am:
12059           include lcov.mak for lcov coverage generation
12060         * tools/Makefile.am:
12061           add to CLEANFILES
12062
12063 2006-07-02  Edward Hervey  <edward@fluendo.com>
12064
12065         * tests/check/elements/.cvsignore:
12066         moaping
12067
12068 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12069
12070         * configure.ac:
12071           don't set CFLAGS and friends for gcov, done from GST_GCOV now
12072         * tests/check/Makefile.am:
12073           clean up gcov files
12074
12075 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12076
12077         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
12078           remove gst_caps_simplify; it was not declared and not used
12079           and deprecated in 0.8
12080
12081 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12082
12083         * docs/faq/gst-uninstalled:
12084           don't put empty paths on PYTHONPATH
12085         * docs/gst/gstreamer-sections.txt:
12086           remove some symbols that are not there
12087
12088 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12089
12090         * gst/gstcaps.c: (gst_caps_compare_structures):
12091           whitespace fixes
12092         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12093         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12094           add more tests
12095
12096 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12097
12098         * libs/gst/dataprotocol/Makefile.am:
12099           build dataprotocol test by linking to the lib, instead of
12100           compiling the source, so we get coverage
12101         * tests/check/Makefile.am:
12102         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
12103         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
12104           add a test for filesrc
12105
12106 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12107
12108         * tests/check/gst/gststructure.c: (GST_START_TEST),
12109         (gst_structure_suite):
12110           Push coverage from 59.04% to 70.00%
12111
12112 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12113
12114         * tests/check/Makefile.am:
12115           gst-inspect every element; this makes sure that we also get
12116           coverage on element's get/set functions
12117
12118 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12119
12120         * configure.ac:
12121           set CFLAGS and friends to -O0 if gcov is being used
12122           add GCOV LIBS
12123         * gst/Makefile.am:
12124         * libs/gst/base/Makefile.am:
12125         * libs/gst/check/Makefile.am:
12126         * libs/gst/controller/Makefile.am:
12127         * libs/gst/dataprotocol/Makefile.am:
12128         * libs/gst/net/Makefile.am:
12129         * plugins/elements/Makefile.am:
12130         * plugins/indexers/Makefile.am:
12131           add makefile rules to generate gcov data and clean up
12132         * tests/check/Makefile.am:
12133           add a coverage target that generates an html overview
12134           of coverage data
12135
12136 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12137
12138         * tests/check/elements/fakesink.c:
12139         * tests/check/elements/fakesrc.c:
12140         * tests/check/elements/fdsrc.c:
12141         * tests/check/elements/identity.c:
12142         * tests/check/generic/sinks.c: (gst_sinks_suite):
12143         * tests/check/generic/states.c:
12144         * tests/check/gst/gst.c:
12145         * tests/check/gst/gstabi.c:
12146         * tests/check/gst/gstbin.c:
12147         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
12148         * tests/check/gst/gstbus.c: (gst_bus_suite):
12149         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12150         * tests/check/gst/gstelement.c:
12151         * tests/check/gst/gstevent.c: (gst_event_suite):
12152         * tests/check/gst/gstghostpad.c:
12153         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
12154         * tests/check/gst/gstmessage.c: (gst_message_suite):
12155         * tests/check/gst/gstminiobject.c:
12156         * tests/check/gst/gstobject.c:
12157         * tests/check/gst/gstpad.c:
12158         * tests/check/gst/gstpipeline.c:
12159         * tests/check/gst/gstplugin.c:
12160         * tests/check/gst/gstquery.c: (gst_query_suite):
12161         * tests/check/gst/gstsegment.c: (gst_segment_suite):
12162         * tests/check/gst/gststructure.c:
12163         * tests/check/gst/gstsystemclock.c:
12164         * tests/check/gst/gsttag.c:
12165         * tests/check/gst/gsttask.c: (gst_task_suite):
12166         * tests/check/gst/gstutils.c:
12167         * tests/check/gst/gstvalue.c:
12168         * tests/check/libs/adapter.c:
12169         * tests/check/libs/basesrc.c:
12170         * tests/check/libs/collectpads.c:
12171         * tests/check/libs/controller.c:
12172         * tests/check/libs/gdp.c: (gst_dp_suite):
12173         * tests/check/libs/gstnetclientclock.c:
12174         * tests/check/libs/gstnettimeprovider.c:
12175         * tests/check/libs/libsabi.c: (libsabi_suite):
12176         * tests/check/libs/typefindhelper.c:
12177         * tests/check/pipelines/cleanup.c:
12178         * tests/check/pipelines/parse-launch.c:
12179         * tests/check/pipelines/simple-launch-lines.c:
12180         * tests/check/pipelines/stress.c: (stress_suite):
12181           use the new macro
12182
12183 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12184
12185         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
12186         * libs/gst/check/gstcheck.h:
12187           create a macro and function so that the simple unit test
12188           case can be just one macro to create main()
12189
12190 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
12191
12192         * gst/gstbin.c: (gst_bin_restore_thyself):
12193         * gst/gstxml.c: (gst_xml_make_element):
12194           Fix deserialisation from XML. Set parent manually
12195           instead of using gst_bin_add(), since gst_bin_add()
12196           will unlink all pads of the element being added.
12197           Fixes #341667.
12198
12199 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
12200
12201         Patch by: Peter Kjellerstedt <pkj at axis com>
12202
12203         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
12204           Fix missing g_strdup() and double free when using the
12205           --gst-plugin-load command line option (#346097).
12206
12207 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
12208
12209         * gst/gstinfo.c:
12210           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
12211
12212         * libs/gst/net/gstnetclientclock.c:
12213         * libs/gst/net/gstnettimeprovider.c:
12214           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
12215
12216 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
12217
12218         * docs/manual/advanced-dataaccess.xml:
12219           Fix buffer probe example compilation in
12220           ADM (#345708).
12221         
12222 2006-06-22  Edward Hervey  <edward@fluendo.com>
12223
12224         * gst/gstelement.c: (gst_element_pads_activate):
12225         We need to deactivate src pads first and then sink pads.
12226         The reason is the src pads might be blocking while holding the streaming
12227         lock, so we need to deactivate them first so that deactivating the sink
12228         pads doesn't block (since it will require the streaming lock).
12229
12230 2006-06-22  Wim Taymans  <wim@fluendo.com>
12231
12232         * libs/gst/base/gstbasetransform.c:
12233         (gst_base_transform_buffer_alloc):
12234         Forgot to remove two unneeded unrefs.
12235         Simplify a check _is_equal allready checks the obvious case.
12236
12237 2006-06-22  Wim Taymans  <wim@fluendo.com>
12238
12239         * docs/design/part-block.txt:
12240         Some docs about what pad_block should do.
12241
12242 2006-06-22  Wim Taymans  <wim@fluendo.com>
12243
12244         * gst/gstcaps.c: (gst_caps_replace):
12245         Fix crasher when passed NULL. Doc clarification.
12246         Optimize for the trivial case.
12247
12248         * gst/gstpipeline.c: (gst_pipeline_change_state):
12249         Small cleanups.
12250
12251         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12252         Small documentation cleanup.
12253
12254         * libs/gst/base/gstbasetransform.c:
12255         (gst_base_transform_buffer_alloc):
12256         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
12257         is what we need and it avoids a whole lot of redundant 
12258         refcount operations.
12259
12260 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
12261
12262         Patch by: Philip Jägenstedt  <philip at lysator liu se>
12263
12264         * docs/manual/advanced-dataaccess.xml:
12265           Fix 'Embedding static elements' section to use
12266           GST_PLUGIN_DEFINE_STATIC (#345607).
12267
12268 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
12269
12270         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
12271           Attempt to 'fix' spuriously failing test case: it seems like the
12272           timeout of half a second is simply too small when the system is under
12273           load otherwise, and the timeout doesn't really seem to serve any
12274           particular purpose here. Give the pipeline a few seconds to preroll
12275           first, and then give it another half a second to go from PAUSED to
12276           PLAYING and marshal the message into the main thread.
12277
12278 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
12279
12280         * tools/gst-feedback-m.m:
12281           Don't only use unversioned tools, try versioned tools as well
12282           (#345086).
12283
12284 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
12285
12286         * gst/gstbus.c: (gst_bus_class_init):
12287           Fix some typos, make docs more explicit.
12288
12289 2006-06-20  Wim Taymans  <wim@fluendo.com>
12290
12291         * tests/check/gst/gstghostpad.c: (block_callback),
12292         (GST_START_TEST), (gst_ghost_pad_suite):
12293         Added some more ghostpad tests, mainly blocking
12294         and probes.
12295
12296 2006-06-16  Wim Taymans  <wim@fluendo.com>
12297
12298         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
12299         (gst_file_sink_close_file), (gst_file_sink_do_seek),
12300         (gst_file_sink_event), (gst_file_sink_render):
12301         * plugins/elements/gstfilesink.h:
12302         Check if we can seek in the file instead of assuming
12303         we always can. Post an error when we are asked to seek in a
12304         non-seekable file (like a fifo). Fixes #343312.
12305         Some cleanups.
12306
12307 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
12308
12309         * tools/gst-launch.1.in:
12310           Un-garble (fourcc) bit in filtered caps section.
12311
12312 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
12313
12314         * docs/manual/advanced-autoplugging.xml:
12315         * docs/manual/basics-helloworld.xml:
12316         * docs/manual/highlevel-components.xml:
12317           Don't leak bus reference in sample code.
12318
12319 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
12320
12321         * autogen.sh:
12322           Add default for new --enable-plugin-docs switch.
12323
12324         * configure.ac:
12325           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
12326           Fixes #344039.
12327
12328         * docs/Makefile.am:
12329           Use new ENABLE_PLUGIN_DOCS conditional.
12330
12331 2006-06-14  Wim Taymans  <wim@fluendo.com>
12332
12333         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
12334         Make it clear with a FIXME and a real define what the #if 0
12335         previously disabled.
12336
12337 2006-06-14  Wim Taymans  <wim@fluendo.com>
12338
12339         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
12340         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
12341         * libs/gst/base/gstbasetransform.c:
12342         (gst_base_transform_sink_eventfunc):
12343         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
12344         Don't randomly and silently reset a segment when the format 
12345         changes as this is a bug somewhere upstream. Fixes #330379.
12346
12347 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
12348
12349         Patch by: Wouter Paesen  <wouter at kangaroot net>
12350
12351         * libs/gst/controller/gstcontroller.c:
12352         (gst_controlled_property_new):
12353           Fix controlling of float properties (#344849).
12354
12355         * tests/check/libs/controller.c:
12356         (gst_test_mono_source_get_property),
12357         (gst_test_mono_source_set_property),
12358         (gst_test_mono_source_class_init), (GST_START_TEST):
12359           While we're at it, add some float stuff to unit test.
12360
12361 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12362
12363         * docs/README:
12364         * docs/images/gdp-header.svg:
12365           add a gdp image
12366         * docs/libs/Makefile.am:
12367         * docs/libs/gdp-header.png:
12368         * libs/gst/dataprotocol/dataprotocol.c:
12369           add it to the API docs
12370         * docs/manual/intro-motivation.xml:
12371           fix typo
12372
12373 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
12374
12375         * gst/gst.c: (scan_and_update_registry), (init_post):
12376           If the fork()'ed child process can't write the updated registry cache
12377           file to disk for some reason, make it exit with a failure exit code,
12378           so that the parent can then re-scan the plugins itself and update the
12379           registry structures in memory and work with that (rather than failing
12380           when creating elements because seemingly no plugins are available).
12381           Refactor registry scanning code into separate function for this and
12382           also separate fork() and non-fork() code paths. Fixes #344748.
12383
12384 2006-06-13  Wim Taymans  <wim@fluendo.com>
12385
12386         * docs/manual/advanced-dataaccess.xml:
12387         Fix wrong PluginDesc. Fixes #344755.
12388
12389 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
12390
12391         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
12392           Fix silly bug that prevented us from creating
12393           ~/.gstreamer-0.10 and writing the registry in one
12394           go (the first call to g_mkstemp() would overwrite the
12395           placeholder in the template string, so the second call
12396           to g_mkstemp() after creating the missing directory
12397           would then error out with 'invalid argument').
12398
12399 2006-06-13  Edward Hervey  <edward@fluendo.com>
12400
12401         * gst/gst.c: (init_post):
12402         Free string.
12403
12404 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12405
12406         * gst/glib-compat-private.h:
12407         * gst/glib-compat.c:
12408         * gst/glib-compat.h:
12409         * gst/gstvalue.c: (gst_value_serialize_flags):
12410           remove GLib 2.6 compatibility code
12411
12412 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
12413
12414         * gst/parse/Makefile.am:
12415           Fix build with 'make -j N' even more (#340016).
12416
12417 2006-06-12  Wim Taymans  <wim@fluendo.com>
12418
12419         * docs/gst/gstreamer-sections.txt:
12420         Fix docs.
12421
12422 2006-06-12  Wim Taymans  <wim@fluendo.com>
12423
12424         * gst/gstsegment.c: (gst_segment_set_duration),
12425         (gst_segment_set_last_stop), (gst_segment_set_seek),
12426         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
12427         (gst_segment_to_running_time), (gst_segment_clip):
12428         Use G_UNLIKELY to help the compiler a bit.
12429
12430 2006-06-12  Wim Taymans  <wim@fluendo.com>
12431
12432         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
12433
12434         * gst/gstevent.c: (gst_event_get_type):
12435         * gst/gstmessage.c:
12436         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
12437         (gst_pad_push):
12438         constify quark registration strings. Fixes #344115
12439         Avoid unneeded type checking is _pad_push() by internally
12440         calling gst_pad_chain_unchecked().
12441
12442 2006-06-12  Wim Taymans  <wim@fluendo.com>
12443
12444         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
12445         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
12446         (gst_subbuffer_finalize), (gst_buffer_create_sub),
12447         (gst_buffer_is_span_fast), (gst_buffer_span):
12448         Init _type for consistency.
12449         Use _FLAGS macro to avoid type check.
12450         Avoid unneeded type checks in subbufer code.
12451
12452 2006-06-12  Wim Taymans  <wim@fluendo.com>
12453
12454         * gst/gst.c: (gst_debug_help):
12455         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
12456         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
12457         (gst_plugin_feature_list_free):
12458         * gst/gstregistry.c: (gst_registry_add_plugin),
12459         (gst_registry_add_feature), (gst_registry_plugin_filter),
12460         (gst_registry_feature_filter), (gst_registry_find_plugin),
12461         (gst_registry_find_feature), (gst_registry_get_plugin_list),
12462         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
12463         * gst/gstregistryxml.c: (load_feature),
12464         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
12465         * gst/gstminiobject.c: (gst_mini_object_unref),
12466         (gst_mini_object_replace), (gst_value_mini_object_free),
12467         (gst_value_mini_object_copy):
12468         Use _CAST macros to avoid unneeded type checking.
12469         Added some more G_UNLIKELY.
12470
12471 2006-06-12  Wim Taymans  <wim@fluendo.com>
12472
12473         * gst/gstbuffer.h:
12474         Avoid unneeded type checking.
12475         API: GST_BUFFER_IS_DISCONT
12476
12477         * gst/gstminiobject.h:
12478         Avoid type check in flag accessor.
12479
12480         * gst/gstelementfactory.h:
12481         * gst/gstplugin.h:
12482         * gst/gstpluginfeature.h:
12483         Add _CAST macros.
12484         API: GST_ELEMENT_FACTORY_CAST
12485         API: GST_PLUGIN_CAST
12486         API: GST_PLUGIN_FEATURE_CAST
12487
12488 2006-06-12  Wim Taymans  <wim@fluendo.com>
12489
12490         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
12491         (gst_object_unref):
12492         Add G_UNLIKELY in type registration.
12493         Avoid type check in _ref/_unref since that is also
12494         done in glib.
12495
12496 2006-06-12  Wim Taymans  <wim@fluendo.com>
12497
12498         * gst/gsterror.c: (gst_g_error_get_type):
12499         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
12500         (gst_static_pad_template_get_type):
12501         * gst/gsttaglist.c: (gst_tag_list_get_type):
12502         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
12503         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
12504         * gst/gsturi.c: (gst_uri_handler_get_type):
12505         * gst/gstvalue.c: (gst_date_get_type):
12506         * gst/gstxml.c: (gst_xml_get_type):
12507         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
12508         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
12509         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
12510         Add G_UNLIKELY in type registration.
12511
12512 2006-06-12  Wim Taymans  <wim@fluendo.com>
12513
12514         * tools/gst-inspect.c: (print_signal_info):
12515         Properly print enum values.
12516
12517 2006-06-12  Wim Taymans  <wim@fluendo.com>
12518
12519         * gst/gstinfo.c: (gst_debug_set_active),
12520         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
12521         * gst/gstinfo.h:
12522         Add some G_[UN]LIKELY.
12523         Maintain __gst_debug_min to avoid formatting the arguments of
12524         debug messages that will be dropped anyway to avoid a lot of 
12525         overhead from the debugging system.
12526
12527 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
12528
12529         * po/POTFILES.in:
12530         * po/POTFILES.skip:
12531           add missing files containing translatable strings, tell intltool about
12532           one exception
12533
12534 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
12535
12536         * tests/check/libs/.cvsignore:
12537         add test-binary to ignore list
12538
12539 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
12540
12541         * docs/libs/gstreamer-libs-docs.sgml:
12542         reorder (put dp into a chapter) and indent
12543
12544 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12545
12546         * configure.ac:
12547           back to HEAD
12548
12549 === release 0.10.8 ===
12550
12551 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
12552
12553         * configure.ac:
12554           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
12555
12556 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12557
12558         * gst/gst.c: (init_post):
12559           move pid declaration to declaration block
12560
12561 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12562
12563         * gst/gst.c: (init_post):
12564           use _exit() instead of exit() in our forked child; this ensures
12565           that none of the registered exit handlers from whatever is using
12566           GStreamer get executed.  This fixes gnome-mixer-applet failing
12567           to load, because ORBit would shut down.
12568           Spotted by: Edward Hervey  <edward@fluendo.com>
12569           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
12570           Fixes #344474
12571
12572 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12573
12574         * configure.ac:
12575           back to TRUNK
12576
12577 === release 0.10.7 ===
12578
12579 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
12580
12581         * configure.ac:
12582           releasing 0.10.7, "Soepeke, ik zie ou"
12583
12584 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12585
12586         * configure.ac:
12587         * po/af.po:
12588         * po/az.po:
12589         * po/bg.po:
12590         * po/ca.po:
12591         * po/cs.po:
12592         * po/de.po:
12593         * po/en_GB.po:
12594         * po/fr.po:
12595         * po/it.po:
12596         * po/nb.po:
12597         * po/nl.po:
12598         * po/ru.po:
12599         * po/sq.po:
12600         * po/sr.po:
12601         * po/sv.po:
12602         * po/tr.po:
12603         * po/uk.po:
12604         * po/vi.po:
12605         * po/zh_CN.po:
12606         * po/zh_TW.po:
12607         * win32/common/config.h:
12608           0.10.6.2 prerelease
12609
12610 2006-06-07  Wim Taymans  <wim@fluendo.com>
12611
12612         * gst/gstindex.c: (gst_index_gtype_resolver):
12613         * tools/gst-xmlinspect.c: (print_plugin_info):
12614         Fix leak spotted by coverity checker. Fixes #343827
12615         Fix another other leak found by paolo borelli.
12616
12617 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12618
12619         * libs/gst/dataprotocol/dataprotocol.c:
12620         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
12621         (gst_dp_version_get_type), (gst_dp_init),
12622         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
12623         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
12624         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
12625         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
12626         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
12627         (gst_dp_packetizer_free):
12628         * libs/gst/dataprotocol/dataprotocol.h:
12629           API: add a GstDPPacketizer object, and create/free functions
12630           API: add GstDPVersion enum
12631           Add 1.0 event function that uses the string serialization
12632           Serialize more useful buffer flags
12633           Fixes #343988
12634
12635 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12636
12637         * tests/check/Makefile.am:
12638         * tests/check/gst/gstabi.c:
12639         * tests/check/gst/struct_ppc64.h:
12640         * tests/check/libs/libsabi.c:
12641         * tests/check/libs/struct_ppc64.h:
12642           add ppc64 structure sizes
12643
12644 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12645
12646         * tests/check/Makefile.am:
12647         * tests/check/gst/gstabi.c:
12648         * tests/check/gst/struct_x86_64.h:
12649         * tests/check/libs/libsabi.c:
12650         * tests/check/libs/struct_x86_64.h:
12651           generate and add structure size lists for x86_64
12652
12653 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12654
12655         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
12656         * libs/gst/check/gstcheck.h:
12657           factor out the method from tests that checks size of structures,
12658           and add code to generate the header containing these sizes
12659         * tests/check/gst/gstabi.c: (GST_START_TEST):
12660         * tests/check/gst/struct_i386.h:
12661         * tests/check/libs/libsabi.c: (GST_START_TEST):
12662         * tests/check/libs/struct_i386.h:
12663           use it
12664
12665 2006-06-06  Michael Smith  <msmith@fluendo.com>
12666
12667         * gst/gstsegment.h:
12668           Don't use c++-style comments, fixes #343929
12669
12670 2006-06-05  Edward Hervey  <edward@fluendo.com>
12671
12672         * gst/gst.c:
12673         plugin_paths is not used if we build without registry support.
12674
12675         * gst/gstsegment.c: (gst_segment_copy): 
12676         _copy() was always returning NULL...
12677
12678 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12679
12680         * libs/gst/dataprotocol/dataprotocol.c:
12681         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
12682         (gst_dp_packet_from_event):
12683           factor out CRC code
12684
12685 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12686
12687         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
12688           make sure we unset caps
12689
12690 2006-06-02  Michael Smith  <msmith@fluendo.com>
12691
12692         * libs/gst/check/gstcheck.c: (gst_check_init),
12693         (gst_check_chain_func):
12694         * libs/gst/check/gstcheck.h:
12695           Add a cond/mutex to the check support lib, signal this whenever we
12696           add to the buffers list. This will allow tests to not busy-wait on
12697           the buffer-list.
12698
12699 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12700
12701         * libs/gst/dataprotocol/dataprotocol.c:
12702         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
12703         (gst_dp_packet_from_event):
12704           factor out some common header init code
12705
12706 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12707
12708         * docs/libs/gstreamer-libs-sections.txt:
12709         * docs/libs/tmpl/gstdataprotocol.sgml:
12710         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
12711         * libs/gst/dataprotocol/dataprotocol.h:
12712           API: make gst_dp_crc() public
12713
12714 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
12715
12716         * plugins/indexers/gstindexers.c: (plugin_init):
12717         conditionally register fileindexer (fixes #343598)
12718
12719 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
12720
12721         * gst/gsttagsetter.h:
12722         Can't cast ifaces to a class
12723
12724         * libs/gst/net/gstnetclientclock.h:
12725         * libs/gst/net/gstnettimeprovider.h:
12726         * plugins/elements/gstfakesink.h:
12727         * plugins/elements/gstfakesrc.h:
12728         * plugins/elements/gstfdsink.h:
12729         * plugins/elements/gstfdsrc.h:
12730         * plugins/elements/gstfilesink.h:
12731         * plugins/elements/gstfilesrc.h:
12732         * plugins/elements/gstidentity.h:
12733         * plugins/elements/gstqueue.h:
12734         * plugins/elements/gsttee.h:
12735         * plugins/indexers/gstfileindex.c:
12736         * plugins/indexers/gstmemindex.c:
12737         * tests/old/examples/plugins/example.h:
12738         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
12739
12740 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12741
12742         * libs/gst/dataprotocol/dataprotocol.c:
12743         (gst_dp_header_from_buffer):
12744           make sure we zero the whole ABI-compatible area
12745
12746 2006-06-01  Wim Taymans  <wim@fluendo.com>
12747
12748         Patch by: Alessandro Decina <alessandro at nnva dot org>
12749
12750         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
12751         Make sure the EOS flag is cleared from pads after a flush
12752         or stop. Fixes #343538.
12753
12754         * tests/check/libs/collectpads.c: (GST_START_TEST),
12755         (gst_collect_pads_suite):
12756         Added test for collectpads reusage after EOS.
12757
12758 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
12759
12760         * gst/gst.c:
12761          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
12762         * win32/common/libgstbase.def:
12763          export gst_collect_pads_set_flushing
12764         * win32/common/libgstreamer.def:
12765          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
12766          gst_value_fraction_multiply
12767         * win32/vs6/gst_inspect.dsp:
12768          add a link to intl.lib
12769
12770 2006-05-30  Wim Taymans  <wim@fluendo.com>
12771
12772         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12773         (gst_collect_pads_chain):
12774         Handle the case where a pad is removed from the collection
12775         that could cause the other pads to become collectable.
12776
12777 2006-05-30  Wim Taymans  <wim@fluendo.com>
12778
12779         * gst/gstelement.c:
12780         Clarify the use of _release_request_pad() and
12781         _get_request_pad() a bit better.
12782
12783         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
12784         (gst_adapter_take_buffer):
12785         Fix some doc and comment typos.
12786
12787 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12788
12789         * docs/gst/gstreamer-sections.txt:
12790         * docs/libs/gstreamer-libs-sections.txt:
12791           add declared symbols
12792
12793 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
12794
12795         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12796         Add debug that can be enabled using a #define at the top of the file,
12797         for dumping stats about how late/early we were when waking up from
12798         waiting on the clock.
12799
12800 2006-05-30  Wim Taymans  <wim@fluendo.com>
12801
12802         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
12803         When rebuilding the pad list, don't leak the previous list.
12804
12805 2006-05-30  Wim Taymans  <wim@fluendo.com>
12806
12807         Patch by: Lutz Mueller <lutz at topfrose dot de>
12808
12809         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12810         (gst_base_src_get_query_types), (gst_base_src_update_length):
12811         Publish supported query types.
12812         Update last_stop field in get_range mode so the position
12813         query works. Fixes #342321.
12814
12815 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
12816
12817         * docs/gst/gstreamer-sections.txt:
12818         * gst/gsttaglist.c: (_gst_tag_initialize):
12819         * gst/gsttaglist.h:
12820           API: add GST_TAG_PREVIEW_IMAGE (#343341).
12821
12822 2006-05-30  Wim Taymans  <wim@fluendo.com>
12823
12824         Patch by: Alessandro Decina <alessandro at nnva dot org>
12825
12826         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
12827         Unlock mutex when removing an unknown pad.
12828         Fixes #343334.
12829
12830         * tests/check/Makefile.am:
12831         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
12832         (push_event), (setup), (teardown), (GST_START_TEST),
12833         (gst_collect_pads_suite), (main):
12834         Added collecpads check, disabled for now as check crashes for
12835         some reason.
12836
12837 2006-05-29  Wim Taymans  <wim@fluendo.com>
12838
12839         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
12840         Don't leak pads lists.
12841
12842 2006-05-29  Wim Taymans  <wim@fluendo.com>
12843
12844         * docs/libs/gstreamer-libs-sections.txt:
12845         * libs/gst/base/gstcollectpads.c:
12846         (gst_collect_pads_set_flushing_unlocked),
12847         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
12848         (gst_collect_pads_stop):
12849         * libs/gst/base/gstcollectpads.h:
12850         API: gst_collect_pads_set_flushing()
12851         Added api to set the pads to flushing, useful for seeking
12852         code in elements using collectpads.
12853         Clear segment when receiving a flush.
12854
12855 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
12856
12857         * gst/gst.c: (add_path_func), (init_post):
12858           Don't scan registry paths passed via --gst-plugin-path immediately
12859           (will crash, because absolutely nothing is set up and no types are
12860           registered etc.); do this later in init_post(). Fixes #343057.
12861
12862 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12863
12864         * gst/gst.c: (init_post):
12865           if we have fork, fork while reading/rebuilding the registry
12866           so the parent doesn't take the hit of having all plugins loaded
12867           in memory.  Fixes #342777.
12868         * configure.ac:
12869           Check if we have fork()
12870         * win32/common/config.h.in:
12871           no fork() on win32
12872
12873 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
12874
12875         * plugins/elements/gstelements.c:
12876         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
12877         (gst_file_src_init), (gst_file_src_set_property),
12878         (gst_file_src_get_property), (gst_file_src_start):
12879         * plugins/elements/gstfilesrc.h:
12880           API: GstFileSrc::use-mmap
12881
12882         Add a use-mmap property to enable easier testing of all code paths.
12883         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
12884         in the absence of gnomevfssrc. (Closes #340501)
12885
12886 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12887
12888         * tools/gst-inspect.c:
12889         Add missing include, removes warning of ngettext not being defined on
12890         some arches.
12891
12892 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
12893
12894         * gst/gstvalue.c: (gst_value_deserialize_fraction):
12895         Handle NULL input and output pointers silently as a failed conversion,
12896         rather than g_warnings.
12897
12898 2006-05-25  Wim Taymans  <wim@fluendo.com>
12899
12900         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
12901         Initialize variable before using. Fixes #342820.
12902
12903 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
12904
12905         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
12906           Fix off-by-one bug that would only allow peeks of N-1 bytes
12907           from the start even if the buffer to typefind on contains
12908           in fact N bytes of data (makes vorbis typefinding from a
12909           vorbis identification header buffer work).
12910
12911         * tests/check/Makefile.am:
12912         * tests/check/libs/.cvsignore:
12913         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
12914         (gst_typefindhelper_suite), (main), (foobar_typefind),
12915         (plugin_init):
12916           Add very basic unit test for gst_type_find_helper_for_buffer()
12917           that checks for the problem fixed above.
12918
12919 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12920
12921         * tools/gst-inspect.c: (print_interfaces),
12922         (print_element_properties_info), (print_element_list), (main):
12923           add more translatable strings
12924
12925 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
12926
12927         Patch by: Julien Moutte  <julien at moutte net>
12928
12929         * docs/gst/gstreamer-sections.txt:
12930           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
12931           
12932         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
12933         (gst_fake_sink_preroll):
12934         * plugins/elements/gstfakesink.h:
12935           API: Add new GstFakeSink::preroll-handoff signal (#337100).
12936
12937 2006-05-23  Wim Taymans  <wim@fluendo.com>
12938
12939         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
12940         * gst/gstpad.h:
12941         Added _CUSTOM error and success GstFlowReturn that can be
12942         used be elements internally. 
12943         Added macro to check for SUCCESS flowreturns.
12944         API: GST_FLOW_CUSTOM_SUCCESS
12945         API: GST_FLOW_CUSTOM_ERROR
12946         API: GST_FLOW_IS_SUCCESS
12947
12948         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
12949         Added check for GstFlowReturn sanity.
12950
12951 2006-05-23  Wim Taymans  <wim@fluendo.com>
12952
12953         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
12954
12955         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12956         (gst_collect_pads_event):
12957         clear/reset segment info in FLUSH_STOP.
12958         Fixes #336929.
12959
12960 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
12961
12962         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
12963         (gst_collect_pads_check_collected):
12964         Flush queued buffer on _stop(), fixes playing again (#342454)
12965
12966 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12967
12968         * tests/check/gst/gststructure.c: (GST_START_TEST),
12969         (gst_structure_suite):
12970           add a test for a complete structure
12971
12972 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
12973
12974         * docs/faq/developing.xml:
12975         * docs/faq/faq.xml:
12976         * docs/faq/troubleshooting.xml:
12977         * docs/faq/using.xml:
12978           Some minor FAQ updates that won't change the fact that
12979           our FAQ is badly structured, full of information hardly
12980           anyone new to GStreamer needs to know and lacking lots
12981           of information people constantly ask for.
12982           
12983 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
12984
12985         * gst/gstpad.c: (gst_pad_set_caps):
12986           Short-circuit gst_pad_set_caps if setting the existing
12987           caps pointer again, and avoid printing debug and 
12988           reffing/unreffing the caps.
12989
12990         * plugins/elements/gstqueue.c: (gst_queue_push_one):
12991           There's actually no need to set the caps before pushing -
12992           the acceptcaps method will handle it anyway.
12993
12994 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
12995
12996         * docs/gst/gstreamer-sections.txt:
12997         * win32/common/libgstreamer.def:
12998         * gst/gstutils.c: (gst_element_seek_simple):
12999         * gst/gstutils.h:
13000           API: add gst_element_seek_simple() (#342238).
13001
13002 2006-05-18  Edward Hervey  <edward@fluendo.com>
13003
13004         * gst/gsttypefind.c: (gst_type_find_get_type):
13005         * gst/gsttypefind.h:
13006         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
13007         registered for GstTypeFind pointers. This allows wrapping the structure
13008         in bindings (i.e. gst-python).
13009
13010 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
13011
13012         * gst/gsttagsetter.c:
13013           Docs additions and fixes (see #339918).
13014
13015 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
13016
13017         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13018         The caps intersection algorithm can produce multiple copies of the
13019         caps. Until that is fixed, we need to simplify the result to be
13020         sure whether the allowed caps are fixed or not.
13021
13022         * plugins/elements/gstqueue.c: (gst_queue_init),
13023         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
13024         (gst_queue_push_one):
13025         Proxied buffer alloc should not set the caps on the source pad.
13026         When pushing buffers, we always accept the caps change that triggers.
13027         This prevents negotiation errors caused by caps changing mid-stream 
13028         and then being refused on our source pad (because upstream is now
13029         refusing those caps).
13030
13031 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
13032
13033         * tests/examples/helloworld/helloworld.c: (main):
13034           Must plug audioconvert and audioresample between decoder
13035           and audio sink.
13036
13037 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
13038
13039         * gst/gstregistryxml.c: (read_string), (load_pad_template),
13040         (load_feature), (load_plugin):
13041         Allow empty strings for some of the plugin fields so we don't 
13042         drop valid plugin entries that were written out correctly
13043         (Fixes #341479)
13044
13045 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
13046         
13047         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
13048           Use g_remove and g_rename instead of remove and rename that don't 
13049           handle utf8 characters. rename was failing for users who had specific
13050           characters in their name then the registry was built at each 
13051           gstreamer init.
13052         * win32/vs6/gst_inspect.dsp:
13053         * win32/vs6/gst_launch.dsp:
13054         * win32/vs6/libgstbase.dsp:
13055         * win32/vs6/libgstcoreelements.dsp:
13056         * win32/vs6/libgstreamer.dsp:
13057           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
13058           build of libgstreamer and clean unused libraries in projects link 
13059           settings.
13060
13061 2006-05-17  Edward Hervey  <edward@fluendo.com>
13062
13063         * plugins/elements/gstqueue.c: (gst_queue_push_one):
13064         The queue is not responsible for pushing an EOS when receiving a fatal
13065         flow error. It's up to the real element driving the pipeline to do that.
13066
13067 2006-05-16  Edward Hervey  <edward@fluendo.com>
13068
13069         * plugins/elements/gstqueue.c: (gst_queue_push_one):
13070         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
13071         buffer returned a fatal error. It should just send an EOS and stop
13072         its task.
13073         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
13074         when pushing buffers on the queue and will be able to handle the event.
13075
13076 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
13077
13078         * docs/manual/basics-bins.xml:
13079         * docs/manual/basics-init.xml:
13080           Fix typos and minor errors in sample code (#341856).
13081
13082 2006-05-16  Wim Taymans  <wim@fluendo.com>
13083
13084         * docs/design/part-qos.txt:
13085         Fix indexes in formulas to make more sense.
13086
13087 2006-05-15  Wim Taymans  <wim@fluendo.com>
13088
13089         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
13090         Don't report POSITION based on clock time if sync is
13091         disabled in a sink.
13092
13093 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
13094
13095         * gst/gstobject.h:
13096           Add cast to make compiler happy - refcount variable was a gint
13097           in GstObject but is a guint in GObject and g_atomic_int_get()
13098           wants a gint *.
13099
13100 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13101
13102         * gst/parse/Makefile.am:
13103           chain commands using &&, which also makes parallel make work
13104
13105 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
13106
13107         * docs/gst/gstreamer-sections.txt:
13108         * gst/gstevent.c:
13109         * gst/gstevent.h:
13110         * gst/gstmessage.h:
13111           Minor docs fixes.
13112
13113 === release 0.10.6 ===
13114
13115 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
13116
13117         * configure.ac:
13118           releasing 0.10.6, "Take the cannoli"
13119
13120 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
13121
13122         * tools/gst-launch.c: (print_tag):
13123           Fix use of uninitialized variable in the hypothetical
13124           case that some broken plugin creates a GST_TAG_IMAGE
13125           tag containing a NULL buffer (#341667).
13126
13127 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
13128
13129         * tools/gst-launch.c: (print_tag):
13130           Print something more intelligible for image tags when
13131           using the -t switch (#341556).
13132
13133 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13134
13135         * Makefile.am:
13136           updates for win32
13137         * configure.ac:
13138           define GST_MAJORMINOR so we have it available in win32/common/config.h
13139           Possibly remove it from our Makefile.am files later
13140         * win32/common/config.h:
13141         * win32/common/config.h.in:
13142           added GST_MAJORMINOR
13143         * win32/common/gstenumtypes.c: (register_gst_resource_error):
13144         * win32/common/gstversion.h:
13145           updated
13146
13147 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
13148
13149         * win32/MANIFEST:
13150           Update win32 files listing.
13151         * win32/common/gstversion.h:
13152           Add GST_MAJORMINOR definition.
13153         * win32/common/libgstreamer.def:
13154           Add new exported functions.
13155           
13156 2006-05-12  Michael Smith  <msmith@fluendo.com>
13157
13158         * gst/gstplugin.c: (gst_plugin_load_file):
13159           If an so file has no plugin entry point, unload the module.
13160
13161 2006-05-11  Wim Taymans  <wim@fluendo.com>
13162
13163         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
13164         (gst_queue_set_property):
13165         Don't forget to signal the _chain or _loop function 
13166         when the queue size or thresholds change since that might
13167         cause them to make progres again.
13168
13169 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
13170
13171         * gst/gstclock.c: (gst_clock_class_init):
13172         * gst/gstindex.c: (gst_index_class_init):
13173         * gst/gstobject.c: (gst_object_class_init):
13174         * gst/gstpad.c: (gst_pad_class_init):
13175         * gst/gstpipeline.c: (gst_pipeline_class_init):
13176         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
13177         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
13178         * libs/gst/base/gstbasetransform.c:
13179         (gst_base_transform_class_init):
13180         * libs/gst/net/gstnetclientclock.c:
13181         (gst_net_client_clock_class_init):
13182         * libs/gst/net/gstnettimeprovider.c:
13183         (gst_net_time_provider_class_init):
13184         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
13185         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
13186         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
13187         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
13188         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
13189         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
13190         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13191         * plugins/elements/gstidentity.c: (gst_identity_class_init):
13192         * plugins/elements/gsttee.c: (gst_tee_class_init):
13193         * tests/old/examples/plugins/example.c: (gst_example_class_init):
13194         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
13195           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
13196
13197 2006-05-11  Wim Taymans  <wim@fluendo.com>
13198
13199         * gst/gstbuffer.c: (_gst_buffer_initialize):
13200         Register subbufer along with the buffer type so that
13201         it does not accidentally gets registered from N
13202         different streaming threads in a non threadsafe way.
13203
13204 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
13205
13206         * gst/gstbuffer.h:
13207         * gst/gstevent.h:
13208         * gst/gstmessage.h:
13209           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
13210           gst_event_ref() and gst_message_ref() functions again
13211           (ugly hack, please do fix if there's a better way besides
13212           overrides.txt, which doesn't seem to work).
13213
13214 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13215
13216         * libs/gst/check/gstcheck.h:
13217           add an assert for setting state to avoid lots of repetitive code
13218           in the future
13219
13220 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13221
13222         * gst/gstvalue.c: (gst_value_serialize_flags):
13223           fix a leak if no flags are set
13224         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13225           fix leak in tests
13226
13227 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
13228
13229         * docs/manual/basics-pads.xml:
13230           Expand a bit on caps and filtered links and update
13231           examples that were still using the no longer existing
13232           gst_pad_link_filtered() (#338206).
13233
13234 2006-05-10  Wim Taymans  <wim@fluendo.com>
13235
13236         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
13237         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
13238         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
13239         (gst_collect_pads_stop):
13240         * libs/gst/base/gstcollectpads.h:
13241         No need to call _stop in _finalize.
13242         Iterate the main pad list in _finalize.
13243         Added some more debug.
13244         Free lists and data in the right order.
13245         Also free data whem doing _remove_pad when stopped for
13246         backward compatibility protect ::started with PAD_LOCK as
13247         well.
13248
13249 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13250
13251         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
13252         (gst_structure_parse_value):
13253           add some comments
13254           rename a method so that it actually says what it does better
13255
13256 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13257
13258         * gst/gstevent.c: (_gst_event_initialize):
13259         * gst/gstformat.c: (_gst_format_initialize):
13260           make sure some essential types used by events are registered
13261           as part of gst_init()
13262         * gst/gstvalue.c: (gst_value_serialize_flags):
13263           if no flags are set, serialize them to a value that represents NONE
13264           so that deserializing them works
13265         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13266           add tests for serialization and deserialization of flags
13267
13268 2006-05-10  Wim Taymans  <wim@fluendo.com>
13269
13270         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
13271         (gst_collect_pads_collect_range), (gst_collect_pads_available),
13272         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
13273         (gst_collect_pads_event), (gst_collect_pads_chain):
13274         Update docs.
13275         Better debug info.
13276         Catch and return errors from the collect function
13277         Refuse data on eos pads.
13278
13279 2006-05-10  Edward Hervey  <edward@fluendo.com>
13280
13281         * gst/gstinterface.h:
13282         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
13283         GInterface type checking.
13284         They were previously using non-defined macros.
13285
13286 2006-05-09  Wim Taymans  <wim@fluendo.com>
13287
13288         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
13289         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
13290         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
13291         (gst_collect_pads_start), (gst_collect_pads_stop),
13292         (gst_collect_pads_peek), (gst_collect_pads_pop),
13293         (gst_collect_pads_available), (gst_collect_pads_read),
13294         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
13295         (gst_collect_pads_is_collected), (gst_collect_pads_event),
13296         (gst_collect_pads_chain):
13297         * libs/gst/base/gstcollectpads.h:
13298         Clean up the mess that is collectpads, add comments and
13299         FIXMEs where needed.
13300         Maintain a separate pad list so we can add pads while
13301         collecting the other ones. For this we need a new separate 
13302         lock (see comics).
13303         Fix memory leak in finalize.
13304         Refactor some weird code to set/unset pad flushing flags, mark
13305         with comments.
13306         Don't crash in _available, _read, _flush when we're EOS.
13307
13308         * tests/check/libs/.cvsignore:
13309         Ignore adapter check binary.
13310
13311 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13312
13313         * gst/gstindex.c: (gst_index_resolver_get_type):
13314         * plugins/elements/gstfakesink.c:
13315         (gst_fake_sink_state_error_get_type):
13316         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13317         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
13318         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
13319           Const-ify GEnumValue arrays.
13320
13321 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13322
13323         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13324           Add test case for flags + gst_buffer_make_metadata_writable().
13325
13326 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13327
13328         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
13329           gst_buffer_make_metadata_writable() should maintain the
13330           buffer flags (those that make sense at least) (see #340859).
13331
13332 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13333
13334         * tools/gst-inspect.c:
13335         * tools/gst-launch.c:
13336         * tools/gst-typefind.c:
13337         * tools/gst-xmlinspect.c:
13338         * tools/tools.h:
13339           Fix up includes: need to include stdlib.h in tools.h for exit().
13340
13341 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
13342
13343         * gst/gsttaglist.c: (_gst_tag_initialize):
13344         * gst/gsttaglist.h:
13345           API: add GST_TAG_IMAGE tag (#340721).
13346
13347 2006-05-08  Wim Taymans  <wim@fluendo.com>
13348
13349         * gst/gstquery.c:
13350         Added some docs for the segment query.
13351
13352 2006-05-08  Wim Taymans  <wim@fluendo.com>
13353
13354         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
13355         (gst_base_src_loop), (gst_base_src_change_state):
13356         Always push non-flushing serialized events in the streaming 
13357         thread.
13358
13359 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13360
13361         * gst/gsterror.c: (_gst_stream_errors_init):
13362           Add a missing error string.
13363
13364 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
13365
13366         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
13367         Add applied_rate to the debug
13368
13369         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
13370         Copy applied_rate into the outgoing NEWSEGMENT event
13371
13372 2006-05-08  Wim Taymans  <wim@fluendo.com>
13373
13374         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
13375
13376         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
13377         (gst_base_sink_change_state):
13378         call ::unlock before taking the PREROLL_LOCK so we can safely
13379         handle elements that lock in ::render.
13380         Fixes #340174.
13381
13382 2006-05-08  Edward Hervey  <edward@fluendo.com>
13383
13384         * autogen.sh: (CONFIGURE_DEF_OPT): 
13385         Darwin's libtoolize is in fact called glibtoolize.
13386         Adding glibtoolize to the list of accepted names for libtoolize.
13387
13388 2006-05-08  Wim Taymans  <wim@fluendo.com>
13389
13390         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
13391         Unify error handling, don't post an error message
13392         when a push() returns EOS but perform our normal EOS
13393         handling code. Fixes #340772.
13394
13395 2006-05-08  Wim Taymans  <wim@fluendo.com>
13396
13397         * docs/design/part-overview.txt:
13398         Make upsteam/downstream concepts more clear.
13399         Give an example of serialized/non-serialized events.
13400
13401         * docs/design/part-events.txt:
13402         * docs/design/part-streams.txt:
13403         Mention applied_rate.
13404
13405         * docs/design/part-trickmodes.txt:
13406         Mention applied rate, flesh out some more use cases.
13407
13408         * gst/gstevent.c: (gst_event_new_new_segment),
13409         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
13410         (gst_event_parse_new_segment_full), (gst_event_new_tag),
13411         (gst_event_parse_tag), (gst_event_new_buffer_size),
13412         (gst_event_parse_buffer_size), (gst_event_new_qos),
13413         (gst_event_parse_qos), (gst_event_parse_seek),
13414         (gst_event_new_navigation):
13415         * gst/gstevent.h:
13416         Add applied_rate field to NEWSEGMENT event.
13417         API: gst_event_new_new_segment_full()
13418         API: gst_event_parse_new_segment_full()
13419
13420         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
13421         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
13422         (gst_segment_to_stream_time), (gst_segment_to_running_time):
13423         * gst/gstsegment.h:
13424         Add applied_rate to GstSegment structure.
13425         Make calculation of stream_time and running_time more correct
13426         wrt rate/applied_rate.
13427         Add some more docs.
13428         API: GstSegment::applied_rate field
13429         API: gst_segment_set_newsegment_full();
13430
13431         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
13432         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
13433         * libs/gst/base/gstbasetransform.c:
13434         (gst_base_transform_sink_eventfunc),
13435         (gst_base_transform_handle_buffer):
13436         Parse and use applied_rate in the GstSegment field.
13437
13438         * tests/check/gst/gstevent.c: (GST_START_TEST):
13439         Add check for applied_rate field.
13440
13441         * tests/check/gst/gstsegment.c: (GST_START_TEST),
13442         (gstsegments_suite):
13443         Add more checks for various GstSegment operations.
13444
13445 2006-05-08  Wim Taymans  <wim@fluendo.com>
13446
13447         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
13448         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
13449         (gst_base_sink_get_position), (gst_base_sink_change_state):
13450         Store the sync time of the buffer end position separatly in a
13451         new variable eos_rtime so we can properly sync the EOS event.
13452         Fixes #340697.
13453         Fix the docs for gst_base_sink_set_qos_enabled().
13454         Don't set segment start to invalid value when we receive a 
13455         non TIME newsegment.
13456         get closer to handling position reporting for negative rates 
13457         correctly.
13458
13459 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
13460
13461         * gst/gstcaps.c:
13462         Docs about how to print caps for debug purposes.
13463
13464         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
13465         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
13466
13467 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
13468
13469         * gst/gstelement.c:
13470           use full enum names and preprend a '%' in docs strings to make recent 
13471           gtk-doc turn that into a link
13472
13473 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
13474
13475         * docs/manual/basics-bins.xml:
13476         * docs/manual/basics-bus.xml:
13477         * docs/manual/basics-pads.xml:
13478           Some typo fixes, some additions, some clarifications. 
13479
13480 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
13481
13482         * tools/gst-inspect.c: (main):
13483         * tools/gst-launch.c: (main):
13484         * tools/gst-run.c: (main):
13485         * tools/gst-typefind.c: (main):
13486         * tools/gst-xmlinspect.c: (main):
13487           Use the string passed to g_option_context_new() for
13488           what it's intended for - the program name is already
13489           printed elsewhere.
13490
13491 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
13492
13493         * tools/Makefile.am:
13494         * tools/gst-inspect.c: (main):
13495         * tools/gst-launch.c: (main):
13496         * tools/gst-xmlinspect.c: (main):
13497         * tools/tools.h:
13498           Add back --version command line option (#340460).
13499
13500         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
13501           Add --version option and use GOption for argument parsing; refactor a
13502           bit; accept directories as arguments and recurse into them; lastly,
13503           print a decent error message when things go wrong.
13504
13505 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
13506
13507         * docs/manual/basics-bins.xml:
13508         Don't mention GstThread (#340611)
13509         * docs/manual/basics-elements.xml:
13510         Update link to GObject tutorial (#340607)
13511         
13512 2006-05-05  Wim Taymans  <wim@fluendo.com>
13513
13514         * gst/gstbuffer.h:
13515         * gst/gstminiobject.c:
13516         Add note about refcounting and miniobject/buffer writeability
13517         to docs. Fixes #340604
13518
13519         * gst/gstelementfactory.h:
13520         Added some explanation about @klass.
13521
13522 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
13523
13524         * docs/manual/intro-motivation.xml:
13525         * docs/manual/manual.xml:
13526         Avoid CORBA & Bonobo references (#340598)
13527
13528 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
13529
13530         * docs/manual/basics-bus.xml:
13531         * docs/manual/basics-pads.xml:
13532         Fix up some inaccuracies and omissions (#340609)
13533         
13534 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
13535
13536         * gst/gstghostpad.c:
13537           Small typo in docs (#340625)
13538
13539 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
13540
13541         * gst/parse/Makefile.am:
13542           Make 'make -j' proof (see #340698).
13543
13544 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
13545
13546         * configure.ac:
13547           Require GLib-2.8 here as well.
13548
13549 2006-05-05  Wim Taymans  <wim@fluendo.com>
13550
13551         * gst/glib-compat.c:
13552         * gst/gst.c: (init_pre):
13553         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
13554         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
13555         (gst_object_dispatch_properties_changed):
13556         * gst/gstobject.h:
13557         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
13558         * gst/gststructure.c: (gst_structure_set_valist):
13559         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
13560         Remove pre glib2.8 compatibility, fixes #340508
13561
13562 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
13563
13564         * gst/gsttaglist.h:
13565           Mention type of tags in doc blurbs.
13566
13567 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
13568
13569         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
13570         (gst_pad_configure_src), (gst_pad_push):
13571         Restore acceptcaps checking behaviour now that good plugins have
13572         been released.
13573
13574 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
13575
13576         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
13577
13578         * gst/gst.c:
13579         * gst/gstbus.c:
13580         * gst/gstclock.c:
13581         * gst/gstevent.c:
13582         * gst/gstformat.c:
13583         * gst/gstmessage.c:
13584         * gst/gstparse.c:
13585         * gst/gstquery.c:
13586         * gst/gstutils.c:
13587         * gst/parse/Makefile.am:
13588         * libs/gst/base/gstadapter.c:
13589         * libs/gst/base/gstbasesrc.c:
13590         * libs/gst/base/gstpushsrc.c:
13591         * libs/gst/base/gsttypefindhelper.c:
13592         * plugins/elements/gstfakesrc.c:
13593         * plugins/elements/gstidentity.c:
13594           Make sure gstprivate.h and/or config.h are
13595           always included first, otherwise some of our
13596           defines (like _FILE_OFFSET_BITS) might be
13597           redefined in the system headers. Fixes build
13598           on opensolaris (#340016).
13599
13600 2006-05-04  Wim Taymans  <wim@fluendo.com>
13601
13602         * docs/libs/gstreamer-libs-sections.txt:
13603         API: addition: gst_adapter_take_buffer()
13604         
13605         * libs/gst/base/gstadapter.c: (gst_adapter_push),
13606         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
13607         (gst_adapter_available_fast):
13608         * libs/gst/base/gstadapter.h:
13609         Prepare for optimizing the hell out of this hugely inefficient
13610         piece of code. 
13611         Added gst_adapter_take_buffer() so we can at least start thinking
13612         about subbuffering and merging.
13613         Added some comments.
13614
13615         * tests/check/Makefile.am:
13616         * tests/check/libs/adapter.c: (GST_START_TEST),
13617         (gst_adapter_suite), (main):
13618         Added GstAdapter check.
13619
13620 2006-05-04  Wim Taymans  <wim@fluendo.com>
13621
13622         * docs/design/part-overview.txt:
13623         Fix some typos, add blurb about buffer flags.
13624
13625 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13626
13627         * docs/libs/gstreamer-libs-sections.txt:
13628           make sure GstBaseTransformClass shows up in the docs
13629         * libs/gst/base/gstbasetransform.c:
13630         * libs/gst/base/gstbasetransform.h:
13631           move docs so gtk-doc picks it up now
13632
13633 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
13634
13635         * docs/libs/gstreamer-libs-sections.txt:
13636           add missing symbols to docs
13637
13638 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
13639
13640         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
13641           back out the newsegment handling change, see #340060 for ongoing
13642           discussion
13643
13644 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
13645
13646         * tools/gst-run.c: (get_candidates), (main):
13647           Fix wrong g_file_test() usage (see glib docs for why it doesn't
13648           work); fix typo in error message. Fixes #340079.
13649
13650 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13651
13652         * common/Makefile.am:
13653         * docs/Makefile.am:
13654         * docs/faq/Makefile.am:
13655         * docs/gst/Makefile.am:
13656         * docs/libs/Makefile.am:
13657         * docs/manual/Makefile.am:
13658         * docs/plugins/Makefile.am:
13659         * docs/pwg/Makefile.am:
13660         * docs/slides/Makefile.am:
13661         * docs/upload.mak:
13662         * common/upload.mak:
13663           move upload.mak to common
13664
13665 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13666
13667         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13668           add more asserts on refcounts
13669           do more cleanup at end of tests
13670           fix test leaks showing in FC5
13671
13672 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
13673
13674         * plugins/elements/gsttypefindelement.c:
13675         (gst_type_find_element_handle_event):
13676         reverted wrong change and reflowed code to avoid others falling into
13677         this trap
13678
13679 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13680
13681         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
13682           fix changelog entry about last collectpads change,
13683           add notes about proper fix
13684
13685 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13686
13687         * gst/gst.c:
13688         * gst/gstregistry.c: (gst_registry_scan_path_level),
13689         (gst_registry_scan_path):
13690         * gst/gstregistry.h:
13691           only write out registry if it has changed, fixes #338339
13692
13693 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13694
13695         * gst/gstbin.c:
13696         * gst/gstpipeline.c:
13697         * plugins/elements/gstcapsfilter.c:
13698         * plugins/elements/gstfakesink.c:
13699         * plugins/elements/gstfakesrc.c:
13700         * plugins/elements/gstfdsink.c:
13701         * plugins/elements/gstfdsrc.c:
13702         * plugins/elements/gstfilesink.c:
13703         * plugins/elements/gstfilesrc.c:
13704         * plugins/elements/gstidentity.c:
13705         * plugins/elements/gstqueue.c:
13706         * plugins/elements/gsttee.c:
13707         * plugins/elements/gsttypefindelement.c:
13708         (gst_type_find_element_handle_event):
13709           make GstElementDetails const
13710
13711 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13712
13713         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
13714         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
13715         (gst_collect_pads_is_collected), (gst_collect_pads_event):
13716           more detailed debug and formatting cleanup,
13717           forward newsegments to src-pad (so that e.g. adder not eats them)
13718
13719 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13720
13721         * gst/gstutils.c: (gst_element_link_pads):
13722           cleanup double code
13723
13724 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
13725
13726         * libs/gst/controller/gstcontroller.c:
13727         (gst_controller_sync_values):
13728           some little tuning
13729         * tests/check/libs/controller.c: (GST_START_TEST),
13730         (gst_controller_suite):
13731           a new test for live value handling
13732
13733 2006-04-28  Wim Taymans  <wim@fluendo.com>
13734
13735         * gst/gstutils.c: (push_and_ref):
13736         Added some more docs.
13737         Fix refcount issue whith gst_element_found_tags() helper 
13738         function. Fixes #338335
13739
13740         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13741         Added testsuite for gst_element_found_tags().
13742
13743 2006-04-28  Michael Smith  <msmith@fluendo.com>
13744
13745         * gst/gstvalue.c: (gst_value_serialize_flags):
13746           Avoid NULL dereference when trying to serialize flags containing
13747           invalid values.
13748
13749 2006-04-28  Michael Smith  <msmith@fluendo.com>
13750
13751         * plugins/elements/gsttypefindelement.c:
13752         (gst_type_find_element_handle_event):
13753           If we get EOS before any data is accumulated, don't use
13754           uninitialised local variables.
13755
13756 2006-04-28  Michael Smith  <msmith@fluendo.com>
13757
13758         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13759         (gst_dp_event_from_packet):
13760           Fixes in reading/writing events over GDP (not currently used?) - 
13761           dereferencing NULL events for unknown/invalid event types, memory
13762           leak, and change g_warning to GST_WARNING.
13763
13764 2006-04-28  Wim Taymans  <wim@fluendo.com>
13765
13766         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
13767         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
13768         (gst_base_sink_get_position), (gst_base_sink_change_state):
13769         When frame dropping is enabled, we should not ignore frames
13770         without a duration.
13771         Update some documentation.
13772
13773 2006-04-28  Wim Taymans  <wim@fluendo.com>
13774
13775         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
13776         (gst_base_src_send_event), (gst_base_src_change_state):
13777         Documentation updates.
13778
13779 2006-04-28  Wim Taymans  <wim@fluendo.com>
13780
13781         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
13782         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
13783         handle EAGAIN, EINTR and short writes correctly. Also clean
13784         up some error cases, avoid a deadlock on bad file descriptors and
13785         use GST_DEBUG_OBJECT.
13786         Fixes #339843
13787
13788 2006-04-28  Wim Taymans  <wim@fluendo.com>
13789
13790         * gst/gstvalue.c: (gst_value_serialize_buffer),
13791         (gst_value_deserialize_buffer):
13792         Don't try to serialize a GValue with a NULL buffer. 
13793         Fixes #339821.
13794
13795         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13796         Added check for serialisation of NULL buffers.
13797
13798 2006-04-28  Wim Taymans  <wim@fluendo.com>
13799
13800         * gst/gstminiobject.c: (gst_value_take_mini_object):
13801         Taking a NULL miniobject is valid, fix the case where
13802         we try to unref the NULL miniobject.
13803
13804 2006-04-28  Wim Taymans  <wim@fluendo.com>
13805
13806         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
13807
13808         * gst/gstbin.c: (gst_bin_handle_message_func):
13809         Update docs.
13810         Don't leak bin refcount when a state recalc is
13811         in progress and we delay another one #339808.
13812
13813 2006-04-28  Wim Taymans  <wim@fluendo.com>
13814
13815         * docs/design/part-TODO.txt:
13816         Mention QoS as an ongoing work item.
13817
13818         * docs/design/part-buffering.txt:
13819         New doc about buffering that needs to be fleshed out
13820         at some point.
13821
13822         * docs/design/part-qos.txt:
13823         More QoS policy for decoders/demuxers/transforms
13824
13825         * docs/design/part-trickmodes.txt:
13826         Small update.
13827
13828 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13829
13830         * configure.ac:
13831           back to HEAD
13832
13833 === release 0.10.5 ===
13834
13835 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
13836
13837         * configure.ac:
13838           releasing 0.10.5, "Fogo"
13839
13840 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13841
13842         patch by: Wim Taymans
13843
13844         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
13845         (gst_pad_configure_src), (gst_pad_push):
13846         * gst/gstpipeline.c: (gst_pipeline_init):
13847           Fix internal data flow errors.  Fixes #338711.
13848
13849 2006-04-12  Wim Taymans  <wim@fluendo.com>
13850
13851         * tests/check/gst/gstelement.c: (GST_START_TEST):
13852         Don't leak the factory.
13853
13854 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13855
13856         * configure.ac:
13857         * win32/common/config.h:
13858           prerelease
13859
13860 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
13861
13862         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
13863         (gst_controller_unset_all):
13864           Free allocated GstTimedValues when freeing list nodes.
13865           Should fix leaks 'make check-valgrind' complains about.
13866
13867         * win32/common/libgstcontroller.def:
13868           Add gst_controller_unset_all.
13869
13870 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
13871
13872         * docs/libs/gstreamer-libs-sections.txt:
13873         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
13874         (gst_controller_unset_all):
13875         * libs/gst/controller/gstcontroller.h:
13876         API: Added new method gst_controller_unset_all()
13877         fixed gst_controller_unset()
13878         * tests/check/libs/controller.c: (GST_START_TEST),
13879         (gst_controller_suite):
13880         Added two testcases for new and fixed method
13881
13882 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
13883
13884         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
13885           MSG_DONTWAIT is not defined on Cygwin, so work
13886           around that (fixes #317048).
13887           
13888 2006-04-11  Wim Taymans  <wim@fluendo.com>
13889
13890         * gst/gstelementfactory.c: (gst_element_register),
13891         (gst_element_factory_create), (gst_element_factory_make):
13892         Some cleanups.
13893         Fixed a FIXME.
13894         Updated docs (Fixes #131079)
13895
13896         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
13897         Small cleanups.
13898
13899         * tests/check/gst/gstelement.c: (GST_START_TEST),
13900         (gst_element_suite):
13901         Added testcase for elementfactory class field.
13902
13903 2006-04-10  Wim Taymans  <wim@fluendo.com>
13904
13905         * gst/gstsegment.c:
13906         Added some more docs.
13907
13908         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
13909         (gst_base_sink_reset_qos):
13910         Calculate more accurate rate values.
13911
13912 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
13913
13914         * gst/gst_private.h:
13915           add a new #ifdef to use __declspec(dllimport) only for
13916           other modules and not for gstreamer core
13917         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
13918           use gst_guint64_to_gdouble for conversion
13919         * win32/common/libgstreamer.def:
13920           add new exported functions
13921         * win32/vs6/gst_inspect.dsp:
13922         * win32/vs6/gst_launch.dsp:
13923         * win32/vs6/libgstbase.dsp:
13924         * win32/vs6/libgstcontroller.dsp:
13925         * win32/vs6/libgstcoreelements.dsp:
13926         * win32/vs6/libgstdataprotocol.dsp:
13927         * win32/vs6/libgstnet.dsp:
13928           update project files
13929
13930 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
13931
13932         * gst/gstbuffer.c: (gst_subbuffer_class_init):
13933         * gst/gstclock.c: (gst_clock_class_init):
13934         * gst/gstelement.c: (gst_element_class_init):
13935         * gst/gstindex.c: (gst_index_class_init):
13936         * gst/gstindexfactory.c: (gst_index_factory_class_init):
13937         * gst/gstobject.c: (gst_object_class_init),
13938         (gst_signal_object_class_init):
13939         * gst/gstpad.c: (gst_pad_class_init):
13940         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
13941         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
13942         * gst/gstregistry.c: (gst_registry_class_init):
13943         * gst/gstsystemclock.c: (gst_system_clock_class_init):
13944         * gst/gsttask.c: (gst_task_class_init):
13945         * gst/gstxml.c: (gst_xml_class_init):
13946         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
13947         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13948         (gst_base_src_loop):
13949         * libs/gst/controller/gstcontroller.c:/
13950         (_gst_controller_class_init):
13951         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
13952         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
13953         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
13954         * tests/old/examples/plugins/example.c: (gst_example_class_init):
13955         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
13956         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
13957
13958 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
13959
13960         * gst/gstpad.c: (gst_pad_link):
13961           Must set peer pads before calling the link function, otherwise
13962           a task started from a link function might get a flow-not-linked
13963           result when trying to push because the other thread where the
13964           linking happens hasn't had a chance to set the peers yet. This
13965           might happen for example when a queue gets linked to a downstream
13966           element, as queue starts a streaming task when its source pad
13967           gets linked. Happens in real life when playing back flac/musepack
13968           files in playbin (#332390).
13969           
13970 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
13971
13972         * gst/gstindex.h:
13973         * gst/gstxml.h:
13974         * libs/gst/base/gstadapter.h:
13975         * libs/gst/base/gstbasesink.h:
13976         * libs/gst/base/gstbasesrc.h:
13977         * libs/gst/base/gstbasetransform.h:
13978         * libs/gst/base/gstcollectpads.h:
13979         * libs/gst/base/gstpushsrc.h:
13980         Fix broken GObject macros
13981
13982 2006-04-07  Wim Taymans  <wim@fluendo.com>
13983
13984         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
13985         Initialize start and stop times, thanks valgrind.
13986
13987 2006-04-07  Wim Taymans  <wim@fluendo.com>
13988
13989         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
13990         Be a bit nicer to badly behaving upstream elements that expect
13991         us to deal with non TIME segments and timestamps (such as fakesrc
13992         in the testsuite).
13993
13994 2006-04-07  Wim Taymans  <wim@fluendo.com>
13995
13996         * gst/gstbus.c:
13997         Small documentation clarification about the signal watch.
13998
13999         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
14000         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
14001         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
14002         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
14003         (gst_base_sink_get_position_last),
14004         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
14005         Convert and store timestamps in stream time and running time, the
14006         raw timestamps are not useful, also document this better.
14007         Use different window sizes for good and bad QoS observations so
14008         we react to badness a little quicker.
14009         Keep track of the amount of rendered and dropped buffers.
14010         Send QoS timestamps in running time.
14011
14012         * libs/gst/base/gstbasetransform.c:
14013         (gst_base_transform_sink_eventfunc),
14014         (gst_base_transform_handle_buffer):
14015         Compare QoS timestamps against running time.
14016
14017 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
14018
14019         * gst/gstpad.c:
14020           Typo fixes in docs.
14021
14022 2006-04-06  Michael Smith  <msmith@fluendo.com>
14023
14024         * gst/gstpad.c: (gst_pad_set_property):
14025           Use g_value_get_object() instead of g_value_dup_gst_object(),
14026           to avoid double-reffing the pad template (which we then sink,
14027           so this worked previously if (and only if) the pad template
14028           was floating.
14029
14030         * gst/gstpadtemplate.c: (gst_pad_template_init),
14031         (gst_pad_template_pad_created):
14032           Never return floating references to pad templates, create
14033           them as initially-sunken.
14034
14035           Document an extra function (and make this stop sinking our
14036           pad template, since that is now guaranteed to do nothing,
14037           since we created it sunken).
14038
14039         * gst/gstghostpad.c:
14040           Fix docs typo.
14041
14042 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
14043
14044         * gst/gstinfo.c: (__gst_in_valgrind):
14045           Add some newlines.
14046
14047         * plugins/elements/gsttypefindelement.c:
14048         (gst_type_find_element_chain):
14049           Don't leak buffer caps.
14050
14051 2006-04-06  Michael Smith  <msmith@fluendo.com>
14052
14053         * gst/parse/grammar.y:
14054           Fix a leak in parse-launch for any source-or-sink named element 
14055           references used.
14056
14057         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
14058           Unref the pipeline if it exists after we've failed parsing.
14059
14060 2006-04-05  Michael Smith  <msmith@fluendo.com>
14061
14062         * gst/gstpipeline.c: (gst_pipeline_init):
14063           When we create a pipeline bus, initially create it in flushing mode.
14064           Fixes leaks in at least one test, and makes a new pipeline work the
14065           same as one that has gone to READY and then back to NULL.
14066
14067         * gst/gstelement.c:
14068           Typo fix in docs.
14069
14070 2006-04-05  Michael Smith  <msmith@fluendo.com>
14071
14072         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
14073           Unref a pad we reffed.
14074         * tests/check/gst/gstutils.c: (GST_START_TEST):
14075           Unref bins
14076
14077 2006-04-05  Michael Smith  <msmith@fluendo.com>
14078
14079         * gst/gstquery.c: (gst_query_set_formats),
14080         (gst_query_set_formatsv):
14081           Fix leaking GValues in queries, as shown by valgrind/testsuite.
14082
14083 2006-04-05  Michael Smith  <msmith@fluendo.com>
14084
14085         * tests/check/generic/sinks.c: (GST_START_TEST):
14086           Fix a variety of memleaks in sinks check, which are only sometimes 
14087           shown by running the tests under valgrind (weird?).
14088
14089 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
14090
14091         * docs/version.entities.in:
14092           Fix the substituted entity name after thomas' changes on the
14093           weekend.
14094
14095 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
14096
14097         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
14098         VALGRIND_PRINTF
14099         
14100 2006-04-05  Andy Wingo  <wingo@pobox.com>
14101
14102         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
14103
14104         * libs/gst/base/gstbasetransform.c
14105         (gst_base_transform_sink_eventfunc): When resetting our segment on
14106         FLUSH_STOP, also update the flag saying we haven't seen a
14107         newsegment.
14108
14109 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
14110
14111         Patch by: Paolo Borelli  <pborelli at katamail dot com>
14112
14113         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
14114         (gst_plugin_check_license):
14115           minor clean-ups: G_DEFINE_TYPE already takes care of the
14116           parent_class stuff, no need to do it twice. Mark array of
14117           license strings as constant. (#337103)
14118           
14119 2006-04-04  Michael Smith  <msmith@fluendo.com>
14120
14121         * tools/gst-inspect.c: (print_element_list):
14122           Free the right plugin list; fixes a memory leak.
14123
14124 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
14125
14126         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
14127
14128         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
14129           Don't error out on empty buffers (#336945).
14130           
14131 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
14132
14133         * docs/libs/gstreamer-libs-sections.txt:
14134         * gst/gsttaglist.c:
14135         * libs/gst/base/gstbasesink.c:
14136         * libs/gst/base/gstbasesink.h:
14137         * libs/gst/base/gstbasesrc.c:
14138         * libs/gst/base/gstbasesrc.h:
14139           Documentation updates. Make BaseSink and BaseSrc docs contain the
14140           class structure so that people can actually see the prototypes for
14141           virtual functions they're supposed to be overriding.
14142
14143 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
14144
14145         * plugins/elements/gsttypefindelement.c:
14146         (gst_type_find_element_chain):
14147           More debug info; when skipping typefinding, send cached
14148           events in all cases.
14149
14150 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14151
14152         * configure.ac:
14153           use new AS_VERSION and AS_NANO macros
14154         * gst/gst-i18n-lib.h:
14155         * gst/gst.c:
14156         * gst/gsterror.c:
14157         * gst/gstversion.h.in:
14158         * win32/common/config.h:
14159         * win32/common/config.h.in:
14160           update accordingly
14161
14162 2006-03-31  Michael Smith  <msmith@fluendo.com>
14163
14164         * plugins/elements/gsttypefindelement.c:
14165         (gst_type_find_element_chain):
14166           Do not typefind content if the buffers already have caps.
14167           Neccesary for icydemux (#333657), and the right thing to do anyway.
14168
14169 2006-03-30  Wim Taymans  <wim@fluendo.com>
14170
14171         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
14172         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
14173         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
14174         (gst_base_sink_record_qos_observation),
14175         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
14176         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
14177         (gst_base_sink_change_state):
14178         More QoS measurements as described in the design doc.
14179         Get rid of ringbuffer with observations, running average is
14180         more simple and equally good.
14181         Calculates valid proportion now.
14182         Added beginning of flood measurement.
14183
14184 2006-03-29  Wim Taymans  <wim@fluendo.com>
14185
14186         * docs/design/part-qos.txt:
14187         * gst/gstclock.c:
14188         Small documentation updates and additions.
14189
14190 2006-03-29  Wim Taymans  <wim@fluendo.com>
14191
14192         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
14193         (gst_base_src_send_event), (gst_base_src_loop),
14194         (gst_base_src_change_state):
14195         Perform the EOS logic when we reach the segment stop position.
14196         Fix compilation on gcc4.1
14197
14198 2006-03-29  Wim Taymans  <wim@fluendo.com>
14199
14200         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
14201
14202         * plugins/elements/gstqueue.c: (gst_queue_init),
14203         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
14204         (gst_queue_set_property):
14205         * plugins/elements/gstqueue.h:
14206         In queue, when EOS is received, if minimum threshold > max_size -
14207         current_level, there is chance that queue blocks forever in conditional
14208         item del wait. This is because the queue is not emptied completely due
14209         to minimum threshold.  Here is another approach. Instead of setting
14210         cur_levels to max in EOS, just zero all minimum threshold levels. This
14211         should make sure that queue gives out all data. When going to READY
14212         (stop) state, just reset the original minimum threshold levels.
14213         Fixes #336336.
14214
14215 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
14216
14217         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
14218         (gst_type_find_element_handle_event),
14219         (gst_type_find_element_send_cached_events),
14220         (gst_type_find_element_change_state):
14221         * plugins/elements/gsttypefindelement.h:
14222           When typefinding is done in push mode, we should cache
14223           events we receive during typefinding instead of just
14224           dropping them (e.g. newsegment, custom events from
14225           dvdreadsrc etc.) and then send them out once we've
14226           determined the type of the stream (and decodebin
14227           has had a chance to plug in a decoder/demuxer).
14228           
14229 2006-03-27  Wim Taymans  <wim@fluendo.com>
14230
14231         * docs/design/part-qos.txt:
14232         First QoS ideas.
14233
14234 2006-03-27  Wim Taymans  <wim@fluendo.com>
14235
14236         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
14237
14238         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
14239         (gst_base_src_send_event), (gst_base_src_change_state):
14240         Handle element seek correctly when we are streaming.
14241         Fixes #326998.
14242
14243 2006-03-24  Michael Smith  <msmith@fluendo.com>
14244
14245         * docs/faq/gst-uninstalled:
14246           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
14247           allow you to correctly run intalled applications built against old 
14248           core, using plugins that require updated core (e.g. running
14249           installed totem against a full uninstalled gstreamer stack)
14250
14251 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
14252
14253         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
14254         more debug details
14255
14256 2006-03-24  Wim Taymans  <wim@fluendo.com>
14257
14258         * docs/gst/gstreamer-sections.txt:
14259         Rearrange the order of the methods so that related methods
14260         are grouped together in sections.
14261
14262 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
14263
14264         * gst/gstelement.c:
14265           Little clarification in the docs
14266
14267 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
14268
14269         * docs/README:
14270         formatting fix
14271         * plugins/elements/gstidentity.c:
14272         * plugins/elements/gstqueue.c:
14273         * plugins/elements/gsttee.c:
14274         * plugins/elements/gsttypefindelement.c:
14275         GST_ELEMENT_DETAILS formatting
14276
14277 2006-03-24  Wim Taymans  <wim@fluendo.com>
14278
14279         * libs/gst/base/gstbasesink.h:
14280         Only add fields, not insert or we break ABI.
14281
14282 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
14283
14284         * win32/common/libgstbase.def:
14285         * win32/common/libgstreamer.def:
14286           Update, add recently added functions.
14287
14288 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
14289
14290         * docs/gst/gstreamer-sections.txt:
14291         * gst/gstutils.c: (gst_pad_query_peer_position),
14292         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
14293         * gst/gstutils.h:
14294           API: add some new utility functions:
14295            - gst_pad_query_peer_position()
14296            - gst_pad_query_peer_duration()
14297            - gst_pad_query_peer_convert()
14298           
14299 2006-03-23  Wim Taymans  <wim@fluendo.com>
14300
14301         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
14302         (gst_base_sink_init), (gst_base_sink_finalize),
14303         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
14304         (gst_base_sink_set_property), (gst_base_sink_get_property),
14305         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
14306         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
14307         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
14308         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
14309         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
14310         (gst_base_sink_preroll_object), (gst_base_sink_event),
14311         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
14312         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
14313         (gst_base_sink_query), (gst_base_sink_change_state):
14314         Decouple max-lateness and the fact that QoS messages are generated
14315         with a new property (qos).
14316         added API: GstBaseSink::async_play()
14317         Add vmethod so subclasses can be notified of ASYNC playing
14318         state changes.
14319         Collect timestamp start and stop to report better current
14320         position in EOS/PLAYING/PAUSED/READY/NULL.
14321         Refactor QoS/frame dropping and other measurements.
14322         API: GstBaseSrc::qos
14323         Fixes #326311
14324
14325         * libs/gst/base/gstbasesink.h:
14326         Added Private struct.
14327         API: gst_base_sink_set_qos_enabled()
14328         API: gst_base_sink_is_qos_enabled()
14329
14330 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
14331
14332         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
14333           If compiling against GLib-2.8 or newer, try to read the
14334           registry file using GMappedFile first before falling back
14335           to fopen() + fread() (#332151).
14336
14337 2006-03-22  Wim Taymans  <wim@fluendo.com>
14338
14339         * gst/gstinfo.c: (gst_debug_set_active),
14340         (gst_debug_category_set_threshold):
14341         Disable debugging unless explicitly activated.
14342         Fixes #335480.
14343
14344 2006-03-22  Wim Taymans  <wim@fluendo.com>
14345
14346         * gst/gstelement.c: (gst_element_set_locked_state),
14347         (gst_element_dispose):
14348         Cleanup the error case.
14349
14350         * gst/gstobject.c: (gst_object_dispose):
14351         print a critical when some object was disposed with
14352         a parent, also revive the object since it might
14353         crash the parent.
14354
14355 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
14356
14357         * tools/gst-launch.1.in:
14358           Fix another typo.
14359
14360 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14361
14362         * configure.ac:
14363         * tests/check/Makefile.am:
14364           disable some tests when we don't have a registry
14365         * tests/check/gst/gstutils.c: (gst_utils_suite):
14366           don't build the part that needs parsing
14367
14368 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14369
14370         * gst/Makefile.am
14371         * tests/examples/Makefile.am:
14372           fix --disable-parse build
14373
14374 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
14375
14376         * tools/gst-feedback.1.in:
14377           Fix typo: s/feeback/feedback/ (#133494).
14378
14379 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
14380
14381         * tools/Makefile.am:
14382         * tools/gst-launch.1.in:
14383           Add FILES section and correct entry about GST_REGISTRY_PATH
14384           environment variable (#133495; #133494).
14385
14386 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
14387
14388         * tools/Makefile.am:
14389         * tools/gst-md5sum.1.in:
14390         * tools/gst-md5sum.c:
14391           Remove gst-md5sum and man page (the md5sink element
14392           required was removed ages ago)
14393
14394 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
14395
14396         * gst/gststructure.c: (gst_structure_id_set_value):
14397           Make sure that string fields in structures/taglists
14398           contain valid UTF-8 - we don't want to pass rubbish to
14399           applications because of a buggy plugin (cp. #334167).
14400
14401 2006-03-21  Edward Hervey  <edward@fluendo.com>
14402
14403         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
14404         (gst_bin_handle_message_func):
14405         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
14406         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
14407         (gst_element_set_bus_func):
14408         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
14409         * gst/gstminiobject.c: (gst_value_set_mini_object),
14410         (gst_value_take_mini_object):
14411         * gst/gstpad.c: (gst_pad_set_pad_template):
14412         * gst/gstpipeline.c: (gst_pipeline_dispose),
14413         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
14414         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
14415         (gst_collect_pads_chain):
14416         * libs/gst/net/gstnettimeprovider.c:
14417         (gst_net_time_provider_set_property):
14418         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
14419         It's in fact all issues with gst_*object_replace().
14420
14421 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
14422
14423         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
14424         
14425         * pkgconfig/gstreamer-check-uninstalled.pc.in:
14426         * pkgconfig/gstreamer-check.pc.in:
14427           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
14428
14429 2006-03-21  Edward Hervey  <edward@fluendo.com>
14430
14431         * gst/gstbuffer.h:
14432         * gst/gstevent.h:
14433         * gst/gstmessage.h:
14434         gst_[buffer|event|message]_ref() macros are replaced by a static
14435         inline functions because gcc-4.1 will about if the return value
14436         isn't used.
14437         * tests/check/gst/gstevent.c: (event_probe):
14438         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
14439
14440 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
14441
14442         * gst/gstutils.h:
14443         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
14444         the type' case. (Closes: #335195 for now). In the future, when we
14445         depend on GLib 2.10, we could also intern the type name using
14446         g_intern_static_string()
14447
14448 2006-03-20  Wim Taymans  <wim@fluendo.com>
14449
14450         * gst/gstbin.c: (gst_bin_handle_message_func),
14451         (bin_query_max_init), (bin_query_position_fold),
14452         (bin_query_position_done), (gst_bin_query):
14453         Position query should also take max of all streams.
14454
14455 2006-03-20  Wim Taymans  <wim@fluendo.com>
14456
14457         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
14458         (gst_fake_src_finalize):
14459         Fix leaks in fakesrc.
14460
14461         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
14462         Fix leaks in the testcase.
14463
14464 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
14465
14466         * gst/gst_private.h:
14467           add win32 specific import decoration(__declspec(dllimport)) 
14468           for all extern GstDebugCategory * variables
14469         * win32/common/libgstbase.def:
14470         * win32/common/libgstcontroller.def:
14471         * win32/common/libgstreamer.def:
14472           Add some exports, remove empty lines
14473         * win32/common/libgstdataprotocol.def:
14474         * win32/common/libgstdataprotocol.dsp:
14475         * win32/common/libgstnet.def:
14476         * win32/common/libgstnet.dsp:
14477           new project files and exportation files added
14478         
14479 2006-03-19  Wim Taymans  <wim@fluendo.com>
14480
14481         * tests/check/libs/basesrc.c: (eos_event_counter):
14482         Use proper return value for probe.
14483
14484 2006-03-17  Wim Taymans  <wim@fluendo.com>
14485
14486         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
14487         (gst_pad_push):
14488         Don't leak buffers, caps and pads on negotiation errors.
14489
14490 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
14491
14492         * docs/faq/cvs.xml:
14493         * docs/faq/dependencies.xml:
14494         * docs/faq/developing.xml:
14495         * docs/faq/faq.xml:
14496         * docs/faq/general.xml:
14497         * docs/faq/getting.xml:
14498         * docs/faq/legal.xml:
14499         * docs/faq/troubleshooting.xml:
14500         * docs/faq/using.xml:
14501         Faq review and update.
14502
14503 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
14504
14505         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
14506         (gst_pad_push):
14507         Don't pound the cpu to pieces by checking get_caps when accept_caps
14508         is called with the same caps as the pad already has.
14509         Use GST_DEBUG_OBJECT when outputting caps change information.
14510
14511 2006-03-15  Wim Taymans  <wim@fluendo.com>
14512
14513         * gst/gstclock.c: (gst_clock_class_init):
14514         Fix docs.
14515
14516 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
14517
14518         * gst/gstbuffer.h:
14519         Documentation fix.
14520
14521         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
14522         (gst_pad_accept_caps), (gst_pad_configure_sink),
14523         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
14524         Make the default acceptcaps behaviour be to check the requested 
14525         caps against the gst_pad_get_caps output. 
14526
14527         Ensure that gst_pad_accept_caps is used to check caps when a pad
14528         doesn't have a setcaps function, so that pads automatically refuse 
14529         caps that they don't allow in their pad template. (Fixes #332986)
14530
14531         When a buffer with attached caps is pushed, ensure that the source 
14532         pad receives those caps even if the element didn't call
14533         gst_pad_set_caps first.
14534
14535 2006-03-15  Wim Taymans  <wim@fluendo.com>
14536
14537         * libs/gst/base/gstadapter.c:
14538         Add some docs.
14539
14540 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
14541
14542         * win32/common/libgstbase.def:
14543         * win32/common/libgstcontroller.def:
14544         * win32/common/libgstreamer.def:
14545           Add a whole bunch of missing functions (#334434).
14546
14547 2006-03-14  Wim Taymans  <wim@fluendo.com>
14548
14549         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14550         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
14551         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
14552         Better debug info when we receive a segment event.
14553         Reorganize a bit so we can pass the get_times() results around.
14554         Use the segment format when calculating the running time.
14555         Don't do QoS is sync is disabled or we have no clock or the
14556         element does not want us to sync to the clock.
14557         Don't drop buffers if QoS is disabled for now.
14558
14559 2006-03-14  Wim Taymans  <wim@fluendo.com>
14560
14561         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
14562         Marked the stats property as unimplemented so people don't get
14563         wild ideas.
14564         Add debug message when regression goes wrong.
14565         Added some more docs.
14566
14567 2006-03-14  Wim Taymans  <wim@fluendo.com>
14568
14569         * gst/gstsegment.c: (gst_segment_to_stream_time):
14570         Return correct return type in case of errors.
14571
14572 2006-03-14  Wim Taymans  <wim@fluendo.com>
14573
14574         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
14575           Don't segfault on invalid formats.
14576
14577 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
14578
14579         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
14580           Can't use gst_segment_to_running_time() when the segment
14581           is not in GST_TIME_FORMAT (like with filesink, for example).
14582           Stops flac encoding pipelines from spewing critical warnings
14583           at EOS (#331248).
14584           
14585 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
14586
14587         * gst/gstpipeline.c: (gst_pipeline_class_init):
14588           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
14589
14590         * plugins/elements/gsttypefindelement.c:
14591         (gst_type_find_element_handle_event):
14592           Don't try to typefind empty streams.
14593
14594 2006-03-14  Wim Taymans  <wim@fluendo.com>
14595
14596         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
14597         (gst_base_sink_do_qos):
14598         Separate QoS calculation.
14599         Only drop buffers when lateness is bigger than the 
14600         duration of the buffer.
14601
14602 2006-03-13  Wim Taymans  <wim@fluendo.com>
14603
14604         * gst/gstpipeline.c: (gst_pipeline_set_property),
14605         (gst_pipeline_get_property), (do_pipeline_seek),
14606         (gst_pipeline_change_state), (gst_pipeline_set_delay),
14607         (gst_pipeline_get_delay):
14608         Don't deadlock when reading properties.
14609
14610 2006-03-13  Wim Taymans  <wim@fluendo.com>
14611
14612         * libs/gst/base/gstbasetransform.c:
14613         (gst_base_transform_class_init), (gst_base_transform_init),
14614         (gst_base_transform_sink_event),
14615         (gst_base_transform_sink_eventfunc),
14616         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
14617         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
14618         (gst_base_transform_set_property),
14619         (gst_base_transform_get_property),
14620         (gst_base_transform_change_state), (gst_base_transform_update_qos),
14621         (gst_base_transform_set_qos_enabled),
14622         (gst_base_transform_is_qos_enabled):
14623         * libs/gst/base/gstbasetransform.h:
14624         Make basetransform virtual method for src events too.
14625         Handle QOS in basetransform.
14626         API: gst_base_transform_update_qos()
14627         API: gst_base_transform_set_qos_enabled()
14628         API: gst_base_transform_is_qos_enabled()
14629
14630 2006-03-13  Wim Taymans  <wim@fluendo.com>
14631
14632         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
14633         (gst_base_sink_do_sync):
14634         Small cleanups.
14635         Use QOS debug category.
14636
14637 2006-03-13  Wim Taymans  <wim@fluendo.com>
14638
14639         * plugins/elements/gstqueue.c:
14640         Very small doc update.
14641
14642 2006-03-13  Wim Taymans  <wim@fluendo.com>
14643
14644         * gst/gst_private.h:
14645         * gst/gstinfo.c: (_gst_debug_init):
14646         Added QOS debug category
14647
14648 2006-03-13  Wim Taymans  <wim@fluendo.com>
14649
14650         * docs/gst/gstreamer-sections.txt:
14651         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
14652         * gst/gstbin.h:
14653         * gst/gstbus.c: (gst_bus_class_init):
14654         * gst/gstbus.h:
14655         * gst/gstclock.c:
14656         * gst/gstelement.c: (gst_element_set_locked_state):
14657         * gst/gstsegment.c:
14658         Documentation updates.
14659
14660         * gst/gstpipeline.c: (gst_pipeline_get_type),
14661         (gst_pipeline_class_init), (gst_pipeline_init),
14662         (gst_pipeline_dispose), (gst_pipeline_set_property),
14663         (gst_pipeline_get_property), (do_pipeline_seek),
14664         (gst_pipeline_send_event), (gst_pipeline_change_state),
14665         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
14666         (gst_pipeline_get_delay):
14667         * gst/gstpipeline.h:
14668         Added methods for setting the delay.
14669         API: gst_pipeline_set_delay()
14670         API: gst_pipeline_get_delay()
14671         Add pipeline debug category
14672         Various cleanups.
14673         Updated docs.
14674         Don't reset stream time when seek failed.
14675
14676 2006-03-13  Wim Taymans  <wim@fluendo.com>
14677
14678         * docs/design/draft-klass.txt:
14679         * docs/design/part-clocks.txt:
14680         * docs/design/part-events.txt:
14681         * docs/design/part-gstbin.txt:
14682         * docs/design/part-gstpipeline.txt:
14683         * docs/design/part-messages.txt:
14684         * docs/design/part-negotiation.txt:
14685         * docs/design/part-overview.txt:
14686         * docs/design/part-preroll.txt:
14687         * docs/design/part-seeking.txt:
14688         * docs/design/part-states.txt:
14689         * docs/design/part-streams.txt:
14690         Documentation updates.
14691
14692 2006-03-12  Julien MOUTTE  <julien@moutte.net>
14693
14694         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
14695         us to leak strings...
14696
14697 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14698
14699         * libs/gst/net/gstnettimeprovider.c:
14700           fix docs
14701         * win32/common/config.h:
14702           update
14703
14704 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
14705
14706         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
14707
14708         * configure.ac:
14709           Don't check for libgnomeui (leftover from old examples
14710           that aren't built or disted any longer) (#334303).
14711           
14712 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
14713
14714         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
14715         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
14716           Emit RESOURCE_NO_SPACE_LEFT error here as well when
14717           there's no space left on the device.
14718
14719 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
14720
14721         * gst/gstclock.h:
14722           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
14723           to cast the input to GstClockTime before comparing with
14724           another GstClockTime value.
14725
14726 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14727
14728         * configure.ac:
14729           back to trunk
14730
14731 === release 0.10.4 ===
14732
14733 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
14734
14735         * configure.ac:
14736           releasing 0.10.4, "Light"
14737
14738 2006-03-10  Michael Smith  <msmith@fluendo.com>
14739
14740         * libs/gst/dataprotocol/dataprotocol.c:
14741           Fix docs for dataprocotol to not get the return types completely
14742           wrong for a few functions.
14743
14744 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
14745
14746         * docs/gst/gstreamer-sections.txt:
14747         * gst/gstpipeline.c: (gst_pipeline_class_init),
14748         (gst_pipeline_init), (gst_pipeline_set_property),
14749         (gst_pipeline_get_property), (gst_pipeline_change_state),
14750         (gst_pipeline_set_auto_flush_bus),
14751         (gst_pipeline_get_auto_flush_bus):
14752         * gst/gstpipeline.h:
14753           Add new API: gst_pipeline_set_auto_flush_bus() and
14754           gst_pipeline_get_auto_flush_bus() to disable automatic
14755           flushing of the pipeline's GstBus when going from READY
14756           to NULL state (#332045).
14757
14758 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
14759
14760         * docs/gst/gstreamer-sections.txt:
14761         * gst/gsturi.c: (gst_uri_has_protocol):
14762         * gst/gsturi.h:
14763            Add new API: gst_uri_has_protocol() (#333779).
14764
14765 2006-03-09  Wim Taymans  <wim@fluendo.com>
14766
14767         * gst/gstclock.c: (gst_clock_entry_new),
14768         (gst_clock_id_compare_func), (gst_clock_id_wait),
14769         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
14770         (gst_clock_init), (gst_clock_get_internal_time),
14771         (gst_clock_set_master), (do_linear_regression),
14772         (gst_clock_add_observation), (gst_clock_set_property):
14773         * gst/gstclock.h:
14774         Review docs.
14775         Small cleanups.
14776         Fix a possible segfault when the window-size is made smaller.
14777         Calculate jitter before performing the clock wait. Ideally
14778         the clock implementation should calculate jitter but we need
14779         API breakage for that.
14780
14781         * gst/gstsystemclock.c: (gst_system_clock_init):
14782         Docs review.
14783         
14784         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
14785         Remove leftover else
14786
14787         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
14788         (gst_systemclock_suite):
14789         Added check to test GST_CLOCK_DIFF.
14790
14791 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
14792
14793         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
14794         (gst_type_find_helper_get_range):
14795           If we are provided with the size, we should implement
14796           GstTypeFind::get_length, so that typefind functions who
14797           want to can actually peek at the middle of a file.
14798
14799 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
14800
14801         * docs/manual/advanced-dataaccess.xml:
14802           Add some very very basic error checking.
14803
14804         * docs/pwg/appendix-checklist.xml:
14805           Some updates to the list of things to check when writing an element.
14806
14807 2006-03-08  Wim Taymans  <wim@fluendo.com>
14808
14809         * docs/design/part-element-transform.txt:
14810         Added some docs about the design of tranform elements.
14811
14812         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
14813         (gst_base_src_loop), (gst_base_src_change_state):
14814         Mark buffers with the DISCONT flag.
14815
14816 2006-03-08  Michael Smith  <msmith@fluendo.com>
14817
14818         * gst/gstregistry.h:
14819         * gst/gstregistryxml.c: (gst_registry_save),
14820         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
14821         (gst_registry_xml_save_pad_template),
14822         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
14823         (gst_registry_xml_write_cache):
14824           Rewrite registry-saving to avoid race conditions and check for
14825           failed writes.
14826
14827 2006-03-08  Wim Taymans  <wim@fluendo.com>
14828
14829         * libs/gst/base/gstbasetransform.c:
14830         (gst_base_transform_transform_caps),
14831         (gst_base_transform_transform_size),
14832         (gst_base_transform_prepare_output_buffer),
14833         (gst_base_transform_get_unit_size),
14834         (gst_base_transform_buffer_alloc),
14835         (gst_base_transform_handle_buffer),
14836         (gst_base_transform_change_state):
14837         Cleanups, separate normal flow from errors, add sensible
14838         DEBUG lines.
14839         Don't try to renegotiate when allocating an output buffer.
14840         Also copy DISCONT buffer flag when copying a buffer.
14841         Reset the transform after we finish streaming, not during.
14842
14843 2006-03-08  Wim Taymans  <wim@fluendo.com>
14844
14845         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
14846         Use last buffer timestamp in qos message.
14847
14848 2006-03-07  Wim Taymans  <wim@fluendo.com>
14849
14850         Patch by: Christophe Fergeau
14851
14852         * docs/pwg/advanced-tagging.xml:
14853         * docs/pwg/building-pads.xml:
14854           fixes #333416
14855
14856 2006-03-07  Wim Taymans  <wim@fluendo.com>
14857
14858         * docs/libs/gstreamer-libs-sections.txt:
14859         Added basesink new methods.
14860
14861         * gst/gstevent.c:
14862         * gst/gstevent.h:
14863         Docs updates. Flesh out the QoS docs.
14864
14865         * libs/gst/base/gstadapter.c:
14866         Small doc clarification about ownership and flushing.
14867
14868         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
14869         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
14870         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
14871         (gst_base_sink_get_property), (gst_base_sink_do_sync):
14872         * libs/gst/base/gstbasesink.h:
14873         API additions: 
14874         Added new methods to allow subclass to control max-lateness 
14875         and sync.
14876         Generate very basic QoS events based on last sync observation.
14877         Updated docs, fix typo, added some QoS blurb.
14878
14879         * libs/gst/base/gstbasesrc.c:
14880         Remove obsolete _get_state() calls from docs.
14881
14882 2006-03-07  Wim Taymans  <wim@fluendo.com>
14883
14884         * docs/libs/gstreamer-libs-sections.txt:
14885         * libs/gst/base/gstbasetransform.h:
14886         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
14887         Fix docs for GstBaseSrc.
14888
14889 2006-03-07  Wim Taymans  <wim@fluendo.com>
14890
14891         * docs/gst/gstreamer-sections.txt:
14892         * gst/gstbuffer.h:
14893         * gst/gstvalue.c:
14894         * libs/gst/base/gstbasetransform.h:
14895         Small documentation fixes.
14896
14897 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
14898
14899         * gst/gstvalue.c:
14900           Document thread-unsafety of gst_value_register_foo_func()
14901           when used at the same time as gst_value_foo() (#322628).
14902
14903 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
14904
14905         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
14906         (gst_push_src_check_get_range):
14907           Push sources don't support pull mode by default.
14908
14909 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
14910
14911         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14912         (gst_base_src_init), (gst_base_src_pad_check_get_range),
14913         (gst_base_src_default_check_get_range):
14914         * libs/gst/base/gstbasesrc.h:
14915           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
14916           provide default implementation, and rename
14917           gst_base_src_check_get_range() to
14918           gst_base_src_pad_check_get_range() for clarity.
14919
14920 2006-03-06  Wim Taymans  <wim@fluendo.com>
14921
14922         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
14923         Make property overridable.
14924
14925 2006-03-06  Wim Taymans  <wim@fluendo.com>
14926
14927         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
14928         (gst_base_sink_init), (gst_base_sink_set_property),
14929         (gst_base_sink_get_property), (gst_base_sink_do_sync):
14930         * libs/gst/base/gstbasesink.h:
14931         API addition: Make max-lateness a property.
14932
14933 2006-03-06  Wim Taymans  <wim@fluendo.com>
14934
14935         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
14936         (gst_base_sink_do_sync), (gst_base_sink_render_object):
14937         Don't ever draw a frame that is >10ms late.
14938
14939 2006-03-06  Michael Smith  <msmith@fluendo.com>
14940
14941         * gst/gstmessage.c: (_gst_message_copy):
14942           When copying a message, set the parent_refcount of the enclosed
14943           structure to point at the copy, not the original message.
14944
14945 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
14946
14947         Patch by: Christophe Fergeau
14948
14949         * gst/gstutils.h:
14950           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
14951           usable in c++ code (#333417)
14952
14953 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14954
14955         * gst/gstclock.h:
14956           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
14957
14958 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
14959
14960         * libs/gst/base/gstbasetransform.c:
14961         (gst_base_transform_transform_caps):
14962           Make sure caps are writable before passing them to
14963           gst_caps_append().
14964
14965 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
14966
14967         * gst/gsterror.h:
14968           Fix some minor docs errors.
14969
14970 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
14971
14972           Patch by: Ross Burton <ross at burtonini dot com>
14973
14974         * gst/gsterror.c: (_gst_resource_errors_init):
14975         * gst/gsterror.h:
14976           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
14977
14978 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
14979
14980         * gst/gst.c:
14981         Add a check and output a g_warning when GStreamer is built
14982         against GLib 2.6 but running against 2.8 or higher, and vice 
14983         versa. (Closes: #323542)
14984
14985 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
14986
14987         * gst/parse/parse.l:
14988           Commit patch for parse_launch syntax from #331255. Removes 
14989           support for quoted strings and mimetypes when writing filtered 
14990           caps. See the bug report for more details - I'm pretty sure this
14991           obscure feature is not in use by _anyone_ anywhere.
14992
14993           With this simple change, the size of the gstreamer.so here 
14994           drops from 2193KB to 1565KB.
14995
14996 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
14997
14998         * plugins/elements/gsttypefindelement.h:
14999         * plugins/elements/gsttypefindelement.c:
15000         (gst_type_find_element_src_event), (start_typefinding),
15001         (stop_typefinding), (gst_type_find_element_handle_event),
15002         (gst_type_find_element_chain),
15003         (gst_type_find_element_chain_do_typefinding):
15004           Use gst_type_find_helper_for_buffer() for chain-based
15005           typefinding.
15006
15007 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
15008
15009         * plugins/elements/gsttypefindelement.c:
15010         (gst_type_find_element_class_init),
15011         (gst_type_find_element_set_property),
15012         (gst_type_find_element_get_property):
15013           Deprecate "maximum" property (not only was it only taken into
15014           account for typefinding in push-mode anyway, it also was never
15015           actually possible to set it in the first place because the
15016           property was registered with the numeric property ID for the
15017           "minimum" property). Register "maximum" property correctly,
15018           for the sake of future copy'n'pasters. Remove some cruft
15019           from property get/set functions.
15020
15021 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
15022
15023         * plugins/elements/gsttypefindelement.c:
15024         (gst_type_find_element_activate):
15025           Use gst_type_find_helper_get_range() here, so we
15026           can honour the "minimum" property and also emit
15027           the signal with the correct probability of the found caps.
15028
15029 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
15030
15031         * docs/libs/gstreamer-libs-sections.txt:
15032         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
15033         (helper_find_suggest), (gst_type_find_helper_get_range),
15034         (gst_type_find_helper):
15035         * libs/gst/base/gsttypefindhelper.h:
15036           New API: gst_type_find_helper_get_range() (#333042).
15037
15038 2006-03-02  Michael Smith  <msmith@fluendo.com>
15039
15040         * gst/gstregistryxml.c: (load_feature):
15041           Asserting on a failure to read part of the registry is Not Cool.
15042           Just log a warning and return NULL (which is already handled)
15043
15044 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
15045
15046         * win32/common/libgstbase.def:
15047           added export of gst_type_find_helper_for_buffer
15048         * win32/common/libgstbase.def:
15049           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
15050           gst_ghost_pad_get_target
15051
15052 2006-02-28  Wim Taymans  <wim@fluendo.com>
15053
15054         * docs/design/draft-klass.txt:
15055         We use Filter now.
15056         Added Connector to mark elements that are only used to
15057         allow pipeline connections.
15058         Moved Debug to extra feature since most of them are 
15059         functionally something else.
15060
15061 2006-02-28  Wim Taymans  <wim@fluendo.com>
15062
15063         * docs/design/draft-klass.txt:
15064         Some updates and clarifications.
15065
15066 2006-02-28  Wim Taymans  <wim@fluendo.com>
15067
15068         * docs/design/draft-klass.txt:
15069         Proposal for klass field values.
15070
15071         * docs/design/part-streams.txt:
15072         Start of a doc describing stream anatomy.
15073
15074 2006-02-28  Wim Taymans  <wim@fluendo.com>
15075
15076         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
15077         Help the compiler a bit with type registration.
15078         Use existing forward cod path instead of duplicating it when 
15079         handling a message.
15080         
15081         * gst/gstbus.c: (gst_bus_get_type):
15082         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
15083         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
15084         * gst/gstclock.c: (gst_clock_get_type):
15085         * gst/gstelement.c: (gst_element_get_type),
15086         * gst/gstelementfactory.c: (gst_element_factory_get_type):
15087         * gst/gstindexfactory.c: (gst_index_factory_get_type):
15088         * gst/gstminiobject.c: (gst_mini_object_get_type):
15089         * gst/gstpad.c: (gst_pad_get_type):
15090         * gst/gstsegment.c: (gst_segment_get_type):
15091         * gst/gststructure.c: (gst_structure_get_type):
15092         * gst/gstsystemclock.c: (gst_system_clock_get_type):
15093         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
15094         * gst/gstvalue.c:
15095         Help compiler with type registration.
15096
15097         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
15098         Small doc update.
15099
15100 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
15101
15102         * plugins/elements/gsttypefindelement.c:
15103         (gst_type_find_element_handle_event):
15104           When we get an EOS event and have not found a type yet
15105           (most likely because we had not yet accumulated
15106           TYPE_FIND_MIN_SIZE of data yet), try to determine the
15107           type given the data we have so far. Fixes typefinding
15108           for very short streams again, most notably quicktime
15109           redirections as used on Apple's trailer site (#331701).
15110
15111 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
15112
15113         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
15114         (gst_type_find_helper):
15115           Try typefinding factories with the highest rank first.
15116
15117 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
15118
15119         * docs/libs/gstreamer-libs-docs.sgml:
15120         * docs/libs/gstreamer-libs-sections.txt:
15121         * libs/gst/base/gsttypefindhelper.c:
15122           Add section for typefind helper and add documentation
15123           for the old and the new function.
15124
15125 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
15126
15127         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
15128         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
15129         (gst_type_find_helper_for_buffer):
15130         * libs/gst/base/gsttypefindhelper.h:
15131           New API: gst_type_find_helper_for_buffer() (#332723).
15132           
15133 2006-02-27  Michael Smith  <msmith@fluendo.com>
15134
15135         Patch by: Loïc Minier
15136
15137         * configure.ac:
15138         * docs/Makefile.am:
15139         * docs/slides/Makefile.am:
15140           prevent CVS directories getting disted.
15141
15142 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
15143
15144         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
15145           Use the REFCOUNTING category for caps refcounting.
15146           
15147 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
15148
15149         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
15150           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
15151
15152 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
15153
15154         * plugins/elements/gsttypefindelement.c:
15155         (gst_type_find_element_activate):
15156           Use gst_pad_check_pull_range() before _activate_pull()
15157           to avoid unnecessary open/close (see #331690).
15158
15159 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
15160
15161         * gst/gstutils.c:
15162           Docs enhancement: make it crystal clear what the
15163           gst_pad_add_*_probe() callbacks should look like.
15164
15165 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
15166
15167         * libs/gst/base/gstbasesrc.c:
15168           Document how applications can stop recording from
15169           live sources (see #330996).
15170
15171 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
15172
15173         * tests/check/Makefile.am:
15174         * tests/check/libs/basesrc.c: (eos_event_counter),
15175         (basesrc_eos_events_pull), (basesrc_eos_events_push),
15176         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
15177         (gst_basesrc_suite), (main):
15178           ... and add some tests for the base source EOS stuff.
15179
15180 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
15181
15182         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
15183           Test case originally showed the problem fixed below,
15184           but was then amended. Add checks back at the place
15185           where they used to be.
15186
15187 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
15188
15189         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15190         (gst_base_src_init), (gst_base_src_loop),
15191         (gst_base_src_activate_push), (gst_base_src_activate_pull),
15192         (gst_base_src_change_state):
15193         * libs/gst/base/gstbasesrc.h:
15194           Don't unconditionally send EOS when going from PAUSED to
15195           READY state, esp. make sure we don't send two EOS events
15196           in some cases (e.g. one when reaching EOS and one when
15197           going from PAUSED to READY). Also, we don't want to send
15198           EOS events when operating in pull mode. However, we do
15199           want to send an EOS event when shutting down a live
15200           source explicitly, for example (fixes #330996).
15201           
15202 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
15203
15204         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
15205           Update src->read_position after a seek when not using mmap.
15206           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
15207
15208 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
15209
15210         * gst/Makefile.am:
15211         * gst/gstparse.h:
15212         * gst/gstutils.c:
15213         * gst/gstutils.h:
15214         Make things work with --disable-parse as they do with 
15215         --disable-load-save - the symbols involved disappear, but the
15216         header is still installed and GST_DISABLE_PARSE is included via
15217         gstconfig.h
15218
15219 2006-02-20  Julien MOUTTE  <julien@moutte.net>
15220
15221         * libs/gst/base/gstbasetransform.c:
15222         (gst_base_transform_change_state): Fix a stupid bug. I was 
15223         sure I compiled that.
15224
15225 2006-02-20  Julien MOUTTE  <julien@moutte.net>
15226
15227         * gst/gstpad.c: (gst_pad_set_blocked_async):
15228         * gst/gstutils.c: (gst_pad_add_data_probe),
15229         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15230         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15231         (gst_pad_remove_buffer_probe): Make those function act on the
15232         ghostpad target when it's a ghostpad. (Closes #331727)
15233
15234 2006-02-20  Julien MOUTTE  <julien@moutte.net>
15235
15236         * libs/gst/base/gstbasetransform.c:
15237         (gst_base_transform_change_state): Make basetransform reusable.
15238         (Closes #331898)
15239
15240 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
15241
15242         * docs/random/release:
15243         Move the current documentation of how to do a release to the top
15244         of the file.
15245
15246         * gst/gstbin.c: (gst_bin_class_init),
15247         (gst_bin_handle_message_func):
15248         Allow multiple state-recalculation threads. (Closes #328873)
15249
15250 2006-02-19  Julien MOUTTE  <julien@moutte.net>
15251
15252         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
15253         * gst/gstpad.c: (gst_pad_set_event_function),
15254         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
15255         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
15256         2 strings. You can't use the STR_NULL macro on that.
15257
15258 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
15259
15260         * gst/gstpad.c: (gst_pad_set_event_function),
15261         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
15262         (gst_pad_set_getcaps_function)
15263         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
15264           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
15265           So now, we can use --gst-debug-level=5 on Windows
15266         * win32/common/libgstcontroller.def:
15267           Added export of gst_controller_init
15268         * win32/vs6/libgstcontroller.dsp:
15269           Fixed Release post build configuration
15270
15271 2006-02-17  Wim Taymans  <wim@fluendo.com>
15272
15273         * tests/check/gst/gstquery.c: (GST_START_TEST):
15274         Added another check.
15275
15276 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
15277
15278         * plugins/elements/gsttypefindelement.c: (find_peek):
15279           We can do peeks at non-zero offsets, as long as they
15280           fall within the buffer we have.
15281
15282 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
15283
15284         * tests/check/Makefile.am:
15285         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
15286         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
15287         (parse_suite), (main):
15288           Add testsuite for parse launch syntax
15289
15290 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
15291
15292         * plugins/elements/gsttypefindelement.c:
15293         (gst_type_find_element_chain):
15294           When typefinding is unsuccessful in the chain function, don't
15295           error out immediately. Only error out with NO_CAPS_FOUND if
15296           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
15297           otherwise simply wait for more data so we can try typefinding
15298           again with more data later. Also, don't attempt to typefind
15299           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
15300           this should improve typefinding from network sources where the
15301           size of the first buffer can be somewhat random.
15302
15303 2006-02-14  Wim Taymans  <wim@fluendo.com>
15304
15305         * docs/gst/gstreamer-sections.txt:
15306         * gst/gstpadtemplate.c:
15307         * gst/gstpadtemplate.h:
15308         Fix padtemplate docs, fixes #328805.
15309
15310 2006-02-14  Wim Taymans  <wim@fluendo.com>
15311
15312         * tools/gst-launch.c: (main):
15313         NO_PREROLL is not an ERROR so don't send confusing messages
15314         to the user.
15315
15316 2006-02-14  Wim Taymans  <wim@fluendo.com>
15317
15318         Patch by: Torsten Schoenfeld
15319
15320         * gst/gstregistry.c: (gst_registry_get_default),
15321         (_gst_registry_cleanup):
15322         Protect default registry with lock and ref/sink it.
15323         Fixes #324818
15324
15325 2006-02-14  Wim Taymans  <wim@fluendo.com>
15326
15327         * gst/gstbuffer.c:
15328         * gst/gstquery.c: (gst_query_list_add_format),
15329         (gst_query_set_formatsv), (gst_query_parse_formats_length),
15330         (gst_query_parse_formats_nth):
15331         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15332         Docs fixes.
15333
15334 2006-02-14  Wim Taymans  <wim@fluendo.com>
15335
15336         * docs/gst/gstreamer-sections.txt:
15337         Reworked query docs.
15338
15339         * gst/gstquery.c: (gst_query_new_formats),
15340         (gst_query_list_add_format), (gst_query_set_formats),
15341         (gst_query_set_formatsv), (gst_query_parse_formats_length),
15342         (gst_query_parse_formats_nth):
15343         * gst/gstquery.h:
15344         Flesh out formats query, added some new methods.
15345         Fix part of #324398.
15346
15347         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
15348         Added query creation tests.
15349
15350 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
15351
15352         * gst/gstpad.c: (fixate_value):
15353         Add a default fixation for fraction lists.
15354
15355 2006-02-13  Wim Taymans  <wim@fluendo.com>
15356
15357         * gst/gsttask.c: (gst_task_init), (gst_task_func),
15358         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
15359         (gst_task_join):
15360         * gst/gsttask.h:
15361         Detect and warn for obvious deadlocks. fixes #320340
15362         Fix error case where lock was not released.
15363
15364         * tests/check/Makefile.am:
15365         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
15366         (task_func), (gst_element_suite), (main):
15367         Add task check.
15368
15369 2006-02-13  Wim Taymans  <wim@fluendo.com>
15370
15371         * docs/gst/gstreamer-sections.txt:
15372         * gst/gstbus.c:
15373         Add new functions to docs.
15374
15375 2006-02-13  Wim Taymans  <wim@fluendo.com>
15376
15377         * docs/design/part-TODO.txt:
15378         Updated TODO list, basesrc supports seeking to non-bytes
15379         formats.
15380
15381         * docs/design/part-element-sink.txt:
15382         Update docs.
15383
15384         * gst/gstbin.c: (bin_replace_message),
15385         (gst_bin_handle_message_func):
15386         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
15387         * gst/gstevent.c: (gst_event_finalize):
15388         * gst/gstpad.c: (gst_pad_event_default_dispatch),
15389         (gst_pad_send_event):
15390         Use shiny new _TYPE_NAME macros.
15391
15392         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
15393         Move debug statement up.
15394
15395         * gst/gstelement.c: (gst_element_set_locked_state):
15396         Add some debugging.
15397
15398 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
15399
15400         * docs/gst/gstreamer-sections.txt:
15401         * gst/gstmessage.h:
15402         * gst/gstquery.h:
15403           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
15404           macros (#330906). Also, document the already existing
15405           GST_QUERY_TYPE macro.
15406
15407 2006-02-13  Wim Taymans  <wim@fluendo.com>
15408
15409         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
15410         (event_probe), (GST_START_TEST):
15411         Only events up to the pipeline EOS are counted, there are
15412         some more when going to NULL currently which we don't care
15413         about for now.
15414
15415 2006-02-13  Wim Taymans  <wim@fluendo.com>
15416
15417         * gst/gstpad.c: (gst_pad_send_event):
15418         Correctly check flushing and emit probes. fixes #330125
15419
15420 2006-02-10  Andy Wingo  <wingo@pobox.com>
15421
15422         * gst/gstbus.c (gst_bus_class_init): Declare our private data
15423         structure.
15424         (gst_bus_init): Cache the location of the private data in the
15425         instance structure.
15426         (gst_bus_enable_sync_message_emission) 
15427         (gst_bus_disable_sync_message_emission): Implement new public
15428         functions.
15429         (gst_bus_post): Emit the sync-message signal if the user asked for
15430         it. Fixes #330684.
15431
15432         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
15433         location of the bus-private structure.
15434         (gst_bus_enable_sync_message_emission)
15435         (gst_bus_disable_sync_message_emission): API addition
15436
15437 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
15438
15439         Patch by: Vincent Torri
15440
15441         * docs/pwg/building-boiler.xml:
15442         PWG patch from #326800
15443
15444 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
15445
15446         * configure.ac:
15447         * docs/Makefile.am:
15448         * docs/design/Makefile.am:
15449           Dist design docs.
15450
15451 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
15452
15453         * configure.ac:
15454           back to CVS
15455
15456 === release 0.10.3 ===
15457
15458 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
15459
15460         * configure.ac:
15461           releasing 0.10.3, "Like a virgin"
15462
15463 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
15464
15465         * configure.ac:
15466           2nd prerelease of 0.10.3
15467           Bump libtool versioning.
15468
15469 2006-02-07  Andy Wingo  <wingo@pobox.com>
15470
15471         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
15472         update last_stop if we're in TIME format and the timestamp is
15473         valid.
15474
15475         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
15476         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
15477         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
15478         If we get a new newsegment with a different format, adapt
15479         accordingly.
15480
15481         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
15482         of 0. Not a problem, really.
15483
15484         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
15485         warn if sync=true.
15486
15487 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
15488
15489         * configure.ac:
15490           Prelease of 0.10.3
15491
15492 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
15493
15494         * win32/vs7:
15495           project files updated to the default vs7 configuration
15496         * win32/common/libgstbase.def:
15497         * win32/common/libgstreamer.def:
15498           added new symbols,
15499           removed empty lines,
15500           sorted all exported symbols alphabetically
15501         * win32/common/dirent.c:
15502         * win32/common/dirent.h:
15503         * win32/common/gchar.h:
15504           use windows line end.
15505           
15506 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
15507
15508         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
15509           Send EOS event when stopping.
15510
15511 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
15512
15513         * docs/README:
15514           Tell folks what to do if the plugin-foobar.xml file
15515           hasn't been generated for a newly-added plugin.
15516
15517 2006-02-05  Julien MOUTTE  <julien@moutte.net>
15518
15519         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15520         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15521         (gst_collect_pads_start), (gst_collect_pads_stop),
15522         (gst_collect_pads_event): Collectpads now holds a reference
15523         to the GstPad that was added. Indeed we don't want to look
15524         at pads that might just go away with no warning...
15525
15526 2006-02-05  Julien MOUTTE  <julien@moutte.net>
15527
15528         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
15529         (gst_collect_pads_start), (gst_collect_pads_stop),
15530         (gst_collect_pads_event), (gst_collect_pads_chain):
15531         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
15532         Mark Nauwelaerts's patch on bug #328491.
15533
15534 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
15535
15536         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
15537         (gst_utils_suite):
15538           Add some simple tests for gst_parse_bin_from_description() and
15539           gst_bin_find_unconnected_pad() (#329069).
15540
15541 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
15542
15543         * tools/gst-launch.c: (event_loop), (main):
15544           Catch errors during preroll (#320084).
15545
15546 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
15547
15548         * plugins/elements/gsttypefindelement.c:
15549         (gst_type_find_element_activate):
15550           Post TYPE_NOT_FOUND error message when typefinding
15551           is unsuccessful in the activate function as well.
15552
15553 2006-02-02  Wim Taymans  <wim@fluendo.com>
15554
15555         * docs/design/part-element-sink.txt:
15556         Updated doc.
15557
15558 2006-02-02  Wim Taymans  <wim@fluendo.com>
15559
15560         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
15561         (gst_base_sink_render_object),
15562         (gst_base_sink_queue_object_unlocked):
15563         Only keep track of prerollable items when we are 
15564         prerolling.
15565         Before rendering after preroll, always check if we
15566         have queued items.
15567         Added some more debugging.
15568
15569 2006-02-02  Wim Taymans  <wim@fluendo.com>
15570
15571         * gst/gstelement.c: (gst_element_continue_state),
15572         (gst_element_set_state_func), (gst_element_change_state):
15573         Fixed #326576, been running this for quite some time with
15574         no regressions at all.
15575
15576 2006-02-02  Wim Taymans  <wim@fluendo.com>
15577
15578         * common/gst.supp:
15579         Added more suppressions
15580
15581 2006-02-02  Wim Taymans  <wim@fluendo.com>
15582
15583         * docs/design/part-element-sink.txt:
15584         Updated document.
15585
15586         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15587         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
15588         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
15589         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
15590         (gst_base_sink_do_sync), (gst_base_sink_render_object),
15591         (gst_base_sink_preroll_object),
15592         (gst_base_sink_queue_object_unlocked),
15593         (gst_base_sink_queue_object), (gst_base_sink_event),
15594         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
15595         (gst_base_sink_loop), (gst_base_sink_activate_pull),
15596         (gst_base_sink_get_position), (gst_base_sink_change_state):
15597         * libs/gst/base/gstbasesink.h:
15598         Totally refactored matching the design doc.
15599         Use two segments, one to clip incomming buffers and another to
15600         perform sync.
15601         Handle queueing correctly, bypass the queue when playing.
15602         Make EOS cancelable.
15603         Handle errors correctly when operating in pull based mode.
15604
15605         * tests/check/elements/fakesink.c: (GST_START_TEST),
15606         (fakesink_suite):
15607         Added new check for sinks.
15608
15609 2006-02-02  Wim Taymans  <wim@fluendo.com>
15610
15611         * gst/gstsegment.c: (gst_segment_clip):
15612         No reason to refuse to clip when start == -1
15613
15614 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
15615
15616         * docs/README:
15617         * docs/manual/intro-basics.xml:
15618         * docs/manual/intro-preface.xml:
15619         * docs/manual/manual.xml:
15620         * docs/pwg/advanced-dparams.xml:
15621         * docs/pwg/intro-basics.xml:
15622         * docs/pwg/intro-preface.xml:
15623         * docs/pwg/pwg.xml:
15624           describe dparams (controller) for plugins
15625           unify docs a little more
15626
15627 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
15628
15629         * docs/gst/gstreamer-sections.txt:
15630         * gst/gstutils.c: (element_find_unconnected_pad),
15631         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
15632         * gst/gstutils.h:
15633           Add new API: gst_parse_bin_from_description() and
15634           gst_bin_find_unconnected_pad() (#329069).
15635
15636 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
15637
15638         * docs/manual/README:
15639           uncover a nasty detail of the docs build
15640
15641 2006-01-31  Wim Taymans  <wim@fluendo.com>
15642
15643         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
15644         Don't cache duration messages if we're not going to use or
15645         free them.
15646
15647 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
15648
15649         * docs/manual/advanced-dparams.xml:
15650         * docs/pwg/advanced-dparams.xml:
15651           more dparam docs
15652         * gst/gstindex.c:
15653           fix docs
15654         * libs/gst/controller/lib.c: (gst_controller_init):
15655           init just once
15656
15657 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
15658
15659         * gst/gstelement.c: (gst_element_message_full):
15660           also show file/line/func if no additional debug was given
15661
15662 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
15663         
15664         * win32/vs7/grammar.vcproj:
15665           activate copy of autogenerated files for Release mode
15666
15667 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
15668         
15669         * win32/common/libgstreamer.def:
15670           export gst_value_compare
15671
15672 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
15673
15674         * plugins/elements/Makefile.am:
15675         * plugins/elements/gstelements.c:
15676         * plugins/elements/gstfdsink.c: (_do_init),
15677         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
15678         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
15679         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
15680         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
15681         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
15682         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
15683         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
15684         * plugins/elements/gstfdsink.h:
15685         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
15686
15687 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
15688
15689         * docs/manual/advanced-dparams.xml:
15690           describe controller
15691         * docs/manual/advanced-position.xml:
15692         * docs/manual/basics-init.xml:
15693         * docs/manual/manual.xml:
15694         * docs/manual/titlepage.xml:
15695         * docs/pwg/pwg.xml:
15696         * docs/pwg/titlepage.xml:
15697           cleanup xml (more to come)
15698         * libs/gst/controller/gstcontroller.c:
15699           fix typo
15700
15701 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
15702         
15703         * win32/vs6/grammar.dsp:
15704           add autogen of gstmarshal.c,h for Release mode
15705                 
15706 2006-01-30  Wim Taymans  <wim@fluendo.com>
15707
15708         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15709         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
15710         (gst_base_sink_handle_object), (gst_base_sink_event),
15711         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
15712         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
15713         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
15714         (gst_base_sink_deactivate), (gst_base_sink_activate),
15715         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
15716         (gst_base_sink_query), (gst_base_sink_change_state):
15717         Basesink cleanups, remove some old code.
15718         Handle the case where a subclass can preroll in the render
15719         method (mostly audiosinks).
15720         Handle more events.
15721         Remove some locks around variables that are now protected
15722         with the PREROLL_LOCK (clock_id, flushing, ..).
15723         Optimize position query some more, do correct locking.
15724         Remove old code to push queue in state change, this is not
15725         needed anymore since preroll blocks on all prerollable items 
15726         now.
15727         Almost implemented as described in design doc.
15728
15729 2006-01-30  Wim Taymans  <wim@fluendo.com>
15730
15731         * tests/check/gst/gstbin.c: (GST_START_TEST):
15732         Wait for refcount to settle down before checking.
15733
15734 2006-01-30  Wim Taymans  <wim@fluendo.com>
15735
15736         * docs/design/part-element-sink.txt:
15737         Pseudo code overview of desired sink behaviour regarding
15738         preroll.
15739
15740 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
15741         * win32/vs6/grammar.dsp:
15742           fix some bugs in Release mode for autogenerated files
15743                 
15744 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
15745         * win32/common/libgstbase.def:
15746         * win32/common/libgstreamer.def:
15747           export some new symbols: gst_base_src_set_format,
15748           gst_iterator_next, gst_structure_set_valist
15749
15750 2006-01-29  Julien MOUTTE  <julien@moutte.net>
15751
15752         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
15753         Set pad functions unconditionally. Fixes #329105.
15754
15755 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
15756         * win32/vs8:
15757           add vs8 project files created by Sergey Scobich
15758
15759 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
15760
15761         * gst/gstutils.c: (gst_element_unlink_pads):
15762         Don't leak pad references.
15763
15764         * tests/check/elements/fakesink.c: (GST_START_TEST):
15765         * tests/check/generic/sinks.c: (GST_START_TEST):
15766         * tests/check/generic/states.c: (GST_START_TEST):
15767         * tests/check/gst/gstbin.c: (GST_START_TEST):
15768         * tests/check/gst/gstcaps.c: (GST_START_TEST):
15769         * tests/check/gst/gstelement.c: (GST_START_TEST):
15770         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15771         * tests/check/gst/gstiterator.c: (GST_START_TEST):
15772         * tests/check/gst/gstvalue.c: (GST_START_TEST):
15773         Fix a bunch of leaks. Make generic/sinks.c
15774         use a bit less cpu by slowing the buffer rate
15775         between fakesrc and fakesink.
15776         
15777 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
15778         * gst/gstcaps.c:
15779         * gst/gstelement.c: (gst_element_send_event):
15780         * gst/gstevent.c:
15781         * gst/gstinfo.c:
15782         * gst/gstiterator.c:
15783         * gst/gstiterator.h:
15784         * gst/gstpad.c: (gst_pad_send_event):
15785         * gst/gststructure.c:
15786         * gst/gsturi.c:
15787         * gst/gstutils.c:
15788         * gst/gstvalue.c:
15789         * libs/gst/base/gstadapter.c:
15790           doc fixes, to link to function, just write gst_cool_function(), don't
15791           prefix with '#'
15792
15793 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
15794
15795         * plugins/elements/gsttee.c: (gst_tee_do_push),
15796         (gst_tee_handle_buffer):
15797         Always prefer an actual return value from a src
15798         pad in place of NOT_LINKED. This means we return
15799         WRONG_STATE when all src pads are WRONG_STATE
15800         instead of NOT_LINKED.
15801
15802         Lock when replacing the last message to prevent
15803         racing with the get_property method.
15804
15805         Add debug output
15806
15807 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
15808
15809         * tests/check/Makefile.am:
15810         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
15811         (main):
15812         Add a very simple check that should have caught the memleak I fixed
15813         last night (if not for the slice allocator hiding it)
15814
15815 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
15816
15817         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
15818         (gst_bin_remove_func), (gst_bin_handle_message_func),
15819         (bin_query_duration_fold), (bin_query_generic_fold):
15820         Clean up references to the clock provider when disposed or when
15821         handling a clock-lost message from it.
15822
15823         Unref sinks when performing a query via gst_iterator_fold, as the
15824         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
15825
15826         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
15827         (gst_clock_set_master):
15828         Drop our reference to the master clock, if any, when we are disposed.
15829
15830         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
15831         Chain up in dispose. 
15832
15833 2006-01-26  Wim Taymans  <wim@fluendo.com>
15834
15835         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
15836         Add some debugging.
15837
15838 2006-01-26  Julien MOUTTE  <julien@moutte.net>
15839
15840         * plugins/elements/gsttee.c: (gst_tee_do_push),
15841         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
15842         handles pad being NOT_LINKED or in WRONG_STATE.
15843
15844 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
15845
15846         * win32/MANIFEST:
15847           more updating
15848
15849 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
15850
15851         * win32/MANIFEST:
15852           remove obsolete entry
15853
15854 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
15855
15856         * docs/gst/gstreamer-sections.txt:
15857         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
15858         (gst_bin_iterate_sources), (gst_bin_send_event):
15859         * gst/gstbin.h:
15860         * gst/gstelement.c: (gst_element_send_event):
15861         * gst/gstevent.c:
15862         * gst/gstpad.c: (gst_pad_send_event):
15863           added code for downstream events, reviewed docs in gstevent.c
15864
15865 2006-01-25  Julien MOUTTE  <julien@moutte.net>
15866
15867         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15868         We only query position using the clock in the playing state.
15869         Query peer in the other cases.
15870         * win32/common/config.h: Updates.
15871
15872 2006-01-24  Wim Taymans  <wim@fluendo.com>
15873
15874         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
15875         A clock entry that is scheduled for the exact time of the
15876         clock is still in time.
15877
15878         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15879         (gst_base_sink_do_sync):
15880         Add some more debug info.
15881
15882 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
15883
15884         * win32/vs7:
15885           Add new vs7 project files and solution.
15886
15887 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
15888
15889         * win32/vs7:
15890           all files removed as they were out-dated.
15891
15892 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15893
15894         * docs/random/release:
15895           update notes
15896         * gst/gstbin.c: (gst_bin_init):
15897         * gst/gstbus.c: (gst_bus_new):
15898         * gst/gstbus.h:
15899         * gst/gstpipeline.c: (gst_pipeline_init):
15900           use gst_bus_new(), improve logging, fix docs
15901         * win32/common/config.h:
15902           update for cvs build
15903
15904 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15905
15906         * autogen.sh:
15907           up required version of automake to 1.7
15908
15909 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
15910
15911         * win32/common/libgstreamer.def:
15912           export gst_buffer_is_metadata_writable
15913
15914 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
15915
15916         * docs/gst/gstreamer-sections.txt:
15917         * gst/gstevent.h:
15918           Add gst_event_replace() (#327001)
15919
15920 2006-01-20  Wim Taymans  <wim@fluendo.com>
15921
15922         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
15923         Make it actually compile too..
15924
15925 2006-01-20  Wim Taymans  <wim@fluendo.com>
15926
15927         * gst/gstcaps.c:
15928         Clarify behaviour of _is_equal() when passing NULL parameters.
15929
15930         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15931         (gst_pad_set_caps):
15932         Cleanups. Don't unref NULL caps.
15933         When setting the same caps, protect caps of the pad with
15934         proper lock.
15935         Use full functionality of _is_equal() when comparing caps.
15936
15937 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
15938
15939         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
15940         Don't loop infinitely if there are no buffers to present. Partially
15941         fixes #327197, but collectpads is just broken for reusing elements
15942         to do multiple encodes atm.
15943
15944 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
15945
15946         * tools/gst-inspect.c: (print_element_features):
15947         * tools/gst-xmlinspect.c: (main):
15948         URL_HANDLER is not a plugin feature we can search for in
15949         the registry.
15950
15951 2006-01-19  Edward Hervey  <edward@fluendo.com>
15952
15953         * gst/gstelement.c: (gst_element_pads_activate): 
15954         When activating, do src pads first, then sink pads.
15955         When de-activating, do sink pads first, then src pads.
15956
15957 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
15958
15959         * docs/gst/gstreamer-sections.txt:
15960         Add gst_index_add_associationv to the docs
15961
15962 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
15963
15964         * gst/gstevent.c:
15965           Fix docs typo
15966
15967         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
15968         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
15969           Do some refactoring. Doesn't actually change functionality,
15970           but makes landing the DRAIN event easier later.
15971
15972 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
15973
15974         * docs/pwg/advanced-scheduling.xml:
15975           Update from 0.9.x to 0.10 API and make example a bit
15976           clearer.
15977
15978 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
15979
15980         * docs/gst/gstreamer-sections.txt:
15981         Add gst_buffer_(is|make)_metadata_writable methods.
15982
15983 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
15984
15985         * docs/design/part-sparsestreams.txt:
15986         Update sparse streams doc, hopefully for greater clarity
15987
15988 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
15989
15990         * docs/design/part-events.txt:
15991         Remove mention of FILLER events.
15992         Add DRAIN event.
15993
15994         * docs/design/part-sparsestreams.txt:
15995         Write some things about using NEWSEGMENT to keep sparse streams
15996         flowing.
15997
15998 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
15999
16000         * gst/gstbin.c: (gst_bin_dispose):
16001           Guard gst_object_unref call against a NULL object (dispose
16002           can theoretically be called multiple times).
16003           
16004 2006-01-18  Wim Taymans  <wim@fluendo.com>
16005
16006         * gst/gstbin.c: (gst_bin_element_set_state):
16007         * gst/gstclock.c: (gst_clock_id_wait):
16008         Added some more debug info.
16009
16010         * libs/gst/base/gstadapter.c:
16011         Added more docs.
16012
16013         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16014         (gst_base_sink_do_sync), (gst_base_sink_chain):
16015         Added some comments.
16016
16017 2006-01-18  Wim Taymans  <wim@fluendo.com>
16018
16019         * tests/check/Makefile.am:
16020         * tests/check/elements/fakesink.c: (chain_async_buffer),
16021         (chain_async), (chain_async_return), (GST_START_TEST),
16022         (fakesink_suite), (main):
16023         Added fakesink test that checks prerolling and clipping
16024         behaviour.
16025
16026         * tests/check/gst/gstutils.c: (GST_START_TEST):
16027         Make check run faster so that buildbots don't timeout.
16028
16029 2006-01-18  Wim Taymans  <wim@fluendo.com>
16030
16031         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16032         (gst_base_sink_do_sync):
16033         Some cleanups.
16034         When the sink finishes blocking on the preroll buffer, it can
16035         immediatly render it instead of rendering when the next buffer
16036         arrives.
16037
16038 2006-01-18  Wim Taymans  <wim@fluendo.com>
16039
16040         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
16041         (gst_base_sink_get_property), (gst_base_sink_do_sync),
16042         (gst_base_sink_chain):
16043         Small cleanups.
16044         GST_ELEMENT_CLOCK and sync are protected with LOCK.
16045         Don't store _last_stop if the buffer is dropped.
16046
16047 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
16048
16049         * plugins/elements/gsttypefindelement.c:
16050         (gst_type_find_element_class_init):
16051           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
16052           object method handler that sets the caps on the pad and we want
16053           that to happen before we emit the signal (fixes e.g. feeding a
16054           plain text file to decodebin).
16055
16056 2006-01-18  Christian Schaller  <Christian@fluendo.com>
16057
16058         * gst/gstplugin.c: Add MPL and Proprietary as license options
16059
16060 2006-01-18  Andy Wingo  <wingo@pobox.com>
16061
16062         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
16063         symbol was exported before, it appears this was just an oversight.
16064         Fixes #168703.
16065         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
16066
16067         * gst/gstindex.c (gst_index_add_associationv): Changed int in
16068         prototype to gint. OK since this prototype was not in the header.
16069
16070 2006-01-17  Andy Wingo  <wingo@pobox.com>
16071
16072         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
16073         registry while we remove plugins.
16074
16075         * tools/gst-inspect.c (print_element_info): Don't unref the
16076         factory arg, that should be the responsibility of whatever code
16077         received the ref. Fixes a double-free when called from
16078         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
16079         (main): Unref the factory if we have one.
16080         (print_element_list): No change -- relies on the
16081         plugin_feature_list_free to free the list of features.
16082
16083 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
16084
16085         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
16086         (gst_buffer_make_metadata_writable):
16087         * gst/gstbuffer.h:
16088         * libs/gst/base/gstbasetransform.c:
16089         (gst_base_transform_prepare_output_buf):
16090         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
16091         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16092           Replace gst_buffer_(make|is)_metadata_writable patch now
16093           that the release is out.
16094
16095 2006-01-17  Andy Wingo  <wingo@pobox.com>
16096
16097         * gst/gstregistry.c: Reflow design comment. Update so as to speak
16098         in the present tense without reference to versions.
16099
16100         * gst/gstregistry.c (gst_registry_add_plugin)
16101         (gst_registry_remove_plugin, gst_registry_remove_feature)
16102         (gst_registry_find_feature, gst_registry_get_feature_list)
16103         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
16104         (gst_registry_lookup, gst_registry_scan_path)
16105         (_gst_registry_remove_cache_plugins)
16106         (gst_registry_get_feature_list_by_plugin): Add argument
16107         validation.
16108
16109 === release 0.10.2 ===
16110
16111 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
16112
16113         * configure.ac:
16114           releasing 0.10.2, "If man is five"
16115
16116 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
16117
16118         * gst/gstbuffer.c:
16119         * gst/gstbuffer.h:
16120         * libs/gst/base/gstbasetransform.c:
16121         (gst_base_transform_prepare_output_buf):
16122         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
16123         * tests/check/gst/gstbuffer.c: (gst_test_suite):
16124           Back out patch until after the release.
16125
16126 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
16127
16128         * gst/gstminiobject.c:
16129           Spelling fix in docs.
16130         * ChangeLog - remove conflict indicator
16131
16132 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
16133
16134         Reviewed By: Andy Wingo
16135
16136         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
16137         (gst_buffer_make_metadata_writable):
16138         * gst/gstbuffer.h:
16139           Add gst_buffer_(is|make)_metadata_writable as analogues of
16140           gst_buffer_(is|make)_writable.
16141
16142         * libs/gst/base/gstbasetransform.c:
16143         (gst_base_transform_prepare_output_buf):
16144         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
16145           Use name gst_buffer_(is|make)_metadata_writable functions.
16146
16147         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16148           Test gst_buffer_(is|make)_metadata_writable
16149         
16150           (Closes: #324162)
16151
16152 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
16153
16154         * docs/manual/Makefile.am:
16155           don't do parallel make
16156         * configure.ac:
16157           AC_SUBST HOST_CPU
16158         * win32/common/config.h.in:
16159           add generations for HOST_CPU and GST_MAJORMINOR
16160         * win32/common/config.h:
16161           commit generated result
16162
16163 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
16164
16165         * docs/manual/appendix-integration.xml:
16166           Update GNOME integration section to use gst_init_get_option_group()
16167           instead of the old popt stuff (#322911). Also, GNOME applications
16168           should  now use gconf*sink and gconf*src instead of the old gconf
16169           helper lib we had.
16170
16171 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
16172
16173
16174         * docs/gst/gstreamer-docs.sgml:
16175         * docs/gst/gstreamer-sections.txt:
16176         * docs/libs/gstreamer-libs-sections.txt:
16177           add new API entries to the docs
16178         * libs/gst/controller/Makefile.am:
16179         * libs/gst/controller/gstcontroller.c:
16180         * libs/gst/controller/gstcontroller.h:
16181         * libs/gst/controller/gstcontrollerprivate.h:
16182         * libs/gst/controller/gsthelper.c:
16183         * libs/gst/controller/gstinterpolation.c:
16184           move private structs to private header
16185         * po/README:
16186           gstreamer-0.7 -> gstreamer-0.10
16187         * tests/check/libs/struct_i386.h:
16188           remove private structs
16189
16190 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16191
16192         * plugins/indexers/Makefile.am:
16193           Fixes as part of #317048
16194
16195 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16196
16197         * plugins/indexers/Makefile.am:
16198           fix #316086 - compilation when mmap is missing
16199
16200 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
16201
16202         * libs/gst/base/gstbasesink.c:
16203           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
16204           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
16205         * win32/common/config.h:
16206           added some defines GST_MAJORMINOR and HOST_CPU
16207         * win32/common/libgstbase.def:
16208         * win32/common/libgstreamer.def:
16209           added some exported functions.
16210
16211 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
16212
16213         * libs/gst/controller/gstcontroller.c:
16214         (gst_controlled_property_set_interpolation_mode),
16215         (gst_controlled_property_new):
16216         * libs/gst/controller/gstcontroller.h:
16217         * libs/gst/controller/gstinterpolation.c:
16218         (interpolate_none_get_string_value_array):
16219           make G_TYPE_STRING controlable
16220
16221 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
16222
16223         * tools/README:
16224         * tools/gst-feedback.1.in:
16225         * tools/gst-inspect.1.in:
16226         * tools/gst-launch.1.in:
16227         * tools/gst-md5sum.1.in:
16228         * tools/gst-typefind.1.in:
16229         * tools/gst-xmlinspect.1.in:
16230         * tools/gst-xmllaunch.1.in:
16231           cleanup man-pages, remove reference to gst-register, document env-vars
16232
16233 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
16234
16235         * gst/gstbuffer.c: (gst_buffer_span):
16236           gst_buffer_span should copy the timestamp of the first buffer
16237           if they were both originally overlapping subbuffers of the 
16238           same parent, using the same logic as the 'slow copy' case.
16239
16240 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
16241
16242         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
16243           Need to awaken ALL the pads when we pop a buffer, otherwise
16244           collectpads only works when there is 2 input streams.
16245
16246 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
16247
16248         * docs/random/ensonic/media-device-daemon.txt:
16249           more ideas (dbus)
16250         * gst/gstbuffer.c:
16251           fix doc example, add clarification
16252         * tools/gst-launch.1.in:
16253           add initial info about GST_PLUGIN_PATH, needs more work
16254
16255 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
16256
16257         * docs/manual/basics-bins.xml:
16258         * docs/manual/basics-elements.xml:
16259         * docs/manual/intro-basics.xml:
16260           Some more minor docs additions and updates.
16261
16262 2006-01-11  Wim Taymans  <wim@fluendo.com>
16263
16264         * docs/manual/basics-bins.xml:
16265         * docs/manual/basics-elements.xml:
16266         Some small fixes as pointed out by Ser-ver on IRC.
16267
16268 2006-01-10  Edward Hervey  <edward@fluendo.com>
16269
16270         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
16271         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
16272         the single-segment mode.
16273
16274 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
16275
16276         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
16277
16278         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
16279         (gst_base_src_perform_seek), (gst_base_src_send_event),
16280         (gst_base_src_set_property), (gst_base_src_get_property),
16281         (gst_base_src_loop), (gst_base_src_start),
16282         (gst_base_src_activate_push):
16283         * libs/gst/base/gstbasesrc.h:
16284           Name (private) union; makes Sun's Forte compiler happy (#324900).
16285
16286 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
16287
16288         * README:
16289           gst-register is gone.
16290
16291 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16292
16293         * gst/gstvalue.c: (_gst_value_initialize):
16294           make the G_TYPE_DATE instantiation work if debug is disabled
16295
16296 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
16297
16298         * gst/gstmessage.c: (gst_message_parse_tag),
16299         (gst_message_parse_error), (gst_message_parse_warning):
16300           Don't crash when return location for error/warning debug
16301           string is NULL; add fact that return locations can be
16302           NULL to docs where appropriate.
16303
16304 2006-01-05  Wim Taymans  <wim@fluendo.com>
16305
16306         * gst/gstplugin.c: (gst_plugin_load_file):
16307         Replace strdup by g_strdup.
16308
16309 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16310
16311         * docs/pwg/advanced-types.xml:
16312           fix doc borkage
16313
16314 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16315
16316         submitted by: Abel Cheung
16317
16318         * po/LINGUAS:
16319         * po/zh_TW.po:
16320           Added Chinese (traditional) translation
16321
16322 2006-01-04  Wim Taymans  <wim@fluendo.com>
16323
16324         * docs/manual/basics-pads.xml:
16325         * docs/plugins/Makefile.am:
16326         * docs/plugins/gstreamer-plugins-docs.sgml:
16327         * docs/plugins/gstreamer-plugins-sections.txt:
16328         * docs/pwg/advanced-clock.xml:
16329         * docs/pwg/advanced-scheduling.xml:
16330         * docs/pwg/advanced-types.xml:
16331         * plugins/elements/gstfdsink.c:
16332         * plugins/elements/gstfdsrc.c:
16333         * plugins/elements/gstfdsrc.h:
16334         * plugins/elements/gstidentity.c: (gst_identity_class_init):
16335         * plugins/elements/gstidentity.h:
16336         * plugins/elements/gstqueue.h:
16337         * plugins/elements/gsttee.c:
16338         * plugins/elements/gsttee.h:
16339         * plugins/elements/gsttypefindelement.c:
16340         (gst_type_find_element_class_init):
16341         * plugins/elements/gsttypefindelement.h:
16342         Small updates to various docs.
16343         Added core plugins to docs.
16344
16345 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16346
16347         * common/gst.supp:
16348           add a suppression for liboil's uninitialized variable
16349
16350 2006-01-02  James Livingston  <jrl at ids dot org dot au>
16351
16352         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
16353
16354         * gst/gstutils.h:
16355           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
16356           macro, so that gcc doesn't complain if the -Wmissing-prototypes
16357           compiler switch is being used (#325429).
16358
16359 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
16360
16361         * gst/gstbin.c: (gst_bin_query):
16362           Disable duration query caching in bins until it gets
16363           fixed (see #324807).
16364
16365 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
16366
16367         * tools/gst-inspect.c: (print_element_properties_info):
16368           Handle properties of POINTER and BOXED type.
16369
16370 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
16371
16372         * gst/gst.c: (init_post):
16373           Init tags stuff and some other things before loading
16374           any static plugins (there may be other static plugins
16375           than just the GStreamer ones, and they may want to
16376           register their own tags or formats or whatever, and
16377           preferably without segfaulting).
16378
16379         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
16380           Print at least a warning in the debug logs if we drop a
16381           query just because we don't know how to adjust the value
16382           in the particular format.
16383
16384 2005-12-24  David Schleef  <ds@schleef.org>
16385
16386         * tools/gstreamer-completion:
16387           Replacement for gst-complete written in sh and sed.  Only
16388           completes names of features, but that's 90% of what I want
16389           it for.  Properties are not available in registry.xml.  (Maybe
16390           they should be...)
16391
16392 === release 0.10.1 ===
16393
16394 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
16395
16396         * configure.ac:
16397           releasing 0.10.1, "Nollaig chridheil"
16398
16399 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
16400
16401         * docs/faq/cvs.xml:
16402           Add missing quote, should be make ERROR_CFLAGS="".
16403
16404 2005-12-20  Wim Taymans  <wim@fluendo.com>
16405
16406         * docs/design/part-trickmodes.txt:
16407         More documentation on trickmodes.
16408
16409 2005-12-20  Edward Hervey  <edward@fluendo.com>
16410
16411         * gst/gstcaps.c: (gst_static_caps_get_type):
16412         * gst/gstcaps.h:
16413           API addition: GST_TYPE_STATIC_CAPS
16414         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
16415         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
16416         * gst/gstpadtemplate.h:
16417           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
16418         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
16419         bindings.
16420
16421 2005-12-18  Wim Taymans  <wim@fluendo.com>
16422
16423         * libs/gst/base/gstadapter.c:
16424         * libs/gst/base/gstadapter.h:
16425         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16426         (gst_base_sink_get_position):
16427         * libs/gst/base/gstbasesink.h:
16428         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16429         (gst_base_src_default_query), (gst_base_src_default_do_seek),
16430         (gst_base_src_do_seek), (gst_base_src_perform_seek),
16431         (gst_base_src_send_event), (gst_base_src_update_length),
16432         (gst_base_src_get_range), (gst_base_src_loop),
16433         (gst_base_src_start):
16434         * libs/gst/base/gstbasesrc.h:
16435         * libs/gst/base/gstbasetransform.h:
16436         * libs/gst/base/gstcollectpads.h:
16437         * libs/gst/base/gstpushsrc.c:
16438         * libs/gst/base/gstpushsrc.h:
16439         * libs/gst/dataprotocol/dataprotocol.c:
16440         * libs/gst/dataprotocol/dataprotocol.h:
16441         * libs/gst/net/gstnetclientclock.h:
16442         * libs/gst/net/gstnettimeprovider.h:
16443         Documentation updates.
16444
16445 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
16446
16447         * docs/manual/basics-helloworld.xml:
16448           Remove superfluous closing bracket in helloworld example.
16449
16450 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
16451
16452         * tools/gst-launch.1.in:
16453           Update gst-launch man page; add a section with useful
16454           environment variables. Fixes #323882.
16455
16456 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
16457
16458         * gst/gst.c:
16459         * gst/gst_private.h:
16460           change some char* into char[]
16461
16462 2005-12-16  Wim Taymans  <wim@fluendo.com>
16463
16464         * gst/gstregistryxml.c: (load_feature):
16465         Cleanups.
16466         Don't use g_object_unref on GstObjects so that we avoid
16467         leaks on unsafe glibs.
16468
16469 2005-12-16  Wim Taymans  <wim@fluendo.com>
16470
16471         * gst/gstbin.c: (gst_bin_recalc_state):
16472         Small doc updates.
16473
16474 2005-12-16  Wim Taymans  <wim@fluendo.com>
16475
16476         * common/check.mak:
16477         Added make forever target for check.
16478
16479 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16480
16481         * gst/gst.c: (init_post):
16482           make the registry cache file HOST_CPU-dependent
16483
16484 2005-12-16  Andy Wingo  <wingo@pobox.com>
16485
16486         * plugins/elements/gstbufferstore.c
16487         (gst_buffer_store_cleared_func): Pay attention to g_list_append
16488         return value.
16489
16490         * tests/check/gst/gstobject.c
16491         (test_fake_object_name_threaded_unique): Pay attention to
16492         g_list_sort return value.
16493
16494 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
16495
16496         * tools/gst-feedback-m.m:
16497           Update for 0.9/0.10 (fixes #323870).
16498
16499 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
16500
16501         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
16502           Fix lcopy for mini objects, the mini object needs to be ref'ed.
16503           
16504         * tests/check/gst/gstminiobject.c: (my_foo_init),
16505         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
16506         (test_value_collection), (gst_mini_object_suite):
16507           Add test to ensure refcounts end up as expected when passing
16508           GstMiniObjects through g_object_get() and g_object_set().
16509
16510 2005-12-14  Julien MOUTTE  <julien@moutte.net>
16511
16512         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
16513         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
16514         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
16515         of collectpads. This version removes a lot of races without
16516         touching API/ABI. Yay !
16517
16518 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
16519
16520         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
16521           Don't allow activation of a srcpad in pull_range if it has no
16522           getrange function.
16523           Change some debug statements to be a little clearer
16524
16525         * plugins/elements/gsttypefindelement.c:
16526         (gst_type_find_handle_src_query):
16527           Check that we have a peer before executing queries thereupon.
16528
16529         * tests/examples/metadata/read-metadata.c: (message_loop):
16530           Use gst_bus_pop instead of gst_bus_poll when we just want it to
16531           immediately return us any available message with 0 timeout.
16532
16533 2005-12-12  Michael Smith  <msmith@fluendo.com>
16534
16535         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
16536           Don't unref factories after calling them.
16537         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
16538         * plugins/elements/gsttypefindelement.c:
16539         (gst_type_find_element_chain):
16540           Free lists of factories after using them. Fixing typefinding memory
16541           leaks.
16542
16543 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16544
16545         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
16546         (gst_plugin_feature_load):
16547           more meaningful debug output
16548         * configure.ac:
16549         * tests/Makefile.am:
16550         * tests/old/examples/Makefile.am:
16551           make make distcheck happy again
16552
16553 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
16554
16555         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
16556           Catch the special case where we are operating chain-based,
16557           but the downstream peer pad has no chain function. Emit a
16558           custom error message in this case instead of letting the
16559           core generate one implying that this is some sort of core
16560           bug. It's not, it just means that whatever got plugged
16561           into the pipeline downstream when we announced the type
16562           can only operate pull-based, while our source can only
16563           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
16564           Error string has not been marked for translation yet, as
16565           it probably needs some more work first.
16566
16567         (gst_type_find_element_get_best_possibility):
16568           Add helper function to find the best of all available
16569           found possibilities that qualify given the min. threshold.
16570
16571         (gst_type_find_element_handle_event):
16572           Fix the case where we get an EOS while still in TYPEFIND
16573           mode (we want to chose the best of all possible types,
16574           not just the first type that happens to be in our unsorted
16575           list of possible types).
16576
16577         (gst_type_find_element_chain):
16578           Make sure we return GST_FLOW_ERROR when we errored out
16579           in stop_typefinding(); also, don't just find the best of
16580           all found type entries and then use the last examined
16581           type entry, but actually use the best entry.
16582
16583 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
16584
16585         * tests/examples/typefind/typefind.c: (type_found):
16586         * tests/examples/xml/runxml.c: (xml_loaded):
16587           More gcc4 fixes and a mem leak fix.
16588
16589 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16590
16591         * tests/examples/xml/createxml.c: (object_saved):
16592           gcc 4 fixes
16593
16594 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16595
16596         * tests/Makefile.am:
16597           enable the examples even more
16598
16599 2005-12-12  Andy Wingo  <wingo@pobox.com>
16600
16601         * libs/gst/net/gstnettimeprovider.c
16602         (gst_net_time_provider_class_init, gst_net_time_provider_init)
16603         (gst_net_time_provider_set_property)
16604         (gst_net_time_provider_get_property):
16605         API addition: Export "active" as a GObject property.
16606         (gst_net_time_provider_thread): Only respond to time queries if
16607         the time provider is active.
16608
16609         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
16610         NetTimeProvider, preserving binary compat.
16611
16612 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16613
16614         * tests/examples/controller/audio-example.c: (main):
16615         * tests/examples/launch/Makefile.am:
16616           convert comments again
16617
16618 2005-12-12  Wim Taymans  <wim@fluendo.com>
16619
16620         * libs/gst/base/gstpushsrc.c:
16621         Fix typo.
16622
16623 2005-12-12  Wim Taymans  <wim@fluendo.com>
16624
16625         * docs/libs/gstreamer-libs-sections.txt:
16626         Added new symbol to docs.
16627
16628         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16629         (gst_base_src_init), (gst_base_src_set_format),
16630         (gst_base_src_default_query), (gst_base_src_query),
16631         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
16632         (gst_base_src_perform_seek), (gst_base_src_send_event),
16633         (gst_base_src_default_event), (gst_base_src_event_handler),
16634         (gst_base_src_set_property), (gst_base_src_get_property),
16635         (gst_base_src_wait), (gst_base_src_do_sync),
16636         (gst_base_src_update_length), (gst_base_src_get_range),
16637         (gst_base_src_check_get_range), (gst_base_src_loop),
16638         (gst_base_src_default_negotiate), (gst_base_src_start),
16639         (gst_base_src_activate_push), (gst_base_src_activate_pull),
16640         (gst_base_src_change_state):
16641         * libs/gst/base/gstbasesrc.h:
16642         Implement seeking to other formats than _BYTES.
16643         Implement more seeking methods correctly.
16644         Doc updates.
16645         Added query vmethod.
16646         Added do_seek vmethod to make life easier for subclasses
16647         when seeking.
16648         API addition: gst_base_src_set_format()
16649
16650 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16651
16652         * tests/examples/Makefile.am:
16653           added that too
16654
16655 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
16656
16657         * configure.ac:
16658         * docs/random/ensonic/media-device-daemon.txt:
16659         * tests/examples/controller/.cvsignore:
16660         * tests/examples/controller/Makefile.am:
16661         * tests/examples/controller/audio-example.c: (main):
16662         * tests/examples/helloworld/.cvsignore:
16663         * tests/examples/helloworld/Makefile.am:
16664         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
16665         * tests/examples/launch/.cvsignore:
16666         * tests/examples/launch/Makefile.am:
16667         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
16668         * tests/examples/metadata/.cvsignore:
16669         * tests/examples/metadata/Makefile.am:
16670         * tests/examples/metadata/read-metadata.c: (message_loop),
16671         (make_pipeline), (print_tag), (main):
16672         * tests/examples/queue/.cvsignore:
16673         * tests/examples/queue/Makefile.am:
16674         * tests/examples/queue/queue.c: (event_loop), (main):
16675         * tests/examples/typefind/.cvsignore:
16676         * tests/examples/typefind/Makefile.am:
16677         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
16678         (main):
16679         * tests/examples/xml/.cvsignore:
16680         * tests/examples/xml/Makefile.am:
16681         * tests/examples/xml/createxml.c: (object_saved), (main):
16682         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
16683         * tests/old/examples/Makefile.am:
16684         * tests/old/examples/TODO:
16685         * tests/old/examples/controller/.cvsignore:
16686         * tests/old/examples/controller/Makefile.am:
16687         * tests/old/examples/controller/audio-example.c:
16688         * tests/old/examples/helloworld/.cvsignore:
16689         * tests/old/examples/helloworld/Makefile.am:
16690         * tests/old/examples/helloworld/helloworld.c:
16691         * tests/old/examples/launch/.cvsignore:
16692         * tests/old/examples/launch/Makefile.am:
16693         * tests/old/examples/launch/mp3parselaunch.c:
16694         * tests/old/examples/launch/mp3play:
16695         * tests/old/examples/manual/Makefile.am:
16696         * tests/old/examples/metadata/Makefile.am:
16697         * tests/old/examples/metadata/read-metadata.c:
16698         * tests/old/examples/queue/.cvsignore:
16699         * tests/old/examples/queue/Makefile.am:
16700         * tests/old/examples/queue/queue.c:
16701         * tests/old/examples/typefind/.cvsignore:
16702         * tests/old/examples/typefind/Makefile.am:
16703         * tests/old/examples/typefind/typefind.c:
16704         * tests/old/examples/xml/.cvsignore:
16705         * tests/old/examples/xml/Makefile.am:
16706         * tests/old/examples/xml/createxml.c:
16707         * tests/old/examples/xml/runxml.c:
16708           applied some simple fixing to some examples
16709           re-enabled the working examples
16710
16711 2005-12-12  Wim Taymans  <wim@fluendo.com>
16712
16713         * gst/gstsegment.c: (gst_segment_init),
16714         (gst_segment_set_last_stop), (gst_segment_set_seek),
16715         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
16716         (gst_segment_to_running_time):
16717         Added more documentation.
16718         Make sure the last_pos value is updated properly.
16719         Make sure to_stream_time and to_running_time don't
16720         operate on wrong values.
16721
16722         * tests/check/gst/gstsegment.c: (GST_START_TEST):
16723         Update check.
16724
16725 2005-12-12  Michael Smith  <msmith@fluendo.com>
16726
16727         * plugins/elements/gsttypefindelement.c: (free_entry),
16728         (gst_type_find_element_chain):
16729           Now that we're not leaking factories, make sure we keep references
16730           to them while we need them.
16731
16732 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16733
16734         * tests/check/gst/struct_i386.h:
16735           ifdef out the XML structs
16736
16737 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16738
16739         * gst/gstvalue.c: (gst_value_transform_double_fraction):
16740           floor is not needed, F is always positive; this obviates the
16741           need for adding -lm when building without libxml
16742
16743 2005-12-12  Wim Taymans  <wim@fluendo.com>
16744
16745         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
16746         Take current playback rate into account when reporting
16747         the position.
16748
16749 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
16750
16751         * docs/manual/mime-world.fig:
16752           Let's try this again, this time with a file that is
16753           actually in XFig format.
16754
16755 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
16756
16757         * docs/manual/mime-world.fig:
16758           Add audioconvert element to diagram so that it
16759           matches the text and the code (fixes #319526).
16760
16761 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
16762
16763         * docs/pwg/building-chainfn.xml:
16764         * docs/pwg/building-pads.xml:
16765         * docs/pwg/building-state.xml:
16766         * docs/pwg/other-source.xml:
16767           Update state change stuff for 0.10 (fixes #322969).
16768
16769 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
16770
16771         * docs/manual/advanced-dataaccess.xml:
16772         * docs/manual/appendix-checklist.xml:
16773         * docs/manual/appendix-programs.xml:
16774         * docs/manual/basics-pads.xml:
16775         * docs/manual/highlevel-components.xml:
16776         * docs/manual/manual.xml:
16777           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
16778           add converters in front of pipelines; remove curly
16779           brackets for threads stuff, they no longer exist; use
16780           GST_TYPE_FRACTION for framerates; update some pieces of
16781           code to 0.10, but there's plenty more to do.
16782
16783         * docs/manual/appendix-porting.xml:
16784           Expand on asynchroneous state changes; s/0.9/0.10/;
16785           mention disappearance of gst_init_get_popt_table()
16786           (fixes #322916).
16787
16788 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
16789
16790         * docs/faq/using.xml:
16791           Spider no longer exists, and neither does gst-launch-ext.
16792           Update examples to use decodebin and playbin and put
16793           converters in front of sinks (fixes #323726).
16794
16795 2005-12-09  Michael Smith  <msmith@fluendo.com>
16796
16797         * plugins/elements/gsttypefindelement.c: (find_peek),
16798         (gst_type_find_element_chain):
16799           Fix leaking element factories in typefinding.
16800           Fix problem where we forgot about a probable type on non-seekable
16801           files, and thus later mis-typefound it.
16802
16803 2005-12-09  Michael Smith  <msmith@fluendo.com>
16804
16805         * common/m4/gst-makecontext.m4:
16806         * common/m4/gst-mcsc.m4:
16807         * configure.ac:
16808         * win32/common/config.h:
16809         * win32/common/config.h.in:
16810           Remove makecontext stuff; not used in 0.10 and causes problems on
16811           HPUX according to bug #322441
16812
16813 2005-12-07  Wim Taymans  <wim@fluendo.com>
16814
16815         * tests/check/Makefile.am:
16816         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
16817         (main):
16818         * tests/check/libs/struct_i386.h:
16819         Added ABI check for libs
16820
16821 2005-12-07  Wim Taymans  <wim@fluendo.com>
16822
16823         * tests/check/Makefile.am:
16824         And add the struct_i386.h to dist.
16825
16826 2005-12-07  Wim Taymans  <wim@fluendo.com>
16827
16828         * tests/check/Makefile.am:
16829         * tests/check/gst/.cvsignore:
16830         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
16831         (main):
16832         * tests/check/gst/struct_i386.h:
16833         Added check for ABI compatibility.
16834
16835 2005-12-07  Wim Taymans  <wim@fluendo.com>
16836
16837         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16838         (gst_fake_src_get_times), (gst_fake_src_create):
16839         Fix broken sync option, fixes #323259
16840
16841 2005-12-07  Wim Taymans  <wim@fluendo.com>
16842
16843         * gst/gstbuffer.c:
16844         Small docs update.
16845
16846         * gst/gstcaps.c: (gst_caps_is_equal):
16847         Don't assert on NULL <--> X. Fixes #323260
16848
16849         * gst/gstminiobject.c: (gst_mini_object_replace):
16850         If we're doing atomic operations, we might just as well use
16851         the proper way to get an atomic pointer.
16852
16853         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
16854         Clean up debugging.
16855
16856 2005-12-07  Michael Smith  <msmith@fluendo.com>
16857
16858         * gst/parse/grammar.y:
16859           Remove handling of { } for threads.
16860
16861 2005-12-06  David Schleef  <ds@schleef.org>
16862
16863         * libs/gst/base/gstbasetransform.c: speling fix.
16864
16865 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16866
16867         * docs/libs/tmpl/gstdataprotocol.sgml:
16868         * docs/random/omega/testing/gstobject.c:
16869         * gst/gst.c:
16870         * gst/gstclock.c:
16871         * gst/gstelement.c:
16872         * gst/gstelementfactory.c:
16873         * gst/gsterror.c:
16874         * gst/gstevent.c:
16875         * gst/gstghostpad.c:
16876         * gst/gstinfo.c:
16877         * gst/gstpadtemplate.c:
16878         * gst/gstregistryxml.c:
16879         * gst/gsttaglist.c:
16880         * gst/gsttagsetter.c:
16881         * gst/gsttypefind.c:
16882         * gst/gstvalue.c:
16883         * libs/gst/base/gstbasesrc.c:
16884         * libs/gst/net/gstnetclientclock.c:
16885         * libs/gst/net/gstnettimeprovider.c:
16886         * plugins/elements/gstfakesrc.c:
16887         * plugins/elements/gstfdsrc.c:
16888         * plugins/elements/gstfilesrc.c:
16889         * plugins/elements/gstidentity.c:
16890         * plugins/elements/gstqueue.c:
16891         * plugins/elements/gsttypefindelement.c:
16892         * plugins/indexers/gstfileindex.c:
16893         * plugins/indexers/gstmemindex.c:
16894         * tests/check/gst/gsttag.c:
16895         * tests/old/examples/cutter/cutter.c:
16896         * tests/old/examples/mixer/mixer.c:
16897         * tests/old/examples/xml/runxml.c: (main):
16898         * tests/old/testsuite/caps/normalisation.c:
16899         * tests/old/testsuite/debug/global.c:
16900         * tests/old/testsuite/parse/parse1.c:
16901         * tools/gst-xmlinspect.c:
16902         * win32/common/dirent.c:
16903           expand tabs
16904
16905 === release 0.10.0 ===
16906
16907 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16908
16909         * configure.ac:
16910           releasing 0.10.0, "Maroilles"
16911
16912 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16913
16914         submitted by: Funda Wang <fundawang@linux.net.cn>
16915
16916         * po/LINGUAS:
16917         * po/zh_CN.po:
16918           added Chinese (Traditional) translation
16919
16920 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16921
16922         * docs/gst/gstreamer-sections.txt:
16923         * docs/libs/tmpl/gstdataprotocol.sgml:
16924         * docs/random/thomasvs/TODO:
16925         * gst/gstutils.c:
16926         * gst/gstutils.h:
16927           fix docs
16928
16929 2005-12-05  Andy Wingo  <wingo@pobox.com>
16930
16931         patch by: Wim Taymans <wim@fluendo.com>
16932
16933         * libs/gst/base/gstbasetransform.c
16934         (gst_base_transform_prepare_output_buf)
16935         (gst_base_transform_buffer_alloc):
16936         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
16937         alloc_buffer_and_set_caps.
16938
16939         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
16940         set_caps on the source pad.
16941         (gst_pad_alloc_buffer_and_set_caps): New function, does what
16942         alloc_buffer used to do. Fixes #322874.
16943
16944         * docs/gst/gstreamer-sections.txt: 
16945         * docs/design/part-negotiation.txt: 
16946         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
16947         changes.
16948
16949 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16950
16951         patch by: Sebastien Moutte
16952
16953         * win32/MANIFEST:
16954         * win32/common/config.h.in:
16955         * win32/vs6/libgstcontroller.dsp:
16956           win32 build fixes
16957
16958 2005-12-05  Wim Taymans  <wim@fluendo.com>
16959
16960         * gst/gstcaps.c: (gst_caps_is_equal):
16961         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16962         (gst_fake_src_create):
16963         Back out previous code changes, leave doc updates, file bugs 
16964         instead. 
16965
16966 2005-12-05  Wim Taymans  <wim@fluendo.com>
16967
16968         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16969         (gst_fake_src_get_times), (gst_fake_src_create):
16970         * plugins/elements/gstfakesrc.h:
16971         Fix broken sync code.
16972
16973 2005-12-05  Wim Taymans  <wim@fluendo.com>
16974
16975         * gst/gstcaps.c: (gst_caps_is_equal):
16976         Comparing NULL against !NULL yields different caps, not a
16977         failure.
16978
16979 2005-12-05  Wim Taymans  <wim@fluendo.com>
16980
16981         * gst/gstpipeline.c:
16982         Fix small typo in docs.
16983
16984 2005-12-05  Andy Wingo  <wingo@pobox.com>
16985
16986         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
16987
16988         * gst/gst.c (init_post): remove hard-coded 0.9 location for
16989         registries/plugins with a MAJORMINOR one.
16990         (plugin_desc): Rename library from gstcoreleements to
16991         staticelements. Fixes #323222.
16992
16993 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
16994
16995         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
16996           Change debug category to 'collectpads' from 'collect_pads'
16997           (fixes #323250).
16998
16999 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
17000
17001         patch by: Sebastien Moutte
17002
17003         * libs/gst/controller/gstinterpolation.c:
17004           use convert function for uint64/double
17005         * win32/vs6/libgstcontroller.dsp:
17006           link to GLib
17007
17008 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
17009
17010         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
17011         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
17012         * gst/gstutils.h:
17013         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
17014           add tests that seem to show that the guint64/gdouble conversions
17015           are correct.
17016
17017 2005-12-02  Wim Taymans  <wim@fluendo.com>
17018
17019         * gst/gstregistry.c: (gst_registry_add_path):
17020         * gst/gstregistry.h:
17021         * gst/gstregistryxml.c:
17022         Fix docs again.
17023
17024 2005-12-02  Wim Taymans  <wim@fluendo.com>
17025
17026         * gst/gstutils.c: (gst_util_uint64_scale_int64),
17027         (gst_util_uint64_scale_int):
17028         Small cleanup.
17029
17030         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17031         Add debug log line.
17032
17033         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
17034         Add FIXME.
17035
17036 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17037
17038         * win32/MANIFEST:
17039         * win32/common/config.h:
17040         * win32/vs6/gstreamer.dsw:
17041         * win32/vs6/libgstcoreelements.dsp:
17042         * win32/vs6/libgstelements.dsp:
17043           renamed core elements plugin
17044
17045 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17046
17047         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
17048         (get_candidates):
17049           do piece-wise major/minor comparison so 0.9 < 0.10
17050           also allow .exe extensions for tools
17051
17052 2005-12-02  Michael Smith  <msmith@fluendo.com>
17053
17054         * gst/gst.c:
17055           Escape a % to make gtkdoc happier; bug 322958.
17056
17057 === release 0.9.7 ===
17058
17059 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
17060
17061         * configure.ac:
17062           releasing 0.9.7, "My Dog Has No Nose"
17063
17064 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17065
17066         * common/gst-xmlinspect.py:
17067         * configure.ac:
17068         * docs/libs/tmpl/gstdataprotocol.sgml:
17069         * docs/random/release:
17070         * po/af.po:
17071         * po/az.po:
17072         * po/bg.po:
17073         * po/ca.po:
17074         * po/cs.po:
17075         * po/de.po:
17076         * po/en_GB.po:
17077         * po/fr.po:
17078         * po/it.po:
17079         * po/nb.po:
17080         * po/nl.po:
17081         * po/ru.po:
17082         * po/sq.po:
17083         * po/sr.po:
17084         * po/sv.po:
17085         * po/tr.po:
17086         * po/uk.po:
17087         * po/vi.po:
17088         * win32/common/config.h:
17089         * win32/common/config.h.in:
17090         * win32/vs6/gst_inspect.dsp:
17091         * win32/vs6/gst_launch.dsp:
17092         * win32/vs6/libgstbase.dsp:
17093         * win32/vs6/libgstelements.dsp:
17094         * win32/vs6/libgstreamer.dsp:
17095         * win32/vs7/GStreamer.vcproj:
17096         * win32/vs7/gst-inspect.vcproj:
17097         * win32/vs7/gst-launch.vcproj:
17098         * win32/vs7/libgstbase.vcproj:
17099           bump GST_MAJORMINOR to 0.10
17100           reset libtool version
17101
17102 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17103
17104         * po/LINGUAS:
17105         * po/bg.po:
17106           Added Bulgarian translation by (Alexander Shopov)
17107
17108 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17109
17110         * tests/check/gst/gstplugin.c:
17111           fix test
17112
17113 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17114
17115         * common/gst-xmlinspect.py:
17116         * common/gtk-doc-plugins.mak:
17117         * configure.ac:
17118         * docs/Makefile.am:
17119         * docs/gst/Makefile.am:
17120         * docs/gst/gstreamer-docs.sgml:
17121         * docs/gst/gstreamer-sections.txt:
17122         * docs/gst/gstreamer.types:
17123         * docs/gst/gstreamer.types.in:
17124         * docs/plugins/Makefile.am:
17125         * docs/plugins/gstreamer-plugins-docs.sgml:
17126         * docs/plugins/gstreamer-plugins-sections.txt:
17127         * docs/plugins/gstreamer-plugins.types:
17128         * docs/plugins/inspect.stamp:
17129         * docs/plugins/inspect/plugin-coreelements.xml:
17130         * docs/plugins/inspect/plugin-coreindexers.xml:
17131         * docs/plugins/scanobj-build.stamp:
17132         * gstreamer.spec.in:
17133         * plugins/elements/Makefile.am:
17134         * plugins/elements/gstelements.c:
17135         * plugins/elements/gstfakesink.c:
17136         * plugins/elements/gstfakesrc.c:
17137         * plugins/elements/gstfilesink.c:
17138         * plugins/elements/gstfilesrc.c:
17139         * plugins/elements/gstqueue.c:
17140         * plugins/indexers/Makefile.am:
17141         * plugins/indexers/gstindexers.c:
17142           document core plugins in a separate document just like all the
17143           others
17144           rename these plugins to something starting with core
17145
17146 2005-12-01  Andy Wingo  <wingo@pobox.com>
17147
17148         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
17149         padding here before, but it missed the commit.
17150
17151 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
17152
17153         * libs/gst/controller/gstinterpolation.c:
17154           whitespace prices have crashed, we should feel free to use some now
17155           use gst_guint64_to_gdouble
17156
17157 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
17158
17159         * libs/gst/controller/gstcontroller.c:
17160         * libs/gst/controller/gsthelper.c:
17161         * libs/gst/controller/gstinterpolation.c:
17162         * libs/gst/controller/lib.c:
17163           wrap config.h include
17164
17165 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
17166
17167         * docs/gst/gstreamer-sections.txt:
17168           update docs
17169
17170 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
17171
17172         * plugins/elements/gstelements.c:
17173         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
17174         (gst_fd_sink__class_init), (gst_fd_sink__init),
17175         (gst_fd_sink__chain), (gst_fd_sink__set_property),
17176         (gst_fd_sink__get_property):
17177         * plugins/elements/gstfdsink.h:
17178         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
17179         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
17180         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
17181         (gst_fd_src_unlock), (gst_fd_src_set_property),
17182         (gst_fd_src_get_property), (gst_fd_src_create),
17183         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
17184         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
17185         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
17186         (gst_fd_src_uri_handler_init):
17187         * plugins/elements/gstfdsrc.h:
17188         * plugins/elements/gstqueue.c: (gst_queue_get_type):
17189           more anal cleanup
17190
17191 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17192
17193         * docs/gst/Makefile.am:
17194         * docs/gst/gstreamer.types.in:
17195         * gst/Makefile.am:
17196           fix the docs build
17197
17198 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17199
17200         * configure.ac:
17201         * gst/Makefile.am:
17202         * gst/gst.c:
17203         * gst/gstplugin.h:
17204         * gst/gstregistry.h:
17205         * tests/benchmarks/complexity.c:
17206         * tests/benchmarks/mass-elements.c:
17207         * tests/check/Makefile.am:
17208         * tools/Makefile.am:
17209         * tools/gst-inspect.c:
17210         * tools/gst-xmlinspect.c:
17211           various fixes to make
17212           --disable-nls --disable-registry --disable-loadsave
17213           --disable-parse --disable-gst-debug
17214           work and get the core .so down to 360444 bytes after stripping
17215
17216 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17217
17218         * Makefile.am:
17219         * configure.ac:
17220           descend into tests
17221         * docs/random/thomasvs/TODO:
17222         * tests/Makefile.am:
17223         * tests/README:
17224           add a README
17225
17226 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17227
17228         * win32/GStreamer.vcproj:
17229         * win32/MANIFEST:
17230         * win32/Makefile:
17231         * win32/Makefile.inspect:
17232         * win32/Makefile.launch:
17233         * win32/Makefile.register:
17234         * win32/README.txt:
17235         * win32/gst-inspect.vcproj:
17236         * win32/gst-launch.vcproj:
17237         * win32/gst-register.vcproj:
17238         * win32/gstelements.vcproj:
17239         * win32/gstgetbits.def:
17240         * win32/gstgetbits.vcproj:
17241         * win32/gstreamer-dbg.def:
17242         * win32/gstreamer.def:
17243         * win32/libgstbase.def:
17244         * win32/libgstbase.vcproj:
17245         * win32/link_oldruntime.c:
17246         * win32/mman.c:
17247         * win32/mman.h:
17248         * win32/mman.inl:
17249         * win32/msvc71.sln:
17250           move even more stuff, win32/ is nice and clean now
17251
17252 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17253
17254         * libs/gst/control/.cvsignore:
17255         * win32/MANIFEST:
17256         * win32/config.h:
17257         * win32/dirent.c:
17258         * win32/dirent.h:
17259         * win32/gstbytestream.def:
17260         * win32/gstbytestream.vcproj:
17261         * win32/gstconfig.h:
17262         * win32/gstenumtypes.c:
17263         * win32/gstenumtypes.h:
17264         * win32/gstoptimalscheduler.vcproj:
17265         * win32/gstversion.h:
17266         * win32/gtchar.h:
17267         * win32/testsuite/bins.vcproj:
17268         * win32/testsuite/bytestream.vcproj:
17269         * win32/testsuite/caps.vcproj:
17270         * win32/testsuite/cleanup.vcproj:
17271         * win32/testsuite/clock.vcproj:
17272         * win32/testsuite/debug.vcproj:
17273         * win32/testsuite/dlopen.vcproj:
17274         * win32/testsuite/dynparams.vcproj:
17275         * win32/testsuite/elements.vcproj:
17276         * win32/testsuite/ghostpads.vcproj:
17277         * win32/testsuite/indexers.vcproj:
17278         * win32/testsuite/negotiation.vcproj:
17279         * win32/testsuite/parse.vcproj:
17280         * win32/testsuite/plugin.vcproj:
17281         * win32/testsuite/refcounting.vcproj:
17282         * win32/testsuite/schedulers.vcproj:
17283         * win32/testsuite/states.vcproj:
17284         * win32/testsuite/tags.vcproj:
17285         * win32/testsuite/threads.vcproj:
17286           remove old win32 stuff that isn't maintained and should be
17287           reorganized
17288
17289 2005-11-30  Andy Wingo  <wingo@pobox.com>
17290
17291         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
17292         loading the gst.interfaces python module bork.
17293
17294         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
17295         available since GLib 2.2. Fixes #318031.
17296
17297 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17298
17299         * Makefile.am:
17300         * check/.cvsignore:
17301         * check/Makefile.am:
17302         * check/elements/.cvsignore:
17303         * check/elements/fakesrc.c:
17304         * check/elements/fdsrc.c:
17305         * check/elements/identity.c:
17306         * check/generic/.cvsignore:
17307         * check/generic/states.c:
17308         * check/gst-libs/.cvsignore:
17309         * check/gst-libs/controller.c:
17310         * check/gst-libs/gdp.c:
17311         * check/gst/.cvsignore:
17312         * check/gst/capslist.h:
17313         * check/gst/gst.c:
17314         * check/gst/gstbin.c:
17315         * check/gst/gstbuffer.c:
17316         * check/gst/gstbus.c:
17317         * check/gst/gstcaps.c:
17318         * check/gst/gstelement.c:
17319         * check/gst/gstevent.c:
17320         * check/gst/gstghostpad.c:
17321         * check/gst/gstiterator.c:
17322         * check/gst/gstmessage.c:
17323         * check/gst/gstminiobject.c:
17324         * check/gst/gstobject.c:
17325         * check/gst/gstpad.c:
17326         * check/gst/gstpipeline.c:
17327         * check/gst/gstplugin.c:
17328         * check/gst/gstsegment.c:
17329         * check/gst/gststructure.c:
17330         * check/gst/gstsystemclock.c:
17331         * check/gst/gsttag.c:
17332         * check/gst/gstutils.c:
17333         * check/gst/gstvalue.c:
17334         * check/net/.cvsignore:
17335         * check/net/gstnetclientclock.c:
17336         * check/net/gstnettimeprovider.c:
17337         * check/pipelines/.cvsignore:
17338         * check/pipelines/cleanup.c:
17339         * check/pipelines/simple_launch_lines.c:
17340         * check/pipelines/stress.c:
17341         * check/states/.cvsignore:
17342         * check/states/sinks.c:
17343         * configure.ac:
17344         * examples/Makefile.am:
17345         * examples/appreader/.cvsignore:
17346         * examples/appreader/Makefile.am:
17347         * examples/appreader/appreader.c:
17348         * examples/controller/.cvsignore:
17349         * examples/controller/Makefile.am:
17350         * examples/controller/audio-example.c:
17351         * examples/cutter/.cvsignore:
17352         * examples/cutter/Makefile.am:
17353         * examples/cutter/cutter.c:
17354         * examples/cutter/cutter.h:
17355         * examples/events/Makefile.am:
17356         * examples/events/seek.c:
17357         * examples/helloworld/.cvsignore:
17358         * examples/helloworld/Makefile.am:
17359         * examples/helloworld/helloworld.c:
17360         * examples/helloworld2/.cvsignore:
17361         * examples/helloworld2/Makefile.am:
17362         * examples/helloworld2/helloworld2.c:
17363         * examples/launch/.cvsignore:
17364         * examples/launch/Makefile.am:
17365         * examples/launch/mp3parselaunch.c:
17366         * examples/launch/mp3play:
17367         * examples/manual/.cvsignore:
17368         * examples/manual/Makefile.am:
17369         * examples/manual/extract.pl:
17370         * examples/metadata/Makefile.am:
17371         * examples/metadata/read-metadata.c:
17372         * examples/mixer/.cvsignore:
17373         * examples/mixer/Makefile.am:
17374         * examples/mixer/mixer.c:
17375         * examples/mixer/mixer.h:
17376         * examples/pingpong/.cvsignore:
17377         * examples/pingpong/Makefile.am:
17378         * examples/pingpong/pingpong.c:
17379         * examples/plugins/.cvsignore:
17380         * examples/plugins/Makefile.am:
17381         * examples/plugins/example.c:
17382         * examples/plugins/example.h:
17383         * examples/pwg/.cvsignore:
17384         * examples/pwg/Makefile.am:
17385         * examples/pwg/extract.pl:
17386         * examples/queue/.cvsignore:
17387         * examples/queue/Makefile.am:
17388         * examples/queue/queue.c:
17389         * examples/queue2/.cvsignore:
17390         * examples/queue2/Makefile.am:
17391         * examples/queue2/queue2.c:
17392         * examples/queue3/.cvsignore:
17393         * examples/queue3/Makefile.am:
17394         * examples/queue3/queue3.c:
17395         * examples/queue4/.cvsignore:
17396         * examples/queue4/Makefile.am:
17397         * examples/queue4/queue4.c:
17398         * examples/retag/.cvsignore:
17399         * examples/retag/Makefile.am:
17400         * examples/retag/retag.c:
17401         * examples/retag/transcode.c:
17402         * examples/thread/.cvsignore:
17403         * examples/thread/Makefile.am:
17404         * examples/thread/thread.c:
17405         * examples/typefind/.cvsignore:
17406         * examples/typefind/Makefile.am:
17407         * examples/typefind/typefind.c:
17408         * examples/xml/.cvsignore:
17409         * examples/xml/Makefile.am:
17410         * examples/xml/createxml.c:
17411         * examples/xml/runxml.c:
17412         * tests/Makefile.am:
17413         * tests/check/Makefile.am:
17414         * testsuite/.cvsignore:
17415         * testsuite/Makefile.am:
17416         * testsuite/Rules:
17417         * testsuite/caps/.cvsignore:
17418         * testsuite/caps/Makefile.am:
17419         * testsuite/caps/app_fixate.c:
17420         * testsuite/caps/audioscale.c:
17421         * testsuite/caps/caps.c:
17422         * testsuite/caps/caps.h:
17423         * testsuite/caps/caps_strings:
17424         * testsuite/caps/compatibility.c:
17425         * testsuite/caps/deserialize.c:
17426         * testsuite/caps/enumcaps.c:
17427         * testsuite/caps/eratosthenes.c:
17428         * testsuite/caps/filtercaps.c:
17429         * testsuite/caps/fixed.c:
17430         * testsuite/caps/fraction-convert.c:
17431         * testsuite/caps/fraction-multiply-and-zero.c:
17432         * testsuite/caps/intersect2.c:
17433         * testsuite/caps/intersection.c:
17434         * testsuite/caps/normalisation.c:
17435         * testsuite/caps/random.c:
17436         * testsuite/caps/renegotiate.c:
17437         * testsuite/caps/sets.c:
17438         * testsuite/caps/simplify.c:
17439         * testsuite/caps/string-conversions.c:
17440         * testsuite/caps/structure.c:
17441         * testsuite/caps/subtract.c:
17442         * testsuite/caps/union.c:
17443         * testsuite/debug/.cvsignore:
17444         * testsuite/debug/Makefile.am:
17445         * testsuite/debug/category.c:
17446         * testsuite/debug/commandline.c:
17447         * testsuite/debug/global.c:
17448         * testsuite/debug/output.c:
17449         * testsuite/debug/printf_extension.c:
17450         * testsuite/dlopen/.cvsignore:
17451         * testsuite/dlopen/Makefile.am:
17452         * testsuite/dlopen/dlopen_gst.c:
17453         * testsuite/dlopen/loadgst.c:
17454         * testsuite/elements/.cvsignore:
17455         * testsuite/elements/Makefile.am:
17456         * testsuite/elements/gst-inspect-check.in:
17457         * testsuite/elements/struct_i386.h:
17458         * testsuite/elements/struct_size.c:
17459         * testsuite/indexers/.cvsignore:
17460         * testsuite/indexers/Makefile.am:
17461         * testsuite/indexers/cache1.c:
17462         * testsuite/indexers/indexdump.c:
17463         * testsuite/parse/.cvsignore:
17464         * testsuite/parse/Makefile.am:
17465         * testsuite/parse/parse1.c:
17466         * testsuite/parse/parse2.c:
17467         * testsuite/plugin/.cvsignore:
17468         * testsuite/plugin/Makefile.am:
17469         * testsuite/plugin/README:
17470         * testsuite/plugin/dynamic.c:
17471         * testsuite/plugin/linked.c:
17472         * testsuite/plugin/loading.c:
17473         * testsuite/plugin/registry.c:
17474         * testsuite/plugin/static.c:
17475         * testsuite/plugin/static2.c:
17476         * testsuite/plugin/testplugin.c:
17477         * testsuite/plugin/testplugin2.c:
17478         * testsuite/plugin/testplugin2_s.c:
17479         * testsuite/plugin/testplugin_s.c:
17480         * testsuite/refcounting/.cvsignore:
17481         * testsuite/refcounting/Makefile.am:
17482         * testsuite/refcounting/bin.c:
17483         * testsuite/refcounting/element.c:
17484         * testsuite/refcounting/element_pad.c:
17485         * testsuite/refcounting/mainloop.c:
17486         * testsuite/refcounting/mem.c:
17487         * testsuite/refcounting/mem.h:
17488         * testsuite/refcounting/object.c:
17489         * testsuite/refcounting/pad.c:
17490         * testsuite/refcounting/sched.c:
17491         * testsuite/refcounting/thread.c:
17492         * testsuite/states/.cvsignore:
17493         * testsuite/states/Makefile.am:
17494         * testsuite/states/bin.c:
17495         * testsuite/states/locked.c:
17496         * testsuite/states/parent.c:
17497         * testsuite/threads/.cvsignore:
17498         * testsuite/threads/159566.c:
17499         * testsuite/threads/159852.c:
17500         * testsuite/threads/Makefile.am:
17501         * testsuite/threads/queue.c:
17502         * testsuite/threads/signals.c:
17503         * testsuite/threads/staticrec.c:
17504         * testsuite/threads/thread.c:
17505         * testsuite/threads/threadb.c:
17506         * testsuite/threads/threadc.c:
17507         * testsuite/threads/threadd.c:
17508         * testsuite/threads/threade.c:
17509         * testsuite/threads/threadf.c:
17510         * testsuite/threads/threadg.c:
17511         * testsuite/threads/threadh.c:
17512         * testsuite/threads/threadi.c:
17513           move all of these under tests
17514
17515 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17516
17517         * configure.ac:
17518         * tests/Makefile.am:
17519           fix distcheck
17520
17521 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17522
17523         * docs/gst/gstreamer-sections.txt:
17524         * tests/sched/.cvsignore:
17525         * tests/sched/Makefile.am:
17526         * tests/sched/cases/(fs-fs).xml:
17527         * tests/sched/cases/(fs-i-fs).xml:
17528         * tests/sched/cases/(fs-i-i-fs).xml:
17529         * tests/sched/cases/(fs-i-q[i-fs]).xml:
17530         * tests/sched/dynamic-pipeline.c:
17531         * tests/sched/interrupt1.c:
17532         * tests/sched/interrupt2.c:
17533         * tests/sched/interrupt3.c:
17534         * tests/sched/runtestcases:
17535         * tests/sched/runxml.c:
17536         * tests/sched/sched-stress.c:
17537         * tests/sched/sort.c:
17538         * tests/sched/testcases:
17539         * tests/sched/testcases1.tc:
17540         * tests/seeking/.cvsignore:
17541         * tests/seeking/Makefile.am:
17542         * tests/seeking/seeking1.c:
17543         * tests/threadstate/.cvsignore:
17544         * tests/threadstate/Makefile.am:
17545         * tests/threadstate/test1.c:
17546         * tests/threadstate/test2.c:
17547         * tests/threadstate/threadstate1.c:
17548         * tests/threadstate/threadstate2.c:
17549         * tests/threadstate/threadstate3.c:
17550         * tests/threadstate/threadstate4.c:
17551         * tests/threadstate/threadstate5.c:
17552           remove obsolete tests
17553         * configure.ac:
17554         * tests/bench-complexity.scm:
17555         * tests/bench-mass_elements.scm:
17556         * tests/complexity.c:
17557         * tests/complexity.gnuplot:
17558         * tests/instantiate/.cvsignore:
17559         * tests/instantiate/Makefile.am:
17560         * tests/instantiate/caps.c:
17561         * tests/mass_elements.c:
17562         * tests/network-clock-utils.scm:
17563         * tests/network-clock.scm:
17564         * tests/plot-data:
17565         First pass at cleaning up tests/ dir before moving the rest
17566         Combined with CVS surgery
17567
17568 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17569
17570         * po/POTFILES.in:
17571           queue has moved, update
17572
17573 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17574
17575         * docs/gst/gstreamer-sections.txt:
17576           remove double entries from the docs
17577         * gst/gst_private.h:
17578         * gst/gstinfo.c: (_gst_debug_init):
17579           remove the THREAD debug category
17580         * gst/Makefile.am:
17581         * gst/gstqueue.c:
17582         * gst/gstqueue.h:
17583         * docs/gst/gstreamer.types:
17584         * plugins/elements/gstqueue.c: (gst_queue_get_type),
17585         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
17586           completely move queue and fix up debugging categories
17587
17588 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17589
17590         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
17591           make initialization portable, using LL is not
17592
17593 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17594
17595         * win32/common/gstconfig.h:
17596           add large padding
17597
17598 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17599
17600         * win32/common/libgstreamer.def:
17601           rename symbols; sort base section
17602
17603 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17604
17605         * gst/gstclock.c: (do_linear_regression):
17606           remove crack non-portable handrolled DEBUG macro
17607
17608 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17609
17610         * docs/random/release:
17611           update notes
17612         * win32/common/gstenumtypes.c: (register_gst_object_flags),
17613         (gst_object_flags_get_type), (register_gst_bin_flags),
17614         (gst_bin_flags_get_type), (register_gst_buffer_flag),
17615         (gst_buffer_flag_get_type), (register_gst_bus_flags),
17616         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
17617         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
17618         (gst_caps_flags_get_type), (register_gst_clock_return),
17619         (gst_clock_return_get_type), (register_gst_clock_entry_type),
17620         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
17621         (gst_clock_flags_get_type), (register_gst_state),
17622         (gst_state_get_type), (register_gst_state_change_return),
17623         (gst_state_change_return_get_type), (register_gst_state_change),
17624         (gst_state_change_get_type), (register_gst_element_flags),
17625         (gst_element_flags_get_type), (register_gst_core_error),
17626         (gst_core_error_get_type), (register_gst_library_error),
17627         (gst_library_error_get_type), (register_gst_resource_error),
17628         (gst_resource_error_get_type), (register_gst_stream_error),
17629         (gst_stream_error_get_type), (register_gst_event_type_flags),
17630         (gst_event_type_flags_get_type), (register_gst_event_type),
17631         (gst_event_type_get_type), (register_gst_seek_type),
17632         (gst_seek_type_get_type), (register_gst_seek_flags),
17633         (gst_seek_flags_get_type), (register_gst_format),
17634         (gst_format_get_type), (register_gst_index_certainty),
17635         (gst_index_certainty_get_type), (register_gst_index_entry_type),
17636         (gst_index_entry_type_get_type),
17637         (register_gst_index_lookup_method),
17638         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
17639         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
17640         (gst_index_resolver_method_get_type), (register_gst_index_flags),
17641         (gst_index_flags_get_type), (register_gst_debug_level),
17642         (gst_debug_level_get_type), (register_gst_debug_color_flags),
17643         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
17644         (gst_iterator_result_get_type), (register_gst_iterator_item),
17645         (gst_iterator_item_get_type), (register_gst_message_type),
17646         (gst_message_type_get_type), (register_gst_mini_object_flags),
17647         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
17648         (gst_pad_link_return_get_type), (register_gst_flow_return),
17649         (gst_flow_return_get_type), (register_gst_activate_mode),
17650         (gst_activate_mode_get_type), (register_gst_pad_direction),
17651         (gst_pad_direction_get_type), (register_gst_pad_flags),
17652         (gst_pad_flags_get_type), (register_gst_pad_presence),
17653         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
17654         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
17655         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
17656         (gst_plugin_error_get_type), (register_gst_plugin_flags),
17657         (gst_plugin_flags_get_type), (register_gst_rank),
17658         (gst_rank_get_type), (register_gst_query_type),
17659         (gst_query_type_get_type), (register_gst_tag_merge_mode),
17660         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
17661         (gst_tag_flag_get_type), (register_gst_task_state),
17662         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
17663         (gst_alloc_trace_flags_get_type),
17664         (register_gst_type_find_probability),
17665         (gst_type_find_probability_get_type), (register_gst_uri_type),
17666         (gst_uri_type_get_type), (register_gst_parse_error),
17667         (gst_parse_error_get_type):
17668         * win32/common/gstenumtypes.h:
17669         * win32/common/gstversion.h:
17670           update visual studio generated files
17671
17672 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17673
17674         * win32/vs6/libgstbase.dsp:
17675         * win32/vs6/libgstelements.dsp:
17676           update project files for new locations
17677
17678 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
17679
17680         * Makefile.am:
17681           remove some files
17682         * README:
17683           reinstate and update
17684         * DEVEL:
17685         * REQUIREMENTS:
17686           removed
17687         * LICENSE:
17688         * docs/random/LICENSE:
17689           moved to random
17690
17691 2005-11-30  Edward Hervey  <edward@fluendo.com>
17692
17693         * gst/gsttypefind.c: (gst_type_find_register):
17694         * gst/gsttypefind.h:
17695         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
17696         (gst_type_find_factory_dispose):
17697         * gst/gsttypefindfactory.h:
17698         Fix memory leak in GstTypeFindFactory.
17699
17700 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17701
17702         * gst/gst.c:
17703         * plugins/elements/Makefile.am:
17704         * plugins/elements/gstelements.c:
17705         * plugins/elements/gstqueue.c:
17706           move queue from core to the elements plugin
17707
17708 2005-11-29  Andy Wingo  <wingo@pobox.com>
17709
17710         * libs/gst/base/gstbasetransform.h: 
17711         * libs/gst/base/gstbasesrc.h: 
17712         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
17713
17714         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
17715         of pointers by which to pad very extensible base classes (like the
17716         ones in libs/gst/base).
17717
17718 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17719
17720         * docs/gst/gstreamer-docs.sgml:
17721         * docs/gst/gstreamer-sections.txt:
17722         * docs/libs/gstreamer-libs-docs.sgml:
17723         * docs/libs/gstreamer-libs-sections.txt:
17724           moving documentation from core to lib
17725
17726 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17727
17728         * check/Makefile.am:
17729         * configure.ac:
17730         * docs/gst/Makefile.am:
17731         * gst/Makefile.am:
17732         * gst/base/.cvsignore:
17733         * gst/base/Makefile.am:
17734         * gst/base/README:
17735         * gst/base/gstadapter.c:
17736         * gst/base/gstadapter.h:
17737         * gst/base/gstbasesink.c:
17738         * gst/base/gstbasesink.h:
17739         * gst/base/gstbasesrc.c:
17740         * gst/base/gstbasesrc.h:
17741         * gst/base/gstbasetransform.c:
17742         * gst/base/gstbasetransform.h:
17743         * gst/base/gstcollectpads.c:
17744         * gst/base/gstcollectpads.h:
17745         * gst/base/gstpushsrc.c:
17746         * gst/base/gstpushsrc.h:
17747         * gst/base/gsttypefindhelper.c:
17748         * gst/base/gsttypefindhelper.h:
17749         * gst/check/Makefile.am:
17750         * gst/check/gstcheck.c:
17751         * gst/check/gstcheck.h:
17752         * gst/net/Makefile.am:
17753         * gst/net/gstnet.h:
17754         * gst/net/gstnetclientclock.c:
17755         * gst/net/gstnetclientclock.h:
17756         * gst/net/gstnettimepacket.c:
17757         * gst/net/gstnettimepacket.h:
17758         * gst/net/gstnettimeprovider.c:
17759         * gst/net/gstnettimeprovider.h:
17760         * libs/gst/Makefile.am:
17761         * libs/gst/base/Makefile.am:
17762         * libs/gst/base/gstbasetransform.c:
17763         * libs/gst/check/Makefile.am:
17764         * plugins/elements/Makefile.am:
17765         * po/POTFILES.in:
17766           CVS surgery + support to move base, check, and net out of gst
17767           and into libs/gst
17768
17769 2005-11-29  Andy Wingo  <wingo@pobox.com>
17770
17771         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
17772
17773         * gst/gststructure.h (struct _GstStructure): Only one pointer of
17774         padding.
17775
17776         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
17777
17778         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
17779
17780         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
17781
17782         * gst/gstobject.h: (struct _GstObject): Only one pointer of
17783         padding; reduces object size by about 30%. We don't expect
17784         anything else to go into gstobject.
17785
17786         * gst/gstminiobject.h (struct _GstMiniObject)
17787         (struct _GstMiniObjectClass): Only one pointer of padding; the
17788         payload is only a pointer and two ints anyway. For the class there
17789         are only two methods as well.
17790         
17791         * gst/gstelement.h (struct _GstElementClass): Removed
17792         the state_changed signal callback, it is not used.
17793
17794 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17795
17796         * docs/gst/gstreamer.types:
17797           fix includes, though they are a little dinky
17798
17799 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17800
17801         * check/Makefile.am:
17802           look in the right place for elements, a lot more chance of
17803           success
17804         * gst/Makefile.am:
17805           remove indexers and elements subdirs
17806         * plugins/Makefile.am:
17807           make indexers conditional
17808
17809 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17810
17811         * Makefile.am:
17812         * configure.ac:
17813         * plugins/elements/Makefile.am:
17814         * plugins/elements/gstcapsfilter.c:
17815         * plugins/elements/gstfilesink.c:
17816         * plugins/elements/gstfilesrc.c:
17817         * plugins/elements/gstidentity.c:
17818         * plugins/indexers/Makefile.am:
17819           do CVS surgery and related build fixery to move elements
17820           and indexers in a new gstreamer/plugins directory, out of the
17821           gst/ directory
17822
17823 2005-11-29  Andy Wingo  <wingo@pobox.com>
17824
17825         * check/Makefile.am:
17826         * pkgconfig/gstreamer-net-uninstalled.pc.in:
17827         * pkgconfig/gstreamer-net.pc.in:
17828         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
17829         #322257.
17830
17831 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17832
17833         * tools/Makefile.am:
17834         * tools/gst-complete.1.in:
17835         * tools/gst-complete.c:
17836         * tools/gst-compprep.1.in:
17837         * tools/gst-compprep.c:
17838           removing -compprep and -complete
17839
17840 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17841
17842         * gst/gstevent.c: (gst_event_new_new_segment),
17843         (gst_event_parse_new_segment):
17844         * gst/gstevent.h:
17845           fix #320529 - clean up new_segment API and structure.
17846           Let's hope everyone was using the methods, and not the structure.
17847
17848 2005-11-29  Edward Hervey  <edward@fluendo.com>
17849
17850         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17851         (gst_base_sink_event), (gst_base_sink_do_sync),
17852         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
17853         Properly handle non GST_FORMAT_TIME segment
17854         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
17855         Properly handle non GST_FORMAT_TIME segment
17856         * gst/gstsegment.c:
17857         This function is valid if the accumulator is 0 and the format
17858         is different from the requested format.
17859         
17860 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
17861
17862         * docs/gst/gstreamer-sections.txt:
17863         Add gst_query_new_seeking and gst_query_parse_seeking to the
17864         docs.
17865
17866 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
17867
17868         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
17869           Treat a pad alloc with new caps the same as if we were not
17870           negotiated, in order to allow a changing upstream output
17871           to produce a new format of data.
17872
17873 2005-11-29  Edward Hervey  <edward@fluendo.com>
17874
17875         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
17876         (gst_base_transform_event), (gst_base_transform_eventfunc):
17877         The event virtual method is now properly implemented, with a default
17878         handler
17879         Sub classes should call the parent_class event method. They should
17880         return FALSE if they had a problem handling the given event, or don't
17881         want GstBaseTransform to send that even downstream
17882         * gst/elements/gstidentity.c: (gst_identity_class_init),
17883         (gst_identity_init), (gst_identity_event),
17884         (gst_identity_transform_ip), (gst_identity_set_property),
17885         (gst_identity_get_property):
17886         * gst/elements/gstidentity.h:
17887         Added the single-segment boolean property.
17888         If set to TRUE, it will output a single segment of data, starting from
17889         0, will eat up all incoming newsegment, and modify the timestamp of the
17890         buffers accordingly
17891
17892 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
17893
17894         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
17895           Don't ref NULL target pad (#322751). Improve docs.
17896
17897 2005-11-29  Michael Smith  <msmith@fluendo.com>
17898
17899         * gst/gstregistryxml.c: (load_plugin):
17900           Don't crash if we failed to load a feature from a plugin. 
17901
17902 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
17903
17904         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
17905         (GST_START_TEST):
17906           use more check API and less GLib API
17907
17908 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
17909
17910         * Makefile.am:
17911           don't run checks if we don't have check
17912         * common/check.mak:
17913           remove the registry when running make torture
17914         * docs/gst/gstreamer-sections.txt:
17915           remove second multiply
17916         * gst/gstqueue.c: (gst_queue_loop):
17917           fix a compile warning when disabling debug
17918
17919 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
17920
17921         * gst/gstinfo.h:
17922         Hey! Let's print the pad name if the pointer != NULL instead
17923         of when it == NULL :-)
17924
17925 2005-11-28  Wim Taymans  <wim@fluendo.com>
17926
17927         * check/gst/gstutils.c: (GST_START_TEST):
17928         Updated check, add some scaling accuracy checking code.
17929
17930         * gst/gstutils.c: (gst_util_div128_64),
17931         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
17932         (gst_util_uint64_scale_int):
17933         Fix 6 times faster division code. Optimize for common 
17934         1/1 and less common X/1 cases.
17935
17936 2005-11-28  Wim Taymans  <wim@fluendo.com>
17937
17938         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
17939         More checks.
17940
17941         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
17942         (do_linear_regression), (gst_clock_add_observation):
17943         Cleanups.
17944         Release lock when the clock cannot be slaved.
17945         Catch the case where the regression returned an invalid denominator.
17946
17947         * gst/gstutils.c: (gst_util_div128_64_iterate),
17948         (gst_util_div128_64), (gst_util_uint64_scale_int64),
17949         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
17950         Add protentially more performant non-iterative 128/64 divide function
17951         that unfortunatly does not work yet.
17952         Shortcut the trivial 0/X = 0 case.
17953         Remove the warnings on overflow.
17954
17955 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
17956
17957         * gst/gstplugin.c: (gst_plugin_register_func):
17958           everything causing a plugin not to load should be at least a WARNING
17959
17960 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
17961
17962         * docs/random/ensonic/dparams.txt:
17963           some TODOs for the next dev cycle
17964         * libs/gst/controller/gstcontroller.c:
17965         (gst_controlled_property_set_interpolation_mode),
17966         (gst_controlled_property_new):
17967         * libs/gst/controller/gstcontroller.h:
17968           use base type to assign acccessor functions
17969
17970 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
17971
17972         * check/Makefile.am:
17973         Oops, that should have been top_srcdir
17974
17975 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
17976
17977         * check/Makefile.am:
17978         * check/elements/fdsrc.c: (GST_START_TEST):
17979         Use a cmdline define to specify the location of a file to use for
17980         testing, to avoid breaking distcheck.
17981
17982 2005-11-28  Andy Wingo  <wingo@pobox.com>
17983
17984         * gst/gstpad.c (fixate_value): Use array functions for arrays.
17985
17986 2005-11-28  Edward Hervey  <edward@fluendo.com>
17987
17988         * tools/gst-launch.c: (main):
17989         Clarify the output strings, makes it easier to translate.
17990         Fixes #322626
17991
17992 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
17993
17994         * gst/Makefile.am:
17995           don't try and build net if we don't even have <sys/socket.h>
17996
17997 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
17998
17999         * check/Makefile.am:
18000         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
18001         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
18002           Add tests for fdsrc seekability
18003
18004         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
18005         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
18006         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
18007         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
18008         * gst/elements/gstfdsrc.h:
18009           fdsrc should not be a 'live' source.
18010           Implement seeking on seekable fd's.
18011
18012         * gst/gstquery.c: (gst_query_new_seeking),
18013         (gst_query_parse_seeking):
18014         * gst/gstquery.h:
18015           Implement SEEKING query functions: 
18016             *_new_seeking and *_parse_seeking
18017
18018 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
18019
18020         * gst/gstelement.c: (gst_element_dispose):
18021           don't loop forever
18022
18023         * gst/gstiterator.c:
18024         * gst/gststructure.c:
18025           doc fixes
18026
18027         * libs/gst/controller/gstcontroller.c:
18028         (gst_controlled_property_set_interpolation_mode):
18029         * libs/gst/controller/gstcontroller.h:
18030         * libs/gst/controller/gstinterpolation.c:
18031         (interpolate_none_get_enum_value_array):
18032           support controlling enums
18033
18034 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
18035
18036         * gst/gstvalue.c:
18037           Improve documentation for gst_value_union().
18038
18039         * gst/gstvalue.h:
18040           Change return value for union, intersect and subtract functions
18041           from gint to gboolean.
18042
18043 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
18044
18045         * gst/gstvalue.c: (gst_value_serialize_any_list),
18046         (gst_value_transform_any_list_string),
18047         (gst_value_deserialize_list), (gst_value_deserialize_array),
18048         (gst_value_set_int_range), (gst_value_deserialize_int_range),
18049         (gst_value_set_double_range), (gst_value_deserialize_double_range),
18050         (gst_value_set_fraction_range_full),
18051         (gst_value_deserialize_fraction_range),
18052         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
18053         (gst_value_deserialize_boolean),
18054         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
18055         (gst_value_serialize_float), (gst_value_deserialize_float),
18056         (gst_string_wrap), (gst_value_deserialize_string),
18057         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
18058         (gst_value_union_int_range_int_range),
18059         (gst_value_intersect_int_range_int_range),
18060         (gst_value_intersect_double_range_double_range),
18061         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
18062         (gst_value_subtract_int_range_int_range),
18063         (gst_value_subtract_double_double_range),
18064         (gst_value_subtract_double_range_double_range),
18065         (gst_value_deserialize_fraction):
18066         * gst/gstvalue.h:
18067           Use gint, gdouble and gchar in our API instead of int, double and
18068           char (and make usage in gstvalue.c more consistent).
18069
18070 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
18071
18072         * check/Makefile.am:
18073         * libs/gst/controller/Makefile.am:
18074         * libs/gst/dataprotocol/Makefile.am:
18075           fix up Makefile.am and remove GST_ENABLE_NEW
18076
18077 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
18078
18079         * configure.ac:
18080         * gst/Makefile.am:
18081         * gst/base/Makefile.am:
18082         * gst/check/Makefile.am:
18083         * gst/elements/Makefile.am:
18084         * gst/net/Makefile.am:
18085           update LDFLAGS use some more
18086
18087 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
18088
18089         * common/m4/gst-doc.m4:
18090           Fixes #312589
18091
18092 2005-11-26  Edward Hervey  <edward@fluendo.com>
18093
18094         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
18095         This shouldn't issue a g_warning since it returns NULL if it
18096         couldn't find the plugin, and all functions using this behave
18097         properly on a NULL return. Switching to a GST_WARNING.
18098
18099 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
18100
18101         * gst/gstbin.c: (gst_bin_handle_message_func):
18102         Don't leak clock messages.
18103
18104 2005-11-25  Wim Taymans  <wim@fluendo.com>
18105
18106         * gst/gstutils.c: (gst_util_uint64_scale_int64),
18107         (gst_util_uint64_scale_int):
18108         Optimisations, remove unneeded vars.
18109
18110 2005-11-25  Wim Taymans  <wim@fluendo.com>
18111
18112         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18113         Added more checks for the high precision uint64 cases.
18114
18115         * gst/gstutils.c: (gst_util_uint64_scale_int64),
18116         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
18117         Implement high precision (guint64 * guint64) / guint64.
18118
18119 2005-11-24  Wim Taymans  <wim@fluendo.com>
18120
18121         * gst/base/gstbasesrc.c: (gst_base_src_query):
18122         Fix wrong percentage query.
18123
18124         * gst/gstutils.c: (gst_util_uint64_scale),
18125         (gst_util_uint64_scale_int):
18126         Add some more common cases that can be handled 
18127         efficiently to _scale.
18128
18129 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18130
18131         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
18132         (gst_mini_object_suite):
18133           don't use check calls from threads; check probably isn't
18134           threadsafe and using a lock to make it threadsafe would
18135           defeat the purpose of this check
18136         * gst/check/gstcheck.c:
18137         * gst/check/gstcheck.h:
18138           use GST_DEBUG some more
18139
18140 2005-11-24  Wim Taymans  <wim@fluendo.com>
18141
18142         * gst/gstutils.c: (gst_util_uint64_scale),
18143         (gst_util_uint64_scale_int):
18144         Chain trivial case to _scale_int.
18145
18146 2005-11-24  Wim Taymans  <wim@fluendo.com>
18147
18148         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18149         Added test for scaling.
18150
18151         * gst/gstclock.h:
18152         Small doc fix.
18153
18154         * gst/gstutils.c: (gst_util_uint64_scale_int):
18155         Implemented high precision scaling code.
18156
18157 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
18158
18159         * gst/gstinfo.h:
18160           do not crash on pad==NULL
18161
18162 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18163
18164         Patch by: Stefan Kost
18165
18166         * common/gtk-doc.mak:
18167         * docs/gst/Makefile.am:
18168         * docs/libs/Makefile.am:
18169           Fix distcheck issues for the libraries docs build
18170           Closes #319599.
18171
18172 2005-11-24  Michael Smith <msmith@fluendo.com>
18173
18174         * docs/manual/basics-helloworld.xml:
18175           Fix bug #315027: memory leak in example code in docs.
18176
18177 2005-11-24  Michael Smith <msmith@fluendo.com>
18178
18179         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18180           Unlock the PREROLL_LOCK in a failure case.
18181
18182 2005-11-24  Wim Taymans  <wim@fluendo.com>
18183
18184         * docs/gst/gstreamer-sections.txt:
18185         * gst/base/gstadapter.h:
18186         * gst/base/gstbasesink.h:
18187         * gst/base/gstbasesrc.h:
18188         * gst/base/gstbasetransform.h:
18189         * gst/base/gstpushsrc.h:
18190         * gst/elements/gstfakesink.h:
18191         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
18192         * gst/elements/gstfakesrc.h:
18193         * gst/elements/gstfilesink.h:
18194         * gst/elements/gstfilesrc.h:
18195         * gst/gst.c:
18196         * gst/gstbin.c:
18197         * gst/gstbuffer.c: (_gst_buffer_copy):
18198         * gst/gstbus.h:
18199         * gst/gstcaps.c:
18200         * gst/gstchildproxy.c:
18201         * gst/gstclock.c:
18202         * gst/gstelement.c:
18203         * gst/gstelementfactory.c:
18204         * gst/gstelementfactory.h:
18205         * gst/gstevent.c:
18206         * gst/gstghostpad.h:
18207         * gst/gstindex.h:
18208         * gst/gstinterface.h:
18209         * gst/gstminiobject.c:
18210         * gst/gstminiobject.h:
18211         * gst/gstpad.c:
18212         * gst/gstpad.h:
18213         * gst/gstpadtemplate.h:
18214         * gst/gstpipeline.h:
18215         * gst/gstpluginfeature.h:
18216         * gst/gstquery.h:
18217         * gst/gstqueue.h:
18218         * gst/gsttaglist.c:
18219         * gst/gsttaglist.h:
18220         * gst/gsttagsetter.c:
18221         * gst/gsttagsetter.h:
18222         * gst/gsttrace.c:
18223         * gst/gsttrace.h:
18224         * gst/gsttypefind.h:
18225         * gst/gsturi.h:
18226         * gst/gstvalue.c:
18227         * gst/net/gstnetclientclock.c:
18228         * gst/net/gstnetclientclock.h:
18229         * gst/net/gstnettimepacket.c:
18230         * gst/net/gstnettimeprovider.c:
18231         * gst/net/gstnettimeprovider.h:
18232         Doc fixes.
18233
18234 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18235
18236         * configure.ac: back to HEAD
18237
18238 === release 0.9.6 ===
18239
18240 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
18241
18242         * configure.ac:
18243           releasing 0.9.6, "Always On Time"
18244
18245 2005-11-23  Wim Taymans  <wim@fluendo.com>
18246
18247         * docs/gst/gstreamer-sections.txt:
18248         * gst/glib-compat.c:
18249         * gst/gsttagsetter.c:
18250         * gst/gstvalue.c:
18251         * gst/net/gstnetclientclock.c:
18252         * gst/net/gstnettimepacket.h:
18253         Doc updates.
18254
18255 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18256
18257         * docs/faq/using.xml:
18258         * docs/libs/tmpl/gstcontrol.sgml:
18259         * docs/manual/advanced-dparams.xml:
18260         * docs/manual/appendix-checklist.xml:
18261         * docs/manual/basics-elements.xml:
18262         * docs/pwg/other-source.xml:
18263         * docs/random/moving-plugins:
18264         * gst/gstpad.c:
18265         * tools/gst-launch.1.in:
18266           remove mentions of sinesrc
18267
18268 2005-11-23  Michael Smith <msmith@fluendo.com>
18269
18270         * docs/gst/gstreamer-sections.txt:
18271           Update for new API and API changes.
18272         * gst/gstobject.h:
18273           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
18274         * gst/gstvalue.c:
18275           Documentation typo fix.
18276         * gst/net/gstnettimepacket.c:
18277           Documentation fixes for arguments.
18278
18279 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
18280
18281         * gst/gststructure.c: (gst_structure_get_fraction),
18282         (gst_structure_parse_value),
18283         (gst_structure_fixate_field_nearest_fraction):
18284         * gst/gststructure.h:
18285         * gst/gstutils.c: (gst_util_uint64_scale_int):
18286         * gst/gstutils.h:
18287         * scripts/update-funcnames:
18288         API Changes. 
18289         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
18290         Make gst_structure_fixate_field_nearest_fraction take a numerator
18291         and denominator argument instead of a GValue
18292         add gst_structure_get_fraction helper function.
18293
18294 2005-11-23  Wim Taymans  <wim@fluendo.com>
18295
18296         * docs/design/part-TODO.txt:
18297         Update TODO.
18298
18299         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
18300         * gst/net/gstnetclientclock.h:
18301         Use parent fields for timeout and window_size.
18302
18303 2005-11-23  Andy Wingo  <wingo@pobox.com>
18304
18305         * check/net/gstnetclientclock.c (test_functioning): Adjust to
18306         rate_num/rate_denom change.
18307
18308         * gst/net/gstnetclientclock.c
18309         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
18310         OBJECT_LOCK. Don't call add_observation with the lock.
18311
18312         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
18313         fraction.
18314         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
18315         rate fraction.
18316         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
18317         deal with rate as a fraction whose numerator and denominator are
18318         GstClockTime values.
18319         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
18320         master; the other fields are protected by the SLAVE_LOCK.
18321         (do_linear_regression): Note that this must be called with the
18322         SLAVE_LOCK.
18323         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
18324         OBJECT_LOCK. Call set_calibration instead of touching the
18325         variables directly.
18326         (gst_clock_set_property, gst_clock_get_property): Protect
18327         master/slave parameters with the SLAVE_LOCK.
18328
18329         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
18330         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
18331         note that all of the instance variables that add_observation and
18332         the set_master functions use are protected by that lock and not
18333         the OBJECT_LOCK.
18334         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
18335
18336         * gst/gstclock.c (gst_clock_add_observation): No longer requires
18337         the caller to take the object lock.
18338
18339 2005-11-23  Wim Taymans  <wim@fluendo.com>
18340
18341         * gst/gsterror.c: (_gst_core_errors_init):
18342         * gst/gsterror.h:
18343         Add error for clock stuff.
18344
18345         * gst/gstpipeline.c: (gst_pipeline_change_state),
18346         (gst_pipeline_set_clock):
18347         Post clock error when clock cannot be used in a pipeline.
18348
18349 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
18350
18351         * docs/gst/gstreamer-sections.txt:
18352           make two symbols from gstinfo private for the docs
18353         * gst/base/gstcollectpads.h:
18354         * gst/gstutils.c:
18355           fix doc typos, update docs
18356
18357 2005-11-22  Wim Taymans  <wim@fluendo.com>
18358
18359         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
18360         (gst_base_sink_wait), (gst_base_sink_do_sync),
18361         (gst_base_sink_handle_event):
18362         * gst/base/gstbasesink.h:
18363         No need to store the clock, the parent element class already
18364         has it.
18365
18366         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
18367         Updates for clock_set returning a gboolean
18368
18369         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
18370         (gst_clock_id_wait_async), (gst_clock_class_init),
18371         (gst_clock_init), (gst_clock_finalize),
18372         (gst_clock_get_internal_time), (gst_clock_get_time),
18373         (gst_clock_slave_callback), (gst_clock_set_master),
18374         (gst_clock_get_master), (do_linear_regression),
18375         (gst_clock_add_observation), (gst_clock_set_property),
18376         (gst_clock_get_property):
18377         * gst/gstclock.h:
18378         Implement master/slave. When setting a clock as a slave, a
18379         periodic timeout is scheduled to sample master and slave times.
18380         Then the slave clock is recalibrated to match offset and rate
18381         of the master clock.
18382         Update logging a bit.
18383         Add flag so that a clock can state that is cannot be slaved to
18384         another clock.
18385
18386         * gst/gstelement.c: (gst_element_set_clock):
18387         * gst/gstelement.h:
18388         The set clock returns a gboolean for when an element cannot
18389         deal with the selected clock in the pipeline. 
18390
18391         * gst/gstpipeline.c: (gst_pipeline_change_state),
18392         (gst_pipeline_set_clock):
18393         * gst/gstpipeline.h:
18394         Handle the case where the selected clock cannot be set on
18395         the pipeline.
18396
18397         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
18398         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
18399         (gst_net_client_clock_set_property),
18400         (gst_net_client_clock_get_property),
18401         (gst_net_client_clock_observe_times):
18402         * gst/net/gstnetclientclock.h:
18403         Use regression code in GstClock parent, remove duplicated
18404         functionality.
18405
18406 2005-11-22  Michael Smith <msmith@fluendo.com>
18407
18408         * gst/gstutils.c: (gst_util_clock_time_scale):
18409         * gst/gstutils.h:
18410         * docs/gst/gstreamer-sections.txt:
18411           Rename method to have extra underscore.
18412
18413 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18414
18415         * gst/elements/Makefile.am:
18416         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
18417         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
18418         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
18419         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
18420         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
18421         * gst/elements/gstfakesrc.h:
18422         * gst/gstqueue.c: (queue_leaky_get_type):
18423           correctly fix GEnumValues so that nick is the short lowercase
18424           dashed tag
18425         * tools/gst-inspect.c: (print_element_properties_info):
18426           also show the nick, since it's useful to use from parse_launch
18427           syntax
18428           Fixes #322139
18429
18430 2005-11-22  Michael Smith <msmith@fluendo.com>
18431
18432         * gst/gstutils.c: (gst_util_clocktime_scale):
18433         * gst/gstutils.h:
18434         * docs/gst/gstreamer-sections.txt:
18435           Add util method for scaling a clocktime by a fraction. Useful 
18436           implementation is left as an exercise for the reader.
18437
18438 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18439
18440         * gst/gstvalue.c: (gst_value_collect_fraction_range):
18441         If needed, allocate storage in the destination value during
18442         collection.
18443
18444 2005-11-22  Edward Hervey  <edward@fluendo.com>
18445
18446         * docs/gst/gstreamer-sections.txt:
18447         * gst/Makefile.am:
18448         * gst/gst.h:
18449         * gst/gsturitype.c:
18450         * gst/gsturitype.h:
18451         * gst/gstutils.c: (gst_util_set_object_arg):
18452         * tools/gst-compprep.c: (main):
18453         * tools/gst-inspect.c: (print_element_properties_info):
18454         Removed GstURI, closes bug #321061
18455
18456 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18457
18458         * check/gst/gststructure.c: (GST_START_TEST):
18459         * gst/gststructure.c: (gst_structure_parse_value):
18460           Oops, broke automatic string type parsing.
18461           Add a test to catch it in future.
18462
18463 2005-11-22  Andy Wingo  <wingo@pobox.com>
18464
18465         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
18466         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
18467         Actually rename the function implementations. Grr.
18468
18469 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18470
18471         * check/gst/capslist.h:
18472           Comment test cases
18473         * check/gst/gststructure.c: (GST_START_TEST),
18474         (gst_structure_suite):
18475           Test automatic value type detection in gst_structure_from_string.
18476         * gst/gststructure.c: (gst_structure_parse_value):
18477           Add fraction as a type we try and guess automatically in
18478           caps/structure strings.
18479
18480 2005-11-22  Andy Wingo  <wingo@pobox.com>
18481
18482         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
18483
18484         * gst/gsttagsetter.h:
18485         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
18486         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
18487         (gst_tag_setter_add_tag_valist)
18488         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
18489         _add_values, _add_valist, and _add_valist_values. Since this is an
18490         interface the function suffixes should be more explicit so
18491         language binding don't end up with element.add_valist ->
18492         gst_tag_setter_add_valist, for example. Fixes #322069.
18493
18494 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18495
18496         * check/gst/gstcaps.c: (GST_START_TEST):
18497           Extend caps string tests to check that a caps to string
18498           conversion is reversible and produces the same caps.
18499
18500         * gst/gststructure.c: (gst_structure_value_get_generic_type):
18501           Output "fraction" as the generic type fraction range, so caps
18502           serialisation and deserialisation works.
18503         * check/gst/capslist.h:
18504         * gst/gstvalue.c: (gst_value_deserialize_fraction):
18505           Support 'MIN' and 'MAX' for deserialising fractions.
18506
18507 2005-11-22  Andy Wingo  <wingo@pobox.com>
18508
18509         * gst/gstevent.h (gst_event_new_new_segment)
18510         (gst_event_parse_new_segment, gst_event_new_buffer_size)
18511         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
18512         Renamed from *_newsegment, *_buffersize, *_notarget.
18513
18514         * scripts/update-funcnames: New script, performs the changes
18515         listed above.
18516
18517 2005-11-22  Wim Taymans  <wim@fluendo.com>
18518
18519         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18520         Make sure the GstFlowReturn is returned.
18521
18522         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
18523         (gst_bus_add_signal_watch):
18524         * gst/gstbus.h:
18525         add gst_bus_add_signal_watch_full.
18526
18527         * gst/gstplugin.c: (gst_plugin_load_file):
18528         Small style cleanup.
18529
18530 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18531
18532         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
18533           Block the fakesrc srcpad when we send an event, to avoid
18534           contention on the stream_lock causing random test failures.
18535
18536 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18537
18538         * check/gst/gstvalue.c: (GST_START_TEST):
18539         * gst/gstvalue.c: (gst_value_fraction_subtract):
18540           Fix subtraction.
18541
18542 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
18543
18544         * gst/gst.h:
18545           include "gstchildproxy.h"
18546         * gst/gstchildproxy.h:
18547         * libs/gst/controller/gstcontroller.h:
18548           use G_GNUC_NULL_TERMINATED
18549
18550 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
18551
18552         * check/gst/capslist.h:
18553         * check/gst/gstcaps.c: (GST_START_TEST):
18554         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
18555         * gst/gststructure.c: (gst_structure_parse_range),
18556         (gst_structure_fixate_field_nearest_fraction):
18557         * gst/gststructure.h:
18558         * gst/gstvalue.c: (gst_value_init_fraction_range),
18559         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
18560         (gst_value_collect_fraction_range),
18561         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
18562         (gst_value_set_fraction_range_full),
18563         (gst_value_get_fraction_range_min),
18564         (gst_value_get_fraction_range_max),
18565         (gst_value_serialize_fraction_range),
18566         (gst_value_transform_fraction_range_string),
18567         (gst_value_compare_fraction_range),
18568         (gst_value_deserialize_fraction_range),
18569         (gst_value_intersect_fraction_fraction_range),
18570         (gst_value_intersect_fraction_range_fraction_range),
18571         (gst_value_subtract_fraction_fraction_range),
18572         (gst_value_subtract_fraction_range_fraction),
18573         (gst_value_subtract_fraction_range_fraction_range),
18574         (gst_value_collect_fraction), (gst_value_fraction_multiply),
18575         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
18576         (gst_value_transform_string_fraction), (_gst_value_initialize):
18577         * gst/gstvalue.h:
18578           Implement fraction ranges and extend GstFraction to support
18579           arithmetic subtraction, as well as deserialization from integer
18580           strings such as "100"
18581           Add a testsuite as for int and double range set operations
18582
18583 2005-11-21  Andy Wingo  <wingo@pobox.com>
18584
18585         * gst/gsttaglist.h: 
18586         * gst/gstcaps.h: 
18587         * gst/gststructure.h: Add glib-compat.h.
18588
18589 2005-11-21  Wim Taymans  <wim@fluendo.com>
18590
18591         * gst/gstbin.c: (gst_bin_change_state_func):
18592         Fix for #321595
18593
18594 2005-11-21  Wim Taymans  <wim@fluendo.com>
18595
18596         * gst/gstsegment.h:
18597         And add a nice define too.
18598
18599 2005-11-21  Wim Taymans  <wim@fluendo.com>
18600
18601         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
18602         (gst_segment_new), (gst_segment_free), (gst_segment_init),
18603         (gst_segment_set_duration), (gst_segment_set_last_stop),
18604         (gst_segment_set_seek), (gst_segment_set_newsegment),
18605         (gst_segment_to_stream_time), (gst_segment_to_running_time),
18606         (gst_segment_clip):
18607         * gst/gstsegment.h:
18608         Make binding friendly.
18609
18610 2005-11-21  Andy Wingo  <wingo@pobox.com>
18611
18612         * gst/gsttagsetter.h: 
18613         * gst/gsttaglist.h: 
18614         * gst/gststructure.h: 
18615         * gst/gstcaps.h: 
18616         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
18617         #319940.
18618
18619         * gst/gsterror.c (_gst_core_errors_init):
18620         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
18621         category.
18622
18623         * gst/Makefile.am (gst_headers): Add glib-compat.h.
18624         (noinst_HEADERS): noinst the -private.
18625
18626 2005-11-21  Michael Smith <msmith@fluendo.com>
18627
18628         * gst/gstplugin.h:
18629         * gst/gstregistry.h:
18630           Remove unimplemented declarations for which we can see no sensible
18631           use.
18632
18633 2005-11-21  Andy Wingo  <wingo@pobox.com>
18634
18635         * gst/gst.h: Include glib-compat.h.
18636
18637         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
18638
18639         * gst/glib-compat.c: Include the public and the private header.
18640
18641         * gst/glib-compat-private.h: Copied here from glib-compat.h.
18642
18643         * gst/gstvalue.c: 
18644         * gst/gstpad.c: 
18645         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
18646
18647         * check/gst/gstevent.c (create_custom_events): Check that
18648         FLUSH_STOP is serialized.
18649
18650         * check/elements/identity.c (event_func): 
18651         * check/elements/fakesrc.c (event_func): No stream lock, the core
18652         takes it.
18653
18654         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
18655         stream lock taking, yay.
18656
18657         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
18658         ensure that core takes the stream lock.
18659
18660         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
18661         lock name change.
18662
18663         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
18664         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
18665         it already. For the flush start we do take it though so we get the
18666         right preroll state change messages.
18667
18668         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
18669         the stream lock here, the core does it for us.
18670
18671         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
18672         GST_STREAM_GET_LOCK.
18673         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
18674         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
18675         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
18676         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
18677         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
18678         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
18679
18680         * gst/gstpad.c: Update for stream lock name change.
18681
18682         * gst/base/gstbasesink.c: Update for preroll lock name change.
18683
18684 2005-11-21  Wim Taymans  <wim@fluendo.com>
18685
18686         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
18687         (gst_clock_get_master):
18688         * gst/gstclock.h:
18689         * gst/gstsystemclock.c: (gst_system_clock_init):
18690         Convert Clock flags to object flags.
18691         Added methods to manage master/slave clocks.
18692
18693 2005-11-21  Wim Taymans  <wim@fluendo.com>
18694
18695         * check/gst/gstsegment.c: (GST_START_TEST):
18696         * docs/design/part-TODO.txt:
18697         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18698         (gst_base_sink_event), (gst_base_sink_do_sync),
18699         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
18700         (gst_base_sink_query), (gst_base_sink_change_state):
18701         * gst/base/gstbasesink.h:
18702         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
18703         (gst_base_src_default_newsegment),
18704         (gst_base_src_configure_segment), (gst_base_src_do_seek),
18705         (gst_base_src_get_range), (gst_base_src_loop),
18706         (gst_base_src_change_state):
18707         * gst/base/gstbasesrc.h:
18708         * gst/base/gstbasetransform.c:
18709         (gst_base_transform_prepare_output_buf),
18710         (gst_base_transform_event), (gst_base_transform_change_state):
18711         * gst/base/gstbasetransform.h:
18712         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
18713         (gst_collect_pads_event):
18714         * gst/base/gstcollectpads.h:
18715         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
18716         (gst_fake_src_create):
18717         * gst/elements/gstfakesrc.h:
18718         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
18719         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
18720         (gst_segment_set_last_stop), (gst_segment_set_seek),
18721         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18722         (gst_segment_to_running_time), (gst_segment_clip):
18723         * gst/gstsegment.h:
18724         More segment updates, replace code in plugins with segment
18725         helper functions.
18726
18727 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
18728
18729         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
18730         Don't ignore sscanf results
18731
18732 2005-11-21  Andy Wingo  <wingo@pobox.com>
18733
18734         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
18735
18736         * *.h:
18737         * *.c: Ran scripts/update-macros. Oh yes.
18738
18739         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
18740         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
18741         GST_GET_LOCK, etc.
18742
18743         * scripts/update-macros: New script. Run it on your files to
18744         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
18745         well.
18746
18747 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
18748
18749         * docs/gst/Makefile.am:
18750         * docs/gst/gstreamer-docs.sgml:
18751         * docs/gst/gstreamer-sections.txt:
18752         * docs/gst/gstreamer.types:
18753         * gst/gstinfo.h:
18754           more docs fixes, add new api to the docs
18755
18756 2005-11-21  Andy Wingo  <wingo@pobox.com>
18757
18758         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
18759         state_broadcast call.
18760
18761         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
18762
18763 2005-11-21  Julien MOUTTE  <julien@moutte.net>
18764
18765         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
18766         function calls for arrays.
18767
18768 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
18769
18770         * docs/random/ensonic/media-device-daemon.txt:
18771           wild idea, can this be done?
18772         * docs/gst/gstreamer-sections.txt:
18773         * gst/gsterror.h:
18774         * gst/gstfilter.c:
18775         * gst/gstfilter.h:
18776         * gst/gstplugin.h:
18777         * gst/gstpluginfeature.c:
18778         * gst/gsttrace.c:
18779         * gst/gstvalue.c:
18780         * gst/gstvalue.h:
18781           doc fixes and additions
18782
18783 2005-11-21  Andy Wingo  <wingo@pobox.com>
18784
18785         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
18786         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
18787         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
18788         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
18789         private to the basesrc implementation.
18790
18791         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
18792         behalf of event function if necessary. It should no longer be
18793         necessary to take the stream lock in pad's event functions. Fixes
18794         #320299.
18795
18796 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
18797         * docs/gst/gstreamer-sections.txt:
18798         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
18799         (gst_structure_fixate_field_nearest_double),
18800         (gst_structure_fixate_field_boolean):
18801         * gst/gststructure.h:
18802         * win32/common/libgstreamer.def:
18803         * win32/gstreamer.def:
18804
18805         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
18806         (#322027)
18807
18808 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
18809
18810         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
18811         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
18812         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
18813         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
18814         (gst_fdsrc_uri_handler_init):
18815         * gst/elements/gstfdsrc.h:
18816           Port fd:// URI handler from 0.8 to fdsrc
18817
18818 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18819
18820         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
18821         (gst_value_serialize_fourcc):
18822         * gst/gstvalue.h:
18823           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
18824           consistent with our other format defines (#320324).
18825
18826 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18827
18828         * gst/gstvalue.c: (gst_value_is_fixed):
18829           Revert previous commit. Value lists are by definition
18830           not fixed, as they are a list of possible values.
18831
18832 2005-11-21  Andy Wingo  <wingo@pobox.com>
18833
18834         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
18835         during the stable series if we need it. Fixes #319178.
18836
18837         * gst/gstevent.c (gst_event_new_filler): Removed.
18838
18839         * check/gst/gstevent.c: Update comment about filler events.
18840
18841 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18842
18843         * gst/gstvalue.c: (gst_value_is_fixed):
18844           Should handle both value arrays and value lists.
18845
18846 2005-11-21  Andy Wingo  <wingo@pobox.com>
18847
18848         patch by: Alessandro Dessina <alessandro nnva org>
18849
18850         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
18851         functions to access arrays. Fixes #321962.
18852
18853 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18854
18855         * docs/gst/gstreamer.types:
18856           gst_collectpads_get_type => gst_collect_pads_get_type.
18857           
18858         * gst/base/gstbasetransform.c:
18859           Remove unused SIGNAL_HANDOFF enum.
18860
18861 2005-11-21  Andy Wingo  <wingo@pobox.com>
18862
18863         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
18864         the event type (upstream, downstream, serialized). Renamed
18865         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
18866         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
18867         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
18868
18869         * gst/gstevent.c: Update for new CUSTOM event names.
18870
18871         * check/gst/gstevent.c: Update check for new CUSTOM event names.
18872
18873         * gst/gstevent.h:
18874         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
18875         bug #319392.
18876
18877 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18878
18879         * docs/gst/gstreamer-sections.txt:
18880         * win32/common/libgstbase.def:
18881         * win32/libgstbase.def:
18882         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18883         (gst_collect_pads_class_init), (gst_collect_pads_init),
18884         (gst_collect_pads_finalize), (gst_collect_pads_new),
18885         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
18886         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
18887         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
18888         (gst_collect_pads_start), (gst_collect_pads_stop),
18889         (gst_collect_pads_peek), (gst_collect_pads_pop),
18890         (gst_collect_pads_available), (gst_collect_pads_read),
18891         (gst_collect_pads_flush), (gst_collect_pads_event),
18892         (gst_collect_pads_chain):
18893         * gst/base/gstcollectpads.h:
18894           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
18895           unimplemented functions as unimplemented. Add padding to
18896           GstCollectData. (#320766, #320423)
18897
18898 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
18899
18900         * gst/gstmessage.c:
18901           Improve docs for DURATION message (usage of duration parameter)
18902           (#320113)
18903
18904 2005-11-20  Wim Taymans  <wim@fluendo.com>
18905
18906         * check/Makefile.am:
18907         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
18908         (main):
18909         * gst/Makefile.am:
18910         * gst/gst.h:
18911         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
18912         (gst_segment_set_seek), (gst_segment_set_newsegment),
18913         (gst_segment_to_stream_time), (gst_segment_to_running_time),
18914         (gst_segment_clip):
18915         * gst/gstsegment.h:
18916         Added segment helper structure and methods. Not fully implemented
18917         yet.
18918         Added segment check.
18919
18920 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
18921
18922         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
18923           Add a deserialisation test for fractions
18924         * examples/metadata/read-metadata.c: (message_loop),
18925         (make_pipeline), (main):
18926           Fix up metadata reading sample.
18927         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
18928           Debug format fix
18929         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
18930           Don't try and fixate empty caps
18931         * gst/gst_private.h:
18932           Wrap in G_BEGIN_DECLS/G_END_DECLS
18933         * gst/gstvalue.c: (gst_value_collect_fraction),
18934         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
18935         (gst_value_transform_string_fraction),
18936         (gst_value_compare_fraction):
18937           Add some extra guards to ensure that we don't end up 
18938           with an invalid denominator of 0 in a gstfraction and
18939           that fractions always get reduced.
18940
18941 2005-11-20  Wim Taymans  <wim@fluendo.com>
18942
18943         * docs/gst/gstreamer-sections.txt:
18944         * gst/gstbuffer.h:
18945         * gst/gstelement.c:
18946         * gst/gstformat.c:
18947         * gst/gstformat.h:
18948         * gst/gstindex.h:
18949         * gst/gstquery.c:
18950         * gst/gstquery.h:
18951         * gst/gstvalue.c:
18952         Doc fixes.
18953
18954 2005-11-20  Wim Taymans  <wim@fluendo.com>
18955
18956         * docs/design/part-TODO.txt:
18957         * gst/gstcaps.h:
18958         Make a proper enum of the flag.
18959
18960 2005-11-19  Wim Taymans  <wim@fluendo.com>
18961
18962         * docs/design/part-TODO.txt:
18963         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
18964         (gst_format_to_quark), (gst_format_register):
18965         * gst/gstformat.h:
18966         * gst/gstquery.c: (_gst_query_initialize),
18967         (gst_query_type_get_name), (gst_query_type_to_quark),
18968         (gst_query_type_register):
18969         * gst/gstquery.h:
18970         Add type to quark and type to string conversions.
18971
18972 2005-11-19  Andy Wingo  <wingo@pobox.com>
18973
18974         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
18975         #320097.
18976
18977 2005-11-19  Wim Taymans  <wim@fluendo.com>
18978
18979         * docs/design/part-TODO.txt:
18980         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
18981         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
18982         (gst_bin_handle_message_func):
18983         * gst/gstbin.h:
18984         Make message handling overridable.
18985
18986 2005-11-19  Andy Wingo  <wingo@pobox.com>
18987
18988         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
18989
18990         * gst/gstclock.h:
18991         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
18992         be a GstClockTime.
18993         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
18994         is a GstClockTime. Fixes #321710.
18995
18996         * gst/gstclock.h (GstClock): Remove offset property. Add
18997         internal_calibration and external_calibration. Fix padding. Pad
18998         also by GstClockTime so we don't run into problems.
18999
19000         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
19001         (gst_clock_get_rate_offset): Remove.
19002         (gst_clock_set_time_adjust): Remove. Fixes #321712.
19003
19004         * gst/gstutils.h:
19005         * gst/gstutils.c (g_static_rec_cond_wait)
19006         (g_static_rec_cond_timed_wait): Removed, no longer needed.
19007
19008         * gst/gstbin.c: Remove terrible continue_state prototype.
19009
19010         * gst/gstelement.h (gst_element_continue_state): Make public.
19011
19012         * gst/gstelement.h:
19013         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
19014         by continue_state. Fixes #319389.
19015
19016         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
19017         Really fixes #168438. However I don't see anywhere where the
19018         filter function is called... stupid GStreamer...
19019         
19020         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
19021         don't have a dispose function, so it won't get called when the
19022         object is unreffed, but oh well!
19023
19024         * gst/gstindex.c (gst_index_set_filter_full): New API function,
19025         allows a destroy function to be set so user_data can be freed.
19026         Fixes #168438.
19027         (gst_index_set_filter): Call gst_index_set_filter_full.
19028
19029         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
19030
19031         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
19032         string should produce an error, given the lack of a way to
19033         represent NULL strings. Fixes #165650.
19034         
19035         * gst/gstvalue.h: 
19036         * gst/gstvalue.c (gst_value_array_append_value) 
19037         (gst_value_array_prepend_value, gst_value_array_get_size) 
19038         (gst_value_array_get_value): New API, copied from
19039         gst_value_list_*, only operates on arrays.
19040         (gst_value_list_append_value, gst_value_list_prepend_value) 
19041         (gst_value_list_concat, gst_value_list_get_size) 
19042         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
19043
19044         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
19045         init_list, because it works on both.
19046         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
19047         (gst_value_copy_list_or_array): Renamed from copy_list.
19048         (gst_value_free_list_or_array): Renamed from free_list.
19049         (gst_value_collect_list_or_array): Renamed from collect_list.
19050         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
19051         (gst_value_list_or_array_peek_pointer): Renamed from
19052         list_peek_pointer.
19053         (_gst_value_array_value_table, _gst_value_list_value_table):
19054         Update value table functions.
19055         (gst_value_compare_list_or_array): Renamed from compare_list.
19056
19057         * gsttaglist.h: Whoops, foreach function returns void. Also fix
19058         some constness.
19059
19060         * gst/gsttaglist.c:
19061         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
19062         GstTagList*. Fixes #143472.
19063
19064         * gst/gststructure.h: Clarify what the foreach/map functions can
19065         or can't do to their arguments.
19066
19067 2005-11-18  Wim Taymans  <wim@fluendo.com>
19068
19069         * gst/gstclock.c: (gst_clock_set_calibration),
19070         (gst_clock_get_calibration):
19071         Doc and API fixes.
19072         Calibration can be set with internal time equal to current
19073         internal time too.
19074
19075 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
19076
19077         * gst/gsterror.c:
19078         * gst/gsterror.h:
19079           document
19080
19081 2005-11-18  Andy Wingo  <wingo@pobox.com>
19082
19083         * configure.ac: 
19084         * pkgconfig/gstreamer-net.pc.in:
19085         * pkgconfig/gstreamer-net-uninstalled.pc.in:
19086         * pkgconfig/Makefile.am: Add net pkgconfig files.
19087
19088 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
19089
19090         * gst/gstcaps.c:
19091         * gst/gstghostpad.c:
19092         * gst/gsttrace.c:
19093         * gst/gstvalue.c:
19094         * gst/gstvalue.h:
19095           docs fixes
19096
19097 2005-11-18  Andy Wingo  <wingo@pobox.com>
19098
19099         * gst/net/gstnetclientclock.c: Turn off debugging.
19100
19101         * check/net/gstnetclientclock.c (test_functioning): Assert that the
19102         times connverge somewhat. Can't make a real test.
19103
19104         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
19105         integer arithmetic. Return the minimum of the domain, which can be
19106         set as "internal" for gst_clock_set_calibration.
19107         (gst_net_client_clock_observe_times): Call _set_calibration.
19108         (gst_net_client_clock_new): Call _set_calibration instead of
19109         rate_offset.
19110
19111         * check/net/gstnetclientclock.c (test_functioning): Use the right
19112         adjustment api.
19113
19114         * gst/gstclock.h:
19115         * gst/gstclock.c (gst_clock_get_calibration) 
19116         (gst_clock_set_calibration): New functions, obsolete the ones I
19117         added yesterday. Doh. Precision issues mean we have to extrapolate
19118         from a point in the more recent past than 1970.
19119         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
19120         obsolete.
19121         (gst_clock_adjust_unlocked): Use the right calibration data.
19122
19123 2005-11-18  Edward Hervey  <edward@fluendo.com>
19124
19125         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
19126         Also reset the ->current_* values in READY->PAUSED
19127
19128 2005-11-18  Andy Wingo  <wingo@pobox.com>
19129
19130         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
19131         Whoops, check the right fd. Also add some debugging.
19132         (gst_net_client_clock_observe_times): Adjust for int64 offset.
19133         (do_linear_regression): Add a crapload of debugging. Subtract off
19134         the minimum values from the input series to discard unneeded bits.
19135         Use only int arithmetic. There is still double arithmetic when
19136         calculating the intercept that needs fixing. Return boolean to
19137         indicate success; FALSE would mean the domain or range is too
19138         great. Still needs fixes.
19139
19140 2005-11-18  Wim Taymans  <wim@fluendo.com>
19141
19142         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
19143         For the current position in stream time, we need to subtract
19144         accumulated time.
19145         
19146         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
19147         Release lock before calling the callback function of async
19148         entries.
19149
19150 2005-11-18  Andy Wingo  <wingo@pobox.com>
19151
19152         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
19153         Port goes all the way to MAXUINT16.
19154
19155         * gst/net/gstnettimeprovider.c: Make the port range the same as
19156         for the kernel: 0 assigns, otherwise ports are less than
19157         MAXUINT16.
19158
19159         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
19160         port change.
19161
19162         * check/net/gstnetclientclock.c (test_functioning): Add the start
19163         of another test. 
19164
19165 2005-11-18  Wim Taymans  <wim@fluendo.com>
19166
19167         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
19168         (gst_bin_remove_func), (bin_bus_handler):
19169         * gst/gstbin.h:
19170         Removing a clock provider from a bin, triggers a clock lost message
19171         so that a new clock will be selected.
19172         Adding a clock to a bin triggers a clock provider message.
19173         Make sure we reselect a clock when we received a clock lost message.
19174         Keep a reference to the element that provided the clock.
19175
19176 2005-11-18  Andy Wingo  <wingo@pobox.com>
19177
19178         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
19179         the clock initially so it produces values around the base time.
19180         (gst_net_client_clock_class_init): Typo fix.
19181         (gst_net_client_clock_thread): Add note on when the socket gets
19182         closed.
19183
19184 2005-11-17  Wim Taymans  <wim@fluendo.com>
19185
19186         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
19187         Free remote and local time arrays.
19188
19189 2005-11-17  Wim Taymans  <wim@fluendo.com>
19190
19191         * gst/net/gstnetclientclock.c: (do_linear_regression),
19192         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
19193         Fix compilation, uninitialized vars and a forgotten continue.
19194
19195 2005-11-17  Andy Wingo  <wingo@pobox.com>
19196
19197         * check/Makefile.am (check_PROGRAMS): 
19198         * check/net/gstnetclientclock.c: Add a most minimal test for the
19199         net client clock. More to come later.
19200
19201         * gst/net/gstnet.h: 
19202         * gst/net/Makefile.am: Add netclientclock.
19203
19204         * gst/net/gstnetclientclock.h:
19205         * gst/net/gstnetclientclock.c: New files, implement an untested
19206         GstClock that takes its time from a network time provider.
19207         Implements the algorithm in network-clock.scm.
19208
19209         * tests/network-clock.scm (*window-size*): Rename from
19210         *queue-length*.
19211         * tests/network-clock.scm (network-time): 
19212         * tests/network-clock-utils.scm (q-push): Update callers.
19213
19214 2005-11-17  Wim Taymans  <wim@fluendo.com>
19215
19216         * gst/gstbin.c: (gst_bin_provide_clock_func),
19217         (gst_bin_sort_iterator_new):
19218         And unref the child too..
19219
19220 2005-11-17  Wim Taymans  <wim@fluendo.com>
19221
19222         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
19223         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
19224         Refactor the sort iterator so it can be used while holding the
19225         LOCK too.
19226         Make clock selection select a clock closest to the source.
19227
19228 2005-11-17  Michael Smith <msmith@fluendo.com>
19229
19230         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
19231         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
19232         * gst/gstclock.h:
19233           Anonymous structs are a gcc (and some other compilers) extension, so
19234           don't use them. Since this is only for ABI-compatibility, and our
19235           API/ABI freeze is over in a few days, this whole thing will only
19236           last a few days, so don't bother trying to think up a meaningful
19237           name for the struct.
19238
19239 2005-11-17  Andy Wingo  <wingo@pobox.com>
19240
19241         * gst/gstclock.h (GstClock): Add rate and offset properties,
19242         preserving ABI stability. Add rate/offset accessors. Will file bug
19243         for the freeze break.
19244
19245         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
19246         and offset, trying to keep precision and avoiding
19247         underflow/overflow.
19248         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
19249         functions. Make gst_clock_set_time_adjust obsolete.
19250         (gst_clock_set_time_adjust): Note that this function is obsolete.
19251         Will file bug soon.
19252
19253         * gst/base/gstbasetransform.h: Make the ABI-stability hack
19254         greppable by using GST_PADDING-1+1.
19255
19256 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
19257
19258         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
19259
19260         * gst/gstmessage.c: (gst_message_parse_clock_lost):
19261           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
19262
19263         * gst/gstpadtemplate.h:
19264         * gst/gstpluginfeature.h:
19265           Don't use c++ style comments in headers (#321638).
19266
19267 2005-11-16  Andy Wingo  <wingo@pobox.com>
19268
19269         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
19270         buffer.
19271
19272         * check/net/gstnettimeprovider.c: Check to see that the time
19273         provider actually provides times. Works, yo!
19274
19275 2005-11-16  Wim Taymans  <wim@fluendo.com>
19276
19277         * check/Makefile.am:
19278         Enable more tests.
19279
19280         * check/elements/fakesrc.c: (GST_START_TEST):
19281         Set element to NULL before disposing it.
19282
19283 2005-11-16  Andy Wingo  <wingo@pobox.com>
19284
19285         * gst/net/Makefile.am:
19286         * gst/net/gstnet.h:
19287         * gst/net/gstnettimeprovider.c: 
19288         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
19289         provider, include it from gstnet.h, and add it to the build.
19290
19291         * gst/net/gstnettimepacket.h: 
19292         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
19293         sending and receiving.
19294
19295 2005-11-16  Wim Taymans  <wim@fluendo.com>
19296
19297         * check/Makefile.am:
19298         Enable valgrind check.
19299
19300         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
19301         (gst_fake_src_alloc_buffer):
19302         Fix memleak.
19303
19304 2005-11-16  Wim Taymans  <wim@fluendo.com>
19305
19306         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
19307         Call parent finalize too.
19308
19309 2005-11-16  Wim Taymans  <wim@fluendo.com>
19310
19311         * check/Makefile.am:
19312         Enable valgrind check that should work fine now.
19313
19314         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
19315         * gst/gstqueue.c: (gst_queue_init):
19316         Fix memleaks in pad allocation.
19317
19318 2005-11-16  Andy Wingo  <wingo@pobox.com>
19319
19320         * gst/net/Makefile.am:
19321         * gst/net/gstnet.h: New part of core to hold network elements and
19322         objects. Put in core because it exposes API that applications want
19323         to use. The library is named libgstnet-tempname right now because
19324         of the existing libgstnet in gst-plugins-base. Solution is
19325         probably to rename the one in plugins-base; will file a bug for
19326         the freeze break.
19327
19328         * gst/net/gstnettimeprovider.c: 
19329         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
19330         get_time call over the network.
19331
19332         * configure.ac: 
19333         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
19334
19335         * check/Makefile.am:
19336         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
19337         get additions shortly.
19338
19339 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19340
19341         * gst/gstpad.c: (gst_pad_new_from_static_template):
19342         * gst/gstpad.h:
19343           add gst_pad_new_from_static_template functions
19344         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
19345         (gst_check_setup_sink_pad):
19346         * gst/elements/gsttee.c: (gst_tee_init):
19347           and use them
19348
19349 2005-11-16  Wim Taymans  <wim@fluendo.com>
19350
19351         * gst/gstpad.c: (gst_pad_pause_task):
19352         Removed warning, it's not really an error either.
19353
19354 2005-11-16  Wim Taymans  <wim@fluendo.com>
19355
19356         * gst/base/gstbasetransform.c:
19357         (gst_base_transform_prepare_output_buf),
19358         (gst_base_transform_event):
19359         Check if the caps are NULL, this can happen if the element
19360         is shutting down and the pad caps are set to NULL.
19361
19362 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19363
19364         * gst/elements/gsttee.c: (gst_tee_init):
19365           fix pad template leak in tee
19366
19367 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19368
19369         * gst/glib-compat.c: (g_value_dup_gst_object):
19370         * gst/glib-compat.h:
19371         * gst/gstpad.c: (gst_pad_set_property):
19372           use gst_object_ref when setting the pad template; this will
19373           trigger the pad template leaks on GLib 2.6 and the slaves
19374
19375 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19376
19377         * gst/glib-compat.c: (gst_flags_get_first_value):
19378         * gst/glib-compat.h:
19379         * gst/gstregistryxml.c:
19380           remove functions copied from GLib 2.6
19381
19382 2005-11-16  Michael Smith <msmith@fluendo.com>
19383
19384         * gst/Makefile.am:
19385           Don't link against VALGRIND_LIBS. That was always the wrong thing to
19386           do, but only breaks with newer valgrind versions. We're not a
19387           valgrind tool, we have no link-time dependencies on libcoregrind.
19388
19389 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19390
19391         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
19392           some debug changes
19393         * gst/gstmessage.h:
19394           typo fixes
19395
19396 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19397
19398         * gst/base/gstbasesrc.c: (gst_base_src_init):
19399         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
19400         * gst/gstqueue.c: (gst_queue_init):
19401         * gst/gstregistryxml.c: (load_feature):
19402           Revert all these unrefs, they don't even pass make check !
19403
19404 2005-11-15  Johan Dahlin  <johan@gnome.org>
19405
19406         * gst/base/gstbasesrc.c: (gst_base_src_init):
19407         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
19408         * gst/gstqueue.c: (gst_queue_init): 
19409         Free pad templates, fixes a couple of leaks.
19410
19411 2005-11-15  Daniel Fischer  <dan at f3c dot com>
19412
19413         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
19414
19415         * gst/gstpad.c: (gst_pad_get_property):
19416           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
19417           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
19418           (#321452)
19419
19420 2005-11-15  Wim Taymans  <wim@fluendo.com>
19421
19422         * gst/gstevent.c:
19423         Small doc update.
19424
19425 2005-11-15  Andy Wingo  <wingo@pobox.com>
19426
19427         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
19428
19429         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
19430         using GST_CLOCK_TIME_NONE to disable base time management.
19431         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
19432         time if it was NONE before.
19433         (gst_pipeline_change_state): Only munge the base time if
19434         stream_time != GST_CLOCK_TIME_NONE.
19435
19436         * check/gst/gstpipeline.c (test_base_time): Punt around the
19437         problem of the probe not being called, because that's not the
19438         issue I'm looking at. Add a check that setting stream_time to NONE
19439         disables base time management.
19440         
19441 2005-11-15  Wim Taymans  <wim@fluendo.com>
19442
19443         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
19444         segment_stop == -1 at startup.
19445
19446         * gst/base/gstbasetransform.c: (gst_base_transform_event),
19447         (gst_base_transform_change_state):
19448         Init segment values at start.
19449
19450 2005-11-15  Wim Taymans  <wim@fluendo.com>
19451
19452         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19453         0 segment values are 0 in any format.
19454
19455         * gst/base/gstbasetransform.c: (gst_base_transform_event):
19456         * gst/base/gstbasetransform.h:
19457         Parse newsegment correctly in basetransform
19458
19459         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19460         Sync to clock using updated segment values.
19461
19462 2005-11-15  Andy Wingo  <wingo@pobox.com>
19463
19464         * check/gst/gstpipeline.c (test_base_time): Add check that the
19465         base time and stream time are reset correctly.
19466
19467 2005-11-15  Wim Taymans  <wim@fluendo.com>
19468
19469         * docs/design/part-TODO.txt:
19470         Some more TODO items.
19471
19472 2005-11-15  Andy Wingo  <wingo@pobox.com>
19473
19474         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
19475         error if the user selected "no clock" as the clocking method.
19476
19477         * check/gst/gstpipeline.c (test_base_time): New test for buffer
19478         timestamps with live capture.
19479
19480         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
19481         is 0 but we are a live source, timestamp the buffers using the
19482         element's clock.
19483
19484 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
19485
19486         * docs/gst/gstreamer-sections.txt:
19487         * gst/gsterror.c:
19488         * gst/gstghostpad.c:
19489         * gst/gstobject.h:
19490         * gst/gstxml.c:
19491           more section docs
19492
19493 2005-11-14  Wim Taymans  <wim@fluendo.com>
19494
19495         * common/gst.supp:
19496           add suppressions from Wim's Debian machine
19497
19498 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
19499
19500         * common/gst.supp:
19501           add suppressions from Andy's AMD64 Ubuntu machine
19502
19503 2005-11-14  Andy Wingo  <wingo@pobox.com>
19504
19505         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
19506         STATE_LOCK not necessary. Fixes #311489.
19507
19508         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
19509         #305291.
19510
19511         * gst/gstindex.c (gst_index_add_object): Note in the docs that
19512         this function is not implemented.
19513
19514 2005-11-14  Julien MOUTTE  <julien@moutte.net>
19515
19516         * gst/base/gstbasetransform.c:
19517         (gst_base_transform_prepare_output_buf):
19518         Ref the source pad caps while we need them.
19519         Fixes (#321386)
19520
19521 2005-11-11  Wim Taymans  <wim@fluendo.com>
19522
19523         * docs/gst/gstreamer-sections.txt:
19524         Added some docs for GstCollectData.
19525
19526         * gst/base/gstadapter.c:
19527         Some small code example fix.
19528
19529         * gst/base/gstcollectpads.c:
19530         * gst/base/gstcollectpads.h:
19531         Document some more.
19532
19533 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19534
19535         * configure.ac: back to HEAD
19536
19537 === release 0.9.5 ===
19538
19539 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
19540
19541         * configure.ac:
19542           releasing 0.9.5, "Bike Lunch Day"
19543
19544 2005-11-11  Wim Taymans  <wim@fluendo.com>
19545
19546         * gst/gstbuffer.c: (_gst_buffer_copy):
19547         Copy more flags.
19548
19549         * gst/gstcaps.c: (gst_caps_is_equal):
19550         Fix some docs.
19551         Make _is_equal fast in the trivial cases.
19552
19553         * gst/gstminiobject.c:
19554         * gst/gstminiobject.h:
19555         More docs. Spifify .h file.
19556
19557         * gst/gstutils.c:
19558         Small doc update.
19559
19560 2005-11-11  Wim Taymans  <wim@fluendo.com>
19561
19562         * gst/base/gstbasetransform.c:
19563         (gst_base_transform_prepare_output_buf),
19564         (gst_base_transform_handle_buffer):
19565         Small cleanups.
19566         If we're processing a buffer and need to allocate an output
19567         buffer, we cannot accept a format change. If we did get a 
19568         format change, we have to alloc a buffer ourselves of the 
19569         right size.
19570
19571 2005-11-11  Wim Taymans  <wim@fluendo.com>
19572
19573         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
19574         While checking the flag for reentrancy in the gstcaps function
19575         is nice to detect recursive invocations, it also makes it 
19576         impossible to call getcaps from multiple threads, which must be
19577         possible. So, checking for recursive calls has to go.
19578
19579 2005-11-11  Michael Smith <msmith@fluendo.com>
19580
19581         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
19582           Don't sync on buffers that fall partially outside our current
19583           segment. Prevents an assertion failure/abort playing some files.
19584
19585 2005-11-10  Andy Wingo  <wingo@pobox.com>
19586
19587         * check/gst/gstbin.c (test_message_state_changed_children): Style
19588         fix..
19589
19590         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
19591         gst_bus_poll with the signal watch. Ensures that poll and a signal
19592         watch see the same messages.
19593
19594         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
19595         a poll and a watch at the same time get the same messages.
19596
19597 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19598
19599         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
19600         * gst/gstcaps.c: (gst_caps_intersect):
19601           Don't call gst_caps_do_simplify - it doesn't respect order of caps
19602           and it's not needed.
19603
19604 2005-11-10  Wim Taymans  <wim@fluendo.com>
19605
19606         * docs/design/part-TODO.txt:
19607         Updated todo.
19608
19609 2005-11-10  Wim Taymans  <wim@fluendo.com>
19610
19611         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
19612         * gst/base/gstbasesrc.c: (gst_base_src_wait),
19613         (gst_base_src_do_sync), (gst_base_src_get_range):
19614         Implement clock sync in base class.
19615
19616 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19617
19618         patch by: Tim-Philipp Müller <tim at centricular dot net>
19619
19620         * gst/gststructure.c: (gst_structure_parse_field),
19621         (gst_structure_from_string):
19622           Forward-port a 0.8 patch to handle escaped spaces in structure string,
19623           so that gst_parse_launch() can deal with spaces in filtered link
19624           caps (fixes #164479)
19625         * check/gst/capslist.h:
19626         * check/gst/gststructure.c: (GST_START_TEST):
19627           add unit tests for this change
19628
19629 2005-11-10  Wim Taymans  <wim@fluendo.com>
19630
19631         * docs/gst/gstreamer-sections.txt:
19632         * gst/gstelement.c:
19633         * gst/gstelement.h:
19634         Fix docs, move some STATE macros to private.
19635
19636 2005-11-10  Wim Taymans  <wim@fluendo.com>
19637
19638         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
19639         Added check for bug #317341
19640
19641         * gst/gstbuffer.c:
19642         * gst/gstbuffer.h:
19643         Some more spiffifying.
19644
19645         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
19646         Call peer linkfunction if we are a source pad. Totally fixes
19647         #317341
19648
19649         * gst/gstpad.c:
19650         Update docs, source pads should call the peer linkfunction
19651         so they can atomically perform the pad link.
19652
19653 2005-11-09  Wim Taymans  <wim@fluendo.com>
19654
19655         * gst/gstbuffer.c:
19656         * gst/gstbuffer.h:
19657         Uber-spiffy-spiffify some more.
19658
19659 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
19660
19661         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
19662         * gst/elements/gstfilesink.c: (gst_file_sink_init):
19663         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
19664         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
19665         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
19666         * gst/gstpad.c: (gst_pad_init):
19667           Use GST_DEBUG_FUNCPTR() more extensively.
19668
19669 2005-11-09  Wim Taymans  <wim@fluendo.com>
19670
19671         * gst/gstobject.c: (gst_object_class_init):
19672         * gst/gstobject.h:
19673         Documentation fixes.
19674
19675 2005-11-09  Edward Hervey  <edward@fluendo.com>
19676
19677         * gst/gsttypefindfactory.c:
19678         Fix docs.
19679         
19680 2005-11-09  Edward Hervey  <edward@fluendo.com>
19681
19682         * gst/base/gsttypefindhelper.c:
19683         * gst/gsttypefind.c:
19684         * gst/gsttypefind.h:
19685         Fix docs.
19686
19687 2005-11-09  Wim Taymans  <wim@fluendo.com>
19688
19689         * gst/gstiterator.c:
19690         Fix revision data.
19691
19692         * gst/gsttask.c:
19693         * gst/gsttask.h:
19694         Fix docs.
19695
19696 2005-11-09  Wim Taymans  <wim@fluendo.com>
19697
19698         * gst/gstevent.h:
19699         * gst/gsturi.h:
19700         Fix docs.
19701
19702 2005-11-09  Wim Taymans  <wim@fluendo.com>
19703
19704         * docs/gst/gstreamer-sections.txt:
19705         Moved the message async delivery private lock and cond
19706         to the private section.
19707
19708         * gst/gstmessage.c:
19709         * gst/gstmessage.h:
19710         Fixed docs.
19711
19712 2005-11-09  Edward Hervey  <edward@fluendo.com>
19713
19714         * docs/gst/gstreamer-sections.txt:
19715         * gst/gsturi.c:
19716         * gst/gsturi.h:
19717         Document GstURIHandler
19718
19719 2005-11-09  Wim Taymans  <wim@fluendo.com>
19720
19721         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
19722         (gst_iterator_find_custom):
19723         * gst/gstiterator.h:
19724         Fix iterator docs.
19725
19726 2005-11-09  Wim Taymans  <wim@fluendo.com>
19727
19728         * gst/gstbin.h:
19729         Document another field.
19730
19731         * gst/gststructure.c:
19732         * gst/gststructure.h:
19733         Document.
19734
19735 2005-11-09  Wim Taymans  <wim@fluendo.com>
19736
19737         * gst/gstbin.h:
19738         Documented structs.
19739
19740 2005-11-09  Wim Taymans  <wim@fluendo.com>
19741
19742         * docs/gst/gstreamer-sections.txt:
19743         Added some new macros.
19744
19745         * gst/gstclock.c:
19746         * gst/gstclock.h:
19747         * gst/gstobject.h:
19748         Docs updates.
19749
19750 2005-11-09  Wim Taymans  <wim@fluendo.com>
19751
19752         * docs/design/part-TODO.txt:
19753         Some more items for the TODO
19754
19755         * gst/gstcaps.c:
19756         * gst/gstcaps.h:
19757         Document GstCaps.
19758
19759 2005-11-09  Andy Wingo  <wingo@pobox.com>
19760
19761         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
19762         to work on something else now tho...
19763
19764         * gst/base/gstadapter.c: More adapter docs.
19765
19766         * gst/elements/gstfilesink.c (gst_file_sink_start) 
19767         (gst_file_sink_stop): New functions, replace the state change
19768         handler.
19769         (gst_file_sink_class_init): Hook up the start and stop functions.
19770         (gst_file_sink_base_init): Don't set the state change handler any
19771         more. It was a bit ugly too, being set from here...
19772         (gst_file_sink_get_property, gst_file_sink_set_property):
19773         Cleanups...
19774         (gst_file_sink_set_location): More robust check that doesn't call
19775         GST_STATE. Ugggggg.
19776
19777 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
19778
19779         * gst/base/gstbasetransform.c: (gst_base_transform_event):
19780           Hold STREAM_LOCK while pushing newsegment or tag events as well.
19781
19782 2005-11-08  Wim Taymans  <wim@fluendo.com>
19783
19784         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19785         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
19786         (gst_base_sink_chain), (gst_base_sink_change_state):
19787         * gst/base/gstbasesink.h:
19788         * gst/base/gstbasesrc.h:
19789         * gst/gstelement.h:
19790         * gst/gstevent.h:
19791         Avoid excessive typechecking in macros.
19792
19793         * gst/gstminiobject.c: (gst_mini_object_get_type),
19794         (gst_mini_object_init), (gst_mini_object_new),
19795         (gst_mini_object_free):
19796         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
19797         (gst_object_finalize):
19798         Remove cruft code, optimize alloc_trace.
19799
19800 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19801
19802         * docs/faq/gst-uninstalled:
19803           fix up PS1 for systems that try to reset it
19804
19805 2005-11-07  Wim Taymans  <wim@fluendo.com>
19806
19807         * gst/base/gstbasesrc.c: (gst_base_src_init),
19808         (gst_base_src_get_range):
19809         Set the segment_end to -1 initially. Fixed typefind.
19810
19811 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
19812
19813         * gst/base/gstadapter.c:
19814           Debug category should be 'adapter', not 'GstAdapter'.
19815           
19816         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
19817         (gst_collectpads_class_init), (gst_collectpads_init),
19818         (gst_collectpads_peek), (gst_collectpads_pop),
19819         (gst_collectpads_event), (gst_collectpads_chain):
19820           Add debug category and some debugging output. Use boilerplate
19821           macros. Remove some extraneous words from docs.
19822
19823 2005-11-05  Andy Wingo  <wingo@pobox.com>
19824
19825         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
19826         macro.
19827
19828 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
19829
19830         * docs/gst/gstreamer-sections.txt:
19831         * gst/gstcaps.h:
19832         * gst/gstinfo.c:
19833         * gst/gstminiobject.h:
19834         * gst/gstobject.h:
19835         * gst/gstutils.h:
19836           more docs added
19837
19838 2005-11-04  Wim Taymans  <wim@fluendo.com>
19839
19840         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
19841         Small update to stop at the configured segment_end
19842         position.
19843
19844 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
19845
19846         * gst/gstregistry.c:
19847         * gst/gstregistry.h:
19848           added missing docs
19849
19850 2005-11-04  Edward Hervey  <edward@fluendo.com>
19851
19852         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
19853         Check if we are doing a segment seek and have arrived at the
19854         end of that segment.
19855
19856 2005-11-04  Wim Taymans  <wim@fluendo.com>
19857
19858         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
19859         Don't leak a mutex unlock in case of an error.
19860
19861         * gst/gstbus.h:
19862         Doc fixes.
19863
19864 2005-11-04  Wim Taymans  <wim@fluendo.com>
19865
19866         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
19867         (gst_bus_post):
19868         Get the context to wake up only once.
19869
19870 2005-11-03  Wim Taymans  <wim@fluendo.com>
19871
19872         * check/states/sinks.c: (GST_START_TEST):
19873         Uncomment fixed check.
19874
19875         * docs/design/part-TODO.txt:
19876         Updated TODO.
19877
19878         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
19879         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
19880         (gst_base_sink_get_position):
19881         If we are going to PLAYING, post the right pending state
19882         when we post the intermediate paused message.
19883
19884         * gst/gstelement.c: (gst_element_continue_state),
19885         (gst_element_set_state_func), (gst_element_change_state):
19886         Don't post state changes that were between the same state
19887         and were not ASYNC.
19888
19889 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
19890
19891         * docs/gst/gstreamer-sections.txt:
19892         * gst/gstcaps.h:
19893         * gst/gstinfo.c:
19894         * gst/gstminiobject.h:
19895         * gst/gstobject.h:
19896         * gst/gstutils.h:
19897           more docs and doc style fixes
19898
19899 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
19900
19901         * docs/gst/gstreamer-sections.txt:
19902         * gst/gstelement.c:
19903         * gst/gstminiobject.c:
19904         doc fixes
19905
19906 2005-11-03  Andy Wingo  <wingo@pobox.com>
19907
19908         * check/states/sinks.c (test_livesrc_sink): Add checks that the
19909         state-changed messages actually have the right order and the right
19910         values.
19911
19912 2005-11-03  Wim Taymans  <wim@fluendo.com>
19913
19914         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
19915         Added some more checks. Specifically the case where NO_PREROLL
19916         elements are in the pipeline.
19917
19918         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
19919         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
19920         (gst_base_sink_get_position):
19921         Post READY->PAUSED state change messages too.
19922         Fix bug where VOID was posted as pending state...
19923
19924         * gst/gstbin.c: (gst_bin_recalc_state):
19925         use _element_continue_state() to continue the state change.
19926
19927         * gst/gstelement.c: (gst_element_continue_state),
19928         (gst_element_commit_state), (gst_element_set_state_func),
19929         (gst_element_change_state), (gst_element_change_state_func):
19930         Lots of state change cleanups, assign the STATE_RETURN in
19931         a new continue_state() function that also propagates the
19932         last return value from a state change to the app.
19933         Update some debug statements with proper category.
19934
19935 2005-11-03  Wim Taymans  <wim@fluendo.com>
19936
19937         * docs/design/part-events.txt:
19938         * docs/design/part-gstpipeline.txt:
19939         * docs/design/part-messages.txt:
19940         * docs/design/part-overview.txt:
19941         * docs/design/part-seeking.txt:
19942         * docs/design/part-states.txt:
19943         * docs/design/part-trickmodes.txt:
19944         * docs/manual/advanced-position.xml:
19945         Small docs updates.
19946
19947         * gst/gstobject.h:
19948         People think !! is ugly, this looks better.
19949
19950         * gst/gstpad.c: (gst_pad_set_blocked_async):
19951         Remove !! since it's fixed elsewhere now.
19952
19953 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
19954
19955         * gst/gstminiobject.h:
19956         * gst/gstobject.h:
19957           Add !! to _FLAG_IS_SET macros to make the result boolean.
19958
19959 2005-11-03  Edward Hervey  <edward@fluendo.com>
19960
19961         * gst/gstpad.c: (gst_pad_set_blocked_async):
19962         comparing a flag and a gboolean rarely returns coherent results...
19963         Added two characters (!!) to make that work correctly.
19964         
19965 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
19966
19967         * gst/gstbus.c: (gst_bus_class_init):
19968           Fix some typos.
19969           
19970         * gst/gstqueue.c: (gst_queue_loop):
19971           Don't assume a miniobject that isn't a buffer is an
19972           event (it could be that there is a refcounting
19973           problem somewhere and the pointer is stale and
19974           refers to an already destroyed miniobject).
19975
19976 2005-11-03  Julien MOUTTE  <julien@moutte.net>
19977
19978         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
19979
19980 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
19981
19982         * docs/manual/advanced-position.xml:
19983           Update seek example and explanations to current 0.9 API.
19984
19985         * gst/elements/gsttypefindelement.c:
19986         (gst_type_find_element_activate):
19987           Remove FIXME comment now that the found caps
19988           are unreffed.
19989
19990 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
19991
19992         * gst/gstregistryxml.c: (load_feature):
19993           Add another GST_STR_NULL instance
19994
19995 2005-11-02  Edward Hervey  <edward@fluendo.com>
19996
19997         * gst/gstpad.c: (handle_pad_block):
19998         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
19999         
20000 2005-11-02  Wim Taymans  <wim@fluendo.com>
20001
20002         * gst/gstbin.c:
20003         Fix typo in docs.
20004
20005         * gst/gstelement.c: (gst_element_commit_state):
20006         Remove unused value.
20007
20008         * gst/gstiterator.c:
20009         Mention that the returned element is reffed in the docs.
20010
20011 2005-11-02  Wim Taymans  <wim@fluendo.com>
20012
20013         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
20014         (gst_pad_push), (gst_pad_push_event):
20015         Unlock blocked pads when they are flushed.
20016
20017 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
20018
20019         * docs/README:
20020         * docs/gst/gstreamer-sections.txt:
20021         * gst/gstbin.c:
20022           doc updates
20023         * gst/gstregistry.c: (gst_registry_scan_path_level):
20024           fix for a nasty little missed situation where an installed plug-in
20025           which was in the cache did not get overridden by an uninstalled one
20026           which was earlier in the plugin path because the newly created plugin
20027           for the uninstalled one (not in the registry) didn't get its
20028           ->registered set to TRUE
20029
20030 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
20031
20032         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
20033         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
20034         (gst_collectpads_is_active), (gst_collectpads_collect),
20035         (gst_collectpads_collect_range), (gst_collectpads_start),
20036         (gst_collectpads_stop), (gst_collectpads_peek),
20037         (gst_collectpads_pop), (gst_collectpads_available),
20038         (gst_collectpads_read), (gst_collectpads_flush):
20039           Guard public API with assertions.
20040         
20041         * gst/gstpad.c:
20042           Fix docs for gst_pad_set_link_function().
20043
20044 2005-11-02  Johan Dahlin  <johan@gnome.org>
20045
20046         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
20047         Unref found_caps after we used it.
20048
20049 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
20050
20051         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
20052           Don't try to ref NULL.
20053
20054 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
20055
20056         * win32/common/config.h.in:
20057           provide a GST_FUNCTION that just gives a string for now
20058
20059 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
20060
20061         * win32/common/gstenumtypes.c: (register_gst_object_flags),
20062         (gst_object_flags_get_type), (register_gst_bin_flags),
20063         (gst_bin_flags_get_type), (register_gst_buffer_flag),
20064         (gst_buffer_flag_get_type), (register_gst_bus_flags),
20065         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
20066         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
20067         (gst_clock_return_get_type), (register_gst_clock_entry_type),
20068         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
20069         (gst_clock_flags_get_type), (register_gst_state),
20070         (gst_state_get_type), (register_gst_state_change_return),
20071         (gst_state_change_return_get_type), (register_gst_state_change),
20072         (gst_state_change_get_type), (register_gst_element_flags),
20073         (gst_element_flags_get_type), (register_gst_core_error),
20074         (gst_core_error_get_type), (register_gst_library_error),
20075         (gst_library_error_get_type), (register_gst_resource_error),
20076         (gst_resource_error_get_type), (register_gst_stream_error),
20077         (gst_stream_error_get_type), (register_gst_event_type),
20078         (gst_event_type_get_type), (register_gst_seek_type),
20079         (gst_seek_type_get_type), (register_gst_seek_flags),
20080         (gst_seek_flags_get_type), (register_gst_format),
20081         (gst_format_get_type), (register_gst_index_certainty),
20082         (gst_index_certainty_get_type), (register_gst_index_entry_type),
20083         (gst_index_entry_type_get_type),
20084         (register_gst_index_lookup_method),
20085         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
20086         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
20087         (gst_index_resolver_method_get_type), (register_gst_index_flags),
20088         (gst_index_flags_get_type), (register_gst_debug_level),
20089         (gst_debug_level_get_type), (register_gst_debug_color_flags),
20090         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
20091         (gst_iterator_result_get_type), (register_gst_iterator_item),
20092         (gst_iterator_item_get_type), (register_gst_message_type),
20093         (gst_message_type_get_type), (register_gst_mini_object_flags),
20094         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
20095         (gst_pad_link_return_get_type), (register_gst_flow_return),
20096         (gst_flow_return_get_type), (register_gst_activate_mode),
20097         (gst_activate_mode_get_type), (register_gst_pad_direction),
20098         (gst_pad_direction_get_type), (register_gst_pad_flags),
20099         (gst_pad_flags_get_type), (register_gst_pad_presence),
20100         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
20101         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
20102         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
20103         (gst_plugin_error_get_type), (register_gst_plugin_flags),
20104         (gst_plugin_flags_get_type), (register_gst_rank),
20105         (gst_rank_get_type), (register_gst_query_type),
20106         (gst_query_type_get_type), (register_gst_tag_merge_mode),
20107         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
20108         (gst_tag_flag_get_type), (register_gst_task_state),
20109         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
20110         (gst_alloc_trace_flags_get_type),
20111         (register_gst_type_find_probability),
20112         (gst_type_find_probability_get_type), (register_gst_uri_type),
20113         (gst_uri_type_get_type), (register_gst_parse_error),
20114         (gst_parse_error_get_type):
20115         * win32/common/gstversion.h:
20116           update win32 copies
20117
20118 2005-11-01  Luca Ognibene  <luogni@tin.it>
20119
20120         * gst/gst.c:
20121           fix docs. popt is dead, long live GOption.
20122
20123 2005-10-31  Wim Taymans  <wim@fluendo.com>
20124
20125         * gst/gstbuffer.h:
20126         Small doc fix.
20127
20128 2005-10-31  Andy Wingo  <wingo@pobox.com>
20129
20130         * Boo!
20131
20132         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
20133
20134         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
20135         need to serialize property notifications on GLib 2.8. GLib 2.6 has
20136         the possibility of deadlocks here if code calling notify() or
20137         set() has a lock that can be taken in another notify handler (ABBA
20138         with class lock and e.g. python GIL state lock).
20139
20140 2005-10-28  Julien MOUTTE  <julien@moutte.net>
20141
20142         * gst/gstbus.c: Doc updates.
20143
20144 2005-10-28  Wim Taymans  <wim@fluendo.com>
20145
20146         * docs/design/part-TODO.txt:
20147         * gst/gstiterator.c:
20148         * gst/gstsystemclock.c:
20149         * gst/gstsystemclock.h:
20150         Doc updates.
20151
20152 2005-10-28  Edward Hervey  <edward@fluendo.com>
20153
20154         * docs/gst/gstreamer-docs.sgml:
20155         * docs/gst/gstreamer-sections.txt:
20156         the GstURIType documentation page is private, it only defines GstURIType
20157         which should be defined in the GstURIHandler page
20158         
20159 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20160
20161         * gst/gstbin.c: (gst_bin_class_init):
20162         * gst/gstbin.h:
20163         * gst/gstutils.c:
20164         Documentation updates.
20165
20166 2005-10-28  Wim Taymans  <wim@fluendo.com>
20167
20168         * docs/gst/gstreamer-sections.txt:
20169         * gst/gstclock.c:
20170         * gst/gstclock.h:
20171         Documented the clocks.
20172
20173 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
20174
20175         * docs/gst/gstreamer-sections.txt:
20176           move some macros to private sections
20177         * gst/gstminiobject.c:
20178         * gst/gstminiobject.h:
20179           add descriptions provided by ds and some more
20180         * gst/gstpad.h:
20181           mark macro as to be removed
20182
20183 2005-10-28  Wim Taymans  <wim@fluendo.com>
20184
20185         * docs/design/part-TODO.txt:
20186         Add an item to TODO.
20187
20188         * gst/gstiterator.c: (gst_iterator_fold),
20189         (gst_iterator_find_custom):
20190         * gst/gstiterator.h:
20191         Add iterator docs.
20192
20193 2005-10-28  Wim Taymans  <wim@fluendo.com>
20194
20195         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
20196         (gst_base_transform_init):
20197         Don't leak class.
20198
20199         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
20200         An EOS event marks the queue as completely filled.
20201
20202 2005-10-27  Wim Taymans  <wim@fluendo.com>
20203
20204         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20205         (gst_base_sink_do_sync), (gst_base_sink_get_position):
20206         Some more debugging.
20207
20208         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
20209         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
20210         (gst_base_transform_event), (gst_base_transform_getrange),
20211         (gst_base_transform_chain):
20212         * gst/base/gstbasetransform.h:
20213         Fix debugging,
20214         Protect transform and concurrent buffer alloc with a new lock.
20215         Try not to break ABI/API.
20216
20217 2005-10-27  Wim Taymans  <wim@fluendo.com>
20218
20219         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20220         (gst_base_src_init), (gst_base_src_query),
20221         (gst_base_src_default_newsegment),
20222         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20223         (gst_base_src_send_event), (gst_base_src_event_handler),
20224         (gst_base_src_pad_get_range), (gst_base_src_loop),
20225         (gst_base_src_unlock), (gst_base_src_default_negotiate),
20226         (gst_base_src_start), (gst_base_src_deactivate),
20227         (gst_base_src_activate_push), (gst_base_src_change_state):
20228         Move some stuff around and cleanup things.
20229
20230 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
20231
20232         * gst/base/gstbasesrc.c: (gst_base_src_query):
20233           Add missing break statements.
20234
20235 2005-10-27  Wim Taymans  <wim@fluendo.com>
20236
20237         * check/gst/gstbin.c: (GST_START_TEST):
20238         An extra refcount is taken in basesrc.
20239
20240         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20241         (gst_base_src_get_range), (gst_base_src_pad_get_range),
20242         (gst_base_src_loop):
20243         Small cleanups, check for flushing after being unlocked from the 
20244         LIVE_LOCK. take refcounts correctly (not yet everywhere).
20245         Don't send out EOS when going to READY.
20246
20247 2005-10-27  Wim Taymans  <wim@fluendo.com>
20248
20249         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20250         (gst_base_sink_get_position):
20251         Some more debug.
20252
20253         * gst/gstbin.c: (message_check), (bin_replace_message),
20254         (bin_remove_messages), (is_eos), (gst_bin_add_func),
20255         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
20256         (bin_query_duration_init), (bin_query_duration_fold),
20257         (bin_query_duration_done), (bin_query_generic_fold),
20258         (gst_bin_query):
20259         * tools/gst-launch.c: (main):
20260         Remove old option.
20261
20262 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
20263
20264         * examples/controller/audio-example.c: (main):
20265         * examples/queue/queue.c: (event_loop):
20266         * gst/base/gstbasetransform.h:
20267         * gst/gstelement.c: (gst_element_send_event):
20268         * gst/gstevent.h:
20269         * gst/gstpad.c: (gst_pad_send_event):
20270           fixing examples
20271           fixing docs typos
20272           changing log priority in error situations
20273
20274 2005-10-25  Wim Taymans  <wim@fluendo.com>
20275
20276         * gst/gstbin.c: (message_check), (bin_replace_message),
20277         (bin_remove_messages), (is_eos), (gst_bin_add_func),
20278         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
20279         (bin_query_duration_init), (bin_query_duration_fold),
20280         (bin_query_duration_done), (bin_query_generic_fold),
20281         (gst_bin_query):
20282         Some doc and debug updates.
20283         Cache previously requested query DURATION for speed. invalidate
20284         cached duration if element posts a DURATION message.
20285
20286 2005-10-25  Wim Taymans  <wim@fluendo.com>
20287
20288         * docs/design/part-TODO.txt:
20289         Update TODO.
20290
20291         * gst/gstbin.c: (message_check), (bin_replace_message),
20292         (bin_remove_messages), (is_eos), (gst_bin_add_func),
20293         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
20294         (bin_query_duration_init), (bin_query_duration_fold),
20295         (bin_query_duration_done), (bin_query_generic_fold),
20296         (gst_bin_query):
20297         Handle SEGMENT_START/DONE messages correctly.
20298         More evolved query algorithm that handles duration queries
20299         correctly.
20300
20301         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
20302         (gst_element_get_state_func), (gst_element_abort_state),
20303         (gst_element_commit_state), (gst_element_lost_state):
20304         Some more debugging.
20305
20306         * gst/gstmessage.h:
20307         Added doc.
20308
20309 2005-10-25  Wim Taymans  <wim@fluendo.com>
20310
20311         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
20312         Don't use invalid stream_time.
20313
20314         * gst/gstevent.c: (gst_event_new_newsegment):
20315         stream_time in newsegment cannot be undefined.
20316
20317 2005-10-24  Wim Taymans  <wim@fluendo.com>
20318
20319         * gst/gstbus.c:
20320         Doc fix.
20321
20322         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20323         (gst_queue_loop):
20324         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
20325
20326 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
20327
20328         * docs/libs/tmpl/gstdparam.sgml:
20329         * docs/libs/tmpl/gstdplinint.sgml:
20330         * docs/libs/tmpl/gstdpman.sgml:
20331         * docs/libs/tmpl/gstdpsmooth.sgml:
20332         * docs/libs/tmpl/gstunitconvert.sgml:
20333           these are obsolete
20334
20335 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20336
20337         * configure.ac:
20338           back to HEAD
20339
20340 === release 0.9.4 ===
20341
20342 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20343
20344         * configure.ac:
20345           releasing 0.9.4, "Tyrannosaurus Rex"
20346
20347 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
20348
20349         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
20350         (gst_file_sink_get_current_offset):
20351           Use fseeko() and ftello() if available. When falling back on
20352           lseek() to get the current offset, fflush() first to make sure
20353           everything is up-to-date and we get the right offset.
20354
20355 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20356
20357         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20358         * gst/base/gstbasesrc.c: (gst_base_src_loop):
20359         * gst/gsterror.c: (_gst_stream_errors_init):
20360         * gst/gsterror.h:
20361         * gst/gstqueue.c: (gst_queue_loop):
20362         * po/POTFILES.in:
20363           remove prematurely added error category and clean up the instances
20364
20365 2005-10-21  Wim Taymans  <wim@fluendo.com>
20366
20367         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20368         (gst_base_sink_get_position), (gst_base_sink_query),
20369         (gst_base_sink_change_state):
20370         Simply set the right flag when going to playing, that's all
20371         we need to do instead of calling a function inside the object
20372         lock (that could take the lock as well and deadlock)
20373
20374 2005-10-21  Wim Taymans  <wim@fluendo.com>
20375
20376         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
20377         (gst_base_src_loop):
20378         Don't warn, the peer element knows what to do best when
20379         the seek failed, it might try something else.
20380
20381 2005-10-21  Wim Taymans  <wim@fluendo.com>
20382
20383         * gst/base/gstbasesrc.c: (gst_base_src_init),
20384         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
20385         Fix seeking.
20386
20387 2005-10-21  Wim Taymans  <wim@fluendo.com>
20388
20389         * docs/design/part-segments.txt:
20390         More docs.
20391
20392         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
20393         Correctly set caps, even on the subbufer.
20394
20395 2005-10-21  Wim Taymans  <wim@fluendo.com>
20396
20397         * docs/gst/gstreamer-docs.sgml:
20398         * docs/gst/gstreamer-sections.txt:
20399         * gst/gstelement.h:
20400         * gst/gstevent.c:
20401         * gst/gstevent.h:
20402         * gst/gstmessage.h:
20403         * gst/gstpad.h:
20404         * gst/gstparse.h:
20405         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
20406         * gst/gsttask.h:
20407         * gst/gstutils.c:
20408         * gst/gstutils.h:
20409         And 2% more doc coverage.
20410
20411 2005-10-21  Andy Wingo  <wingo@pobox.com>
20412
20413         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
20414         position reporting.
20415
20416 2005-10-20  Wim Taymans  <wim@fluendo.com>
20417
20418         * gst/gsterror.c: (gst_error_get_message):
20419         * gst/gstparse.h:
20420         * gst/gstquery.h:
20421         * gst/gststructure.c:
20422         * gst/gsttrace.c:
20423         * gst/gstutils.c:
20424         More docs.
20425
20426 2005-10-20  Wim Taymans  <wim@fluendo.com>
20427
20428         * gst/gstbuffer.h:
20429         * gst/gstpad.c:
20430         * gst/gstparse.c:
20431         Another 1% more coverage.
20432
20433 2005-10-20  Wim Taymans  <wim@fluendo.com>
20434
20435         * docs/gst/gstreamer-sections.txt:
20436         * gst/gstelement.c: (gst_element_get_state_func),
20437         (gst_element_abort_state), (gst_element_commit_state),
20438         (gst_element_lost_state):
20439         * gst/gstevent.h:
20440         * gst/gstquery.c: (gst_query_set_position),
20441         (gst_query_parse_position), (gst_query_set_duration),
20442         (gst_query_parse_duration), (gst_query_new_convert):
20443         * gst/gstutils.c:
20444         Yay! 1% more docs coverage.
20445
20446 2005-10-20  Wim Taymans  <wim@fluendo.com>
20447
20448         * gst/gstpad.h:
20449         * gst/gstquery.c: (gst_query_set_position),
20450         (gst_query_parse_position), (gst_query_set_duration),
20451         (gst_query_parse_duration), (gst_query_new_convert):
20452         * gst/gstquery.h:
20453         * gst/gstutils.c: (gst_element_query_convert):
20454         * gst/gstutils.h:
20455         Docs and consistency fixes.
20456
20457 2005-10-20  Wim Taymans  <wim@fluendo.com>
20458
20459         * gst/gsttask.c:
20460         * gst/gsttask.h:
20461         More docs.
20462
20463 2005-10-20  Wim Taymans  <wim@fluendo.com>
20464
20465         * gst/gstbin.c: (message_check), (bin_replace_message),
20466         (bin_remove_messages), (is_eos), (gst_bin_add_func),
20467         (update_degree), (gst_bin_sort_iterator_next),
20468         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
20469         Reworked the message handling a bit, cache the messages instead of
20470         only the senders. alows us to do more in the future.
20471
20472 2005-10-20  Wim Taymans  <wim@fluendo.com>
20473
20474         * docs/design/part-TODO.txt:
20475         Update TODO
20476
20477         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
20478         (gst_base_sink_query):
20479         Don't use clock time to report position when in EOS.
20480
20481 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
20482
20483         * tools/gst-inspect.c: (print_interfaces),
20484         (print_element_properties_info), (print_element_info):
20485           Fix interface output with gst-inspect -a; don't print
20486           newlines after double/float properties.
20487
20488 2005-10-20  Wim Taymans  <wim@fluendo.com>
20489
20490         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
20491         (gst_base_sink_query):
20492         Speed up current position calculation.
20493
20494         * gst/base/gstbasesrc.c: (gst_base_src_query),
20495         (gst_base_src_default_newsegment):
20496         Correctly set stream position in newsegment.
20497
20498         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
20499         (update_degree), (gst_bin_sort_iterator_next),
20500         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
20501         * gst/gstmessage.c: (gst_message_new_custom):
20502         Clean up debugging info
20503
20504         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
20505         (gst_queue_loop), (gst_queue_handle_src_query):
20506         Pause task faster.
20507
20508 2005-10-19  Wim Taymans  <wim@fluendo.com>
20509
20510         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20511         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
20512         Fix query handling again.
20513
20514 2005-10-19  Wim Taymans  <wim@fluendo.com>
20515
20516         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20517         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
20518         * gst/base/gstbasesrc.c: (gst_base_src_query):
20519         * gst/elements/gstfilesink.c: (gst_file_sink_query):
20520         * gst/elements/gsttypefindelement.c:
20521         (gst_type_find_handle_src_query), (find_element_get_length),
20522         (gst_type_find_element_activate):
20523         API change fix.
20524
20525         * gst/gstquery.c: (gst_query_new_position),
20526         (gst_query_set_position), (gst_query_parse_position),
20527         (gst_query_new_duration), (gst_query_set_duration),
20528         (gst_query_parse_duration), (gst_query_set_segment),
20529         (gst_query_parse_segment):
20530         * gst/gstquery.h:
20531         Bundling query position/duration is not a good idea since duration
20532         does not change much and we don't want to recalculate it for every
20533         position query, so they are separated again..
20534         Base value in segment query is not needed.
20535
20536         * gst/gstqueue.c: (gst_queue_handle_src_query):
20537         * gst/gstutils.c: (gst_element_query_position),
20538         (gst_element_query_duration), (gst_pad_query_position),
20539         (gst_pad_query_duration):
20540         * gst/gstutils.h:
20541         Updates for query API change.
20542         Added some docs here and there.
20543
20544 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20545
20546         * check/gst/gstbin.c: (GST_START_TEST):
20547         * check/gst/gstghostpad.c: (GST_START_TEST):
20548         * check/pipelines/cleanup.c: (GST_START_TEST):
20549           wait on thread to die so we can check refcount correctly
20550
20551 2005-10-18  Wim Taymans  <wim@fluendo.com>
20552
20553         * check/pipelines/stress.c: (GST_START_TEST):
20554         Make check a little more time consuming.
20555
20556 2005-10-18  Wim Taymans  <wim@fluendo.com>
20557
20558         * check/Makefile.am:
20559         * check/pipelines/stress.c: (GST_START_TEST),
20560         (simple_launch_lines_suite), (main):
20561         Small state change torture test.
20562
20563         * docs/design/part-states.txt:
20564         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
20565         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
20566         (gst_base_sink_change_state):
20567         Never take state lock from streaming thread, clean up ugly
20568         hacks. Unfortunatly core does not yet support nice ways to
20569         async commit state.
20570         
20571         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
20572         (bin_bus_handler):
20573         Start state recalc if a STATE_DIRTY message is posted, but only
20574         on the toplevel bin.
20575
20576         * gst/gstelement.c: (gst_element_sync_state_with_parent),
20577         (gst_element_get_state_func), (gst_element_abort_state),
20578         (gst_element_commit_state), (gst_element_lost_state),
20579         (gst_element_set_state_func), (gst_element_change_state):
20580         * gst/gstelement.h:
20581         State variables are now protected with the LOCK, the state
20582         lock is only used to serialize _set_state().
20583
20584 2005-10-18  Wim Taymans  <wim@fluendo.com>
20585
20586         * check/gst/gstbin.c: (GST_START_TEST):
20587         * check/gst/gstmessage.c: (GST_START_TEST):
20588         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
20589         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
20590         (bin_bus_handler):
20591         * gst/gstelement.c: (gst_element_abort_state),
20592         (gst_element_commit_state), (gst_element_lost_state):
20593         * gst/gstmessage.c: (gst_message_new_state_changed),
20594         (gst_message_new_state_dirty), (gst_message_new_segment_start),
20595         (gst_message_new_segment_done), (gst_message_new_duration),
20596         (gst_message_parse_state_changed),
20597         (gst_message_parse_segment_start),
20598         (gst_message_parse_segment_done), (gst_message_parse_duration):
20599         * gst/gstmessage.h:
20600         * tools/gst-launch.c: (event_loop):
20601         Seriously, this is better than a previous commit as we only need
20602         to notify the fact that an element changed state in a streaming
20603         thread, marking the state of the parents dirty, hence the 
20604         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
20605         message.
20606
20607 2005-10-18  Wim Taymans  <wim@fluendo.com>
20608
20609         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
20610         (gst_bin_recalc_func):
20611         * gst/gstelement.c: (gst_element_set_clock),
20612         (gst_element_abort_state), (gst_element_lost_state):
20613         Cleanups, prepare for state change fixes.
20614
20615 2005-10-18  Wim Taymans  <wim@fluendo.com>
20616
20617         * gst/gstbin.h:
20618         * gst/gstelement.c: (gst_element_class_init),
20619         (gst_element_set_state), (gst_element_set_state_func):
20620         * gst/gstelement.h:
20621         Pending ABI changes.
20622         GThreadPool in GstBinClass to monitor async state changes.
20623         state_cookie in GstElement to detect concurrent gst/set state.
20624         set_state is now virtual too in case a very complicated element
20625         has to be constructed.
20626
20627 2005-10-18  Wim Taymans  <wim@fluendo.com>
20628
20629         * check/gst/gstbin.c: (GST_START_TEST):
20630         * check/gst/gstmessage.c: (GST_START_TEST):
20631         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
20632         * gst/gstbin.c: (bin_bus_handler):
20633         * gst/gstelement.c: (gst_element_commit_state),
20634         (gst_element_lost_state):
20635         * gst/gstmessage.c: (gst_message_new_state_changed),
20636         (gst_message_new_segment_start), (gst_message_new_segment_done),
20637         (gst_message_new_duration), (gst_message_parse_state_changed),
20638         (gst_message_parse_segment_start),
20639         (gst_message_parse_segment_done), (gst_message_parse_duration):
20640         * gst/gstmessage.h:
20641         * tools/gst-launch.c: (event_loop):
20642         Make messages future proof.
20643         state-change gets a flag if it was a message comming from the
20644         streaming thread.
20645         segment-start/stop can also be specified in other formats.
20646         A message to notify an app that a pipeline changed playback 
20647         duration.
20648         Also fix a GstMessage leak in -launch
20649
20650 2005-10-18  Andy Wingo  <wingo@pobox.com>
20651
20652         * gst/gstelement.c (gst_element_dispose): More helpful message.
20653
20654 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20655
20656         reviewed by: <delete if not using a buddy>
20657
20658         * common/gtk-doc.mak:
20659
20660 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20661
20662         * gst/gstregistry.c: (gst_registry_scan_path_level):
20663           unref a plug-in we get that was already initialized
20664
20665 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
20666
20667         * docs/gst/gstreamer-sections.txt:
20668         * docs/libs/gstreamer-libs-sections.txt:
20669         * gst/gstelement.h:
20670           add new api entries
20671           hide internal macro
20672
20673 2005-10-17  Andy Wingo  <wingo@pobox.com>
20674
20675         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
20676         cleanup.
20677
20678         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
20679
20680         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
20681
20682         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
20683         (gst_element_get_state_func): Better debug message.
20684         (gst_element_commit_state): s/INFO/DEBUG/.
20685         (gst_element_lost_state, gst_element_change_state): 
20686
20687         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
20688         (gst_message_new_custom): s/INFO/LOG/.
20689
20690 2005-10-17  Michael Smith <msmith@fluendo.com>
20691
20692         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20693           Check if end time is valid using end time, not start time.
20694
20695 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
20696
20697         * check/gst-libs/controller.c: (GST_START_TEST),
20698         (gst_controller_suite):
20699         * libs/gst/controller/gstcontroller.c:
20700         (gst_controlled_property_set_interpolation_mode):
20701         * libs/gst/controller/gstcontroller.h:
20702         * libs/gst/controller/gstinterpolation.c:
20703         * testsuite/controller/.cvsignore:
20704         * testsuite/controller/Makefile.am:
20705         * testsuite/controller/interpolator.c:
20706           merge controller testsuites
20707           fix broken tests
20708           remove mem-chunk from docs
20709
20710 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20711
20712         * gst/gstmemchunk.c:
20713         * gst/gstmemchunk.h:
20714         * gst/gsttrashstack.c:
20715         * gst/gsttrashstack.h:
20716           out.  get out.  you're fired.  to the Attic !
20717
20718 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20719
20720         * gst/gstcaps.c: (gst_caps_intersect):
20721           fix signedness issues in a (hopefully) correct way
20722         * gst/gstelement.c: (gst_element_pads_activate):
20723           some debugging
20724         * gst/gstobject.c: (gst_object_set_parent):
20725           some debugging
20726
20727 2005-10-17  Julien MOUTTE  <julien@moutte.net>
20728
20729         * gst/gstvalue.h: Fix prototypes.
20730
20731 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20732
20733         * docs/gst/gstreamer-sections.txt:
20734         * gst/gst.c: (gst_version_string):
20735         * gst/gst.h:
20736         * gst/gstversion.h.in:
20737         * win32/common/libgstreamer.def:
20738           add gst_version_string ()
20739
20740 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20741
20742         * configure.ac:
20743           clean up further
20744         * gst/gst.c: (init_post):
20745         * win32/common/config.h.in:
20746           it's PLUGINDIR now
20747         * gst/gstcaps.c: (gst_caps_intersect):
20748           use gint64, the range could be bigger than a guint
20749
20750 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20751
20752         * gst/gstclock.h:
20753           document potential problem in 2038
20754
20755 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20756
20757         * gst/gstcaps.c: (gst_caps_intersect):
20758           Fix guint j diving under 0
20759
20760 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20761
20762         * configure.ac:
20763         * win32/common/config.h:
20764         * win32/common/config.h.in:
20765           check for process.h, declares getpid() on Windows
20766         * gst/gstinfo.c:
20767           include process.h if we have it
20768         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
20769         * gst/gstmemchunk.h:
20770           fix signedness issues
20771         * win32/common/libgstreamer.def:
20772           fix get_type's
20773
20774 2005-10-16  Julien MOUTTE  <julien@moutte.net>
20775
20776         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
20777         fix. Because of unsigned ints, caps intersection was going nuts and
20778         trying to access structures with G_MAXUINT index. That fixes
20779         videotestsrc ! ffmpegcolorspace ! fakesink
20780         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
20781         consistency.
20782
20783 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20784
20785         * configure.ac:
20786           use the gettext macro
20787         * gst/elements/gstelements.c:
20788         * gst/gst.c:
20789         * gst/indexers/gstindexers.c:
20790           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
20791         * win32/common/config.h:
20792           updated config.h
20793         * win32/common/config.h.in:
20794           add the template to generate config.h
20795         * win32/common/gstenumtypes.c:
20796         * win32/common/gstversion.h:
20797           updated copies
20798
20799 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20800
20801         * gst/gst.c: (gst_version):
20802         * gst/gstversion.h.in:
20803           add the nano
20804
20805 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
20806
20807         * gst/gstevent.h:
20808           Oops, add missing closing bracket.
20809
20810 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20811
20812         * configure.ac:
20813           use common m4's for argument checking
20814
20815 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
20816
20817         * docs/gst/gstreamer-sections.txt:
20818         * gst/gstevent.h:
20819           Add GST_EVENT_TYPE_NAME() macro.
20820
20821 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20822
20823         * gst/gstinfo.c:
20824         * gst/gstpluginfeature.c:
20825         * gst/gsttask.c:
20826           privatize more symbols
20827
20828 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20829
20830         * configure.ac:
20831           add srcdir, builddir includes to GST_ALL_CFLAGS, since
20832           everything that uses GStreamer API should have the includes
20833
20834 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20835
20836         * docs/gst/gstreamer-sections.txt:
20837         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
20838         * gst/gstvalue.h:
20839           give each value a _get_type, removes the DATA exports
20840
20841 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20842
20843         * gst/gst.c:
20844         * gst/gst.h:
20845           remove _gst_registry_auto_load, not used anymore
20846         * gst/gstbin.c: (gst_bin_get_type):
20847         * gst/gstbin.h:
20848         * gst/gstelement.c: (gst_element_get_type):
20849         * gst/gstelement.h:
20850         * gst/gstobject.c: (gst_object_get_type):
20851         * gst/gstobject.h:
20852         * gst/gstpad.c: (gst_pad_get_type):
20853         * gst/gstpad.h:
20854           make _get_type functions similar, fixes data export from library
20855
20856 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20857
20858         * configure.ac:
20859           correctly make conditionals
20860         * gst/elements/Makefile.am:
20861         * gst/elements/gstelements.c:
20862           fix typo causing fdsrc not to build
20863
20864 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20865
20866         * testsuite/Makefile.am:
20867         * testsuite/bytestream/.cvsignore:
20868         * testsuite/bytestream/Makefile.am:
20869         * testsuite/bytestream/filepadsink.c:
20870         * testsuite/bytestream/gstbstest.c:
20871         * testsuite/bytestream/test1.c:
20872         * testsuite/bytestream/testfile1:
20873         * testsuite/caps/normalisation.c:
20874         * testsuite/caps/random.c: (main):
20875         * testsuite/cleanup/.cvsignore:
20876         * testsuite/cleanup/Makefile.am:
20877         * testsuite/cleanup/cleanup1.c:
20878         * testsuite/cleanup/cleanup2.c:
20879         * testsuite/cleanup/cleanup3.c:
20880         * testsuite/cleanup/cleanup4.c:
20881         * testsuite/cleanup/cleanup5.c:
20882         * testsuite/controller/interpolator.c:
20883         * testsuite/debug/printf_extension.c: (main):
20884         * testsuite/elements/tee.c:
20885         * testsuite/negotiation/.cvsignore:
20886         * testsuite/negotiation/Makefile.am:
20887         * testsuite/negotiation/pad_link.c:
20888         * testsuite/pad/Makefile.am:
20889         * testsuite/pad/chainnopull.c:
20890         * testsuite/pad/getnopush.c:
20891         * testsuite/pad/link.c:
20892         * testsuite/refcounting/sched.c: (create_pipeline):
20893         * testsuite/registry/Makefile.am:
20894         * testsuite/registry/gst-print-formats.c:
20895         * testsuite/schedulers/.cvsignore:
20896         * testsuite/schedulers/142183-2.c:
20897         * testsuite/schedulers/142183.c:
20898         * testsuite/schedulers/143777-2.c:
20899         * testsuite/schedulers/143777.c:
20900         * testsuite/schedulers/147713.c:
20901         * testsuite/schedulers/147819.c:
20902         * testsuite/schedulers/147894-2.c:
20903         * testsuite/schedulers/147894.c:
20904         * testsuite/schedulers/Makefile.am:
20905         * testsuite/schedulers/group_link.c:
20906         * testsuite/schedulers/queue_link.c:
20907         * testsuite/schedulers/relink.c:
20908         * testsuite/schedulers/unlink.c:
20909         * testsuite/schedulers/unref.c:
20910         * testsuite/schedulers/useless_iteration.c:
20911         * testsuite/states/bin.c:
20912           clean out/remove some stuff from the testsuite directories
20913
20914 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20915
20916         * configure.ac:
20917           check for some headers
20918         * gst/elements/Makefile.am:
20919         * gst/elements/gstelements.c:
20920           don't compile fdsrc without sys/socket.h
20921         * gst/indexers/Makefile.am:
20922         * gst/indexers/gstindexers.c: (plugin_init):
20923           don't compile fileindex without mmap
20924
20925 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
20926
20927         * configure.ac:
20928           reorganize
20929           clean up
20930           document more
20931           remove cruft
20932         * check/Makefile.am:
20933         * docs/gst/Makefile.am:
20934         * examples/helloworld/Makefile.am:
20935         * gst/Makefile.am:
20936         * gst/base/Makefile.am:
20937         * gst/check/Makefile.am:
20938         * gst/elements/Makefile.am:
20939         * gst/indexers/Makefile.am:
20940         * gst/parse/Makefile.am:
20941         * libs/gst/controller/Makefile.am:
20942         * libs/gst/dataprotocol/Makefile.am:
20943         * examples/helloworld/helloworld.c: (event_loop):
20944           compile fixes, though it's not being compiled currently
20945
20946 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
20947
20948         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
20949           Add some simple tests for the new taglist date API.
20950
20951 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
20952
20953         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
20954         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
20955           Beautify 'last-message' output: print 'none' for buffer timestamps
20956           and durations if none is set; improve alignment with next messages.
20957
20958 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
20959
20960         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
20961         * gst/gstpluginfeature.h:
20962         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
20963         * gst/gstregistry.h:
20964         * docs/gst/gstreamer-sections.txt:
20965           Add new API to check plugin feature version requirements.
20966
20967         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
20968           Some basic tests for the above.         
20969
20970 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
20971
20972         * gst/gststructure.c: (gst_structure_to_string):
20973           guard against NULL printf - happens when for example
20974           a message structure with GstClock gets serialized
20975
20976 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
20977
20978         * gst/base/gstcollectpads.c: (gst_collectpads_event):
20979           Fix presumable copy'n'pasto.
20980
20981 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
20982
20983         * gst/elements/gstfakesrc.h:
20984         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
20985         * gst/elements/gsttypefindelement.c:
20986           fix some signedness
20987         * gst/elements/gstfilesink.c: (gst_file_sink_render):
20988           I wonder if this could actually write +2GB files before
20989
20990 2005-10-13  Andy Wingo  <wingo@pobox.com>
20991
20992         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
20993         Fix Timmeke Waymans bug.
20994         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
20995         string of the proper length to gst_caps_from_string. There's a
20996         potential for, before this fix, that this could cause someone
20997         connecting over the network to cause a segfault if the payload is
20998         not NUL-terminated.
20999
21000 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
21001
21002         * docs/design/draft-push-pull.txt:
21003         * docs/design/part-overview.txt:
21004         * docs/random/TODO-pre-0.9:
21005         * docs/random/old/ChangeLog.gstreamer:
21006         * gst/base/gstpushsrc.c:
21007         * gst/gstclock.c:
21008           fixed typos
21009
21010 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21011
21012         * gst/glib-compat.c: (gst_flags_get_first_value):
21013         * gst/glib-compat.h:
21014         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
21015         (gst_value_compare_double), (gst_value_serialize_flags):
21016           GLib 2.6 g_flags_get_first_value has a bug that triggers an
21017           infinite loop
21018
21019 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21020
21021         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21022         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21023           fix up debugging
21024         * tools/gst-launch.c: (event_loop):
21025           print out clock nicely
21026
21027 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
21028
21029         * docs/gst/gstreamer-sections.txt:
21030         * gst/gsttaglist.h:
21031         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
21032         (gst_tag_list_get_date_index):
21033           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
21034           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
21035
21036 2005-10-13  Julien MOUTTE  <julien@moutte.net>
21037
21038         * gst/base/gstcollectpads.c: (gst_collectpads_event),
21039         (gst_collectpads_chain):
21040         * gst/base/gstcollectpads.h: Handle newsegment and store informations
21041         in CollectData.
21042
21043 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
21044
21045         * docs/gst/gstreamer-sections.txt:
21046         * gst/gst.c:
21047         * gst/gsterror.h:
21048         * tools/gst-inspect.c: (main):
21049         * tools/gst-launch.c: (main):
21050         * tools/gst-run.c: (main):
21051         * tools/gst-xmlinspect.c: (main):
21052           fix GOption context leaks
21053           doc fixes
21054
21055 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21056
21057         * gst/gstbus.c:
21058           use HAVE_UNISTD_H
21059         * win32/common/config.h:
21060           update config
21061         * win32/vs6/grammar.dsp:
21062         * win32/vs6/libgstelements.dsp:
21063         * win32/vs6/libgstreamer.dsp:
21064           update vs6 files
21065
21066 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21067
21068         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21069         * gst/base/gstbasesrc.c: (gst_base_src_query):
21070           fix more guint64<->gdouble conversions
21071
21072 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21073
21074         * Makefile.am:
21075           add win32-update target
21076         * win32/common/gstconfig.h:
21077         * win32/common/gstenumtypes.c:
21078         * win32/common/gstenumtypes.h:
21079         * win32/common/gstversion.h:
21080           add files that visual studio can't generate
21081
21082 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21083
21084         * Makefile.am:
21085           add a win32-update target
21086         * configure.ac:
21087
21088 2005-10-12  Wim Taymans  <wim@fluendo.com>
21089
21090         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
21091         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
21092         * gst/gstelement.c: (gst_element_commit_state),
21093         (gst_element_set_state):
21094         Protect flags with proper lock.
21095         unref provided cached clock in dispose.
21096
21097 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
21098
21099         * gst/gst.c:
21100         * gst/gstminiobject.h:
21101         * gst/gstpad.h:
21102         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
21103           removed unused flags from miniobject
21104           doc fixes
21105
21106 2005-10-12  Wim Taymans  <wim@fluendo.com>
21107
21108         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
21109         (gst_file_sink_event), (gst_file_sink_render):
21110         Flush before seeking.
21111
21112 2005-10-12  Andy Wingo  <wingo@pobox.com>
21113
21114         * gst/gst.c (gst_init_check): Ignore unknown options, as has
21115         always been the case.
21116
21117 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
21118
21119         * check/gst/gstbin.c: (GST_START_TEST):
21120         * docs/gst/gstreamer-sections.txt:
21121         * gst/base/gstbasesink.c: (gst_base_sink_init):
21122         * gst/base/gstbasesrc.c: (gst_base_src_init),
21123         (gst_base_src_get_range), (gst_base_src_check_get_range),
21124         (gst_base_src_start), (gst_base_src_stop):
21125         * gst/base/gstbasesrc.h:
21126         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
21127         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
21128         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
21129         (bin_bus_handler):
21130         * gst/gstbin.h:
21131         * gst/gstbuffer.h:
21132         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
21133         * gst/gstbus.h:
21134         * gst/gstelement.c: (gst_element_is_locked_state),
21135         (gst_element_set_locked_state), (gst_element_commit_state),
21136         (gst_element_set_state):
21137         * gst/gstelement.h:
21138         * gst/gstindex.c: (gst_index_init):
21139         * gst/gstindex.h:
21140         * gst/gstminiobject.h:
21141         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
21142         (gst_object_set_parent):
21143         * gst/gstobject.h:
21144         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
21145         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
21146         * gst/gstpad.h:
21147         * gst/gstpadtemplate.h:
21148         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
21149         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
21150         * gst/gstpipeline.h:
21151         * gst/indexers/gstfileindex.c: (gst_file_index_load),
21152         (gst_file_index_commit):
21153         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
21154         * testsuite/pad/link.c: (gst_test_src_init),
21155         (gst_test_filter_init), (gst_test_sink_init):
21156         * testsuite/states/locked.c: (main):
21157           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
21158           moved bitshift from macro to enum definition
21159
21160 2005-10-12  Wim Taymans  <wim@fluendo.com>
21161
21162         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
21163         * gst/elements/gstfilesink.c: (gst_file_sink_event),
21164         (gst_file_sink_render):
21165         Some more debugging info.
21166
21167 2005-10-12  Wim Taymans  <wim@fluendo.com>
21168
21169         * docs/design/part-states.txt:
21170         * tools/gst-launch.c: (main):
21171         Some doc updates.
21172         Revert non-intentional change.
21173
21174 2005-10-12  Wim Taymans  <wim@fluendo.com>
21175
21176         * check/gst/gstbin.c: (GST_START_TEST):
21177         * check/gst/gstelement.c: (GST_START_TEST):
21178         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
21179         * check/gst/gstghostpad.c: (GST_START_TEST):
21180         * check/gst/gstpipeline.c: (GST_START_TEST):
21181         * check/pipelines/simple_launch_lines.c: (run_pipeline):
21182         * check/states/sinks.c: (GST_START_TEST):
21183         * gst/elements/gsttypefindelement.c: (stop_typefinding):
21184         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21185         (gst_bin_remove_func), (gst_bin_get_state_func),
21186         (gst_bin_recalc_state), (gst_bin_change_state_func),
21187         (bin_bus_handler):
21188         * gst/gstelement.c: (gst_element_get_state_func),
21189         (gst_element_get_state), (gst_element_abort_state),
21190         (gst_element_commit_state), (gst_element_set_state),
21191         (gst_element_change_state), (gst_element_change_state_func):
21192         * gst/gstelement.h:
21193         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
21194         (gst_pipeline_provide_clock_func):
21195         * gst/gstutils.c: (gst_element_link_pads_filtered):
21196         * tools/gst-launch.c: (main):
21197         * tools/gst-typefind.c: (main):
21198         Use GstClockTime in _get_state() instead of GTimeVal.
21199         Remove old code in gstutils.c
21200
21201 2005-10-12  Andy Wingo  <wingo@pobox.com>
21202
21203         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
21204         removed.
21205
21206         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
21207         there is no task. Shouldn't affect any code, as nothing in our
21208         plugins checks this return value.
21209         (gst_pad_stop_task): Also take the stream lock if the pad has no
21210         task. Docs updated.
21211
21212 2005-10-12  Wim Taymans  <wim@fluendo.com>
21213
21214         * gst/gstpad.c: (pre_activate), (post_activate),
21215         (gst_pad_activate_pull), (gst_pad_activate_push):
21216         Cleanup activation code. Reset old state if
21217         activation failed.
21218
21219 2005-10-12  Wim Taymans  <wim@fluendo.com>
21220
21221         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21222         (gst_base_sink_change_state):
21223         No need to prerol after receiving EOS.
21224
21225         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
21226         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
21227         * gst/elements/gstidentity.c: (gst_identity_event):
21228         Print events more verbosely.
21229
21230 2005-10-12  Wim Taymans  <wim@fluendo.com>
21231
21232         * check/Makefile.am:
21233         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21234         * check/states/sinks2.c:
21235         Moved sinks2 testcode in sinks check.
21236
21237         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21238         (gst_bin_remove_func), (gst_bin_recalc_state),
21239         (gst_bin_change_state_func), (bin_bus_handler):
21240         Fix potential race condition when _get_state() iterated over an
21241         ASYNC element right before it posted a state completion.
21242
21243         * gst/gstclock.h:
21244         Do proper cast here.
21245
21246         * gst/gstevent.c: (gst_event_new_newsegment),
21247         (gst_event_parse_newsegment):
21248         A playback rate of 0.0 is not allowed.
21249
21250 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21251
21252         * win32/common/config.h:
21253         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
21254         (_trewinddir), (_ttelldir), (_tseekdir):
21255         * win32/common/dirent.h:
21256         * win32/common/gtchar.h:
21257         * win32/common/libgstbase.def:
21258         * win32/common/libgstreamer.def:
21259         * win32/vs6/grammar.dsp:
21260         * win32/vs6/gst_inspect.dsp:
21261         * win32/vs6/gst_launch.dsp:
21262         * win32/vs6/gstreamer.dsw:
21263         * win32/vs6/libgstbase.dsp:
21264         * win32/vs6/libgstelements.dsp:
21265         * win32/vs6/libgstreamer.dsp:
21266           Visual Studio 6 project files, and a new common directory.
21267           Phear.
21268
21269 2005-10-11  Wim Taymans  <wim@fluendo.com>
21270
21271         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21272         (gst_base_sink_do_sync), (gst_base_sink_query),
21273         (gst_base_sink_change_state):
21274         * gst/base/gstbasesink.h:
21275         Correctly parse newsegment info.
21276
21277 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21278
21279         * gst/gst.c: (init_post):
21280           split plugin paths correctly
21281
21282 2005-10-11  Wim Taymans  <wim@fluendo.com>
21283
21284         * check/gst/gstevent.c: (GST_START_TEST):
21285         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21286         (gst_base_sink_change_state):
21287         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
21288         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21289         * gst/elements/gstfilesink.c: (gst_file_sink_event):
21290         * gst/gstevent.c: (gst_event_new_newsegment),
21291         (gst_event_parse_newsegment):
21292         * gst/gstevent.h:
21293         Added extra flag to newsegment for future API freeze.
21294         Updated check and base elements.
21295
21296 2005-10-11  Julien MOUTTE  <julien@moutte.net>
21297
21298         * gst/base/gstcollectpads.c: (gst_collectpads_init),
21299         (gst_collectpads_add_pad), (gst_collectpads_pop),
21300         (gst_collectpads_event), (gst_collectpads_chain):
21301         * gst/base/gstcollectpads.h: Handle EOS correctly.
21302
21303 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21304
21305         * tools/gst-launch.c: (main):
21306           more null protecting
21307
21308 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21309
21310         * gst/gst-i18n-lib.h:
21311           check for ENABLE_NLS, not GETTEXT_PACKAGE
21312         * gst/gstregistry.c: (gst_registry_add_plugin),
21313         (gst_registry_scan_path_level),
21314         (_gst_registry_remove_cache_plugins):
21315           protect possibly NULL strings
21316         * gst/parse/types.h:
21317           config.h already included before
21318         * tools/gst-inspect.c: (main):
21319           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
21320           check for ENABLE_NLS, not GETTEXT_PACKAGE
21321         * tools/gst-launch.c: (main):
21322           check for ENABLE_NLS, not GETTEXT_PACKAGE
21323
21324 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21325
21326         * configure.ac:
21327           if we don't have glib, fail before testing 2.8
21328         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
21329           fix a leak, should fix plugins-base testsuite
21330
21331 2005-10-11  Andy Wingo  <wingo@pobox.com>
21332
21333         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
21334         take the mode we're going to as an arg. Go head and set the mode
21335         and flushing flags now, so that if the activate function starts a
21336         thread all the flags will be in the right state.
21337         (post_activate): Renamed also. Just handle making sure streaming
21338         finishes for the deactivation case, and setting the deactivated
21339         mode.
21340         (gst_pad_set_active): Complain loudly if deactivation fails.
21341         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
21342         (gst_pad_activate_push): Adapt to pre/post_activate changes,
21343         remove the terrible hack.
21344
21345 2005-10-11  Wim Taymans  <wim@fluendo.com>
21346
21347         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
21348         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
21349         (gst_bin_recalc_state), (gst_bin_change_state_func),
21350         (gst_bin_dispose), (bin_bus_handler):
21351         * gst/gstbin.h:
21352         Prepare to make current EOS message queue more generic.
21353         Fix some typos.
21354
21355         * gst/gstevent.c: (gst_event_new_newsegment),
21356         (gst_event_parse_newsegment):
21357         * gst/gstevent.h:
21358         Rename base to stream_time.
21359
21360         * gst/gstmessage.h:
21361         Fix typo in docs.
21362
21363 2005-10-11  Wim Taymans  <wim@fluendo.com>
21364
21365         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
21366         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
21367         (gst_bin_change_state_func), (bin_bus_handler):
21368         * gst/gstbin.h:
21369         Work on proper clock selection.
21370
21371 2005-10-11  Edward Hervey  <edward@fluendo.com>
21372
21373         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
21374         * libs/gst/controller/gstcontroller.h:
21375         Added GList* version of _remove_properties() in order to be able to wrap
21376         it in bindings.
21377
21378 2005-10-11  Wim Taymans  <wim@fluendo.com>
21379
21380         * docs/design/part-states.txt:
21381         Some more docs.
21382
21383         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
21384         (gst_bin_change_state_func), (bin_bus_handler):
21385         Doc updates. Don't distribute the same clock over and over again.
21386
21387         * gst/gstclock.c:
21388         * gst/gstclock.h:
21389         Doc updates.
21390
21391         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
21392         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
21393         (gst_pad_send_event):
21394         * gst/gstpad.h:
21395         Make probe emission threadsafe again.
21396         Register quarks and move _get_name() from utils.
21397         Doc updates.
21398
21399         * gst/gstpipeline.c: (gst_pipeline_class_init),
21400         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
21401         Only redistribute the clock of it changed.
21402
21403         * gst/gstsystemclock.h:
21404         Doc updates. 
21405
21406         * gst/gstutils.c:
21407         * gst/gstutils.h:
21408         Moved the _flow_get_name() to GstPad.
21409
21410 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21411
21412         * check/gst-libs/gdp.c: (GST_START_TEST):
21413         * check/gst/gstcaps.c: (GST_START_TEST):
21414         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
21415         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
21416         (gst_dp_packet_from_caps):
21417           fix more valgrind warnings before turning up the heat
21418
21419 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21420
21421         * gst/parse/grammar.y:
21422           some cleanup before the hacking
21423
21424 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21425
21426         * gst/base/gstbasesrc.c: (gst_base_src_query):
21427           use conversions
21428         * gst/gstutils.c: (gst_guint64_to_gdouble),
21429         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
21430         * gst/gstutils.h:
21431           externalize, basesrc uses it
21432           obviously the implementation needs testing
21433
21434 2005-10-10  Wim Taymans  <wim@fluendo.com>
21435
21436         * tests/sched/Makefile.am:
21437         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
21438         (make_pipeline3), (make_pipeline4), (print_elem), (main):
21439
21440 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21441
21442         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
21443           apparently converting from guint64 to double is not implemented
21444           on MSVC
21445
21446 2005-10-10  Wim Taymans  <wim@fluendo.com>
21447
21448         * check/Makefile.am:
21449         * check/generic/states.c: (GST_START_TEST):
21450         * check/gst/gstbin.c: (GST_START_TEST):
21451         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
21452         * check/states/sinks.c: (GST_START_TEST):
21453         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
21454         (main):
21455         Check fixes, use API as stated in design docs, remove hacks.
21456
21457         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21458         (gst_base_sink_change_state):
21459         Catch stopping our task while we're shutting down.
21460
21461         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
21462         (gst_bin_remove_func), (gst_bin_get_state_func),
21463         (gst_bin_recalc_state), (gst_bin_change_state_func),
21464         (bin_bus_handler):
21465         * gst/gstbin.h:
21466         * gst/gstelement.c: (gst_element_init),
21467         (gst_element_get_state_func), (gst_element_abort_state),
21468         (gst_element_commit_state), (gst_element_lost_state),
21469         (gst_element_set_state), (gst_element_change_state),
21470         (gst_element_change_state_func):
21471         * gst/gstelement.h:
21472         New state change algorithm (see #318116)
21473
21474         * gst/gstpipeline.c: (gst_pipeline_class_init),
21475         (gst_pipeline_init), (gst_pipeline_set_property),
21476         (gst_pipeline_get_property), (do_pipeline_seek),
21477         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
21478         * gst/gstpipeline.h:
21479         Remove crude state change hacks.
21480
21481         * gst/gstutils.h:
21482         Remove crude hacks.
21483
21484         * tools/gst-launch.c: (main):
21485         Fixes for state change. Needs some more work to fully use the
21486         new stuff.
21487
21488 2005-10-10  Andy Wingo  <wingo@pobox.com>
21489
21490         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
21491
21492         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
21493         this flag, but it's not even in GLib 2.6. Odd. Hack around the
21494         issue.
21495
21496 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
21497
21498         * gst/gstiterator.c: (gst_iterator_new):
21499           Fix my previous commit: GTypes passed to gst_iterator_new()
21500           can be fundamental types.
21501
21502 2005-10-10  Wim Taymans  <wim@fluendo.com>
21503
21504         * gst/gstelement.c: (gst_element_iterate_pad_list),
21505         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
21506         (gst_element_iterate_sink_pads):
21507         Use src/sink pads lists for the respective iterators instead
21508         of filtering.
21509
21510 2005-10-10  Andy Wingo  <wingo@pobox.com>
21511
21512         Merged in popt removal + GOption addition patch from Ronald, bug
21513         #169772.
21514
21515         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
21516         GstElement macros around, remove popt-related symbols, add goption
21517         stuff.
21518
21519         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
21520         
21521         * docs/gst/Makefile.am:
21522         * docs/libs/Makefile.am: No POPT_CFLAGS.
21523         
21524         * examples/manual/Makefile.am:
21525         * docs/manual/basics-init.xml: Doc updates with an example.
21526         
21527         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
21528         (gst_init), (parse_one_option), (parse_goption_arg):
21529         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
21530         bit of hand merging and debugging to get the GOption stuff working
21531         tho.
21532         
21533         * tests/Makefile.am:
21534         * tools/Makefile.am:
21535         * tools/gst-inspect.c: (main):
21536         * tools/gst-launch.c: (main):
21537         * tools/gst-run.c: (main):
21538         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
21539
21540 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
21541
21542         * gst/gstiterator.c: (gst_iterator_new):
21543           Add assertions to make sure passed GType is likely to really
21544           be a GType (as the compiler won't catch it if the size and
21545           GType arguments get mixed up, see #318447).
21546
21547 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
21548
21549         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21550
21551         * gst/gstbin.c: (gst_bin_iterate_sorted):
21552           Pass GType and size arguments to gst_iterator_new() in the right
21553           order (maybe we should make _new() take the GType as first argument
21554           just like _new_list()?) (#318447).
21555           
21556
21557 2005-10-10  Wim Taymans  <wim@fluendo.com>
21558
21559         * gst/gstelement.c: (gst_element_finalize):
21560         And free the GStaticRecMutex too
21561
21562 2005-10-10  Andy Wingo  <wingo@pobox.com>
21563
21564         * gst/gstelement.c (gst_element_init, gst_element_finalize):
21565         Allocate and free the mutex properly.
21566
21567         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
21568         New macros.
21569         (GstElement): The state_lock is now recursive. Rebuild your
21570         plugins, suckers. Old macros adapted.
21571
21572         * docs/gst/gstreamer-sections.txt: Doc updates.
21573
21574         * gst/gstutils.h:
21575         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
21576         (g_static_rec_cond_wait): Ported from state changes patch, while
21577         we wait on bug #317802 to be solved in a well-distributed GLib.
21578
21579         * gst/gstelement.c (gst_element_change_state_func): Renamed from
21580         gst_element_change_state, variable name changes.
21581         (gst_element_change_state): Split out of gst_element_set_state in
21582         preparation for the state change merge. Doesn't pay attention to
21583         the 'transition' argument.
21584         (gst_element_set_state): Updates, hopefully purely cosmetic.
21585         (gst_element_sync_state_with_parent): MT-safety. Ported from the
21586         state change patch.
21587         (gst_element_get_state_func): Renamed from get_state, cosmetic
21588         changes.
21589
21590 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21591
21592         * gst/elements/gstelements.c:
21593         * win32/GStreamer.vcproj:
21594         * win32/config.h:
21595         * win32/dirent.c: (_tseekdir):
21596         * win32/gst-inspect.vcproj:
21597         * win32/gst-launch.vcproj:
21598         * win32/gstconfig.h:
21599         * win32/gstelements.vcproj:
21600         * win32/gstenumtypes.c: (gst_object_flags_get_type):
21601         * win32/gstreamer.def:
21602         * win32/msvc71.sln:
21603           updates for the win32 build (patch from Sebastien Moutte)
21604
21605 2005-10-10  Andy Wingo  <wingo@pobox.com>
21606
21607         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
21608         gst_bin_get_state, cleaned up (but no logic changes).
21609         (bin_element_is_sink): Comment updates.
21610         (sink_iterator_filter): Remove needless cast.
21611         (gst_bin_iterate_sinks): Doc update.
21612         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
21613         cleaned up (but no logic changes).
21614
21615         * check/states/sinks.c (test_src_sink): Cleanups from the state
21616         change patch.
21617         (test_livesrc_sink): Sync on the state.
21618
21619         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
21620         the state change patch.
21621
21622         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
21623         change patch.
21624
21625         * check/gst/gstbin.c: Merge in some style fixes and additional
21626         checks from Wim's state change patch.
21627
21628 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
21629
21630         * gst/base/gsttypefindhelper.c: (helper_find_peek),
21631         (gst_type_find_helper):
21632           Check whether we have the requested data already in our list of
21633           cached buffers before pulling a new buffer; also make the buffer
21634           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
21635
21636 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21637
21638         * gst/gstcaps.c:
21639         * gst/gstevent.c:
21640           doc updates
21641         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
21642           don't use long long, it's not portable.  Replacing with
21643           gint64 seems to work; let's hope no skeletons fall out of the closet.
21644
21645 2005-10-10  Andy Wingo  <wingo@pobox.com>
21646
21647         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
21648
21649 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
21650
21651         * docs/gst/gstreamer-sections.txt:
21652         * gst/gstevent.c:
21653         * gst/gstevent.h:
21654         * gst/gstinfo.c:
21655         * gst/gstinfo.h:
21656         * gst/gstmessage.c: (gst_message_parse_state_changed):
21657         * gst/gstpad.c:
21658         * gst/gstpad.h:
21659           more docs, fix compilation
21660
21661 2005-10-09  Philippe Khalaf <burger@speedy.org>
21662         * gst/gstmessage.c:
21663           Fixed a few forgotten variables on previous commit
21664
21665 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
21666
21667         * gst/base/gsttypefindhelper.c: (helper_find_peek):
21668           Fix evil typefind crasher: getrange() might return a short
21669           buffer at the end of a file, but gst_type_find_peek() must
21670           either return the full data as requested or NULL, but
21671           never a short buffer.
21672
21673 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21674
21675         * gst/gstmessage.c: (gst_message_new_state_changed),
21676         (gst_message_parse_state_changed):
21677         * gst/gstmessage.h:
21678           don't use "new", it's a C++ keyword
21679
21680 2005-10-08  Wim Taymans  <wim@fluendo.com>
21681
21682         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
21683         * gst/gstelement.c: (gst_element_post_message):
21684         * gst/gstpipeline.c: (gst_pipeline_change_state):
21685         Small docs and debug updates.
21686
21687 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
21688
21689         * docs/gst/gstreamer-sections.txt:
21690         * gst/gstelementfactory.c:
21691         * gst/gstevent.c:
21692         * gst/gsttaglist.c:
21693           more docs
21694
21695 2005-10-08  Wim Taymans  <wim@fluendo.com>
21696
21697         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
21698         (gst_bin_dispose), (bin_bus_handler):
21699         Fix typos, add comments.
21700         Clear EOS list when going to PAUSED from any direction and do it
21701         in a threadsafe way.
21702         Get base time in a threadsafe way too.
21703         Fix confusing debug in the change_state function.
21704         Various other small cleanups.
21705         
21706         * gst/gstelement.c: (gst_element_post_message):
21707         Fix very verbose bus posting code.
21708
21709         * gst/gstpipeline.c: (gst_pipeline_class_init),
21710         (gst_pipeline_set_property), (gst_pipeline_get_property),
21711         (gst_pipeline_change_state):
21712         Small ARG_ -> PROP_ cleanup
21713
21714 2005-10-08  Wim Taymans  <wim@fluendo.com>
21715
21716         * gst/gstbin.c: (is_eos), (bin_bus_handler):
21717         Do a less CPU demanding EOS check because we can.
21718
21719 2005-10-08  Wim Taymans  <wim@fluendo.com>
21720
21721         * libs/gst/dataprotocol/dataprotocol.c:
21722         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
21723         (gst_dp_packet_from_event):
21724         * libs/gst/dataprotocol/dataprotocol.h:
21725         * libs/gst/dataprotocol/dp-private.h:
21726         It's about time we bump the version number.
21727         Since event types don't fit in the guint8 anymore describing
21728         the payload type, make payload type 16 bits wide.
21729
21730 2005-10-08  Wim Taymans  <wim@fluendo.com>
21731
21732         * docs/design/part-TODO.txt:
21733         * docs/design/part-clocks.txt:
21734         * docs/design/part-events.txt:
21735         * docs/design/part-gstbin.txt:
21736         * docs/design/part-gstelement.txt:
21737         * docs/design/part-gstpipeline.txt:
21738         * docs/design/part-live-source.txt:
21739         * docs/design/part-messages.txt:
21740         * docs/design/part-overview.txt:
21741         * docs/design/part-states.txt:
21742         Many doc updates.
21743
21744 2005-10-08  Wim Taymans  <wim@fluendo.com>
21745
21746         * gst/gstevent.c:
21747         * gst/gstevent.h:
21748         Fix event quark registration.
21749         Add some space between events so we can insert them in the
21750         right groups.
21751
21752 2005-10-08  Wim Taymans  <wim@fluendo.com>
21753
21754         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21755         (gst_base_sink_handle_buffer):
21756         Better log message.
21757
21758         * gst/gstbus.h:
21759         * gst/gstelement.h:
21760         More docs.
21761
21762         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
21763         (gst_queue_set_property), (gst_queue_get_property):
21764         * gst/gstqueue.h:
21765         Remove old unused properties.
21766
21767 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
21768         * docs/gst/gstreamer-sections.txt:
21769         * gst/gstmessage.c:
21770         * gst/gstmessage.h:
21771         * gst/gstminiobject.c:
21772         * gst/gstminiobject.h:
21773         * gst/gstobject.h:
21774         * gst/gstpad.h:
21775         * gst/gstutils.h:
21776           lots of new docs and doc fixes
21777
21778 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21779
21780         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
21781         * gst/gstplugin.h:
21782         * gst/gstregistry.c: (gst_registry_lookup_locked),
21783         (gst_registry_scan_path_level):
21784         * gst/gstregistryxml.c: (load_plugin):
21785           Only ever load one plugin for a given plugin basename.
21786           This ensures correct overriding of GST_PLUGIN_PATH over
21787           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
21788           system installed plugins.
21789
21790 2005-10-08  Wim Taymans  <wim@fluendo.com>
21791
21792         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21793         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
21794         Prepare for doing QOS.
21795
21796 2005-10-08  Wim Taymans  <wim@fluendo.com>
21797
21798         * check/gst/gstbin.c: (GST_START_TEST):
21799         * check/pipelines/cleanup.c: (GST_START_TEST):
21800         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
21801         Allow new clock message too.
21802
21803 2005-10-08  Wim Taymans  <wim@fluendo.com>
21804
21805         * gst/gstmessage.c: (gst_message_new_error),
21806         (gst_message_new_warning), (gst_message_new_tag),
21807         (gst_message_new_state_changed), (gst_message_new_clock_provide),
21808         (gst_message_new_clock_lost), (gst_message_new_new_clock),
21809         (gst_message_new_segment_start), (gst_message_new_segment_done),
21810         (gst_message_parse_state_changed),
21811         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
21812         (gst_message_parse_new_clock):
21813         * gst/gstmessage.h:
21814         Also carry the clock in question.
21815
21816 2005-10-08  Wim Taymans  <wim@fluendo.com>
21817
21818         * gst/gstmessage.c: (gst_message_new_custom),
21819         (gst_message_new_eos), (gst_message_new_error),
21820         (gst_message_new_warning), (gst_message_new_tag),
21821         (gst_message_new_state_changed), (gst_message_new_clock_provide),
21822         (gst_message_new_new_clock), (gst_message_new_segment_start),
21823         (gst_message_new_segment_done), (gst_message_parse_state_changed),
21824         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
21825         * gst/gstmessage.h:
21826         Clean up.
21827         Added clock related messages.
21828
21829         * gst/gstpipeline.c: (gst_pipeline_change_state):
21830         Post message when the clock changed.
21831
21832         * tools/gst-launch.c: (event_loop):
21833         Print new clock.
21834
21835 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
21836
21837         * tools/gst-inspect.c: (print_element_properties_info):
21838           Can't pass NULL strings to g_print() on windows.
21839
21840 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21841
21842         * docs/Makefile.am:
21843         * docs/gst/Makefile.am:
21844         * docs/gst/gstreamer-docs.sgml:
21845         * docs/gst/running.xml:
21846         * docs/version.entities.in:
21847           add a chapter on running GStreamer.
21848           document GST_DEBUG and GST_PLUGIN* env vars
21849
21850 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21851
21852         * Makefile.am:
21853           remove include dir
21854         * configure.ac:
21855           remove PLUGINS_BUILDDIR stuff
21856         * gst/gst.c: (init_post):
21857           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
21858         * idiottest.mak:
21859           remove, it was condescending and not needed
21860
21861 2005-10-08  Wim Taymans  <wim@fluendo.com>
21862
21863         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
21864         (gst_base_sink_handle_object), (gst_base_sink_event),
21865         (gst_base_sink_wait), (gst_base_sink_handle_event),
21866         (gst_base_sink_change_state):
21867         * gst/base/gstbasesink.h:
21868         Repost EOS message while going to PLAYING if still EOS.
21869         Make sure that when receiving a FLUSH_START we don't attempt
21870         to sync on the clock anymore.
21871
21872 2005-10-08  Wim Taymans  <wim@fluendo.com>
21873
21874         * tools/gst-launch.c: (event_loop):
21875         Better message printout.
21876
21877 2005-10-08  Wim Taymans  <wim@fluendo.com>
21878
21879         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
21880         (gst_bin_child_proxy_get_children_count):
21881         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
21882         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
21883         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
21884         (gst_child_proxy_set_valist):
21885         * gst/parse/grammar.y:
21886         Make ChildProxy threadsafe and fix mem leaks.
21887
21888 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21889
21890         * gst/gst.c: (init_post):
21891           debug the GST_PLUGIN_ env vars
21892
21893 2005-10-08  Wim Taymans  <wim@fluendo.com>
21894
21895         * check/gst/gstbin.c: (GST_START_TEST):
21896         * check/gst/gstmessage.c: (GST_START_TEST):
21897         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
21898         * gst/gstelement.c: (gst_element_commit_state),
21899         (gst_element_lost_state):
21900         * gst/gstmessage.c: (gst_message_new_state_changed),
21901         (gst_message_parse_state_changed):
21902         * gst/gstmessage.h:
21903         * tools/gst-launch.c: (event_loop):
21904         Added extra field to STATE_CHANGE message with the pending
21905         state, which will be different from the new state soon.
21906
21907 2005-10-08  Wim Taymans  <wim@fluendo.com>
21908
21909         * gst/gstbus.c: (gst_bus_pop):
21910         * gst/gstclock.c:
21911         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
21912         Small cleanups and doc updates.
21913
21914 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
21915
21916         * gst/gst.c: (init_pre):
21917         * gst/gstbin.c: (gst_bin_add_func):
21918           log distributing clocks and base time
21919         * gst/gstregistry.c: (gst_registry_add_plugin),
21920         (gst_registry_scan_path_level), (gst_registry_scan_path):
21921           clean up the debugging output a little
21922         * gst/gstutils.c: (gst_element_state_get_name):
21923           warn about a memleak (I've actually seen this be used, though
21924           it was probably a bug)
21925
21926 2005-10-07  Wim Taymans  <wim@fluendo.com>
21927
21928         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21929         (gst_base_src_init), (gst_base_src_default_newsegment),
21930         (gst_base_src_newsegment), (gst_base_src_do_seek),
21931         (gst_base_src_loop), (gst_base_src_start):
21932         * gst/base/gstbasesrc.h:
21933         Make the newsegment event customizable by subclasses.
21934
21935 2005-10-07  Wim Taymans  <wim@fluendo.com>
21936
21937         * gst/gstevent.c: (gst_event_new_buffersize),
21938         (gst_event_parse_buffersize):
21939         * gst/gstevent.h:
21940         New event for future idea.
21941
21942 2005-10-07  Andy Wingo  <wingo@pobox.com>
21943
21944         * gst/gstelement.c (gst_element_post_message): Doc update.
21945
21946         * docs/gst/gstreamer-sections.txt: Update.
21947
21948         * gst/gstmessage.c (gst_message_new_application): Made into a
21949         function like honest API calls.
21950         (gst_message_new_element): New message type.
21951
21952         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
21953
21954         * check/elements/fakesrc.c (test_no_preroll): New check, checks
21955         that setting a live fakesrc to PAUSED returns NO_PREROLL both
21956         times.
21957
21958         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
21959         NO_PREROLL from gst_element_change_state to fall through.
21960
21961 2005-10-07  Wim Taymans  <wim@fluendo.com>
21962
21963         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
21964         (gst_ghost_pad_do_activate_push):
21965         Activating a ghostpad with no internal pad in push mode
21966         is ok.
21967
21968 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
21969
21970         * gst/gstobject.h:
21971           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
21972           Fixes compilation on Windows.
21973
21974 2005-10-07  Michael Smith <msmith@fluendo.com>
21975
21976         * tools/gst-inspect.c:
21977           Print out feature and plugin count at the end when printing out
21978           all features.
21979
21980 2005-10-04  Michael Smith <msmith@fluendo.com>
21981
21982         * gst/gsterror.c: (_gst_stream_errors_init):
21983           Add another error string used in a few existing plugins.
21984
21985         * gst/gstplugin.c:
21986         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
21987         * tools/gst-inspect.c: (print_element_info):
21988           When a feature disappears from a plugin (and the feature exists in
21989           the cached registry file), things went horribly wrong. This isn't a
21990           complete fix, we should actually be removing the 'missing' features
21991           from the features list when we load the actual plugin. That's not
21992           yet implemented. 
21993
21994 2005-10-04  Johan Dahlin  <johan@gnome.org>
21995
21996         * check/gst/gstiterator.c: (GST_START_TEST):
21997         * gst/gstbin.c: (gst_bin_iterate_elements),
21998         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
21999         * gst/gstelement.c: (gst_element_iterate_pads):
22000         * gst/gstformat.c: (gst_format_iterate_definitions):
22001         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
22002         (gst_iterator_new_list), (gst_iterator_filter):
22003         * gst/gstiterator.h:
22004         * gst/gstquery.c: (gst_query_type_iterate_definitions):
22005         Add a GType to GstIterator, update callsites and tests.
22006
22007 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22008
22009         * gst/gstpad.c: (gst_pad_event_default_dispatch):
22010           give events a chance to be handled by event probes when the pad
22011           is not linked
22012
22013 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22014
22015         * gst/gstevent.c: (gst_event_type_get_name),
22016         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
22017         * gst/gstevent.h:
22018           add string representations for event types
22019
22020 2005-10-06  Wim Taymans  <wim@fluendo.com>
22021
22022         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
22023         Don't use NULL pointers.
22024
22025 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22026
22027         * gst/gst_private.h:
22028         * gst/gstbus.c:
22029         * gst/gstelement.c:
22030         * gst/gstinfo.c:
22031         * gst/gstpluginfeature.c:
22032           widen the debug category in output to fit the biggest one we have
22033           add a bus category and use it
22034           play with the colors
22035           fix up some categories
22036
22037 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22038
22039         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
22040           add push activation of sink ghost pads.
22041           Andye, please verify
22042
22043 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
22044
22045         * gst/gstutils.c: (gst_element_link_pads):
22046           fix a bug in the case where neither element has a pad
22047         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
22048           add a test for that case
22049
22050 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
22051
22052         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
22053           emit have-data before checking for peers.  This allows
22054           for probe handlers to connect elements.  This helps autopluggers.
22055         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
22056         (gst_pad_suite):
22057           add six checks, linked/unlinked with no/true/false probe
22058
22059 2005-10-04  Wim Taymans  <wim@fluendo.com>
22060
22061         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
22062         (gst_fake_sink_event), (gst_fake_sink_preroll),
22063         (gst_fake_sink_render), (gst_fake_sink_change_state):
22064         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
22065         (gst_fake_src_get_property), (gst_fake_src_create),
22066         (gst_fake_src_stop):
22067         * gst/elements/gstidentity.c: (gst_identity_stop):
22068         Protect last_message with lock.
22069
22070 2005-10-04  Edward Hervey  <edward@fluendo.com>
22071
22072         * gst/gstformat.h: 
22073         Added precision in the comments for GST_FORMAT_DEFAULT
22074
22075 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
22076
22077         * tools/gst-launch.c: (main):
22078           Don't try to run erroneous pipelines.
22079
22080 2005-10-04  Julien MOUTTE  <julien@moutte.net>
22081
22082         * gst/gstbus.c: We don't need this header.
22083
22084 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
22085
22086         * configure.ac:
22087           back to development
22088
22089 === release 0.9.3 ===
22090
22091 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
22092
22093         * README:
22094         * configure.ac:
22095           Releasing 0.9.3, "Unregistered"
22096
22097 2005-10-03  Andy Wingo  <wingo@pobox.com>
22098
22099         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
22100         whereby calling a pad's activatepush() function can start a thread
22101         that starts to push or pull before the pad gets the FLUSHING flag
22102         unset. Hack around it by holding the stream lock until the flag is
22103         set. Need to replace this with a proper solution. Together with
22104         the ghost pad fixes, this fixes mp3 playing/tagreading.
22105
22106         * docs/design/part-gstghostpad.txt: Add a note about activation of
22107         proxy pads outside of ghost pads.
22108
22109         * gst/gstghostpad.c: Implement the ghost pad activation design.
22110
22111 2005-10-02  Andy Wingo  <wingo@pobox.com>
22112
22113         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
22114         It is volatile, after all.
22115
22116         * docs/design/part-gstghostpad.txt: Flesh out activation with
22117         ghost pads.
22118
22119         * gst/base/gstbasesrc.c (gst_base_src_init): Use
22120         GST_DEBUG_FUNCPTR.
22121
22122 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
22123
22124         * configure.ac:
22125           Fix (unused) AM_CONDITIONAL tests.
22126
22127 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
22128
22129         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
22130
22131         * gst/gstutils.c: (gst_pad_query_convert):
22132           Add assertion that makes sure src_val is >=0, just like
22133           gst_query_new_convert() has. (#315895)
22134
22135 2005-09-30  Edward Hervey  <edward@fluendo.com>
22136
22137         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
22138         Let's not iterate pads we're not interested in, it avoids getting 
22139         sky-high refcounts on sinkpad.
22140
22141 2005-09-30  Wim Taymans  <wim@fluendo.com>
22142
22143         * gst/gstelement.c: (gst_element_set_state),
22144         (gst_element_change_state):
22145         Small tweak, element in ASYNC remains ASYNC.
22146
22147 2005-09-30  Wim Taymans  <wim@fluendo.com>
22148
22149         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
22150         Only error is an error.
22151
22152         * gst/gstbin.c: (gst_bin_change_state):
22153         Better debugging.
22154
22155         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
22156         Also call pad_block in pad alloc.
22157
22158         * gst/gstutils.c: (gst_flow_get_name):
22159         Better debugging.
22160
22161 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
22162
22163         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22164         (gst_base_src_get_range):
22165           Fix documentation typos. Add some more debug info.
22166
22167 2005-09-29  David Schleef  <ds@schleef.org>
22168
22169         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
22170           more end-user friendly.
22171         * tools/gst-inspect.c: (main): Check if command-line argument is
22172           a file and attempt to load that file as a plugin.
22173
22174 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22175
22176         * check/gst/gstbin.c:
22177         * check/states/sinks.c:
22178           fix tests for the new warning
22179         * check/gst/gstpipeline.c:
22180           add a test for pipeline and bus interaction
22181         * gst/gstelement.c:
22182           elements should be NULL if they get disposed; add a warning if not
22183
22184 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22185
22186         * gst/gstobject.c:
22187           for 2.6 refcounting, make debug log more correct by printing
22188           the actual refcounts at the time of swap (Wim)
22189
22190 2005-09-29  Andy Wingo  <wingo@pobox.com>
22191
22192         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
22193         removes signal watches previously added via
22194         gst_bus_add_signal_watch.
22195         (gst_bus_add_signal_watch): Don't return the source id, just store
22196         it on the bus if there wasn't an id already.
22197
22198         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
22199         add_signal_watch and remove_signal_watch.
22200
22201 2005-09-29  Edward Hervey  <edward@fluendo.com>
22202
22203         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
22204         Better if we actually iterate the list :)
22205
22206 2005-09-29  Wim Taymans  <wim@fluendo.com>
22207
22208         * check/gst/gstbin.c: (GST_START_TEST):
22209         Change for new bus API.
22210
22211         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
22212         (send_messages), (GST_START_TEST), (gstbus_suite):
22213         Change for new bus signal API.
22214
22215         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
22216         (gst_bus_source_prepare), (gst_bus_source_check),
22217         (gst_bus_create_watch), (gst_bus_add_watch_full),
22218         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
22219         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
22220         * gst/gstbus.h:
22221         Remove support for multiple GSources operating on different
22222         message types as it is too complex and unneeded when using
22223         signals.
22224         Added support for receiving signals from the bus.
22225
22226 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
22227
22228         * docs/libs/tmpl/gstdataprotocol.sgml:
22229         * docs/manual/advanced-dataaccess.xml:
22230         * gst/elements/gstcapsfilter.c:
22231         * gst/gstutils.c:
22232           rename filter-caps to caps property
22233
22234 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
22235
22236         * gst/gstvalue.c: (gst_value_deserialize_fraction):
22237           More robust fraction string parsing.
22238
22239         * docs/pwg/appendix-porting.xml:
22240           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
22241
22242 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
22243
22244         * gst/gstcaps.c: (gst_caps_do_simplify):
22245           Thou shalt not free a structure and then continue using it
22246           in the next loop iteration.
22247
22248         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
22249         (gst_caps_suite):
22250           Add test case for caps simplification.
22251
22252 2005-09-29  Wim Taymans  <wim@fluendo.com>
22253
22254         * check/gst/gstbin.c: (GST_START_TEST):
22255         Oops.
22256
22257 2005-09-29  Wim Taymans  <wim@fluendo.com>
22258
22259         * check/gst/gstbin.c: (GST_START_TEST):
22260         Add bus to bin.
22261
22262         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
22263         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
22264         (find_element), (gst_bin_sort_iterator_next),
22265         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22266         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22267         (gst_bin_change_state), (gst_bin_dispose):
22268         A bin does not have a bus, it gets the bus from the parent.
22269
22270         * gst/gstelement.c: (gst_element_requires_clock),
22271         (gst_element_provides_clock), (gst_element_is_indexable),
22272         (gst_element_is_locked_state), (gst_element_change_state),
22273         (gst_element_set_bus_func):
22274         Small cleanups.
22275
22276         * gst/gstpipeline.c: (gst_pipeline_class_init),
22277         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
22278         The pipeline provides a bus.
22279
22280 2005-09-28  Johan Dahlin  <johan@gnome.org>
22281
22282         * gst/gstmessage.c (gst_message_parse_state_changed): Use
22283         gst_structure_get_enum instead of gst_structure_get_int
22284
22285         * gst/gststructure.c (gst_structure_get_enum): Impl.
22286
22287         * gst/gststructure.h (gst_structure_get_enum): Add
22288
22289         * docs/gst/gstreamer-sections.txt: Ditto
22290
22291         * gst/gstmessage.c (gst_message_new_state_changed): Use
22292         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
22293         which does introspection.
22294         Reviewed by Christian Schaller
22295
22296 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
22297
22298         * gst/gstinfo.c: (gst_debug_log_default):
22299           don't do dummy g_strdup()s
22300         * libs/gst/controller/gstcontroller.c:
22301         (on_object_controlled_property_changed),
22302         (gst_controlled_property_new), (gst_controller_new_valist),
22303         (gst_controller_new_list),
22304         (gst_controller_remove_properties_valist), (gst_controller_set),
22305         (gst_controller_get), (gst_controller_sync_values),
22306         (gst_controller_get_value_array), (_gst_controller_class_init),
22307         (gst_controller_get_type):
22308         * libs/gst/controller/gstcontroller.h:
22309         * libs/gst/controller/gstinterpolation.c:
22310         (gst_controlled_property_find_timed_value_node):
22311           convert // to /**/ comments
22312
22313 2005-09-28  Wim Taymans  <wim@fluendo.com>
22314
22315         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
22316         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
22317         (gst_bus_sync_signal_handler):
22318         * gst/gstbus.h:
22319         Added async-message and sync-message signals to the bus.
22320         Added helper BusFunc to emit signals for all posted messages.
22321
22322         * gst/gstmessage.c: (gst_message_type_get_name),
22323         (gst_message_type_to_quark), (gst_message_get_type):
22324         * gst/gstmessage.h:
22325         Register quarks for message names.
22326
22327 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
22328
22329         * docs/libs/gstreamer-libs-sections.txt:
22330         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
22331         (gst_controller_new_list):
22332         * libs/gst/controller/gstcontroller.h:
22333           added another constructor for language bindings
22334
22335 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
22336
22337         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
22338           add another check
22339         * gst/gstbus.c:
22340           add some doc
22341         * gst/gstinfo.c: (_gst_debug_init):
22342           slightly more readable color for refcount debugging
22343
22344 2005-09-28  Wim Taymans  <wim@fluendo.com>
22345
22346         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
22347         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
22348         (find_element), (gst_bin_sort_iterator_next),
22349         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22350         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22351         (gst_bin_change_state), (gst_bin_dispose):
22352         Small doc fixes. get_clock -> provide_clock.
22353
22354         * gst/gstelement.c: (gst_element_class_init),
22355         (gst_element_provides_clock), (gst_element_provide_clock),
22356         (gst_element_get_clock), (gst_element_commit_state),
22357         (gst_element_lost_state):
22358         * gst/gstelement.h:
22359         Make get/set_clock() symetric. Add provide_clock vmethod since
22360         that is actually what this function does.
22361
22362         * gst/gstpipeline.c: (gst_pipeline_class_init),
22363         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
22364         (gst_pipeline_get_clock):
22365         get_clock -> provide_clock.
22366
22367 2005-09-28  Andy Wingo  <wingo@pobox.com>
22368
22369         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
22370         lieu of real docs...
22371
22372         * gst/elements/gstfdsrc.c: Cleaned up a bit.
22373
22374 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
22375
22376         * gst/elements/gstcapsfilter.c:
22377         * gst/elements/gstfakesink.c:
22378         * gst/elements/gstfakesrc.c:
22379         * gst/elements/gstfdsink.c:
22380         * gst/elements/gstfdsrc.c:
22381         * gst/elements/gstfilesink.c:
22382         * gst/elements/gstfilesrc.c:
22383         * gst/elements/gstidentity.c:
22384         * gst/elements/gsttee.c:
22385         * gst/elements/gsttypefindelement.c:
22386           Make element details static.
22387
22388 2005-09-28  Wim Taymans  <wim@fluendo.com>
22389
22390         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
22391         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
22392         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22393         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22394         (gst_bin_change_state), (gst_bin_dispose):
22395         Some documentation updates.
22396         Clean up dispose handlers.
22397
22398         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
22399         * gst/gstpad.c: (gst_pad_dispose):
22400         Clean up dispose handler.
22401
22402         * gst/gstpipeline.c: (gst_pipeline_change_state):
22403         Removed spurious UNLOCK.
22404
22405 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
22406
22407         * docs/gst/gstreamer-sections.txt:
22408         * gst/base/gstbasesrc.h:
22409         * gst/gstelement.h:
22410         * gst/gstevent.h:
22411         * gst/gstobject.h:
22412         * gst/gstpad.h:
22413         * gst/gstpipeline.c:
22414         * gst/gstpipeline.h:
22415         * gst/gstutils.h:
22416         * gst/gstxml.h:
22417           added two new functions to the docs
22418                 documents all undocumented GstXXXFlags
22419                 completed some incomplete docs 
22420
22421 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
22422
22423         * gst/gstbin.c: (gst_bin_dispose):
22424         * gst/gstelement.c: (gst_element_dispose):
22425           remove now useless and leaky resurrection code in dispose
22426         * gst/base/gstbasesrc.c: (gst_base_src_init):
22427         * gst/gstelementfactory.c: (gst_element_factory_create):
22428         * gst/gstobject.c: (gst_object_set_parent):
22429           add some debugging
22430
22431 2005-09-27  Wim Taymans  <wim@fluendo.com>
22432
22433         * docs/design/part-TODO.txt:
22434         Update TODO.
22435
22436         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
22437         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
22438         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22439         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22440         (gst_bin_change_state):
22441         * gst/gstelement.h:
22442         Remove element variable, we keep element info in the iterator now.
22443
22444 2005-09-27  Andy Wingo  <wingo@pobox.com>
22445
22446         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
22447         values.
22448
22449 2005-09-27  Wim Taymans  <wim@fluendo.com>
22450
22451         * check/gst/gstbin.c: (GST_START_TEST):
22452         Enable check that works now.
22453
22454         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
22455         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
22456         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
22457         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
22458         (gst_bin_change_state):
22459         * gst/gstbin.h:
22460         Redid the state change algorithm using a topological sort algo.
22461         Handles all cases correctly.
22462         Exposed iterator for state change order.
22463
22464         * gst/gstelement.h:
22465         Temp storage for state changes. Need to get rid of this soon.
22466
22467 2005-09-27  Wim Taymans  <wim@fluendo.com>
22468
22469         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
22470         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
22471         (link_fold_func), (gst_pad_proxy_setcaps):
22472         Leak fixes, the fold functions need to unref the passed object and
22473         _get_parent_*() returns ref to parent.
22474
22475 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
22476
22477         * check/gst/gstbuffer.c: (test_make_writable):
22478           Plug leak in test case and fix 'make check-valgrind'
22479
22480 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
22481
22482         * gst/gstbuffer.c: (gst_subbuffer_init):
22483           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
22484           works correctly in all circumstances (we could have just copied
22485           the parent buffer's readonly flag, but conceptually it seems
22486           cleaner to mark all subbuffers as read-only). (based on patch
22487           by Alessandro Decina, #314710).
22488         
22489         * check/gst/gstbuffer.c: (create_read_only_buffer),
22490         (test_make_writable), (test_subbuffer_make_writable),
22491         (gst_test_suite):
22492           Add some tests for gst_buffer_make_writable().
22493
22494 2005-09-27  Wim Taymans  <wim@fluendo.com>
22495
22496         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
22497         use gst_object_has_ancestor().
22498
22499         * gst/gstobject.c: (gst_object_has_ancestor):
22500         * gst/gstobject.h:
22501         gst_object_has_ancestor() copied from gstbin.c as it is a
22502         useful function.
22503
22504         * tests/instantiate/create.c: (create_all_elements):
22505         * tests/lat.c: (handoff_src), (handoff_sink):
22506         * tests/sched/runxml.c: (main):
22507         * tests/seeking/seeking1.c: (main):
22508         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
22509         (main):
22510         Fix compilation of some tests.
22511
22512 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
22513
22514         * gst/gsterror.h:
22515           Remove comment. GST_TYPE_G_ERROR is here to stay,
22516           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
22517           (#316961, #300610).
22518
22519 2005-09-26  Wim Taymans  <wim@fluendo.com>
22520
22521         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
22522         Added check that shows error in state change order.
22523
22524 2005-09-26  Wim Taymans  <wim@fluendo.com>
22525
22526         * gst/gstbin.c: (gst_bin_change_state):
22527         Make state change function use 3 queues again, we were
22528         adding elements in the wrong order.
22529
22530         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
22531         Some debug info,
22532
22533         * gst/gstpad.c: (gst_pad_dispose):
22534         Added some debug info first.
22535
22536 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
22537
22538         * docs/design/draft-push-pull.txt:
22539         * docs/design/part-events.txt:
22540         * docs/design/part-overview.txt:
22541         * docs/design/part-scheduling.txt:
22542           Replace all _pull_region() with _pull_range()
22543           
22544 2005-09-26  Andy Wingo  <wingo@pobox.com>
22545
22546         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
22547
22548         * check/gst-libs/controller.c: Update for controller api change.
22549
22550         * configure.ac: 
22551         * tests/Makefile.am:
22552         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
22553         over by GLib bug 118439.
22554         
22555         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
22556         routines to a function.
22557
22558         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
22559
22560         * libs/gst/controller/gsthelper.c:
22561         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
22562         (gst_object_sync_values): Renamed from sink_values. Ugh.
22563
22564         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
22565
22566         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
22567         Renamed from controller_key, as it is exported.
22568
22569         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
22570
22571 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
22572
22573         * gst/Makefile.am:
22574         * gst/gst.h:
22575         * gst/gstpad.h:
22576         * gst/gstpadtemplate.h:
22577         * gst/gstquery.c:
22578         * gst/gstquery.h:
22579         * gst/gstqueryutils.c:
22580         * gst/gstqueryutils.h:
22581           remove queryutils headers after moving the two used functions
22582           to gstquery.  also fixes build problem for gstsiddec
22583
22584 2005-09-26  Michael Smith <msmith@fluendo.com>
22585
22586         * tools/gst-launch.1.in:
22587         Correct documentation in manpage of debug syntax
22588
22589 2005-09-26  Wim Taymans  <wim@fluendo.com>
22590
22591         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
22592         (gst_base_src_is_seekable), (gst_base_src_change_state):
22593         Some more debugging info.
22594
22595 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
22596
22597         * docs/gst/gstreamer-sections.txt:
22598         * gst/base/gstbasetransform.h:
22599         * gst/gstindex.h:
22600           added more docs
22601
22602 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
22603
22604         * docs/gst/.cvsignore:
22605         * docs/gst/tmpl/.cvsignore:
22606         * docs/gst/tmpl/gstpipeline.sgml:
22607         * docs/gst/tmpl/gstplugin.sgml:
22608         * gst/gstpipeline.c:
22609         * gst/gstplugin.c:
22610         * gst/gstplugin.h:
22611           inlined the last two docs files
22612           removed the tmpl directory from cvs (no more conflicts here!)
22613
22614 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
22615
22616         * docs/gst/gstreamer-sections.txt:
22617         * docs/gst/tmpl/.cvsignore:
22618         * docs/gst/tmpl/gstpad.sgml:
22619         * docs/gst/tmpl/gstpadtemplate.sgml:
22620         * gst/Makefile.am:
22621         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
22622         (gst_pad_finalize), (gst_pad_set_pad_template):
22623         * gst/gstpad.h:
22624         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
22625         (gst_pad_template_class_init), (gst_pad_template_init),
22626         (gst_pad_template_dispose), (name_is_valid),
22627         (gst_static_pad_template_get), (gst_pad_template_new),
22628         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
22629         (gst_pad_template_pad_created):
22630         * gst/gstpadtemplate.h:
22631           inlined two more docs
22632           factored gstpadtemplate out of gstpad
22633
22634 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
22635
22636         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
22637         (test_children_state_change_order_semi_sink):
22638           Fix test case: we can't rely on a fixed state change order when
22639           going from READY => PAUSED because the sink might commit its 
22640           new state first when the first buffer created by the source 
22641           reaches the sink before the source has finished its change state.
22642           (Test case still fails at times, see #316856, comment 5 onwards)
22643
22644 2005-09-24  Wim Taymans  <wim@fluendo.com>
22645
22646         * docs/design/part-events.txt:
22647         * docs/design/part-gstbus.txt:
22648         * docs/design/part-gstpipeline.txt:
22649         * docs/design/part-messages.txt:
22650         * docs/design/part-overview.txt:
22651         * docs/design/part-segments.txt:
22652         * gst/gstbin.c:
22653         * gst/gstbuffer.c:
22654         * gst/gstclock.c:
22655         * gst/gstelement.c:
22656         * gst/gstevent.c:
22657         * gst/gstfilter.c:
22658         * gst/gstiterator.c:
22659         Various documentation updates.
22660
22661 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22662
22663         * gst/gstclock.h:
22664           Well, that's embarassing.  Luckily we weren't using
22665           GST_CLOCK_DIFF anywhere.
22666
22667 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22668
22669         * common/gtk-doc.mak:
22670           don't fail on building XML, FC4 slave shows a bunch of doc
22671           missing bits that I don't get
22672         * gst/gstpad.c:
22673         * gst/gstpipeline.c:
22674         * gst/gststructure.c:
22675           some doc updates
22676
22677 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
22678
22679         * docs/design/part-gstbin.txt:
22680         * docs/design/part-gstbus.txt:
22681         * gst/gstbus.c:
22682           Add blurb about how the bus goes into flushing mode and
22683           drops all messages when its bin goes from READY into NULL 
22684           state.
22685
22686 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22687
22688         * docs/gst/gstreamer-sections.txt:
22689         * gst/gststructure.c: (gst_structure_get_clock_time):
22690         * gst/gststructure.h:
22691           add a method to get a GstClockTime out of a structure
22692
22693 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
22694
22695         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
22696         (test_children_state_change_order_semi_sink), (gst_bin_suite):
22697           Added test to check state change order in bins (can still be made
22698           to fail here under heavy disk load; bails out with 'Push on pad
22699           fakesink:sink0, but it was not activated in push mode').
22700
22701         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
22702           Fix state change order when there is only a semi sink (#316856)
22703
22704         * gst/gstbus.c: (gst_bus_class_init):
22705           Use _class_peek_parent(), not _class_ref(); fix docs to say
22706           'default main context' instead of 'mainloop' where that is
22707           what's meant.
22708
22709         * gst/gstelement.c: (gst_element_commit_state),
22710         (gst_element_set_state):
22711           Fix typos in debug messages
22712
22713 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22714
22715         * docs/README:
22716         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
22717         * gst/gstpluginfeature.c:
22718         * gst/gstutils.c:
22719           various doc updates
22720         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22721           change an assert into an error until it gets fixed properly
22722
22723 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
22724
22725         * docs/gst/gstreamer-sections.txt:
22726         * docs/gst/tmpl/.cvsignore:
22727         * docs/gst/tmpl/gstelement.sgml:
22728         * docs/gst/tmpl/gstinfo.sgml:
22729         * docs/gst/tmpl/gstobject.sgml:
22730         * gst/gstelement.c:
22731         * gst/gstelement.h:
22732         * gst/gstinfo.c:
22733         * gst/gstinfo.h:
22734         * gst/gstobject.c: (gst_object_class_init):
22735         * gst/gstobject.h:
22736           inlined 3 more biiiig doc files and added some missing docs on the fly
22737
22738 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22739
22740         * check/gst/.cvsignore:
22741         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
22742         * gst/gstregistryxml.c: (load_plugin),
22743         (gst_registry_xml_save_plugin):
22744           put back source in registry.  add checks for find_plugin.
22745         * testsuite/states/bin.c: (assert_state), (empty_bin),
22746         (test_adding_one_element), (main):
22747         * testsuite/states/locked.c: (main):
22748           some compile/run fixes
22749
22750 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
22751
22752         * check/gst/gstvalue.c: (GST_START_TEST):
22753           fix leaks in the test itself
22754
22755 2005-09-22  Wim Taymans  <wim@fluendo.com>
22756
22757         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
22758         (gst_base_sink_send_event), (gst_base_sink_peer_query),
22759         (gst_base_sink_query):
22760         Prepare for more accurate position reporting and query
22761         handling.
22762
22763         * gst/gstelement.c: (gst_element_send_event),
22764         (gst_element_set_state):
22765         Add some comment.
22766
22767 2005-09-22  Wim Taymans  <wim@fluendo.com>
22768
22769         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
22770         (gst_query_parse_segment):
22771         * gst/gstquery.h:
22772         More documentation.
22773         Add segment query for future use.
22774
22775 2005-09-22  Wim Taymans  <wim@fluendo.com>
22776
22777         * gst/gstbin.c: (gst_bin_add_func):
22778         Some more debug info.
22779
22780         * gst/gstelement.c: (gst_element_send_event):
22781         Simplify send_event
22782
22783         * gst/gstelement.h:
22784         Don't know how flags got broken.
22785
22786         * gst/gstquery.h:
22787         Added new query.
22788
22789 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
22790
22791         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
22792           Add simplistic test suite for GST_TYPE_DATE serialisation and
22793           deserialisation.
22794
22795 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
22796
22797         * docs/gst/gstreamer-sections.txt:
22798         * gst/gststructure.c: (gst_structure_set_valist),
22799         (gst_structure_get_date):
22800         * gst/gststructure.h:
22801         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
22802         (gst_date_copy), (gst_value_compare_date),
22803         (gst_value_serialize_date), (gst_value_deserialize_date),
22804         (gst_value_transform_date_string),
22805         (gst_value_transform_string_date), (_gst_value_initialize):
22806         * gst/gstvalue.h:
22807           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
22808           bunch of utility functions along with a hack that checks that
22809           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
22810           is required. Part of the grand scheme in #170777.
22811
22812 2005-09-22  Andy Wingo  <wingo@pobox.com>
22813
22814         * gst/gstconfig.h.in: Psych out gtk-doc.
22815
22816         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
22817
22818         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
22819
22820         * tools/gst-inspect.c (print_element_list): Plug some
22821         inconsequential leaks.
22822
22823         * gst/gstregistry.c (gst_registry_get_default): Doc.
22824
22825         * check/gst/gstplugin.c: 
22826         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
22827         * gst/gstelementfactory.c (gst_element_factory_create): 
22828         * gst/gstindexfactory.c (gst_index_factory_create): Update for
22829         refcount changes.
22830
22831         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
22832         (gst_plugin_feature_load): Doc, don't eat refs.
22833
22834         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
22835         (gst_plugin_list_free): Doc.
22836         (gst_plugin_load_file): Doc updates.
22837
22838         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
22839         accessors returning refcounted objects, return a ref.
22840
22841         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
22842         accessor for caps. IDEMPOTENCE. Oh yes.
22843
22844 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
22845
22846         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
22847
22848         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
22849         (_gst_debug_register_funcptr):
22850           Add mutex to serialise access to the hash table with
22851           the function pointer => function name string mapping;
22852           make that hash table static scope (#316809).
22853
22854         * gst/registries/.cvsignore:
22855           Remove left-over file.
22856
22857 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
22858
22859         * docs/pwg/appendix-porting.xml:
22860           And something about newsegment events and caps-on-buffers to
22861           the porting guide (feel free to improve).
22862
22863 2005-09-21  Andy Wingo  <wingo@pobox.com>
22864
22865         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
22866         data and event probes on the same pad.
22867         (test_buffer_probe_once): Test that removing probes from within
22868         the probe functions works.
22869
22870 2005-09-21  Andy Wingo  <wingo@pobox.com>
22871
22872         * check/gst/gstutils.c: New file.
22873         (test_buffer_probe_n_times): A simple buffer probe test. More to
22874         come, foolios.
22875
22876         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
22877         have-data::buffer, not have-data.
22878         (gst_pad_add_event_probe): Likewise for have-data::event.
22879         (gst_pad_add_data_probe): More docs. The part about 'resolving the
22880         peer' isn't quite right yet though.
22881         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
22882         (gst_pad_remove_data_probe): Change to take the guint handler_id
22883         as their arg, not the function+data, which is more glib-like.
22884
22885         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
22886         the signal emission to indicate if the data is a buffer or an
22887         event.
22888         (gst_pad_get_type): Initialize buffer and event quarks.
22889         (gst_pad_class_init): have-data is now a detailed signal, yes it
22890         is.
22891
22892 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
22893
22894         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
22895         * gst/gstutils.c: (gst_util_set_value_from_string),
22896         (gst_util_set_object_arg):
22897           Don't put functional code in g_return_if_fail() or
22898           g_return_val_if_fail() statements, otherwise things will 
22899           break when G_DISABLE_CHECKS is defined during compilation.
22900
22901 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
22902
22903         * docs/gst/tmpl/.cvsignore:
22904         * docs/gst/tmpl/gstvalue.sgml:
22905         * gst/gstvalue.c:
22906         * gst/gstvalue.h:
22907           inlied another one and added  some obvious docs
22908
22909 2005-09-21  Wim Taymans  <wim@fluendo.com>
22910
22911         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
22912         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
22913         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
22914         (gst_fdsrc_get_property), (gst_fdsrc_create):
22915         * gst/elements/gstfdsrc.h:
22916         Properly implement fdsrc. Removed signal and timeout,
22917         better implemented somewhere else.
22918
22919 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
22920
22921         * docs/gst/tmpl/.cvsignore:
22922         * docs/gst/tmpl/gstimplementsinterface.sgml:
22923         * gst/gstinterface.c:
22924           inlined more docs
22925
22926 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
22927
22928         * docs/gst/gstreamer-sections.txt:
22929         * docs/gst/tmpl/.cvsignore:
22930         * docs/gst/tmpl/gstenumtypes.sgml:
22931           remove obsolete doc file
22932
22933 2005-09-21  David Schleef  <ds@schleef.org>
22934
22935         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
22936         little beer, fix a little leak.
22937
22938 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
22939
22940         * docs/gst/gstreamer-docs.sgml:
22941         * docs/gst/gstreamer-sections.txt:
22942         * docs/gst/tmpl/.cvsignore:
22943         * gst/Makefile.am:
22944         * gst/gst.h:
22945         * gst/gstbin.c:
22946         * gst/gstelement.h:
22947         * gst/gstindex.c: (gst_index_class_init):
22948         * gst/gstindex.h:
22949         * gst/gstindexfactory.c: (gst_index_factory_get_type),
22950         (gst_index_factory_class_init), (gst_index_factory_init),
22951         (gst_index_factory_finalize), (gst_index_factory_new),
22952         (gst_index_factory_destroy), (gst_index_factory_find),
22953         (gst_index_factory_create), (gst_index_factory_make):
22954         * gst/gstindexfactory.h:
22955         * gst/gstpluginfeature.c:
22956         * gst/gstpluginfeature.h:
22957         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
22958           more docs inlined, splitted gstindex.{c,h}
22959
22960 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22961
22962         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
22963           fix a leak
22964
22965 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
22966
22967         * gst/elements/gstfilesink.c: (gst_file_sink_init):
22968           Set sync to FALSE by default.
22969
22970 2005-09-20  Wim Taymans  <wim@fluendo.com>
22971
22972         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
22973         (gst_base_sink_init):
22974         Make sync property settable from subclass.
22975
22976         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
22977         (gst_fake_sink_change_state):
22978         Set sync to FALSE by default.
22979
22980 2005-09-20  Wim Taymans  <wim@fluendo.com>
22981
22982         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
22983         * tools/gst-launch.c: (main):
22984         The timeout handler should have lower priority than the source
22985         so we don't timeout before popping a message with 0 timeout.
22986         Dump error messages after failed state change.
22987
22988 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
22989
22990         * tools/gst-inspect.c: (print_element_properties_info):
22991           Fix two typos.
22992
22993 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22994
22995         * check/gst/gstevent.c:
22996         * gst/elements/gstfakesink.c:
22997         * gst/elements/gstfakesink.h:
22998           remove the sync property from fakesink.
22999           has the side effect of setting sync TRUE
23000           for fakesink, which is a change.  Anyone who knows how
23001           to fix this nicely in a GObject-y way, feel free.
23002
23003 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
23004
23005         * docs/gst/gstreamer-docs.sgml:
23006           remove probe refsection
23007
23008 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
23009
23010         * check/Makefile.am:
23011           disable valgrinding the controller test again
23012         * docs/gst/gstreamer-sections.txt:
23013           update for api-changes
23014
23015 2005-09-20  Wim Taymans  <wim@fluendo.com>
23016
23017         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
23018         (gst_base_sink_set_property), (gst_base_sink_get_property),
23019         (gst_base_sink_do_sync):
23020         * gst/base/gstbasesink.h:
23021         Added sync property to basesink to disable clock sync.
23022
23023 2005-09-20  Andy Wingo  <wingo@pobox.com>
23024
23025         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
23026         eating the caller's refcount.
23027
23028         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
23029         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
23030         refcount.
23031
23032         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
23033         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
23034         of GLib 2.8 public, so we can know which refcount to check in
23035         tests.
23036
23037         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
23038         (gst_object_init): Only set the gst refcount if we're going ahead
23039         with the refcount hack.
23040
23041 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
23042
23043         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
23044         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
23045           more leaks plumbed, added more debug-logging
23046         * gst/gstmacros.h:
23047           whitespace fix
23048
23049 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23050
23051         * gst/gstmessage.c:
23052           remove include of gstmemchunk.h
23053
23054 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23055
23056         * gst/gstclock.c: (_gst_clock_id_free):
23057           Commit from the Political Party For More Atomic CVS Commits,
23058           so that people don't waste too much of their day fishing
23059           out obvious leaks out of massive commits.
23060           Oh, and fix a pretty damn obvious leak in the memchunk
23061           removal code.
23062
23063 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
23064
23065         * check/Makefile.am:
23066         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
23067           plug mem-leak, re-add to valgrindable tests
23068
23069 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23070
23071         * gst/gstplugin.h:
23072           unbreak the build for those who have chronic arthritis
23073           and typing "make check" is just too taxing on the hands
23074
23075 2005-09-20  Andy Wingo  <wingo@pobox.com>
23076
23077         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
23078         really want it out, you should fix plugins at the same time.
23079
23080 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
23081
23082         * configure.ac:
23083         * docs/gst/gstreamer-sections.txt:
23084         * gst/gstobject.c:
23085           added missing symbols to api docs
23086           disable ref-count hack if we have glib >= 2.8
23087
23088 2005-09-19  David Schleef  <ds@schleef.org>
23089
23090         * docs/gst/Makefile.am: Ignore a few more internal headers
23091         * docs/gst/gstreamer-docs.sgml: Remove old sections
23092         * docs/gst/gstreamer-sections.txt: Remove old sections
23093         * docs/gst/tmpl/gstobject.sgml: update
23094         * docs/gst/tmpl/gstplugin.sgml: update
23095         * docs/gst/tmpl/gstpluginfeature.sgml: update
23096         * docs/random/ds/0.9-suggested-changes: update.
23097         * gst/Makefile.am: remove memchunk and trashstack, since they're
23098           not used.
23099         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
23100         * gst/gst.h: don't include some headers
23101         * gst/gstchildproxy.c: add gstmarshal.h
23102         * gst/gstclock.c: Don't use memchunks
23103         * gst/gstminiobject.c: Add some docs
23104         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
23105         * gst/gstobject.h: same
23106         * gst/gstplugin.c: include gstmacros.h
23107         * gst/gstplugin.h: don't include gstmacros.h, since it's private
23108         * gst/gstquery.c: don't use memchunks
23109         * gst/gstregistry.c: rename gst_registry_deinit()
23110         * gst/gstregistry.h: same
23111
23112 2005-09-19  David Schleef  <ds@schleef.org>
23113
23114         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
23115         * docs/libs/gstreamer-libs-sections.txt:
23116         * docs/libs/tmpl/gstgetbits.sgml:
23117         * docs/libs/tmpl/gstputbits.sgml:
23118
23119 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
23120
23121         * win32/gstenumtypes.c:
23122         * win32/gstenumtypes.h:
23123           Update.
23124
23125 2005-09-19  Wim Taymans  <wim@fluendo.com>
23126
23127         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
23128         Automatically PAUSE and RESUME a pipeline when a flushing seek
23129         is performed.
23130
23131 2005-09-19  Andy Wingo  <wingo@pobox.com>
23132
23133         * gst/gstregistry.h: Spacing fixen.
23134
23135 2005-09-19  Wim Taymans  <wim@fluendo.com>
23136
23137         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
23138         Handle state change failure more correctly.
23139
23140 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23141
23142         * check/Makefile.am:
23143         * check/pipelines/cleanup.c: (run_pipeline):
23144         * check/pipelines/simple_launch_lines.c: (run_pipeline),
23145         (GST_START_TEST):
23146           enable cleanup again after fixing the leak
23147         * docs/README:
23148           some more info on docs
23149
23150 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23151
23152         * check/Makefile.am:
23153           re-enable tests now that leaks are plugged
23154         * check/gst/gst.c:
23155         * check/gst/gstbin.c:
23156         * check/gst/gstpipeline.c:
23157           add some more tests while fixing leaks
23158         * common/check.mak:
23159           make sure binaries are uptodate when valgrinding/gdbing
23160         * gst/gst.c:
23161         * gst/gstelementfactory.c:
23162           remove a ref too many, and add a FIXME for when we get
23163           round to disposing of classes
23164         * gst/gstplugin.c:
23165           fix the refcounting when loading a plugin from a file and
23166           the code pretends that the pointer is the same even though
23167           of course it can change
23168         * gst/gstpluginfeature.c:
23169           unref plugins marked cached (a bit confusing as a name)
23170           as the docs state should be done
23171           various doc additions to explain refcounting
23172         * gst/gstregistry.c:
23173         * gst/gstregistryxml.c:
23174           debugging
23175
23176 2005-09-19  Wim Taymans  <wim@fluendo.com>
23177
23178         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
23179         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
23180         (send_messages), (GST_START_TEST), (gstbus_suite):
23181         * check/gst/gstpipeline.c: (GST_START_TEST):
23182         * check/pipelines/cleanup.c: (run_pipeline):
23183         * check/pipelines/simple_launch_lines.c: (run_pipeline),
23184         (GST_START_TEST):
23185         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
23186         (gst_bus_source_check), (gst_bus_source_dispatch),
23187         (gst_bus_create_watch), (gst_bus_add_watch_full),
23188         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
23189         * gst/gstbus.h:
23190         * tools/gst-launch.c: (event_loop):
23191         * tools/gst-md5sum.c: (event_loop):
23192         GstBusHandler -> GstBusFunc, return value has the same meaning as
23193         any other GSource (FALSE == remove source).
23194         _add_watch() and _add_watch_full() now take a MessageType mask to
23195         only handle specific types of messages.
23196         _poll() returns the GstMessage instead of the message type to avoid
23197         race conditions.
23198         _have_pending() takes a MessageType mask now too.
23199         Added testsuite for multiple bus watches.
23200         Fix testsuites and applications for new bus API.
23201
23202 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
23203
23204         * check/Makefile.am:
23205           mark a bunch of the tests as to fix until we fix them
23206
23207 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
23208
23209         * common/check.mak:
23210           use GST_PLUGIN settings for valgrind tests as well, so we're
23211           valgrinding the correct thing
23212         * gst/gst.c: (init_post):
23213           plug another leak
23214
23215 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
23216
23217         * gst/gst.c: (init_post), (gst_deinit):
23218         * gst/gstelementfactory.c: (gst_element_factory_class_init),
23219         (gst_element_factory_finalize), (gst_element_factory_cleanup):
23220         * gst/gstindex.c: (gst_index_factory_class_init),
23221         (gst_index_factory_finalize):
23222         * gst/gstobject.c: (gst_object_dispose):
23223         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
23224         (gst_plugin_load_file), (gst_plugin_desc_free):
23225         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
23226         (gst_plugin_feature_finalize):
23227         * gst/gstregistry.c: (gst_registry_class_init),
23228         (gst_registry_init), (gst_registry_finalize),
23229         (gst_registry_get_default), (gst_registry_deinit):
23230         * gst/gstregistry.h:
23231         * gst/gstregistryxml.c: (load_feature), (load_plugin):
23232           various cleanups and memleak plugging.  make valgrind is happy now.
23233
23234 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
23235
23236         * common/check.mak:
23237           add a check-valgrind target
23238
23239 2005-09-18  David Schleef  <ds@schleef.org>
23240
23241         * tools/gst-inspect.c: Revert the GOption code.
23242
23243 2005-09-17  David Schleef  <ds@schleef.org>
23244
23245         * check/Makefile.am: Fix environment variables.
23246         * check/gst/gstplugin.c: Fix for API changes.
23247         * tools/gst-inspect.c: Fix for API changes.
23248         * tools/gst-xmlinspect.c: Fix for API changes.
23249         * gst/gstelementfactory.c:
23250         * gst/gstplugin.c:
23251         * gst/gstplugin.h:
23252         * gst/gstpluginfeature.c:
23253         * gst/gstpluginfeature.h:
23254         * gst/gstregistry.c:
23255         * gst/gstregistry.h:
23256         * gst/gstregistryxml.c:
23257         * gst/gsttypefind.c:
23258         * gst/gsttypefindfactory.c:
23259         * gst/indexers/gstfileindex.c:
23260         * gst/indexers/gstmemindex.c:
23261         * gst/schedulers/Makefile.am:
23262           Change registry to keep track of both plugins and features,
23263           removing the feature tracking from plugins themselves.
23264
23265 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
23266
23267         * check/Makefile.am:
23268         * tools/gst-register.1.in:
23269           remove gst-register
23270
23271 2005-09-15  David Schleef  <ds@schleef.org>
23272
23273         * check/gst/gstplugin.c:
23274         * gst/gstelementfactory.c:
23275         * gst/gstplugin.c:
23276         * gst/gstpluginfeature.c:
23277         * gst/gstregistry.c:
23278           Getting tired of debugging.  Disabled all the unreffing of
23279           plugins and features, which fixes the segfaults, but of
23280           course leaks like crazy.  At least playbin works.
23281
23282 2005-09-15  David Schleef  <ds@schleef.org>
23283
23284         * check/gst/gstplugin.c: (register_check_elements),
23285         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
23286         More testing
23287         * gst/elements/gsttypefindelement.c: Fix refcounting.
23288         * gst/gsttypefind.c:
23289         * gst/gsttypefindfactory.c:
23290         * gst/gsttypefindfactory.h:
23291
23292 2005-09-15  David Schleef  <ds@schleef.org>
23293
23294         * gst/gstindex.c: get refcounting correct.
23295         * gst/gstregistry.c: Handle the case where a feature/plugin is
23296           not found.
23297
23298 2005-09-15  David Schleef  <ds@schleef.org>
23299
23300         * check/Makefile.am:
23301         * check/gst/gstplugin.c: Add test
23302         * gst/gstplugin.c: Fix problems noticed by testsuite
23303         * gst/gstplugin.h:
23304         * gst/gstregistry.c: 
23305         * gst/gstregistry.h:
23306
23307 2005-09-15  David Schleef  <ds@schleef.org>
23308
23309         * gst/gstplugin.c: Implement semi-decent recounting and locking
23310           in plugins and plugin features.
23311         * gst/gstplugin.h:
23312         * gst/gstpluginfeature.c:
23313         * gst/gstpluginfeature.h:
23314         * gst/gstregistry.c:
23315
23316 2005-09-15  Michael Smith <msmith@fluendo.com>
23317
23318         * gst/gstregistry.c: (gst_registry_get_feature_list):
23319           Implement this. Makes oggdemux work; decodebin still broken.
23320
23321 2005-09-14  David Schleef  <ds@schleef.org>
23322
23323         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
23324           #316076)
23325         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
23326         * gst/check/Makefile.am:
23327         * libs/gst/controller/Makefile.am:
23328         * libs/gst/dataprotocol/Makefile.am:
23329
23330 2005-09-14  David Schleef  <ds@schleef.org>
23331
23332         * configure.ac: Remove getbits library.  Nothing uses it, and
23333           it should be in something like liboil if someone did want
23334           to use it.
23335         * libs/gst/Makefile.am:
23336         * libs/gst/getbits/Makefile.am:
23337         * libs/gst/getbits/gbtest.c:
23338         * libs/gst/getbits/getbits.c:
23339         * libs/gst/getbits/getbits.h:
23340         * libs/gst/getbits/gstgetbits_generic.c:
23341         * libs/gst/getbits/gstgetbits_i386.s:
23342         * libs/gst/getbits/gstgetbits_inl.h:
23343
23344 2005-09-14  David Schleef  <ds@schleef.org>
23345
23346         * gst/Makefile.am: Dist glib-compat.h
23347
23348 2005-09-14  David Schleef  <ds@schleef.org>
23349
23350         * configure.ac: Remove gst/registries, since it's no longer used.
23351         * gst/registries/Makefile.am:
23352         * gst/registries/gstlibxmlregistry.c:
23353         * gst/registries/gstlibxmlregistry.h:
23354         * gst/registries/gstxmlregistry.c:
23355         * gst/registries/gstxmlregistry.h:
23356         * gst/registries/registrytest.c:
23357
23358 2005-09-14  David Schleef  <ds@schleef.org>
23359
23360         * gst/glib-compat.h:
23361         * gst/gstregistryxml.c:
23362           Convergence is near.  Seriously.
23363
23364 2005-09-14  David Schleef  <ds@schleef.org>
23365
23366         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
23367         * gst/glib-compat.h:
23368           Attempt #4 to appease the buildbots.
23369
23370 2005-09-14  David Schleef  <ds@schleef.org>
23371
23372         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
23373           Attempt #3.
23374
23375 2005-09-14  David Schleef  <ds@schleef.org>
23376
23377         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
23378         Attempt #2.
23379
23380 2005-09-14  David Schleef  <ds@schleef.org>
23381
23382         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
23383           the new functions.
23384
23385 2005-09-14  David Schleef  <ds@schleef.org>
23386
23387         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
23388         * gst/glib-compat.h: Add some functions that are in newer versions
23389           of glib than we care to require.
23390         * gst/gstregistryxml.c: Use them.
23391
23392 2005-09-14  David Schleef  <ds@schleef.org>
23393
23394         * po/POTFILES.in: remove gst-register.c
23395
23396 2005-09-14  David Schleef  <ds@schleef.org>
23397
23398         * docs/gst/gstreamer-docs.sgml:
23399         * docs/gst/gstreamer-sections.txt:
23400         * docs/gst/gstreamer.types:
23401         * docs/gst/tmpl/gstelement.sgml:
23402         * docs/gst/tmpl/gstplugin.sgml:
23403         * docs/gst/tmpl/gstpluginfeature.sgml:
23404           Documentation updates for registry changes.
23405
23406 2005-09-14  David Schleef  <ds@schleef.org>
23407
23408         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
23409           because we don't require glib-2.8.
23410
23411 2005-09-14  David Schleef  <ds@schleef.org>
23412
23413         * gst/gstregistryxml.c: Added.  Essentially moved out of the
23414           registries directory.
23415
23416 2005-09-14  David Schleef  <ds@schleef.org>
23417
23418         * check/Makefile.am:
23419         * check/generic/states.c:
23420         * gst/Makefile.am:
23421         * gst/gst.c:
23422         * gst/gst.h:
23423         * gst/gst_private.h:
23424         * gst/gstelementfactory.c:
23425         * gst/gstindex.c:
23426         * gst/gstinfo.c:
23427         * gst/gstplugin.c:
23428         * gst/gstplugin.h:
23429         * gst/gstpluginfeature.c:
23430         * gst/gstpluginfeature.h:
23431         * gst/gstregistry.c:
23432         * gst/gstregistry.h:
23433         * gst/gstregistrypool.c: remove
23434         * gst/gstregistrypool.h: remove
23435         * gst/gsttypefind.c:
23436         * gst/gsttypefindfactory.c:
23437         * gst/gsturi.c:
23438         * tools/Makefile.am:
23439         * tools/gst-compprep.c:
23440         * tools/gst-inspect.c:
23441         * tools/gst-register.c: remove
23442         * tools/gst-xmlinspect.c:
23443           Registry rewrite.  Changes registry from being a file created
23444           by a tool into a simple cache file created automatically by 
23445           libgstreamer.  Removed gst-register (because it's no longer
23446           needed).  Remove registry pools, because we only have one
23447           registry implementation (XML).  Fix up other subsystems as
23448           necessary.
23449
23450 2005-09-13  Michael Smith <msmith@fluendo.com>
23451
23452         * gst/gstconfig.h.in:
23453           Don't Use windows linking attributes for MinGW. Fixes #316157
23454
23455 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23456
23457         * gst/gstutils.c: (set_state_async_thread_func),
23458         (gst_element_set_state_async):
23459           Apparently people think it's better if this function doesn't
23460           try to set the state to whatever state was asked for on the first
23461           call to this function for any object.  Seriously.
23462
23463 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23464
23465         * check/gst/gstpipeline.c: (GST_START_TEST):
23466         * docs/gst/gstreamer-sections.txt:
23467         * gst/gstutils.c: (set_state_async_thread_func),
23468         (gst_element_set_state_async):
23469         * gst/gstutils.h:
23470           add a "gst_element_set_state_async" method that
23471           sets the state and starts a thread to make sure the state
23472           change completes as best as it can
23473
23474 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23475
23476         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23477           codify design+behaviour in testsuite after discussion
23478
23479 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23480
23481         * docs/gst/tmpl/gstelement.sgml:
23482         * docs/manual/appendix-quotes.xml:
23483           add a quote
23484         * gst/gstelement.c: (gst_element_set_state):
23485           add some debug
23486
23487 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
23488
23489         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
23490         (gst_base_transform_prepare_output_buf),
23491         (gst_base_transform_handle_buffer):
23492         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
23493         (gst_capsfilter_prepare_buf):
23494           Remove the requirement for sub-classes to call the parent
23495           implementation of prepare_output_buffer with a wrapper function.
23496           
23497         * gst/gsttaglist.h:
23498         * gst/gsttagsetter.h:
23499           Fix #define wrapper
23500
23501 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
23502
23503         * docs/gst/gstreamer-sections.txt:
23504           more doc cleanups
23505
23506 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23507
23508         * docs/gst/gstreamer-sections.txt:
23509         * docs/gst/tmpl/gstelement.sgml:
23510         * docs/gst/tmpl/gstplugin.sgml:
23511         * gst/gstminiobject.c:
23512         * gst/gstvalue.h:
23513           docs now stop throwing warnings
23514
23515 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23516
23517         * docs/gst/gstreamer-sections.txt:
23518         * docs/gst/gstreamer.types:
23519         * docs/gst/tmpl/gstpad.sgml:
23520         * docs/gst/tmpl/gsttypes.sgml:
23521         * gst/base/gstadapter.h:
23522         * gst/base/gstbasesink.h:
23523         * gst/base/gstbasesrc.h:
23524         * gst/gstbin.h:
23525         * gst/gstbuffer.h:
23526         * gst/gstbus.h:
23527         * gst/gstcaps.h:
23528         * gst/gstclock.h:
23529         * gst/gstelement.h:
23530         * gst/gstevent.h:
23531         * gst/gstmessage.h:
23532         * gst/gstpad.h:
23533         * gst/gststructure.c:
23534         * gst/registries/gstlibxmlregistry.h:
23535           various documentation fixes
23536
23537 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23538
23539         * docs/gst/gstreamer-sections.txt:
23540         * docs/gst/tmpl/gstvalue.sgml:
23541           rearrange gstvalue section
23542         * gst/gstutils.c: (gst_element_state_get_name):
23543           NONE -> VOID
23544         * gst/gstvalue.c: (_gst_value_initialize):
23545         * gst/gstvalue.h:
23546           doc updates
23547
23548 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
23549
23550         * check/gst-libs/controller.c:
23551           Header include fix.
23552         * gst/base/gstbasetransform.c:
23553         (gst_base_transform_default_prepare_buf),
23554         (gst_base_transform_handle_buffer):
23555         * gst/base/gstbasetransform.h:
23556           Some more basetransform changes and fixes to enable sub-classes
23557           that modify buffer metadata only.
23558         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
23559         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
23560         (gst_capsfilter_prepare_buf):
23561           If the output pad has fixed allowed caps and input buffers 
23562           don't have any, set the fixed caps on outgoing buffers.
23563
23564 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
23565         * check/elements/identity.c: (GST_START_TEST):
23566           Make the error a little clearer when the test fails because
23567           identity made a copy of the buffer.
23568         * docs/gst/gstreamer-sections.txt:
23569           New symbols in gstbasetransform.h
23570         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
23571         (gst_base_transform_init), (gst_base_transform_transform_size),
23572         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23573         (gst_base_transform_default_prepare_buf),
23574         (gst_base_transform_get_unit_size),
23575         (gst_base_transform_buffer_alloc),
23576         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
23577         (gst_base_transform_change_state),
23578         (gst_base_transform_set_passthrough),
23579         (gst_base_transform_set_in_place),
23580         (gst_base_transform_is_in_place):
23581         * gst/base/gstbasetransform.h:
23582           Change BaseTransform to separate in_place operate from same_caps
23583           output. in_place implies that the element can perform the transform
23584           on incoming buffers in-place, even if the caps on the output are
23585           different.
23586           Sub-class elements can now implement special buffer allocation
23587           methods for outgoing buffers if they wish to.
23588           Big documentation addition.
23589         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
23590         * gst/elements/gstelements.c:
23591           Changes for basetransform modifications.
23592         * gst/elements/Makefile.am:
23593         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
23594           Compile fix. Extra debug output.
23595
23596 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23597
23598         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
23599         (gst_pad_suite):
23600           add tests for valid pad naming
23601         * gst/check/gstcheck.c: (gst_check_log_message_func),
23602         (gst_check_log_critical_func):
23603           add ASSERT_WARNING
23604           remove printing of code, it is fragile when the code contains
23605           % and the line number is enough info
23606         * gst/check/gstcheck.h:
23607         * gst/gstpad.c: (gst_pad_template_new):
23608           fix memleaks
23609
23610 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23611
23612         * configure.ac:
23613           say what CHECK flags we use
23614         * docs/libs/gstreamer-libs.types:
23615         * libs/gst/controller/Makefile.am:
23616         * libs/gst/controller/gst-controller.c:
23617         * libs/gst/controller/gst-controller.h:
23618         * libs/gst/controller/gst-helper.c:
23619         * libs/gst/controller/gst-interpolation.c:
23620         * libs/gst/controller/gstcontroller.c:
23621         * libs/gst/controller/gsthelper.c:
23622         * libs/gst/controller/gstinterpolation.c:
23623         * tools/gst-inspect.c: (print_plugin_info):
23624           we don't use dashes in header names
23625
23626 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23627
23628         * check/Makefile.am:
23629         * check/gst/.cvsignore:
23630         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
23631         (gst_pipeline_suite), (main):
23632           adding a test for pipelines and state changes
23633         * gst/gstutils.c: (get_state_func):
23634           add some debugging
23635         * gstreamer.spec.in:
23636           fix up spec file
23637
23638 2005-09-08  Michael Smith <msmith@fluendo.com>
23639
23640         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
23641         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
23642         (gst_file_src_is_seekable), (gst_file_src_get_size),
23643         (gst_file_src_start):
23644         * gst/elements/gstfilesrc.h:
23645           Various fixes for unseekable, unmmapable, and non-normal files, so
23646           that fallback to read() rather than mmap() works.
23647         * gst/gstevent.c: (gst_event_new_newsegment):
23648           Allow newsegment events with segment_start == segment_end, as will
23649           correctly happen if you use filesrc on a zero-size file, for
23650           example.
23651
23652 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
23653
23654         * gst/gstplugin.c: (gst_plugin_load_file):
23655           Call g_module_close when we don't load the module
23656
23657         * gst/registries/gstlibxmlregistry.c:
23658         (gst_xml_registry_get_property):
23659           Port leak fix from 0.8
23660
23661 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
23662
23663         * docs/gst/gstreamer-docs.sgml:
23664         * docs/gst/tmpl/.cvsignore:
23665         * docs/gst/tmpl/gsttrace.sgml:
23666         * docs/gst/tmpl/gsttrashstack.sgml:
23667         * gst/Makefile.am:
23668         * gst/gst.h:
23669         * gst/gstelement.h:
23670         * gst/gstevent.h:
23671         * gst/gstmessage.c:
23672         * gst/gstmessage.h:
23673         * gst/gsttag.c:
23674         * gst/gsttag.h:
23675         * gst/gsttaginterface.c:
23676         * gst/gsttaginterface.h:
23677         * gst/gsttaglist.c:
23678         * gst/gsttaglist.h:
23679         * gst/gsttagsetter.c:
23680         * gst/gsttagsetter.h:
23681         * gst/gsttrace.c:
23682         * gst/gsttrace.h:
23683         * gst/gsttrashstack.c:
23684           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
23685           inlined docs for gsttrace, gsttrashstack
23686
23687 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
23688
23689         * gst/Makefile.am:
23690         * gst/elements/gstbufferstore.h:
23691         * gst/elements/gsttypefindelement.c:
23692         * gst/elements/gsttypefindelement.h:
23693         * gst/gst.h:
23694         * gst/gsttypefind.c:
23695         * gst/gsttypefind.h:
23696         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
23697         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
23698         (gst_type_find_factory_dispose),
23699         (gst_type_find_factory_unload_thyself),
23700         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
23701         (gst_type_find_factory_get_caps),
23702         (gst_type_find_factory_get_extensions),
23703         (gst_type_find_factory_call_function):
23704         * gst/gsttypefindfactory.h:
23705         * gst/registries/gstlibxmlregistry.c:
23706         * gst/registries/gstxmlregistry.c:
23707           splitted gsttypefind into gsttypefind, gsttypefindfactory
23708
23709 2005-09-07  Andy Wingo  <wingo@pobox.com>
23710
23711         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
23712         condition whereby the pad's task function is entered before the
23713         pad_mode variable was set.
23714
23715 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
23716
23717         * gst/gstpad.c: (gst_pad_alloc_buffer):
23718           Catch misbehaving pad_alloc functions that don't
23719           set up caps and do it for them.
23720
23721 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
23722
23723         * check/pipelines/simple_launch_lines.c: (run_pipeline):
23724           test for pipe!=NULL
23725         * docs/gst/tmpl/.cvsignore:
23726         * docs/gst/tmpl/gstmemchunk.sgml:
23727         * docs/gst/tmpl/gstparse.sgml:
23728         * docs/gst/tmpl/gsttaglist.sgml:
23729         * docs/gst/tmpl/gsttagsetter.sgml:
23730         * docs/gst/tmpl/gsttypefind.sgml:
23731         * docs/gst/tmpl/gsttypefindfactory.sgml:
23732         * gst/gstmemchunk.c:
23733         * gst/gstparse.c:
23734         * gst/gsttag.c:
23735         * gst/gsttaginterface.c:
23736         * gst/gsttypefind.c:
23737         * gst/gsttypefind.h:
23738           inlined more docs
23739
23740 === release 0.9.2 ===
23741
23742 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23743
23744         * NEWS:
23745         * RELEASE:
23746         * configure.ac:
23747           releasing 0.9.2, "South"
23748
23749 2005-09-05  Andy Wingo  <wingo@pobox.com>
23750
23751         * gst/registries/gstxmlregistry.h:
23752         * gst/registries/gstxmlregistry.c: Um... resurrect...
23753         
23754         * gst/registries/gstxmlregistry.h:
23755         * gst/registries/gstxmlregistry.c: and update to newer API.
23756         Incidentally they should be a bit faster now that they don't have
23757         to parse the caps.
23758         
23759 2005-09-05  Andy Wingo  <wingo@pobox.com>
23760
23761         * gst/registries/gstxmlregistry.h:
23762         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
23763         replaced by the libxml registry a while back
23764
23765 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23766
23767         * docs/gst/tmpl/gstplugin.sgml:
23768         * gst/elements/gstelements.c:
23769         * gst/gst.c:
23770         * gst/gstplugin.c: (gst_plugin_register_func),
23771         (gst_plugin_desc_copy), (gst_plugin_desc_free),
23772         (gst_plugin_get_source):
23773         * gst/gstplugin.h:
23774         * gst/registries/gstlibxmlregistry.c: (load_plugin),
23775         (gst_xml_registry_save_plugin):
23776         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
23777         (gst_xml_registry_save_plugin):
23778         * tools/gst-inspect.c: (print_plugin_info):
23779           add a "source" plugin description field, to represent the source
23780           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
23781           will set it to PACKAGE, which is automake's idea of the name of
23782           the source project.
23783
23784 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23785
23786         * Makefile.am:
23787         * autogen.sh:
23788         * configure.ac:
23789         * docs/Makefile.am:
23790         * docs/faq/Makefile.am:
23791         * docs/gst/tmpl/gstelement.sgml:
23792         * docs/gst/tmpl/gsttypes.sgml:
23793         * docs/htmlinstall.mak:
23794         * docs/manual/Makefile.am:
23795         * docs/pwg/Makefile.am:
23796           reorganize doc build a little
23797           split out docbook and gtk-doc stuff
23798           have two separate --enable's and enable them through autogen
23799           but disable by default in configure (to be similar to other
23800           projects)
23801         * gstreamer.spec.in:
23802           clean up docs install
23803         * po/af.po:
23804         * po/az.po:
23805         * po/ca.po:
23806         * po/cs.po:
23807         * po/de.po:
23808         * po/en_GB.po:
23809         * po/fr.po:
23810         * po/it.po:
23811         * po/nb.po:
23812         * po/nl.po:
23813         * po/ru.po:
23814         * po/sq.po:
23815         * po/sr.po:
23816         * po/sv.po:
23817         * po/tr.po:
23818         * po/uk.po:
23819         * po/vi.po:
23820           translation updates
23821
23822 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
23823
23824         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
23825           Add comment.
23826           
23827         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
23828         (gst_fake_sink_change_state):
23829           Make state change function thread-safe.
23830           
23831         * gst/gstpad.c: (gst_pad_alloc_buffer):
23832           Set offset on generic buffer allocated by fallback.
23833
23834 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
23835
23836         * docs/gst/gstreamer-sections.txt:
23837         * docs/gst/tmpl/gstelement.sgml:
23838         * gst/gstpad.c:
23839         * libs/gst/controller/gst-controller.c:
23840         (gst_controlled_property_set_interpolation_mode),
23841         (gst_controlled_property_new),
23842         (gst_controller_find_controlled_property):
23843          run the wingo-magic script against the docs
23844
23845 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
23846
23847         * docs/gst/gstreamer-docs.sgml:
23848         * docs/gst/gstreamer-sections.txt:
23849         * docs/gst/tmpl/.cvsignore:
23850         * docs/gst/tmpl/gstelementdetails.sgml:
23851         * docs/gst/tmpl/gstelementfactory.sgml:
23852         * gst/gst.c:
23853         * gst/gstbus.c:
23854         * gst/gstelementfactory.c:
23855         * gst/gstelementfactory.h:
23856           merged elementdetails docs into elementfactory docs
23857           inlined both
23858
23859 2005-09-02  Andy Wingo  <wingo@pobox.com>
23860
23861         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
23862         consider this enum an enum and not a flags.
23863
23864 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
23865
23866         * docs/gst/gstreamer-docs.sgml:
23867         * docs/gst/tmpl/.cvsignore:
23868         * docs/gst/tmpl/gstghostpad.sgml:
23869         * docs/gst/tmpl/gstiterator.sgml:
23870         * docs/gst/tmpl/gstmacros.sgml:
23871         * docs/gst/tmpl/gstrealpad.sgml:
23872         * docs/gst/tmpl/gstregistry.sgml:
23873         * docs/gst/tmpl/gstregistrypool.sgml:
23874         * docs/gst/tmpl/gststructure.sgml:
23875         * docs/gst/tmpl/gstsystemclock.sgml:
23876         * docs/gst/tmpl/gsttrace.sgml:
23877         * gst/gstghostpad.c:
23878         * gst/gstmacros.h:
23879         * gst/gstmemchunk.c:
23880         * gst/gstmemchunk.h:
23881         * gst/gstqueue.c:
23882         * gst/gstregistry.c:
23883         * gst/gstregistrypool.c:
23884         * gst/gststructure.c:
23885         * gst/gstsystemclock.c:
23886           more docs inlined
23887
23888 2005-09-02  Andy Wingo  <wingo@pobox.com>
23889
23890         * gst/gstelement.h (GstState): Renamed from GstElementState,
23891         changed to be a normal enum instead of flags.
23892         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
23893         munged to be GST_STATE_CHANGE_*.
23894         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
23895         work with the new state representation.
23896         (GstStateChange): New enumeration of possible state transitions.
23897         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
23898         (GstElementClass::change_state): Pass the GstStateChange along as
23899         an argument. Helps language bindings, so they don't have to use
23900         tricky lock-needing macros like GST_STATE_CHANGE ().
23901
23902         * scripts/update-states (file): New script. Run it on a file to
23903         update it for state naming and API changes. Updates files in
23904         place.
23905
23906         * All files updated for the new API.
23907
23908 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
23909
23910         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
23911         * gst/gstutils.c: (gst_util_set_value_from_string),
23912         (gst_util_set_object_arg):
23913           fix a bunch of unchecked return values
23914         * tools/gst-complete.c: (main):
23915         * gstreamer.spec.in:
23916           clean up a little
23917
23918 2005-09-01  Wim Taymans  <wim@fluendo.com>
23919
23920         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23921         (gst_base_sink_event), (gst_base_sink_do_sync),
23922         (gst_base_sink_handle_event):
23923         * gst/base/gstbasesink.h:
23924         Handle newsegments more correctly.
23925
23926         * gst/gstbus.c:
23927         Fix docs.
23928
23929         * gst/gstevent.c: (gst_event_new_newsegment):
23930         A newsegment cannot have a start_time of -1
23931
23932 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
23933
23934         * win32/gstenumtypes.c:
23935         * win32/gstenumtypes.h:
23936           Update
23937
23938 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
23939
23940         * libs/gst/controller/gst-controller.c:
23941         (gst_controlled_property_set_interpolation_mode),
23942         (gst_controlled_property_new):
23943          fixed boolean again
23944
23945 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
23946
23947         * docs/faq/gst-uninstalled:
23948           add -good
23949         * gst/gstevent.c:
23950         * gst/gstevent.h:
23951           remove wrong docs
23952         * gst/gstutils.c: (gst_element_link_filtered):
23953         * gst/gstutils.h:
23954           add gst_element_link_filtered
23955
23956 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
23957
23958         * docs/gst/gstreamer-docs.sgml:
23959         * docs/gst/gstreamer-sections.txt:
23960         * docs/gst/tmpl/.cvsignore:
23961         * docs/gst/tmpl/gsterror.sgml:
23962         * docs/gst/tmpl/gstfilter.sgml:
23963         * docs/gst/tmpl/gsturihandler.sgml:
23964         * docs/gst/tmpl/gsturitype.sgml:
23965         * docs/gst/tmpl/gstutils.sgml:
23966         * docs/gst/tmpl/gstxml.sgml:
23967         * gst/gsterror.c:
23968         * gst/gsterror.h:
23969         * gst/gstfilter.c:
23970         * gst/gsturi.c:
23971         * gst/gsturitype.c:
23972         * gst/gstutils.c:
23973         * gst/gstxml.c:
23974           inlined more docs, fixed double id-ref
23975
23976 2005-08-31  Wim Taymans  <wim@fluendo.com>
23977
23978         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
23979         (gst_base_transform_handle_buffer):
23980         Passthrough elements don't need the caps as they don't care.
23981
23982 2005-08-31  Wim Taymans  <wim@fluendo.com>
23983
23984         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
23985         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
23986         Don't leak refcounts on buffers.
23987
23988 2005-08-31  Wim Taymans  <wim@fluendo.com>
23989
23990         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
23991         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
23992         (gst_base_transform_chain), (gst_base_transform_change_state):
23993         * gst/base/gstbasetransform.h:
23994         Handle the case where we are not negotiated more gracefully.
23995
23996 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
23997
23998         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
23999         (gst_file_src_map_region):
24000           Set READONLY flag on mmap'ed buffers, otherwise
24001           gst_buffer_make_writable() won't work properly (#314708).
24002
24003 2005-08-31  Wim Taymans  <wim@fluendo.com>
24004
24005         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
24006         passthrough elements can even do inplace on non writable
24007         buffers (as they don't touch them).
24008
24009 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
24010
24011         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
24012         (gst_test_mono_source_set_property),
24013         (gst_test_mono_source_class_init), (GST_START_TEST),
24014         (gst_controller_suite):
24015           more tests (hehe I have the most)
24016         * gst/gstbus.c:
24017           describe popping messages whenusing mulltiple sources
24018         * libs/gst/controller/gst-controller.c:
24019         (gst_controlled_property_set_interpolation_mode),
24020         (gst_controlled_property_new):
24021         * libs/gst/controller/gst-controller.h:
24022         * libs/gst/controller/gst-interpolation.c:
24023           implement boolean properties
24024
24025 2005-08-31  Wim Taymans  <wim@fluendo.com>
24026
24027         * gst/gstminiobject.c: (gst_mini_object_ref):
24028         Cannot assert that the refcount has to be positive
24029         since a disposed object can be resurrected.
24030
24031 2005-08-31  Wim Taymans  <wim@fluendo.com>
24032
24033         * gst/gstpad.c: (gst_pad_init):
24034         Revert change, need to first fix badly behaving 
24035         apps.
24036
24037 2005-08-30  Wim Taymans  <wim@fluendo.com>
24038
24039         * check/elements/fakesrc.c: (setup_fakesrc):
24040         * check/elements/identity.c: (setup_identity):
24041         Activate pads before using them.
24042
24043 2005-08-30  Wim Taymans  <wim@fluendo.com>
24044
24045         * gst/base/gstadapter.c: (gst_adapter_flush):
24046         Flushing out 0 bytes is ok for this function.
24047
24048         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24049         no newsegment gives a warning and sets the start/stop to 
24050         invalid.
24051
24052         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
24053         (gst_base_transform_set_passthrough):
24054         Some debug info.
24055
24056         * gst/gstminiobject.c: (gst_mini_object_ref):
24057         Check refcount here too.
24058
24059         * gst/gstpad.c: (gst_pad_init):
24060         Pads are initially flushing and refusing data.
24061
24062         * gst/gstutils.c: (gst_element_link_pads_filtered):
24063         When adding a capsfilter element make sure it has the
24064         same state as the parent bin.
24065
24066 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
24067
24068         * docs/gst/tmpl/.cvsignore:
24069         * docs/gst/tmpl/gstformat.sgml:
24070         * docs/gst/tmpl/gstversion.sgml:
24071         * gst/gstbus.h:
24072         * gst/gstformat.c:
24073         * gst/gstformat.h:
24074         * gst/gstversion.h.in:
24075           more docs and two more inlined
24076
24077 2005-08-30  Wim Taymans  <wim@fluendo.com>
24078
24079         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
24080         Don't sync to clock.
24081
24082 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
24083
24084         * docs/gst/gstreamer-sections.txt:
24085           ultral33t func10ns deserve to appear in the docs actually
24086         * docs/gst/tmpl/.cvsignore:
24087         * docs/gst/tmpl/gstcompat.sgml:
24088         * docs/gst/tmpl/gstconfig.sgml:
24089         * gst/check/gstcheck.c:
24090         * gst/gstcompat.h:
24091         * gst/gstconfig.h.in:
24092           inlined more docs
24093
24094 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
24095
24096         * docs/gst/tmpl/.cvsignore:
24097         * docs/gst/tmpl/gstquery.sgml:
24098         * docs/gst/tmpl/gstutils.sgml:
24099         * gst/gstquery.c:
24100         * gst/gstquery.h:
24101           inlined and extended docs
24102
24103 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
24104
24105         * check/gst-libs/controller.c: (GST_START_TEST),
24106         (gst_controller_suite):
24107           more tests
24108         * docs/gst/tmpl/gstutils.sgml:
24109         * docs/libs/gstreamer-libs-sections.txt:
24110         * docs/libs/tmpl/gstdataprotocol.sgml:
24111           include path fixes
24112         * examples/controller/audio-example.c: (main):
24113           controller example works now
24114         * gst/gstclock.h:
24115           doc fixes
24116         * tools/gst-inspect.c: (print_element_properties_info):
24117           show param spec flags
24118
24119 2005-08-29  Andy Wingo  <wingo@pobox.com>
24120
24121         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
24122
24123 2005-08-28  Andy Wingo  <wingo@pobox.com>
24124
24125         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
24126         as having two arguments instead of just one. Allows superclasses
24127         to access information on subclasses -- see the terrible for() loop
24128         in gtype.c:g_type_create_instance for the reason why. All callers
24129         changed.
24130
24131 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
24132
24133         * docs/design/part-messages.txt:
24134           update info
24135         * docs/gst/tmpl/.cvsignore:
24136         * docs/gst/tmpl/gstcaps.sgml:
24137         * docs/gst/tmpl/gstclock.sgml:
24138         * gst/gstbus.c:
24139         * gst/gstcaps.c:
24140         * gst/gstcaps.h:
24141         * gst/gstclock.c:
24142         * gst/gstclock.h:
24143         * gst/gstmessage.c:
24144           added descriptions for bus and message
24145           inline caps and clock docs
24146
24147 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
24148
24149         * gst/gstmessage.c:
24150         * gst/gstmessage.h:
24151           doc fixes
24152
24153 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
24154
24155         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24156           fix div-by-zero
24157
24158 2005-08-26  Andy Wingo  <wingo@pobox.com>
24159
24160         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
24161         element_set_state's return val.
24162         (test_2_elements): Add test that's been disabled for months.
24163
24164         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
24165         can-activate-pull properties.
24166
24167         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
24168         can-activate-pull properties. Implement is_seekable so fakesrc can
24169         operate in pull mode.
24170
24171         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
24172         properties.
24173         (gst_base_sink_activate, gst_base_sink_activate_pull)
24174         (gst_base_sink_activate_push): Make activation mode choosing work.
24175         Cleanups.
24176         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
24177         is right. Make pull mode work. Post an eos before pausing in pull
24178         mode.
24179         (gst_base_sink_change_state): Pay attention to the core's
24180         change_state() return val.
24181         
24182         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
24183         has-getrange properties. Cleanups.
24184         
24185         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
24186         has_getrange and replace with can_activate_pull and
24187         can_activate_push.
24188
24189         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
24190         locking comments. Remove has_loop, has_chain and replace with
24191         can_activate_pull and can_activate_push.
24192
24193 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
24194
24195         * configure.ac:
24196         * examples/Makefile.am:
24197         * examples/metadata/Makefile.am:
24198         * examples/metadata/read-metadata.c: (message_loop),
24199         (have_pad_handler), (make_pipeline), (print_tag), (main):
24200           Add metadata reading example that loops over a list of filenames,
24201           dumping any tags found.
24202
24203         * gst/gstbus.c: (gst_bus_dispose):
24204         * gst/gstelement.c: (gst_element_dispose):
24205           Release a few potentially-held references in dispose.
24206
24207 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
24208
24209         * docs/gst/tmpl/gstminiobject.sgml:
24210           do *not* add tmpl/*.sgml files to CVS!
24211
24212 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
24213
24214         * libs/gst/bytestream/.cvsignore:
24215         * libs/gst/bytestream/Makefile.am:
24216         * libs/gst/bytestream/adapter.c:
24217         * libs/gst/bytestream/adapter.h:
24218         * libs/gst/bytestream/bytestream.c:
24219         * libs/gst/bytestream/bytestream.h:
24220         * libs/gst/bytestream/filepad.c:
24221         * libs/gst/bytestream/filepad.h:
24222           removing obsolete files
24223
24224 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
24225
24226         * docs/gst/gstreamer-docs.sgml:
24227         * docs/libs/gstreamer-libs-docs.sgml:
24228           disabed additional index entries again, as this makes docs-gen just
24229           slow and they aren't useful yet
24230         * docs/libs/gstreamer-libs-sections.txt:
24231           little -section.txt cleanup for libs
24232
24233 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24234
24235         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24236         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
24237           fix up some debugging
24238         (gst_base_transform_get_unit_size),
24239         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
24240         (gst_base_transform_handle_buffer):
24241         * gst/base/gstbasetransform.h:
24242           handle and store timed NEWSEGMENT events so that subclasses that
24243           calculate time by counting samples have a segment_start time they
24244           need to add to their timestamps - see audioresample
24245
24246 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
24247
24248         * gst/gstbin.h:
24249           removed ';' from the end of macro defs
24250         * docs/gst/gstreamer-docs.sgml:
24251         * docs/gst/gstreamer-sections.txt:
24252         * docs/gst/tmpl/.cvsignore:
24253         * gst/gstbus.h:
24254         * gst/gstelement.c: (gst_element_class_init),
24255         (gst_element_set_state), (activate_pads),
24256         (gst_element_save_thyself):
24257         * gst/gstevent.c: (gst_event_new_newsegment):
24258         * gst/gstevent.h:
24259         * gst/gstiterator.c:
24260         * gst/gstiterator.h:
24261         * gst/gstpad.c:
24262         * gst/gstprobe.h:
24263         * gst/gstutils.c: (gst_pad_query_convert):
24264         * gst/gstutils.h:
24265           fixed parameter name mismatches between source, header and docs
24266           added some more docs, resolved the last batch of unused elements in
24267           docs (now someone needs to doc them)
24268
24269 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
24270
24271         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
24272         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
24273           don't walk through the plugins backwards.  Where is all this
24274           reversed logic coming from ?
24275
24276 2005-08-25  Wim Taymans  <wim@fluendo.com>
24277
24278         * gst/base/gstbasetransform.c: (gst_base_transform_init),
24279         (gst_base_transform_transform_size),
24280         (gst_base_transform_configure_caps),
24281         (gst_base_transform_get_unit_size),
24282         (gst_base_transform_buffer_alloc),
24283         (gst_base_transform_change_state):
24284         * gst/base/gstbasetransform.h:
24285         Cache caps unit_size.
24286         Make sure we cannot negotiate up and downstream at the
24287         same time.
24288
24289 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
24290
24291         * gst/gst.c: (init_pre), (init_post):
24292           register the installed plugin path after the env var
24293         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
24294         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
24295           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
24296           directories, so the tests can prefer uninstalled over installed
24297
24298 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
24299
24300         * gst/base/gstbasetransform.h:
24301           comment
24302         * gst/gstpad.c:
24303           add to docs
24304
24305 2005-08-25  Wim Taymans  <wim@fluendo.com>
24306
24307         * gst/gstbin.c: (bin_bus_handler):
24308         Be a bit more conservative about the posted message.
24309         
24310         * gst/gstbus.c: (gst_bus_post):
24311         Some cleanups, warn wrong return values.
24312
24313 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
24314
24315         * check/gst/gstbin.c: (GST_START_TEST):
24316         * gst/gstbin.c: (bin_bus_handler):
24317         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
24318         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
24319         (gst_message_new_warning), (gst_message_new_tag),
24320         (gst_message_new_state_changed), (gst_message_new_segment_start),
24321         (gst_message_new_segment_done), (gst_message_new_custom):
24322         * gst/gstmessage.h:
24323         * tools/gst-launch.c: (event_loop):
24324         * tools/gst-md5sum.c: (event_loop):
24325           Revert unpopular change for GST_MESSAGE_SRC to GObject.
24326
24327 2005-08-25  Wim Taymans  <wim@fluendo.com>
24328
24329         * check/generic/states.c: (GST_START_TEST):
24330         Cleanup can be done at the end.
24331
24332         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
24333         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
24334         (gst_task_get_state), (gst_task_start), (gst_task_pause):
24335         Oh boy.. Thanks for finding this, Thomas. 
24336
24337 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
24338
24339         * docs/gst/gstreamer.types:
24340           added missing types
24341
24342 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
24343
24344         * docs/gst/gstreamer-docs.sgml:
24345         * docs/gst/gstreamer-sections.txt:
24346         * docs/gst/tmpl/.cvsignore:
24347         * gst/gstbin.c:
24348         * gst/gstiterator.c:
24349         * gst/gstutils.c:
24350         * gst/registries/gstxmlregistry.h:
24351           added missing classes and symbols (123 more to go)
24352           removed removed symbols from section file
24353           fixed many doc-comments
24354
24355 2005-08-24  Wim Taymans  <wim@fluendo.com>
24356
24357         * check/generic/states.c: (GST_START_TEST):
24358         Make sure all tasks are stopped.
24359
24360         * check/gst/gstbin.c: (GST_START_TEST):
24361         Unref after usage for proper valgrinding.
24362
24363         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
24364         Really wait for the task to stop before destroying the
24365         mutex.
24366
24367         * gst/gstqueue.c: (gst_queue_sink_activate_push),
24368         (gst_queue_src_activate_push):
24369         Small cleanups. Don't stop the task when we did not start
24370         it.
24371
24372         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
24373         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
24374         (gst_task_get_state), (gst_task_start), (gst_task_pause),
24375         (gst_task_join):
24376         * gst/gsttask.h:
24377         Protect the stream lock with the object lock.
24378         Disallow setting the stream lock when running.
24379         Add cleanup_all to wait for the threadpool to finish.
24380         Remove code to autoallocate a mutex if none was provided.
24381         Add _join() to wait for a task to stop.
24382         Protect the thread pool with a global lock.
24383
24384 2005-08-24  Wim Taymans  <wim@fluendo.com>
24385
24386         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24387         (gst_base_sink_get_times), (gst_base_sink_do_sync),
24388         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
24389         * gst/base/gstbasesink.h:
24390         Handle newsegment events correctly.
24391         Drop buffers out of the segment range.
24392
24393 2005-08-22  Andy Wingo  <wingo@pobox.com>
24394
24395         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
24396         macro, implements an interface and gstimplementsinterface for a
24397         new type.
24398
24399 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24400
24401         * check/Makefile.am:
24402         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
24403           add a test that does a bunch of state changes on elements
24404           needs some fixing for valgrind
24405         * check/states/sinks.c: (gst_object_suite):
24406           whitespace
24407         * gst/gstcaps.h:
24408           add prototype for gst_caps_is_equal_fixed
24409         * gst/gstplugin.c:
24410         * gst/gstregistrypool.c:
24411           doc fixes
24412
24413 2005-08-24  Andy Wingo  <wingo@pobox.com>
24414
24415         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
24416         convert a negative value. Doesn't make much sense. Mostly this is
24417         here to force callers to ensure -1 maps to -1.
24418
24419 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
24420
24421         * docs/pwg/advanced-types.xml:
24422           Well done to Michael for catching my deliberate introduction
24423           of this spelling mistake. 
24424         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
24425         * gst/gstelement.h:
24426           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
24427           unlink pads before removing the element from the bin.
24428
24429 2005-08-24  Andy Wingo  <wingo@pobox.com>
24430
24431         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
24432         the same thing as GST_DEBUG=*:4.
24433         (parse_debug_level, parse_debug_category): New helper parsers.
24434
24435 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24436
24437         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
24438         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
24439         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
24440         (gst_base_transform_buffer_alloc),
24441         (gst_base_transform_handle_buffer):
24442           use gboolean return values and pointers to size so we can use the
24443           full GST_BUFFER_SIZE range (guint) for buffer sizes
24444           use GstPadDirection for transform_caps
24445         * gst/base/gstbasetransform.h:
24446           rename get_size to get_unit_size since that's what it is
24447         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
24448           use GstPadDirection for transform_caps
24449         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
24450         * gst/gstutils.h:
24451           cleanup and debugging
24452
24453 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
24454
24455         * gst/gstelement.c: (gst_element_class_init),
24456         (gst_element_set_state), (activate_pads),
24457         (gst_element_save_thyself):
24458         * tools/gst-compprep.c: (main):
24459         * tools/gst-inspect.c: (print_element_properties_info):
24460         * tools/gst-xmlinspect.c: (print_element_properties):
24461           Fixed long standing mem-leak
24462
24463 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
24464
24465         * check/gst/gstbin.c: (GST_START_TEST):
24466         * gst/gstbin.c: (bin_bus_handler):
24467         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
24468         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
24469         (gst_message_new_warning), (gst_message_new_tag),
24470         (gst_message_new_state_changed), (gst_message_new_segment_start),
24471         (gst_message_new_segment_done), (gst_message_new_custom):
24472         * gst/gstmessage.h:
24473         * tools/gst-launch.c: (event_loop):
24474         * tools/gst-md5sum.c: (event_loop):
24475           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
24476           that applications can sensibly post custom messages with references
24477           to their own objects.
24478
24479 2005-08-24  Andy Wingo  <wingo@pobox.com>
24480
24481         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
24482         already.
24483
24484 2005-08-24  Wim Taymans  <wim@fluendo.com>
24485
24486         * gst/base/gstbasetransform.c: (gst_base_transform_init),
24487         (gst_base_transform_transform_caps),
24488         (gst_base_transform_transform_size),
24489         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
24490         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
24491         (gst_base_transform_handle_buffer):
24492         * gst/base/gstbasetransform.h:
24493         Many fixes and new features added by Thomas. Can now also do
24494         transforms with variable sizes and a custom fixate_caps function.
24495
24496 2005-08-24  Wim Taymans  <wim@fluendo.com>
24497
24498         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
24499         Some debugging.
24500
24501         * gst/gstclock.h:
24502         Cast to ClockTime before formatting to time.
24503
24504         * gst/gstutils.h:
24505         Cleanups.
24506
24507 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
24508
24509         * check/gst-libs/controller.c: (GST_START_TEST),
24510         (gst_controller_suite):
24511         * docs/gst/tmpl/gstcaps.sgml:
24512         * docs/gst/tmpl/gstghostpad.sgml:
24513         * docs/gst/tmpl/gstquery.sgml:
24514         * docs/gst/tmpl/gstutils.sgml:
24515         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
24516         (gst_object_sink_values), (gst_object_get_value_arrays),
24517         (gst_object_get_value_array):
24518           gracefully handle helper method calls to objects that are not beeing
24519           controlled, added test case for that          
24520
24521 2005-08-23  Wim Taymans  <wim@fluendo.com>
24522
24523         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
24524         (gst_event_new_newsegment), (gst_event_parse_newsegment),
24525         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
24526         (gst_event_parse_qos), (gst_event_new_seek),
24527         (gst_event_parse_seek):
24528         * gst/gstevent.h:
24529         Some more debugging output and doc cleanups.
24530
24531         * gst/gstqueue.c: (gst_queue_handle_sink_event):
24532         Fix possible deadlock.
24533
24534 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
24535
24536         * docs/gst/gstreamer-docs.sgml:
24537         * docs/gst/gstreamer-sections.txt:
24538         * docs/gst/gstreamer.types:
24539         * docs/gst/tmpl/.cvsignore:
24540         * gst/gstbin.h:
24541         * gst/gstbus.c:
24542         * gst/gstelement.c:
24543         * gst/gstevent.h:
24544           added 100 symbols from gstreamer-unused.txt to the right sections
24545           fixed more broken comments
24546           added GstBus to docs
24547
24548 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
24549
24550         * docs/gst/gstreamer-sections.txt:
24551         * docs/gst/tmpl/.cvsignore:
24552         * docs/gst/tmpl/gstbin.sgml:
24553         * docs/gst/tmpl/gstbuffer.sgml:
24554         * gst/base/gstbasesrc.c:
24555         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
24556         * gst/gstbuffer.c:
24557         * gst/gstbuffer.h:
24558         * tools/gst-launch.1.in:
24559           inlined more doc comments, added missing comments and fixed comments
24560           fixed typos
24561
24562 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24563
24564         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
24565           some debugging
24566         * gst/gstcaps.h:
24567           whitespace fixes
24568         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
24569           more debugging
24570         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
24571         * gst/gststructure.h:
24572           add a fixate function for booleans; add a FIXME that these func
24573           names should probably be gst_structure_fixate_*
24574
24575 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
24576
24577         * docs/gst/gstreamer-docs.sgml:
24578         * docs/gst/gstreamer-sections.txt:
24579         * gst/Makefile.am:
24580         * gst/gstbin.c: (gst_bin_get_type),
24581         (gst_bin_child_proxy_get_child_by_index),
24582         (gst_bin_child_proxy_get_children_count),
24583         (gst_bin_child_proxy_init):
24584         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
24585         (gst_child_proxy_get_child_by_index),
24586         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
24587         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
24588         (gst_child_proxy_get), (gst_child_proxy_set_property),
24589         (gst_child_proxy_set_valist), (gst_child_proxy_set),
24590         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
24591         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
24592         * gst/gstchildproxy.h:
24593         * gst/parse/grammar.y:
24594         * tools/gst-inspect.c: (print_interfaces),
24595         (print_element_properties_info), (print_element_info):
24596           ported gstchildproxy over from 0.8
24597           ported gst-inspect fixes and enhancements over from 0.8
24598
24599 2005-08-22  Wim Taymans  <wim@fluendo.com>
24600
24601         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
24602         (gst_base_transform_handle_buffer):
24603         Also call the transform function if we have ANY caps.
24604
24605         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
24606         Fix debug info.
24607
24608 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
24609
24610         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
24611           Don't pretend to handle seek events if the source is not seekable
24612
24613 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
24614
24615         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24616           Remove extra parameter to debug output
24617
24618         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
24619         (gst_base_src_do_seek), (gst_base_src_activate_push):
24620           Fix seek event handling.
24621
24622         * gst/gstpipeline.c: (gst_pipeline_change_state):
24623         * gst/gstqueue.c: (gst_queue_handle_sink_event),
24624         (gst_queue_src_activate_push):
24625           Don't start the src pad task on FLUSH_STOP if the pad
24626           isn't linked.
24627           Debug changes.
24628
24629 2005-08-22  Wim Taymans  <wim@fluendo.com>
24630
24631         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
24632         Added check for gst_static_caps_get() refcounting.
24633
24634 2005-08-22  Wim Taymans  <wim@fluendo.com>
24635
24636         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
24637         Make _static_caps_get() refcounting sane.
24638         
24639         * gst/gstelement.c: (gst_element_set_state):
24640         Add g_return_val_if_fail() to protect against segfaults.
24641
24642 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
24643
24644         * docs/gst/tmpl/gstevent.sgml:
24645         * gst/gstevent.c:
24646         * gst/gstevent.h:
24647           inlined remaining docs, added missing doc comments
24648
24649 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24650
24651         * check/gst/gstbin.c: (GST_START_TEST):
24652           since we don't know when preroll is done, use refcount range
24653           check for the sink
24654         * gst/check/gstcheck.h:
24655           add macro for checking refcount range
24656
24657 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
24658
24659         * check/Makefile.am:
24660           clean up environment for when registry gets built versus
24661           when actual tests are run; valgrind seems to not report
24662           leaks if GST_PLUGIN_PATH is set to some specific values
24663         * check/gst/gstbin.c: (GST_START_TEST):
24664           add more refcounting checks; maybe this exposes a
24665           preroll lock bug ?
24666         * common/check.mak:
24667         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24668         * gst/check/gstcheck.h:
24669         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
24670         (gst_bin_change_state):
24671         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
24672           add/fix debugging/whitespace
24673
24674 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
24675
24676         * check/gst/gstevent.c: (event_probe), (test_event),
24677         (GST_START_TEST):
24678          Er, don't call gst_bin_watch_for_state_change you idiot.
24679
24680 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
24681
24682         * check/Makefile.am:
24683           Use CHECK_CFLAGS and CHECK_LIBS
24684         * check/gst/gstevent.c: (event_probe), (test_event),
24685         (GST_START_TEST):
24686           Don't leak events.
24687         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
24688         (gst_base_src_start), (gst_base_src_stop),
24689         (gst_base_src_activate_push), (gst_base_src_activate_pull),
24690         (gst_base_src_change_state):
24691           Sprinkle gst_base_src_stop liberally around error paths to fix
24692           problems reusing a source after failed state changes.
24693         * gst/base/gsttypefindhelper.c: (helper_find_peek),
24694         (helper_find_suggest), (gst_type_find_helper):
24695           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
24696         * gst/gstevent.h:
24697         * docs/gst/tmpl/gstevent.sgml:
24698           Migrate part of the docs from the SGML file. Wait for ensonic to
24699           tell me how I did it wrong ;)
24700         * tools/gst-typefind.c: (main):
24701           Extra robustness to state changes between files.
24702
24703 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
24704
24705         * check/Makefile.am:
24706           don't valgrind the controller test - it's leaking - Stefan, HELP
24707         * gst/check/gstcheck.c: (gst_check_message_error),
24708         (gst_check_chain_func), (gst_check_setup_element),
24709         (gst_check_teardown_element), (gst_check_setup_src_pad),
24710         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
24711         (gst_check_teardown_sink_pad):
24712         * gst/check/gstcheck.h:
24713           add a bunch of methods to set up elements, and src and sink pads
24714         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
24715         * check/elements/identity.c: (setup_identity), (cleanup_identity),
24716         (GST_START_TEST):
24717           use them
24718         * gst/gstmessage.c:
24719         * gst/gsttag.h:
24720           whitespace/doc fixes
24721
24722 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24723
24724         * gst/gstelement.h:
24725           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
24726           be handled by the application and not always printed as well
24727
24728 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24729
24730         * check/Makefile.am:
24731           set GST_TOOLS_DIR
24732         * gst/check/gstcheck.c: (gst_check_message_error):
24733         * gst/check/gstcheck.h:
24734           add a fail_unless_equals_int
24735           add fail_unless for error messages
24736
24737 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24738
24739         * check/Makefile.am:
24740         * check/gst.supp:
24741         * common/Makefile.am:
24742         * common/check.mak:
24743         * common/gst.supp:
24744           factor out some of the common stuff so we can use it
24745
24746 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24747
24748         * check/Makefile.am:
24749         * check/gst/gstiterator.c: (GST_START_TEST):
24750         * check/gst/gstsystemclock.c: (GST_START_TEST),
24751         (gst_systemclock_suite):
24752         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
24753         * gst/gstclock.c:
24754           valgrind more tests
24755
24756 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24757
24758         * check/elements/.cvsignore:
24759         * check/elements/gstfakesrc.c:
24760           rename to name of element
24761         * check/elements/identity.c: (chain_func), (event_func),
24762         (setup_identity), (cleanup_identity), (GST_START_TEST),
24763         (identity_suite), (main):
24764           add a test for identity
24765         * check/Makefile.am:
24766         * pkgconfig/Makefile.am:
24767         * pkgconfig/gstreamer-check.pc.in:
24768         * pkgconfig/gstreamer-check-uninstalled.pc.in:
24769         * gst/check:
24770         * gst/Makefile.am:
24771         * configure.ac:
24772           move the check stuff to a library that gets installed
24773         * check/gst-libs/controller.c: (GST_START_TEST):
24774         * check/gst-libs/gdp.c:
24775         * check/gst/gst.c: (GST_START_TEST):
24776         * check/gst/gstbin.c:
24777         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24778         * check/gst/gstbus.c:
24779         * check/gst/gstcaps.c: (GST_START_TEST):
24780         * check/gst/gstelement.c:
24781         * check/gst/gstghostpad.c:
24782         * check/gst/gstiterator.c:
24783         * check/gst/gstmessage.c:
24784         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
24785         * check/gst/gstobject.c:
24786         * check/gst/gstpad.c: (GST_START_TEST):
24787         * check/gst/gststructure.c: (GST_START_TEST):
24788         * check/gst/gstsystemclock.c: (GST_START_TEST),
24789         (gst_systemclock_suite):
24790         * check/gst/gsttag.c: (gst_tag_suite):
24791         * check/gst/gstvalue.c:
24792         * check/pipelines/cleanup.c:
24793         * check/pipelines/simple_launch_lines.c:
24794         * check/states/sinks.c:
24795           change include statement
24796
24797         * docs/gst/gstreamer-sections.txt:
24798         * docs/gst/tmpl/gstpad.sgml:
24799           document more pad stuff
24800         * gst/gstminiobject.c: (gst_mini_object_ref),
24801         (gst_mini_object_unref):
24802           debug refcounting
24803
24804 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
24805
24806         * docs/gst/tmpl/gst.sgml:
24807         * gst/gst.c:
24808           eliminate another tmpl file, fix spelling in the long-description
24809
24810 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
24811
24812         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
24813         (test_event), (timediff), (gstevents_suite):
24814           Should fix build on 64-bit arch's
24815
24816 2005-08-18  Andy Wingo  <wingo@pobox.com>
24817
24818         Make sure that when a pipeline goes to PLAYING, that data has
24819         actually hit the sink.
24820
24821         * check/states/sinks.c (test_sink): A sink that doesn't get any
24822         data shouldn't return SUCCESS for going to either PLAYING or
24823         PAUSED. Test also the return values on the way back down.
24824
24825         * gst/gstelement.c (gst_element_set_state): When changing the
24826         state of an element currently changing state asynchronously, go to
24827         lost-state after commiting the pending state. Makes future calls
24828         to get_state continue to return ASYNC.
24829
24830         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
24831         ASYNC when going to PLAYING if we still don't have preroll, as can
24832         happen with live sources.
24833
24834 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
24835
24836         * docs/pwg/advanced-types.xml:
24837           Hack long paragraph into 2 chunks as a workaround for buggy
24838           jadetex version in sid and breezy that loops infinitely and
24839           eats all RAM.
24840
24841 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
24842
24843         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
24844         (test_event), (timediff), (gstevents_suite):
24845           Provide more error margin in clock measurements to allow for 
24846           g_get_current_time inaccuracies.
24847
24848 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
24849
24850         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
24851         (test_event), (timediff), (gstevents_suite):
24852            Fix error message output so I might be able to tell why the
24853            test works here but fails on the build farm.
24854
24855 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
24856
24857         * check/Makefile.am:
24858         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
24859         (test_event), (timediff), (gstevents_suite), (main):
24860           I wrote a test!
24861
24862         * docs/design/part-seeking.txt:
24863           Spelling correction
24864
24865         * docs/gst/tmpl/gstevent.sgml:
24866         * docs/gst/tmpl/gstfakesrc.sgml:
24867           Docs updates.
24868
24869         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24870           Treat a buffer-without-newsegment the same as a receiving 
24871           a newsegment not in time format, and disable syncing to the clock
24872           with a warning.
24873
24874         * gst/gstbus.c: (gst_bus_set_sync_handler):
24875           Assert if anyone tries to replace the existing sync_handler for bus, 
24876           as only the owner should be setting it.
24877
24878         * gst/gstevent.h:
24879           Have a fixed set of custom event enums with events identified by
24880           their structure name (as in 0.8), rather than a free-for-all
24881           allowing collisions between enum values from different plugins.
24882
24883         * gst/gstpad.c: (gst_pad_class_init):
24884           Docs change.
24885           
24886         * gst/gstqueue.c: (gst_queue_handle_sink_event):
24887           Handle out-of-band downstream events from the sending thread.
24888
24889 2005-08-17  Andy Wingo  <wingo@pobox.com>
24890
24891         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
24892         play-timeout==0 to mean no timeout at all. In that case, don't
24893         bother with a get_state or a warning, just return directly, even
24894         if it's ASYNC.
24895
24896         * gst/base/gstbasetransform.c: Debug changes.
24897
24898         * gst/gstutils.h:
24899         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
24900         ensure bins post state change messages. A bit of a hack but I can't
24901         think of a way to avoid it.
24902
24903         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
24904
24905 2005-08-16  Andy Wingo  <wingo@pobox.com>
24906
24907         * gst/base/gstadapter.h:
24908         * gst/base/gstadapter.c (gst_adapter_take): New function, like
24909         peek() but you own the data. Not terribly efficient atm.
24910
24911 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24912
24913         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
24914         (gst_element_found_tags):
24915         * gst/gstutils.h:
24916           Add two utility functions for tag handling.
24917
24918 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24919
24920         * docs/manual/advanced-dataaccess.xml:
24921         * docs/manual/basics-helloworld.xml:
24922           Fix docs to use _bin_add() before _link(), which fixes the examples
24923           with recent core versions (reported by Madhan Raj M
24924           <raj_madan@rediffmail.com>, #313199).
24925
24926 2005-08-16  Wim Taymans  <wim@fluendo.com>
24927
24928         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
24929         Added subtract checks.
24930
24931         * docs/design/part-events.txt:
24932         Some more docs about newsegment
24933
24934         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
24935         Fix FIXME
24936
24937         * gst/gstcaps.c: (gst_caps_to_string):
24938         Add comments, cleanups.
24939         
24940         * gst/gstelement.c: (gst_element_save_thyself):
24941         cleanups
24942         
24943         * gst/gstvalue.c: (gst_value_collect_int_range),
24944         (gst_string_unwrap), (gst_value_union_int_int_range),
24945         (gst_value_union_int_range_int_range),
24946         (gst_value_intersect_int_int_range),
24947         (gst_value_intersect_int_range_int_range),
24948         (gst_value_intersect_double_double_range),
24949         (gst_value_intersect_double_range_double_range),
24950         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
24951         (gst_value_subtract_int_range_int),
24952         (gst_value_subtract_double_range_double),
24953         (gst_value_subtract_double_range_double_range),
24954         (gst_value_subtract_from_list), (gst_value_subtract_list),
24955         (gst_value_can_compare), (gst_value_compare_fraction):
24956         Cleanups, add comments, remove unneeded asserts.
24957
24958 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
24959
24960         * tools/gst-launch.c: (event_loop):
24961           don't convert NULL structures to strings
24962
24963 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
24964
24965         * docs/gst/gstreamer-sections.txt:
24966           made some defines private
24967         * docs/gst/tmpl/gstconfig.sgml:
24968         * docs/gst/tmpl/gstqueue.sgml:
24969         * docs/gst/tmpl/gsttaglist.sgml:
24970         * docs/gst/tmpl/gsttypes.sgml:
24971         * docs/gst/tmpl/gstutils.sgml:
24972         * docs/pwg/appendix-porting.xml:
24973         * gst/base/gstbasesink.h:
24974         * gst/base/gstbasesrc.c:
24975         * gst/base/gstbasesrc.h:
24976         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
24977         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
24978         * gst/gstelement.c: (gst_element_class_init):
24979         * gst/gstpad.c: (gst_pad_class_init):
24980         * gst/gstqueue.c: (gst_queue_class_init):
24981         * gst/gstxml.c: (gst_xml_class_init):
24982           documented all undocumented signal inline
24983         * libs/gst/controller/gst-controller.h:
24984           added padding
24985
24986 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24987
24988         * docs/pwg/appendix-porting.xml:
24989           Document _set_link_function -> _set_setcaps_function.
24990
24991 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
24992
24993         * check/Makefile.am:
24994           add a .check target for running the check
24995         * check/gst-libs/controller.c: (GST_START_TEST):
24996           cosmetic fixups
24997         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24998           complete checks for gstbuffer; would be nice if I could get the
24999           gcov stuff to work so I can see if I actually completed gstbuffer.c
25000         * check/gstcheck.h:
25001           add ASSERT_BUFFER_REFCOUNT
25002
25003 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
25004
25005         * docs/gst/gstreamer-sections.txt:
25006         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
25007         * gst/gsttag.h:
25008           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
25009           spew out a warning if a tag that is already registered
25010           is re-registered, unless it is re-registered with a 
25011           different type (#308438).
25012
25013 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
25014
25015         * docs/pwg/appendix-porting.xml:
25016         * docs/pwg/building-state.xml:
25017           Add some paragraphs about state changes in 0.9 to the PWG
25018           and the porting guide, in particular about the new meaning
25019           of GST_STATE_PAUSED and how to write state change functions
25020           with concurrent access by multiple threads in mind.
25021
25022 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
25023
25024         * docs/gst/gstreamer-docs.sgml:
25025         * docs/libs/gstreamer-libs-docs.sgml:
25026           added deprecation and since indexes
25027         * libs/gst/controller/gst-controller.c:
25028         * libs/gst/controller/gst-helper.c:
25029           added since tags
25030
25031
25032 2005-08-11  Wim Taymans  <wim@fluendo.com>
25033
25034         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
25035         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
25036         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
25037         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
25038         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
25039         (gst_ghost_pad_set_target):
25040         Actually implement (re)setting the target on a ghostpad
25041         as described in the docs.
25042
25043 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
25044
25045         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
25046           Check whether GST_DEBUG_NO_COLOR environment variable is
25047           set and disable coloured debug output if that is the case.
25048
25049 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
25050
25051         * gst/base/gsttypefindhelper.c: (helper_find_peek),
25052         (gst_type_find_helper):
25053           The memory returned by gst_type_find_peek() needs to
25054           stay valid until the end of a typefind function, and
25055           typefind functions may keep results from different 
25056           offsets around, so we can't just unref the buffer from
25057           the previous _peek(), but have to save all buffers 
25058           returned by _peek() until typefinding is done and only
25059           free them then.
25060
25061 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
25062
25063         * docs/gst/gstreamer-sections.txt:
25064         * gst/gstutils.h:
25065           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
25066
25067 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25068
25069         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
25070           Fix a pretty good memleak.
25071
25072 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
25073
25074         * gst/gstiterator.h:
25075           Fix wrong include and 'make distcheck'.
25076
25077 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25078
25079         * gst/gstbin.c: (bin_bus_handler):
25080           Use gst_element_post_message() instead.
25081
25082 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
25083
25084         * gst/base/gstadapter.h:
25085         * gst/base/gstbasesink.h:
25086         * gst/base/gstbasesrc.h:
25087         * gst/base/gstbasetransform.h:
25088         * gst/base/gstcollectpads.h:
25089         * gst/base/gstpushsrc.h:
25090         * gst/gstiterator.h:
25091           Add padding to our base elements' class and instance structs and
25092           to GstIterator (you will need to rebuild all plugins and apps!)
25093
25094 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25095
25096         * gst/gstbin.c: (bin_bus_handler):
25097           Make default message forwarding from child->bus to bin->bus
25098           threadsafe and make it not emit warnings if the parent has no bus.
25099
25100 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25101
25102         * gst/gstelement.c: (activate_pads):
25103           On paused->ready, set pad->caps to NULL, as is the documented
25104           behaviour in this state change. Fixes playback of series of
25105           media files when visualization is enabled in Totem.
25106
25107 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25108
25109         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
25110           Allow NULL as filter-caps (which means "any").
25111
25112 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
25113
25114         * docs/libs/gstreamer-libs-sections.txt:
25115         * libs/gst/controller/gst-controller.c:
25116         * libs/gst/controller/gst-controller.h:
25117         * libs/gst/controller/gst-helper.c:
25118           adding more entries to the docs and fix small doc-bugs
25119
25120 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
25121
25122         * docs/gst/gstreamer-docs.sgml:
25123         * docs/gst/gstreamer-sections.txt:
25124         * docs/gst/gstreamer.types:
25125         * docs/gst/tmpl/gstbasesink.sgml:
25126         * docs/gst/tmpl/gstbasesrc.sgml:
25127         * docs/gst/tmpl/gstbasetransform.sgml:
25128         * docs/gst/tmpl/gstfakesrc.sgml:
25129         * gst/base/gstcollectpads.c:
25130         * gst/base/gstcollectpads.h:
25131         * libs/gst/controller/gst-controller.c:
25132         * libs/gst/controller/gst-controller.h:
25133         * libs/gst/controller/gst-helper.c:
25134         * libs/gst/controller/gst-interpolation.c:
25135         * libs/gst/controller/lib.c:
25136           added long/short desc for controller docs
25137           added collectpads base class docs
25138           added correct includes to base-class docs
25139
25140 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
25141
25142         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25143         (gst_test_mono_source_set_property),
25144         (gst_test_mono_source_class_init), (GST_START_TEST),
25145         (gst_controller_suite):
25146         * docs/gst/gstreamer-docs.sgml:
25147         * docs/gst/gstreamer-sections.txt:
25148         * docs/gst/gstreamer.types:
25149         * docs/libs/gstreamer-libs-docs.sgml:
25150         * docs/libs/gstreamer-libs-sections.txt:
25151         * gst/base/gstadapter.c:
25152         * libs/gst/controller/gst-controller.c:
25153         (gst_controlled_property_new), (gst_controlled_property_free),
25154         (gst_controller_new_valist),
25155         (gst_controller_remove_properties_valist),
25156         (gst_controller_sink_values), (_gst_controller_finalize):
25157         * libs/gst/controller/gst-controller.h:
25158         * libs/gst/controller/gst-helper.c:
25159         (gst_object_control_properties), (gst_object_uncontrol_properties),
25160         (gst_object_get_controller), (gst_object_set_controller),
25161         (gst_object_sink_values), (gst_object_get_value_arrays),
25162         (gst_object_get_value_array):
25163           more tests (and fixes) for the controller
25164           more docs for the controller
25165           integrated companies docs for the adapter 
25166
25167 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
25168
25169         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
25170         (GST_START_TEST), (fakesrc_suite):
25171           add tests for sizetype
25172
25173 2005-08-04  Andy Wingo  <wingo@pobox.com>
25174
25175         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
25176         fixes buffer_alloc proxying among other things.
25177
25178         * gst/base/gstbasetransform.c:
25179         * gst/base/gstbasetransform.h:
25180         Revert patch to gstbasetransform from 7-28 removing
25181         delay_configure.
25182
25183         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
25184         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
25185         Semantics changed, should return not the size of the output buffer
25186         but the byte size of a buffer with a given caps.
25187
25188         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
25189         debug object.
25190         (gst_base_transform_configure_caps): Don't set out_size here: (in,
25191         out) are not the pad caps until setcaps finishes.
25192         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
25193         not-in-place case as well. Deal with changing from in-place to
25194         not-in-place within calling pad_alloc_buffer. Still a bit
25195         concerned about the overhead here...
25196
25197 2005-08-03  Andy Wingo  <wingo@pobox.com>
25198
25199         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
25200         fixating is an error.
25201
25202 2005-08-04  Edward Hervey  <edward@fluendo.com>
25203
25204         * gst/base/gstadapter.h: 
25205         Added gst_adapter_get_type() to the header
25206
25207 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
25208
25209         * check/Makefile.am:
25210         * check/gst-libs/controller.c:
25211         * libs/gst/controller/gst-controller.c:
25212         (gst_controller_new_valist):
25213           added check test suite for the controller
25214         * gst/base/gstpushsrc.c:
25215           fixed a doc typo
25216
25217 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
25218
25219         * docs/gst/Makefile.am:
25220         * docs/gst/gstreamer-docs.sgml:
25221         * docs/gst/gstreamer-sections.txt:
25222         * docs/gst/gstreamer.types:
25223         * docs/gst/tmpl/gstfakesrc.sgml:
25224         * gst/base/README:
25225         * gst/base/gstbasesink.c:
25226         * gst/base/gstbasesink.h:
25227         * gst/base/gstbasesrc.c:
25228         * gst/base/gstbasesrc.h:
25229         * gst/base/gstbasetransform.c:
25230         * gst/base/gstpushsrc.c:
25231         * gst/base/gstpushsrc.h:
25232           add short/long description docs to base classes
25233           add pushsrc to the docs
25234           remove consolidated doc fragments
25235
25236 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
25237
25238         * configure.ac:
25239         * docs/libs/Makefile.am:
25240         * docs/libs/gstreamer-libs-docs.sgml:
25241         * docs/libs/gstreamer-libs-sections.txt:
25242         * docs/libs/gstreamer-libs.types:
25243         * examples/Makefile.am:
25244         * examples/controller/.cvsignore:
25245         * examples/controller/Makefile.am:
25246         * examples/controller/audio-example.c: (main):
25247         * libs/gst/Makefile.am:
25248         * libs/gst/controller/.cvsignore:
25249         * libs/gst/controller/Makefile.am:
25250         * libs/gst/controller/gst-controller.c:
25251         (on_object_controlled_property_changed), (gst_timed_value_compare),
25252         (gst_timed_value_find),
25253         (gst_controlled_property_set_interpolation_mode),
25254         (gst_controlled_property_new), (gst_controlled_property_free),
25255         (gst_controller_find_controlled_property),
25256         (gst_controller_new_valist), (gst_controller_new),
25257         (gst_controller_remove_properties_valist),
25258         (gst_controller_remove_properties), (gst_controller_set),
25259         (gst_controller_set_from_list), (gst_controller_unset),
25260         (gst_controller_get), (gst_controller_get_all),
25261         (gst_controller_sink_values), (gst_controller_get_value_arrays),
25262         (gst_controller_get_value_array),
25263         (gst_controller_set_interpolation_mode),
25264         (_gst_controller_finalize), (_gst_controller_init),
25265         (_gst_controller_class_init), (gst_controller_get_type):
25266         * libs/gst/controller/gst-controller.h:
25267         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
25268         (g_object_uncontrol_properties), (g_object_get_controller),
25269         (g_object_set_controller), (g_object_sink_values),
25270         (g_object_get_value_arrays), (g_object_get_value_array):
25271         * libs/gst/controller/gst-interpolation.c:
25272         (gst_controlled_property_find_timed_value_node),
25273         (interpolate_none_get), (interpolate_trigger_get),
25274         (interpolate_trigger_get_value_array):
25275         * libs/gst/controller/lib.c: (gst_controller_init):
25276         * pkgconfig/Makefile.am:
25277         * pkgconfig/gstreamer-control-uninstalled.pc.in:
25278         * pkgconfig/gstreamer-control.pc.in:
25279         * testsuite/Makefile.am:
25280         * testsuite/controller/.cvsignore:
25281         * testsuite/controller/Makefile.am:
25282         * testsuite/controller/interpolator.c: (main):
25283           added controller code
25284           removed dparam pc files
25285
25286 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
25287         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
25288         (gst_collectpads_stop):
25289           Broadcast the condition when shutting down, to make sure we wake all
25290           threads up. Shut down pads on finalize, for safety.
25291
25292 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
25293         * gst/base/gstbasetransform.c: (gst_base_transform_init),
25294         (gst_base_transform_handle_buffer),
25295         (gst_base_transform_change_state):
25296           Handle PAUSED->READY->PAUSED transition after negotiation
25297           occurred already.
25298         * gst/gstmessage.c: (gst_message_init):
25299           Extra piece of debug for new messages.
25300
25301 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
25302
25303         * configure.ac:
25304         * docs/gst/tmpl/gstbasesrc.sgml:
25305         * docs/gst/tmpl/gstelement.sgml:
25306         * docs/gst/tmpl/gstevent.sgml:
25307         * docs/gst/tmpl/gstfakesrc.sgml:
25308         * docs/gst/tmpl/gstformat.sgml:
25309         * docs/gst/tmpl/gstghostpad.sgml:
25310         * docs/gst/tmpl/gstpad.sgml:
25311         * docs/gst/tmpl/gstquery.sgml:
25312         * docs/gst/tmpl/gststructure.sgml:
25313         * docs/gst/tmpl/gsttaglist.sgml:
25314         * docs/gst/tmpl/gstvalue.sgml:
25315         * docs/libs/gstreamer-libs-docs.sgml:
25316         * docs/libs/gstreamer-libs-sections.txt:
25317         * docs/libs/gstreamer-libs.types:
25318         * libs/gst/Makefile.am:
25319         * libs/gst/control/.cvsignore:
25320         * libs/gst/control/Makefile.am:
25321         * libs/gst/control/control.c:
25322         * libs/gst/control/control.h:
25323         * libs/gst/control/dparam.c:
25324         * libs/gst/control/dparam.h:
25325         * libs/gst/control/dparam_smooth.c:
25326         * libs/gst/control/dparam_smooth.h:
25327         * libs/gst/control/dparamcommon.h:
25328         * libs/gst/control/dparammanager.c:
25329         * libs/gst/control/dparammanager.h:
25330         * libs/gst/control/dplinearinterp.c:
25331         * libs/gst/control/dplinearinterp.h:
25332         * libs/gst/control/unitconvert.c:
25333         * libs/gst/control/unitconvert.h:
25334         * testsuite/Makefile.am:
25335         * testsuite/dynparams/.cvsignore:
25336         * testsuite/dynparams/Makefile.am:
25337         * testsuite/dynparams/dparamstest.c:
25338         * tools/Makefile.am:
25339         * tools/gst-inspect.c: (print_element_info), (main):
25340         * tools/gst-xmlinspect.c: (print_element_info), (main):
25341           deactivate and remove dparams (libgstcontrol)
25342
25343 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
25344
25345         * gst/elements/gsttypefindelement.c:
25346         (gst_type_find_element_have_type), (gst_type_find_element_init),
25347         (stop_typefinding), (gst_type_find_element_handle_event),
25348         (gst_type_find_element_chain), (gst_type_find_element_getrange):
25349         * gst/elements/gsttypefindelement.h:
25350           Set caps on all outgoing buffers, not just the first one.
25351
25352 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
25353
25354         * gst/elements/gsttypefindelement.c:
25355         (gst_type_find_element_have_type),
25356         (gst_type_find_element_check_set_buffer_caps),
25357         (gst_type_find_element_init), (stop_typefinding),
25358         (gst_type_find_element_handle_event),
25359         (gst_type_find_element_chain), (gst_type_find_element_getrange):
25360         * gst/elements/gsttypefindelement.h:
25361           Set caps on first outgoing buffer when we've found the type.
25362
25363 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
25364
25365         * docs/gst/gstreamer-docs.sgml:
25366         * docs/gst/gstreamer-sections.txt:
25367         * docs/gst/tmpl/gstscheduler.sgml:
25368         * docs/gst/tmpl/gstschedulerfactory.sgml:
25369           Remove some old cruft from docs.
25370
25371 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
25372
25373         * gst/gstpad.h:
25374           Fix inline docs for GstPadLinkReturn.
25375           
25376         * gst/gststructure.c: (gst_structure_has_name):
25377         * gst/gststructure.h:
25378         * docs/gst/gstreamer-sections.txt:
25379           New API: gst_structure_has_name().
25380
25381 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
25382
25383         * configure.ac:
25384           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
25385           and _LARGEFILE_SOURCE in config.h as required. Do not 
25386           export those flags in our .pc files any longer (#142209).
25387
25388           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
25389
25390         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
25391         (gst_file_sink_do_seek), (gst_file_sink_event),
25392         (gst_file_sink_get_current_offset), (gst_file_sink_render):
25393           Redo seek/tell calls with large file support in mind; add some
25394           debugging messages; add log message that tells us when large
25395           file support is unavailable or not enabled for some reason.
25396
25397         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
25398           Add log message that tells us when large file support 
25399           is unavailable or not enabled for some reason.
25400
25401 2005-07-29  Wim Taymans  <wim@fluendo.com>
25402
25403         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
25404         Added test for removing an element with ghostpad from a bin.
25405         Fixed test as current implementation does the right thing.
25406
25407         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
25408         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
25409         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
25410         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
25411         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
25412         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
25413         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
25414         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
25415         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
25416         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
25417         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
25418         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
25419         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
25420         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
25421         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
25422         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
25423         * gst/gstghostpad.h:
25424         Clean up ghostpads, remove properties for internal stuff.
25425         Make threadsafe.
25426         Fix refcounting.
25427         Prepare for switching targets, not all use cases work yet.
25428
25429 2005-07-29  Wim Taymans  <wim@fluendo.com>
25430
25431         * docs/design/part-gstghostpad.txt:
25432         Small update.
25433
25434         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
25435         (gst_bin_remove_func):
25436         Unlinking pads while holding the bin LOCK is not a good
25437         idea.
25438
25439         * gst/gstpad.c: (gst_pad_class_init),
25440         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
25441         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
25442         No prob setting template after creating the pad.
25443
25444 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
25445
25446         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
25447         (gst_bus_peek), (gst_bus_source_dispatch),
25448         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
25449         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
25450           gst_bus_poll may be called from other threads. Handle
25451           this nicely by not making poll_data disappear off the
25452           stack once gst_bus_poll returns.
25453           gst_bus_peek now increments the refcount on the returned
25454           message.
25455
25456 2005-07-29  Wim Taymans  <wim@fluendo.com>
25457
25458         * docs/design/part-gstghostpad.txt:
25459         Overview of current GhostPad datastructures and use
25460         cases for changing the target.
25461
25462 2005-07-28  Wim Taymans  <wim@fluendo.com>
25463
25464         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
25465         Added checks for hierarchy consistency whan adding linked
25466         elements to bins.
25467
25468         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
25469         Added check to test element scheduling without bin/pipeline.
25470
25471         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
25472         First add elements to bin, then link.
25473         
25474         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
25475         (gst_bin_remove_func):
25476         Unlink pads from elements added/removed from bin to maintain
25477         hierarchy consistency.
25478
25479 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25480
25481         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25482         (gst_base_transform_handle_buffer):
25483         * gst/base/gstbasetransform.h:
25484           Remove broken delay_configure (fixes renegotiation of software
25485           scaling pipelines); remove some leftover printf()s.
25486
25487 2005-07-28  Wim Taymans  <wim@fluendo.com>
25488
25489         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
25490         Added some more tests for wrong hierarchy
25491
25492         * docs/design/part-overview.txt:
25493         Some updates.
25494
25495         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
25496         Cleanups.
25497
25498         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
25499         (gst_element_dispose):
25500         Some more cleanups.
25501
25502         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
25503         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
25504         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
25505         (gst_pad_set_caps), (gst_pad_send_event):
25506         Check for correct hierarchy when linking pads. Moving to
25507         strict requirement for ghostpads when linking elements in
25508         different bins.
25509
25510         * gst/gstpad.h:
25511         Clean ups. Added WRONG_HIERARCHY return value.
25512
25513 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25514
25515         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
25516           Better debug if no transform is possible.
25517
25518 2005-07-27  Wim Taymans  <wim@fluendo.com>
25519
25520         * docs/random/wtay/network-transp:
25521         Some old doc I had.
25522
25523 2005-07-27  Wim Taymans  <wim@fluendo.com>
25524
25525         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
25526         (gst_dp_event_from_packet):
25527         Fix serialization of seek events.
25528
25529 2005-07-27  Wim Taymans  <wim@fluendo.com>
25530
25531         * check/gst-libs/gdp.c: (GST_START_TEST):
25532         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
25533         Fix compilation and fix event serialization.
25534
25535 2005-07-27  Wim Taymans  <wim@fluendo.com>
25536
25537         * CHANGES-0.9:
25538         * docs/design/part-TODO.txt:
25539         * docs/design/part-events.txt:
25540         Some docs updates
25541
25542         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25543         (gst_base_sink_event), (gst_base_sink_do_sync),
25544         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
25545         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
25546         (gst_base_src_do_seek), (gst_base_src_event_handler),
25547         (gst_base_src_loop):
25548         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
25549         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25550         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
25551         (gst_base_transform_event), (gst_base_transform_handle_buffer),
25552         (gst_base_transform_set_passthrough),
25553         (gst_base_transform_is_passthrough):
25554         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
25555         * gst/elements/gstfilesink.c: (gst_file_sink_event):
25556         Event updates.
25557
25558         * gst/gstbuffer.h:
25559         Use faster casts.
25560
25561         * gst/gstelement.c: (gst_element_seek):
25562         * gst/gstelement.h:
25563         Update gst_element_seek.
25564
25565         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
25566         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
25567         (gst_event_new_flush_start), (gst_event_new_flush_stop),
25568         (gst_event_new_eos), (gst_event_new_newsegment),
25569         (gst_event_parse_newsegment), (gst_event_new_tag),
25570         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
25571         (gst_event_parse_qos), (gst_event_new_seek),
25572         (gst_event_parse_seek), (gst_event_new_navigation):
25573         * gst/gstevent.h:
25574         Make GstEvent use GstStructure. Add parsing code, make sure the
25575         API is sufficiently generic.
25576         Mark possible directions of events and serialization.
25577
25578         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
25579         (_gst_message_copy), (gst_message_new_segment_start),
25580         (gst_message_new_segment_done), (gst_message_new_custom),
25581         (gst_message_parse_segment_start),
25582         (gst_message_parse_segment_done):
25583         Small cleanups.
25584
25585         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
25586         (gst_pad_set_caps), (gst_pad_send_event):
25587         Update for new events. 
25588         Catch events sent in wrong directions.
25589
25590         * gst/gstqueue.c: (gst_queue_link_src),
25591         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
25592         (gst_queue_handle_src_query):
25593         Event updates.
25594
25595         * gst/gsttag.c:
25596         * gst/gsttag.h:
25597         Remove event code from this file.
25598
25599         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
25600         (gst_dp_event_from_packet):
25601         Event updates.
25602
25603 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25604
25605         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
25606         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25607         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
25608           Make debugging actually useful.
25609
25610 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25611
25612         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
25613         (gst_pad_fixate_caps):
25614           Implement default fixation once again, so that gst_pad_fixate()
25615           actually does anything at all. This probably needs to be some
25616           sort of a last resort, and use profile-based fixation first, but
25617           since that doesn't exist yet, this is the best we have. Fixes
25618           visualization in Totem.
25619
25620 2005-07-22  Wim Taymans  <wim@fluendo.com>
25621
25622         * docs/design/part-events.txt:
25623         Small update.
25624
25625         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25626         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
25627         (gst_base_sink_activate_pull):
25628         Some more comments.
25629
25630         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
25631         (gst_fake_src_create):
25632         Fix handoff marshall.
25633
25634         * gst/elements/gstidentity.c: (gst_identity_class_init),
25635         (gst_identity_transform_ip):
25636         We're a real inplace element.
25637
25638         * gst/gstbus.c: (gst_bus_post):
25639         Added some comments.
25640
25641         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
25642         * tests/muxing/case1.c: (main):
25643         * tests/sched/dynamic-pipeline.c: (main):
25644         * tests/sched/interrupt1.c: (main):
25645         * tests/sched/interrupt2.c: (main):
25646         * tests/sched/interrupt3.c: (main):
25647         * tests/sched/runxml.c: (main):
25648         * tests/sched/sched-stress.c: (main):
25649         * tests/seeking/seeking1.c: (event_received), (main):
25650         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
25651         (main):
25652         * tests/threadstate/threadstate3.c: (main):
25653         * tests/threadstate/threadstate4.c: (main):
25654         * tests/threadstate/threadstate5.c: (main):
25655         Fix the tests.
25656
25657 2005-07-21  Wim Taymans  <wim@fluendo.com>
25658
25659         * docs/design/part-seeking.txt:
25660         Some small additions.
25661
25662         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25663         (gst_base_sink_get_times), (gst_base_sink_do_sync),
25664         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
25665         * gst/base/gstbasesink.h:
25666         discont values are gint64, handle the math correctly.
25667
25668         * gst/base/gstbasesrc.c: (gst_base_src_loop):
25669         Make the basesrc report error if the source pad is not linked.
25670
25671         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
25672         (gst_queue_loop), (gst_queue_handle_src_query),
25673         (gst_queue_src_activate_push):
25674         Make queue collect data even if the srcpad is not linked.
25675         Start pushing out data as soon as it is linked.
25676
25677         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
25678         * gst/gstutils.h:
25679         Added gst_flow_get_name() to ease error reporting.
25680
25681 2005-07-20  Wim Taymans  <wim@fluendo.com>
25682
25683         * gst/gstmessage.c: (gst_message_new_segment_start),
25684         (gst_message_new_segment_done), (gst_message_parse_segment_start),
25685         (gst_message_parse_segment_done):
25686         * gst/gstmessage.h:
25687         Added a bunch of messages for advanced seeking.
25688
25689         * gst/parse/grammar.y:
25690         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
25691         (gst_dpman_state_changed):
25692         Fix some new-pad -> pad-added signals
25693
25694 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25695
25696         * docs/manual/appendix-porting.xml:
25697         * docs/pwg/appendix-porting.xml:
25698           Document new-pad/state-change signal renames and the FixedList
25699           type rename.
25700
25701 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25702
25703         * docs/manual/advanced-autoplugging.xml:
25704         * docs/manual/basics-helloworld.xml:
25705         * docs/manual/basics-pads.xml:
25706         * docs/random/ds/0.9-suggested-changes:
25707         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
25708         * gst/gstelement.h:
25709         * gst/gstevent.h:
25710         * gst/gstformat.h:
25711         * gst/gstquery.h:
25712         * gst/gststructure.c: (gst_structure_value_get_generic_type),
25713         (gst_structure_parse_array), (gst_structure_parse_value):
25714         * gst/gstvalue.c: (gst_type_is_fixed),
25715         (gst_value_list_prepend_value), (gst_value_list_append_value),
25716         (gst_value_list_get_size), (gst_value_list_get_value),
25717         (gst_value_transform_array_string), (gst_value_serialize_array),
25718         (gst_value_deserialize_array), (gst_value_intersect_array),
25719         (gst_value_is_fixed), (_gst_value_initialize):
25720         * gst/gstvalue.h:
25721           GstElement::new-pad -> pad-added, GstElement::state-change ->
25722           state-changed, GstValueFixedList -> GstValueArray, add format and
25723           flags as their own arguments in gst_element_seek() (should improve
25724           "bindeability"), remove function generators since they don't work
25725           under a whole bunch of compilers (they were deprecated already
25726           anyway).
25727
25728 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25729
25730         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
25731         (_gst_debug_register_funcptr):
25732         * gst/gstinfo.h:
25733           Fix illegal cast on some platforms (#309253).
25734
25735 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25736
25737         * gst/gstmessage.c: (gst_message_new_custom):
25738         * gst/gstmessage.h:
25739           Add _new_custom, make _new_application a macro to _new_custom.
25740
25741 2005-07-20  Wim Taymans  <wim@fluendo.com>
25742
25743         * gst/base/gstbasesrc.c: (gst_base_src_init),
25744         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
25745         * gst/base/gstbasesrc.h:
25746         Add a gboolean to decide when to push out a discont.
25747
25748         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
25749         (gst_queue_loop), (gst_queue_handle_src_query),
25750         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
25751         (gst_queue_set_property), (gst_queue_get_property):
25752         Some cleanups.
25753
25754         * tests/threadstate/threadstate1.c: (main):
25755         Make a thread test compile and run... very silly..
25756
25757
25758 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25759
25760         * docs/manual/appendix-porting.xml:
25761           Mention removal of libgstgconf-0.9.la and existence of gconf
25762           elements.
25763
25764 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25765
25766         * docs/pwg/advanced-clock.xml:
25767         * docs/pwg/appendix-porting.xml:
25768         * docs/pwg/intro-preface.xml:
25769         * docs/pwg/other-base.xml:
25770         * docs/pwg/other-manager.xml:
25771         * docs/pwg/other-nton.xml:
25772         * docs/pwg/other-ntoone.xml:
25773         * docs/pwg/other-oneton.xml:
25774         * docs/pwg/pwg.xml:
25775           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
25776           demuxer), remove n-to-n (was never written), fix some code examples
25777           and links and update the porting section to include all this.
25778
25779 2005-07-19  Wim Taymans  <wim@fluendo.com>
25780
25781         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
25782         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
25783         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
25784         (gst_queue_src_activate_push), (gst_queue_change_state),
25785         (gst_queue_get_property):
25786         * gst/gstqueue.h:
25787         Propagate GstFlowReturn more intelligently upstream and output
25788         an ERROR/EOS when streaming stopped due to fatal error.
25789
25790 2005-07-19  Wim Taymans  <wim@fluendo.com>
25791
25792         * tools/gst-launch.c: (check_intr), (event_loop), (main):
25793         Don't block forever for the state change to complete, the
25794         pipeline already did with a sensible timeout.
25795
25796 2005-07-19  Wim Taymans  <wim@fluendo.com>
25797
25798         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
25799         Make sure we never call the create function is we
25800         got deactivated.
25801
25802 2005-07-19  Andy Wingo  <wingo@pobox.com>
25803
25804         * gst/parse/parse.l: Attempt to solve bug #172815.
25805
25806 2005-07-19  Wim Taymans  <wim@fluendo.com>
25807
25808         * docs/design/part-clocks.txt:
25809         * docs/design/part-events.txt:
25810         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
25811         Small docs updates.
25812         Only update the seeking values when we are not
25813         busy streaming.
25814
25815 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
25816
25817         * gst/base/gstbasesrc.c: (gst_base_src_loop):
25818           Oops, ignore the result of gst_pad_push_event here.
25819
25820 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
25821
25822         * gst/base/gstbasesrc.c: (gst_base_src_loop),
25823         (gst_base_src_activate_push):
25824           Send discont event from the loop function, as pads
25825           aren't activated yet in the activate_push handler.
25826
25827         * gst/gstbin.c: (bin_bus_handler):
25828           Don't leak element name.
25829
25830 2005-07-18  Andy Wingo  <wingo@pobox.com>
25831
25832         * configure.ac: Use AS_LIBTOOL_TAGS.
25833
25834 2005-07-18  Wim Taymans  <wim@fluendo.com>
25835
25836         * docs/gst/gstreamer.types:
25837         Remove deleted types.
25838
25839 2005-07-18  Wim Taymans  <wim@fluendo.com>
25840
25841         * check/elements/gstfakesrc.c: (GST_START_TEST):
25842         * configure.ac:
25843         * gst/Makefile.am:
25844         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
25845         (init_popt_callback):
25846         * gst/gst.h:
25847         * gst/gst_private.h:
25848         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
25849         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
25850         * gst/gstbin.h:
25851         * gst/gstbus.h:
25852         * gst/gstconfig.h.in:
25853         * gst/gstelement.c: (gst_element_class_init),
25854         (gst_element_set_base_time), (gst_element_get_base_time),
25855         (iterator_fold_with_resync), (gst_element_change_state),
25856         (gst_element_dispose), (gst_element_get_bus):
25857         * gst/gstelement.h:
25858         * gst/gstelementfactory.h:
25859         * gst/gsterror.c: (_gst_core_errors_init):
25860         * gst/gsterror.h:
25861         * gst/gstevent.h:
25862         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
25863         * gst/gstindex.c:
25864         * gst/gstinfo.c: (_gst_debug_init):
25865         * gst/gstmessage.c: (_gst_message_copy):
25866         * gst/gstmessage.h:
25867         * gst/gstminiobject.h:
25868         * gst/gstobject.c:
25869         * gst/gstobject.h:
25870         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
25871         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
25872         * gst/gstpad.h:
25873         * gst/gstparse.h:
25874         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
25875         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
25876         (gst_pipeline_get_last_stream_time):
25877         * gst/gstpipeline.h:
25878         * gst/gstpluginfeature.h:
25879         * gst/gstquery.h:
25880         * gst/gstscheduler.c:
25881         * gst/gstscheduler.h:
25882         * gst/gststructure.h:
25883         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
25884         (gst_task_finalize), (gst_task_func), (gst_task_create),
25885         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
25886         (gst_task_stop), (gst_task_pause):
25887         * gst/gsttask.h:
25888         * gst/gsttypefind.h:
25889         * gst/gsttypes.h:
25890         * gst/registries/gstlibxmlregistry.c: (load_feature),
25891         (gst_xml_registry_load), (gst_xml_registry_save_feature):
25892         * gst/registries/gstxmlregistry.c:
25893         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
25894         * gst/schedulers/threadscheduler.c:
25895         * libs/gst/control/dparammanager.h:
25896         * tools/gst-inspect.c: (print_element_list),
25897         (print_plugin_features), (print_element_features):
25898         * tools/gst-xmlinspect.c: (print_element_list),
25899         (print_plugin_info), (main):
25900         Removed plugable schedulers.
25901         Removed Scheduler/Manager from elements.
25902         Removed gsttypes.h, rearranged includes.
25903         Removed dependency pad<->element, element<>pipeline, and
25904         various others,  fix includes.
25905         implement gst_pad_get_parent() with gst_object_get_parent()
25906         Make GstTask sefcontained.
25907         Fix _get_state() on GstBin, it did not return ASYNC with a 0
25908         timeout.
25909         Fix endless loop in iterator_fold_with_resync.
25910
25911
25912 2005-07-18  Wim Taymans  <wim@fluendo.com>
25913
25914         * gst/Makefile.am:
25915         * gst/gstarch.h:
25916         Remove old file.
25917
25918 2005-07-18  Wim Taymans  <wim@fluendo.com>
25919
25920         * gst/Makefile.am:
25921         No more cothreads.h
25922
25923 2005-07-18  Wim Taymans  <wim@fluendo.com>
25924
25925         * gst/cothreads.c:
25926         * gst/cothreads.h:
25927         Let's remove these.
25928
25929 2005-07-18  Wim Taymans  <wim@fluendo.com>
25930
25931         * docs/design/part-dynamic.txt:
25932         * docs/design/part-events.txt:
25933         * docs/design/part-seeking.txt:
25934         Some more docs in the works.
25935
25936         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
25937         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
25938         (gst_base_transform_setcaps), (gst_base_transform_get_size),
25939         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
25940         (gst_base_transform_handle_buffer),
25941         (gst_base_transform_sink_activate_push),
25942         (gst_base_transform_src_activate_pull),
25943         (gst_base_transform_set_passthrough),
25944         (gst_base_transform_is_passthrough):
25945         Refcounting fixes.
25946
25947         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
25948         Cleanups.
25949
25950         * gst/gstevent.c: (gst_event_finalize):
25951         Set SRC to NULL.
25952
25953         * gst/gstutils.c: (gst_element_unlink),
25954         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
25955         (gst_pad_proxy_setcaps):
25956         * gst/gstutils.h:
25957         Add _get_parent_element() to get a pads parent as an element.
25958
25959 2005-07-18  Wim Taymans  <wim@fluendo.com>
25960
25961         * check/gst/gstbin.c: (GST_START_TEST):
25962         Remove bogus test.
25963
25964 2005-07-18  Wim Taymans  <wim@fluendo.com>
25965
25966         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
25967         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
25968         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
25969         (gst_base_sink_event), (gst_base_sink_do_sync),
25970         (gst_base_sink_chain), (gst_base_sink_loop),
25971         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
25972         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
25973         Refcounting fixes.
25974         Fix logic for returning ASYNC when not prerolled.
25975
25976 2005-07-18  Wim Taymans  <wim@fluendo.com>
25977
25978         * gst/gstqueue.c: (gst_queue_handle_sink_event):
25979         Fix nasty refcount bug.
25980
25981 2005-07-16 Philippe Khalaf <burger@speedy.org>
25982
25983         * gst/elements/gstfdsrc.c:
25984         * gst/elements/gstfdsrc.h:
25985         * gst/elements/gstelements.c:
25986         * gst/elements/Makefile.am:
25987         Ported fdsrc to 0.9.
25988
25989 2005-07-16  Wim Taymans  <wim@fluendo.com>
25990
25991         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25992         (gst_base_sink_do_sync):
25993         Fix compile error.
25994
25995 2005-07-16  Wim Taymans  <wim@fluendo.com>
25996
25997         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25998         (gst_base_sink_event), (gst_base_sink_get_times),
25999         (gst_base_sink_do_sync), (gst_base_sink_change_state):
26000         * gst/base/gstbasesink.h:
26001         Store and use discont values when syncing buffers as described
26002         in design docs.
26003         
26004         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26005         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
26006         (gst_base_src_activate_push):
26007         Push discont event when starting.
26008
26009         * gst/elements/gstidentity.c: (gst_identity_transform):
26010         Small cleanups.
26011
26012         * gst/gstbin.c: (gst_bin_change_state):
26013         Small cleanups in base_time  distribution.
26014
26015         * gst/gstelement.c: (gst_element_set_base_time),
26016         (gst_element_get_base_time), (gst_element_change_state):
26017         * gst/gstelement.h:
26018         Added methods for the base_time of the element.
26019         Some MT fixes.
26020
26021         * gst/gstpipeline.c: (gst_pipeline_send_event),
26022         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
26023         (gst_pipeline_get_last_stream_time):
26024         * gst/gstpipeline.h:
26025         MT fixes.
26026         Handle seeking as described in design doc, remove stream_time
26027         hack.
26028         Cleanups clock and stream_time selection code. Added accessors
26029         for the stream_time.
26030         
26031
26032 2005-07-16  Andy Wingo  <wingo@pobox.com>
26033
26034         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
26035         (#305291).
26036
26037 2005-07-16  Wim Taymans  <wim@fluendo.com>
26038
26039         * check/gst/gstbin.c: (GST_START_TEST):
26040         Make elements silent as the deep_notify refs the
26041         parent, which might make the test fail.
26042
26043         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
26044         Don't hold the lock for too long.
26045
26046 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
26047
26048         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
26049           Don't unref the caps we passed to gst_caps_make_writable() after
26050           passing them. gst_caps_make_writable() will do that for us.
26051
26052 2005-07-15  Andy Wingo  <wingo@pobox.com>
26053
26054         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
26055         (#157311).
26056
26057         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
26058         own marshalling function for the handoff signal. Properly type the
26059         buffer as a buffer. Fixes some warnings. Should do a more general
26060         solution.
26061         (gst_identity_class_init): Plug into the right marshaller.
26062
26063 2005-07-15  Wim Taymans  <wim@fluendo.com>
26064
26065         * docs/design/part-TODO.txt:
26066         * docs/design/part-clocks.txt:
26067         * docs/design/part-element-sink.txt:
26068         * docs/design/part-events.txt:
26069         * docs/design/part-gstpipeline.txt:
26070         Updated docs, mostly DISCONT related.
26071
26072 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
26073
26074         * docs/pwg/building-pads.xml:
26075           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
26076
26077 2005-07-15  Andy Wingo  <wingo@pobox.com>
26078
26079         * tools/gst-typefind.c: Update, add copyright block.
26080
26081         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
26082         Normalize and truncate caps before fixation.
26083
26084         * gst/gstcaps.h:
26085         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
26086         discards all but the first structure from its argument.
26087
26088 2005-07-15  Wim Taymans  <wim@fluendo.com>
26089
26090         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26091         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
26092         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26093         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26094         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
26095         (gst_base_transform_chain), (gst_base_transform_change_state),
26096         (gst_base_transform_set_passthrough),
26097         (gst_base_transform_is_passthrough):
26098         * gst/base/gstbasetransform.h:
26099         Make passthrough work using the bufferpools.
26100         Changed API a bit, subclasses have to write into a buffer
26101         provided by the base class.
26102         More debug info in nego functions.
26103         
26104         * gst/elements/gstidentity.c: (gst_identity_init),
26105         (gst_identity_transform):
26106         Port to new base class.
26107
26108 2005-07-15  Wim Taymans  <wim@fluendo.com>
26109
26110         * gst/gstmessage.c: (gst_message_new_state_changed):
26111         * tools/gst-launch.c: (event_loop), (main):
26112         Totally dump messages in -launch with the -m option.
26113         Fix message name for State messages,
26114
26115 2005-07-14  Wim Taymans  <wim@fluendo.com>
26116
26117         * gst/base/gstbasesrc.c: (gst_base_src_loop):
26118         Post error messages on errors.
26119
26120 2005-07-14  Wim Taymans  <wim@fluendo.com>
26121
26122         * gst/gstcaps.c: (gst_caps_do_simplify):
26123         Remove debug info.
26124
26125         * gst/gsterror.h:
26126         Define error for stream stopped.
26127
26128         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
26129         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
26130         Do proper return values.
26131
26132         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
26133         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
26134         (gst_pad_get_range):
26135         Better return values.
26136
26137         * gst/gstpad.h:
26138         Reorganise return values, add macro to check for fatal errors.
26139
26140         * gst/gstqueue.c: (gst_queue_chain):
26141         Return proper GstFlowReturn values,
26142
26143 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
26144
26145         * docs/gst/gstreamer-sections.txt:
26146         * docs/gst/gstreamer.types:
26147         * docs/gst/tmpl/gst.sgml:
26148         * docs/gst/tmpl/gstbasesink.sgml:
26149         * docs/gst/tmpl/gstbasesrc.sgml:
26150         * docs/gst/tmpl/gstbasetransform.sgml:
26151         * docs/gst/tmpl/gstbin.sgml:
26152         * docs/gst/tmpl/gstbuffer.sgml:
26153         * docs/gst/tmpl/gstcaps.sgml:
26154         * docs/gst/tmpl/gstclock.sgml:
26155         * docs/gst/tmpl/gstcompat.sgml:
26156         * docs/gst/tmpl/gstconfig.sgml:
26157         * docs/gst/tmpl/gstelement.sgml:
26158         * docs/gst/tmpl/gstelementdetails.sgml:
26159         * docs/gst/tmpl/gstelementfactory.sgml:
26160         * docs/gst/tmpl/gstenumtypes.sgml:
26161         * docs/gst/tmpl/gsterror.sgml:
26162         * docs/gst/tmpl/gstevent.sgml:
26163         * docs/gst/tmpl/gstfakesink.sgml:
26164         * docs/gst/tmpl/gstfakesrc.sgml:
26165         * docs/gst/tmpl/gstfilesink.sgml:
26166         * docs/gst/tmpl/gstfilesrc.sgml:
26167         * docs/gst/tmpl/gstfilter.sgml:
26168         * docs/gst/tmpl/gstformat.sgml:
26169         * docs/gst/tmpl/gstghostpad.sgml:
26170         * docs/gst/tmpl/gstimplementsinterface.sgml:
26171         * docs/gst/tmpl/gstindex.sgml:
26172         * docs/gst/tmpl/gstindexfactory.sgml:
26173         * docs/gst/tmpl/gstinfo.sgml:
26174         * docs/gst/tmpl/gstiterator.sgml:
26175         * docs/gst/tmpl/gstmacros.sgml:
26176         * docs/gst/tmpl/gstmemchunk.sgml:
26177         * docs/gst/tmpl/gstminiobject.sgml:
26178         * docs/gst/tmpl/gstobject.sgml:
26179         * docs/gst/tmpl/gstpad.sgml:
26180         * docs/gst/tmpl/gstpadtemplate.sgml:
26181         * docs/gst/tmpl/gstparse.sgml:
26182         * docs/gst/tmpl/gstpipeline.sgml:
26183         * docs/gst/tmpl/gstplugin.sgml:
26184         * docs/gst/tmpl/gstpluginfeature.sgml:
26185         * docs/gst/tmpl/gstquery.sgml:
26186         * docs/gst/tmpl/gstqueue.sgml:
26187         * docs/gst/tmpl/gstregistry.sgml:
26188         * docs/gst/tmpl/gstregistrypool.sgml:
26189         * docs/gst/tmpl/gstscheduler.sgml:
26190         * docs/gst/tmpl/gstschedulerfactory.sgml:
26191         * docs/gst/tmpl/gststructure.sgml:
26192         * docs/gst/tmpl/gstsystemclock.sgml:
26193         * docs/gst/tmpl/gsttaglist.sgml:
26194         * docs/gst/tmpl/gsttagsetter.sgml:
26195         * docs/gst/tmpl/gsttrace.sgml:
26196         * docs/gst/tmpl/gsttrashstack.sgml:
26197         * docs/gst/tmpl/gsttypefind.sgml:
26198         * docs/gst/tmpl/gsttypefindfactory.sgml:
26199         * docs/gst/tmpl/gsttypes.sgml:
26200         * docs/gst/tmpl/gsturihandler.sgml:
26201         * docs/gst/tmpl/gsturitype.sgml:
26202         * docs/gst/tmpl/gstutils.sgml:
26203         * docs/gst/tmpl/gstvalue.sgml:
26204         * docs/gst/tmpl/gstversion.sgml:
26205         * docs/gst/tmpl/gstxml.sgml:
26206         * docs/libs/tmpl/gstcontrol.sgml:
26207         * docs/libs/tmpl/gstdataprotocol.sgml:
26208         * docs/libs/tmpl/gstdparam.sgml:
26209         * docs/libs/tmpl/gstdplinint.sgml:
26210         * docs/libs/tmpl/gstdpman.sgml:
26211         * docs/libs/tmpl/gstdpsmooth.sgml:
26212         * docs/libs/tmpl/gstgetbits.sgml:
26213         * docs/libs/tmpl/gstunitconvert.sgml:
26214         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
26215         (gst_push_src_base_init), (gst_push_src_class_init),
26216         (gst_push_src_init), (gst_push_src_create):
26217         * gst/base/gstpushsrc.h:
26218         * gst/elements/gstelements.c:
26219         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
26220         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
26221         (gst_fake_sink_init), (gst_fake_sink_set_property),
26222         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
26223         (gst_fake_sink_event), (gst_fake_sink_preroll),
26224         (gst_fake_sink_render), (gst_fake_sink_change_state):
26225         * gst/elements/gstfakesink.h:
26226         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
26227         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
26228         (gst_fake_src_base_init), (gst_fake_src_class_init),
26229         (gst_fake_src_init), (gst_fake_src_event_handler),
26230         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
26231         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
26232         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
26233         (gst_fake_src_create_buffer), (gst_fake_src_create),
26234         (gst_fake_src_start), (gst_fake_src_stop):
26235         * gst/elements/gstfakesrc.h:
26236         * gst/elements/gstfilesink.c: (_do_init),
26237         (gst_file_sink_base_init), (gst_file_sink_class_init),
26238         (gst_file_sink_init), (gst_file_sink_dispose),
26239         (gst_file_sink_set_location), (gst_file_sink_set_property),
26240         (gst_file_sink_get_property), (gst_file_sink_open_file),
26241         (gst_file_sink_close_file), (gst_file_sink_query),
26242         (gst_file_sink_event), (gst_file_sink_render),
26243         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
26244         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
26245         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
26246         * gst/elements/gstfilesink.h:
26247         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
26248         (gst_file_src_class_init), (gst_file_src_init),
26249         (gst_file_src_finalize), (gst_file_src_set_location),
26250         (gst_file_src_set_property), (gst_file_src_get_property),
26251         (gst_file_src_map_region), (gst_file_src_map_small_region),
26252         (gst_file_src_create_mmap), (gst_file_src_create_read),
26253         (gst_file_src_create), (gst_file_src_is_seekable),
26254         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
26255         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
26256         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
26257         (gst_file_src_uri_handler_init):
26258         * gst/elements/gstfilesrc.h:
26259           more autistic cleanliness in functions/names/defines
26260
26261 2005-07-13  Andy Wingo  <wingo@pobox.com>
26262
26263         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
26264         source couldn't negotiate.
26265
26266         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
26267         connections again.
26268
26269         * gst/gstutils.h:
26270         * gst/gstutils.c (gst_element_link_pads_filtered): New old
26271         function. I am channeling Hades. Put your boots on suckers!!!
26272
26273 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
26274
26275         * testsuite/caps/Makefile.am:
26276         * testsuite/caps/value_compare.c:
26277         * testsuite/caps/value_intersect.c:
26278         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26279           move two testsuite apps over to the check dir
26280
26281 2005-07-12  Wim Taymans  <wim@fluendo.com>
26282
26283         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
26284         Added more debug info in the negotiate process.
26285
26286         * gst/gstmessage.h:
26287         Prepare for segment playback.
26288
26289         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
26290         Better debugging.
26291
26292         * gst/gstutils.c:
26293         Some more docs.
26294
26295         * tools/gst-launch.c: (main):
26296         NULL pipeline on errors.
26297
26298 2005-07-12  Andy Wingo  <wingo@pobox.com>
26299
26300         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
26301         not it comes from a malloc region. Make sure our copy gets freed.
26302
26303 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
26304
26305         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
26306         * check/gst/gstmessage.c: (GST_START_TEST):
26307         * check/gst/gststructure.c: (GST_START_TEST),
26308         (gst_structure_suite), (main):
26309           more testing
26310         * gst/gstelement.c: (gst_element_message_full):
26311           clean up GError and debug string now that they get copied
26312         * gst/gstmessage.c: (gst_message_new_error),
26313         (gst_message_new_warning), (gst_message_parse_error),
26314         (gst_message_parse_warning):
26315           use GST_TYPE_G_ERROR for structure_new, and take copies of
26316           arguments, so that we don't mess up refcounting
26317
26318 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
26319
26320         * check/Makefile.am:
26321           add per-test valgrind targets
26322         * check/gst-libs/gdp.c: (GST_START_TEST),
26323         (gst_data_protocol_suite), (main):
26324           clean up
26325
26326 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
26327
26328         * check/Makefile.am:
26329           instate more valgrindable tests
26330         * check/elements/gstfakesrc.c: (chain_func), (event_func),
26331         (GST_START_TEST), (fakesrc_suite):
26332         * check/gst/gstpad.c: (GST_START_TEST):
26333         * check/gst/gststructure.c: (GST_START_TEST):
26334           fix test leaks
26335         * docs/gst/tmpl/gstminiobject.sgml:
26336         * gst/gstpad.c: (gst_pad_finalize):
26337           fix the static mutex leak
26338
26339 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
26340
26341         * check/Makefile.am:
26342           add two more tests for valgrinding
26343         * check/gst/gstvalue.c: (GST_START_TEST):
26344           test refcount of deserialized buffer, found a leak
26345         * docs/gst/gstreamer-docs.sgml:
26346         * docs/gst/gstreamer-sections.txt:
26347         * docs/gst/gstreamer.types:
26348         * docs/gst/tmpl/gstminiobject.sgml:
26349           add miniobject to docs
26350         * gst/gstminiobject.c:
26351           add some docs
26352         * gst/gstvalue.c: (gst_value_deserialize_buffer),
26353         (gst_string_unwrap):
26354           fix a hard-to-find invalid write for one of the tests
26355           fix a leak for deserialized buffers
26356
26357 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26358
26359         * docs/pwg/advanced-events.xml:
26360         * docs/pwg/advanced-request.xml:
26361         * docs/pwg/advanced-scheduling.xml:
26362         * docs/pwg/appendix-porting.xml:
26363         * docs/pwg/building-boiler.xml:
26364         * docs/pwg/intro-preface.xml:
26365         * docs/pwg/other-ntoone.xml:
26366           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
26367           of example code and explanation for pad activation, loop() and
26368           getrange() functions and a bit more. Remove old comments pointing
26369           to loop-functions.
26370         * examples/pwg/Makefile.am:
26371           Add loop/getrange examples.
26372
26373 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
26374
26375         * configure.ac:
26376           check for valgrind binary + some fixes
26377         * check/gst.supp:
26378           valgrind suppressions for the tests
26379         * check/Makefile.am:
26380           add a valgrind: target that valgrinds the unit tests
26381         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
26382         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
26383         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26384         * check/gst/gstghostpad.c:
26385           added some cleanup
26386         * check/gst/gstdata.c:
26387           removed
26388         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
26389         (thread_unref), (gst_mini_object_suite), (main):
26390           added
26391         * gst/gst.c: (gst_deinit):
26392         * gst/gst.h:
26393           add a method to clean up.
26394         * gst/gstsystemclock.c: (gst_system_clock_dispose),
26395         (gst_system_clock_obtain):
26396           allow for disposing the system clock.
26397         * tools/gst-launch.c: (main):
26398           deinit
26399
26400 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
26401
26402         * docs/gst/tmpl/gstbasesrc.sgml:
26403         * docs/gst/tmpl/gstfakesrc.sgml:
26404         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
26405         (gst_base_src_init), (gst_base_src_set_property),
26406         (gst_base_src_get_property), (gst_base_src_get_range),
26407         (gst_base_src_start):
26408         * gst/base/gstbasesrc.h:
26409           add num-buffers property
26410         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
26411         (gst_fakesrc_init), (gst_fakesrc_set_property),
26412         (gst_fakesrc_get_property), (gst_fakesrc_create),
26413         (gst_fakesrc_start):
26414           remove num-buffers property
26415
26416 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
26417
26418         * docs/gst/gstreamer-sections.txt:
26419         * docs/gst/tmpl/gstbasesink.sgml:
26420         * docs/gst/tmpl/gstbasesrc.sgml:
26421         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
26422         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
26423         (gst_base_sink_finalize), (gst_base_sink_set_clock),
26424         (gst_base_sink_set_property), (gst_base_sink_get_property),
26425         (gst_base_sink_handle_object), (gst_base_sink_event),
26426         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
26427         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
26428         (gst_base_sink_loop), (gst_base_sink_deactivate),
26429         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
26430         (gst_base_sink_change_state):
26431         * gst/base/gstbasesink.h:
26432         * gst/base/gstbasesrc.h:
26433         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
26434         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
26435         (gst_filesink_init):
26436           more macro splitting
26437
26438 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
26439
26440         * gst/gstelement.c: (gst_element_get_bus):
26441           add debug
26442         * tools/gst-launch.c: (check_intr), (event_loop):
26443           fix bus leaks
26444
26445 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
26446
26447         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
26448           fix a caps leak
26449
26450 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
26451
26452         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
26453         (gst_base_src_finalize):
26454           add finalize method and clean up properly
26455         * gst/gstpipeline.c: (gst_pipeline_dispose):
26456           add debug
26457
26458 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
26459
26460         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
26461         (gst_bin_suite):
26462           add more things to check
26463         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26464         * gst/gstelement.c:
26465           more debug
26466
26467 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
26468
26469         * check/elements/gstfakesrc.c: (chain_func), (event_func),
26470         (GST_START_TEST), (fakesrc_suite):
26471         * check/gst-libs/gdp.c: (GST_START_TEST):
26472         * check/gst/gst.c: (GST_START_TEST):
26473         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
26474         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26475         * check/gst/gstbus.c: (GST_START_TEST):
26476         * check/gst/gstcaps.c: (GST_START_TEST):
26477         * check/gst/gstdata.c: (GST_START_TEST):
26478         * check/gst/gstelement.c: (GST_START_TEST):
26479         * check/gst/gstghostpad.c: (GST_START_TEST):
26480         * check/gst/gstiterator.c: (GST_START_TEST):
26481         * check/gst/gstmessage.c: (GST_START_TEST):
26482         * check/gst/gstobject.c: (GST_START_TEST):
26483         * check/gst/gstpad.c: (GST_START_TEST):
26484         * check/gst/gststructure.c: (GST_START_TEST):
26485         * check/gst/gstsystemclock.c: (GST_START_TEST),
26486         (gst_systemclock_suite):
26487         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26488         * check/gst/gstvalue.c: (GST_START_TEST):
26489         * check/pipelines/cleanup.c: (GST_START_TEST):
26490         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
26491         * check/states/sinks.c: (GST_START_TEST):
26492         * check/gstcheck.c: (gst_check_init):
26493         * check/gstcheck.h:
26494           add debugging category
26495           use GST_START_TEST now, so we add a debug line
26496
26497 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
26498
26499         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
26500           add test for state change message on a bin
26501         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
26502           add another test
26503         * gst/gstbin.c: (gst_bin_init):
26504         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
26505         * gst/gstelement.c: (gst_element_post_message),
26506         (gst_element_set_state):
26507         * gst/gstelementfactory.c: (gst_element_factory_create):
26508         * gst/gstmessage.c: (gst_message_new):
26509         * gst/gstscheduler.c:
26510           various debugging additions and cleanups
26511
26512 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26513
26514         * check/Makefile.am:
26515         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
26516         (main):
26517           adding tests for elements
26518         * gst/gstelement.c: (gst_element_dispose):
26519
26520 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26521
26522         * gst/registries/gstlibxmlregistry.c: (load_feature):
26523           plug more leaks.  A simple gst_init() now is leakfree, yay.
26524
26525 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26526
26527         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
26528         (gst_xml_registry_load):
26529           plug another memleak
26530
26531 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26532
26533         * configure.ac:
26534           use GST_SET_ERROR_CFLAGS
26535         * docs/faq/cvs.xml:
26536           change to ERROR_CFLAGS
26537
26538 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26539
26540         * configure.ac:
26541           make GST_ERROR_CFLAGS overridable and re-enable Werror
26542         * docs/faq/cvs.xml:
26543           add a note about error CFLAGS
26544         * docs/gst/tmpl/gstfakesrc.sgml:
26545         * gst/elements/gstfakesrc.c:
26546           comment out some unused code
26547         * gst/gst.c: (split_and_iterate):
26548         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
26549         (load_feature):
26550           plug some memleaks
26551
26552 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
26553
26554         * common/Makefile.am:
26555         * common/gtk-doc.mak:
26556         * docs/gst/Makefile.am:
26557           factor out gtk-doc.mak
26558
26559 2005-07-07  Wim Taymans  <wim@fluendo.com>
26560
26561         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
26562         (gst_thread_scheduler_dispose):
26563         Unlock the STREAM_LOCK completely.
26564
26565 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
26566
26567         * check/Makefile.am:
26568         * check/elements/.cvsignore:
26569         * check/elements/gstfakesrc.c: (chain_func), (event_func),
26570         (START_TEST), (fakesrc_suite), (main):
26571         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
26572         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
26573         (gst_fakesrc_create), (gst_fakesrc_start):
26574         * gst/elements/gstfakesrc.h:
26575           adding a first element test
26576
26577 2005-07-07  Andy Wingo  <wingo@pobox.com>
26578
26579         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
26580         debug message.
26581
26582 2005-07-07  Wim Taymans  <wim@fluendo.com>
26583
26584         * gst/gstquery.c:
26585         * gst/gstquery.h:
26586         Remove old types
26587
26588 2005-07-07  Wim Taymans  <wim@fluendo.com>
26589
26590         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
26591         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
26592         Allow subclasses to implement their own negotiation.
26593
26594 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
26595
26596         * docs/design/part-gstbin.txt:
26597         * docs/design/part-gstpipeline.txt:
26598           Update design notes to reflect the movement of
26599           responsibility for bus handling from GstPipeline to
26600           GstBin
26601
26602 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
26603
26604         * configure.ac:
26605           Remove unnecessary queue2/3/4 examples.
26606
26607 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
26608
26609         * examples/Makefile.am:
26610         * examples/helloworld/helloworld.c: (event_loop), (main):
26611         * examples/queue/queue.c: (event_loop), (main):
26612         * examples/queue2/queue2.c: (main):
26613           Update a couple of the examples to work again.
26614
26615         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
26616         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
26617          Spelling corrections and extra debug.
26618         
26619         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
26620         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
26621         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
26622         * gst/gstbin.h:
26623         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
26624         (gst_pipeline_change_state):
26625         * gst/gstpipeline.h:
26626           Move the bus handler for children to the GstBin, and create a
26627           separate bus for receiving messages from children to the one the
26628           bus sends 'upwards' on.
26629
26630 2005-07-06  Wim Taymans  <wim@fluendo.com>
26631
26632         * gst/base/README:
26633         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
26634         (gst_base_sink_handle_object), (gst_base_sink_loop),
26635         (gst_base_sink_change_state):
26636         * gst/base/gstbasesink.h:
26637         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
26638         (gst_base_src_init), (gst_base_src_setcaps),
26639         (gst_base_src_getcaps), (gst_base_src_loop),
26640         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
26641         (gst_base_src_start), (gst_base_src_change_state):
26642         * gst/base/gstbasesrc.h:
26643         Make basesrc negotiate.
26644         Handle the case where preroll fails in basesink.
26645         Update README.
26646
26647 2005-07-06  Wim Taymans  <wim@fluendo.com>
26648
26649         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
26650         Implement the fixate function.
26651         Clean up acceptcaps.
26652
26653 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26654
26655         * docs/pwg/building-filterfactory.xml:
26656         * docs/pwg/pwg.xml:
26657           Remove never-written filter-factory chapter; I'll add the various
26658           base classes to part 4 ("other element types") later on.
26659
26660 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26661
26662         * docs/pwg/advanced-negotiation.xml:
26663         * docs/pwg/building-boiler.xml:
26664         * docs/pwg/building-pads.xml:
26665         * docs/pwg/pwg.xml:
26666         * examples/pwg/Makefile.am:
26667           Add a chapter on caps negotiation, simplify the original code
26668           samples a bit w.r.t. caps negotiation, add link to the advanced
26669           section. Add a bunch of examples showing different use cases of
26670           different types of caps negotiation. Upstream renegotiation isn't
26671           fully documented yet since nobody knows how that works.
26672
26673 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
26674
26675         * check/gst/gstpad.c:
26676         * check/gstcheck.c:
26677         * gst/gstpad.c: (gst_pad_get_internal_links_default):
26678           if pad has no parent, return NULL as list of internal links
26679
26680 2005-07-05  Andy Wingo  <wingo@pobox.com>
26681
26682         * gst/elements/gstfilesrc.c:
26683         * gst/elements/gstfakesrc.c: 
26684         * gst/base/gstpushsrc.c:
26685         * gst/base/gstbasesrc.h: 
26686         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
26687         
26688 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
26689
26690         * Makefile.am:
26691           better report generation target (lcov needs a patch)
26692
26693 2005-07-05  Andy Wingo  <wingo@pobox.com>
26694
26695         * gst/elements, testsuite: Null if we got it...
26696
26697 2005-07-05  Wim Taymans  <wim@fluendo.com>
26698
26699         * configure.ac:
26700         * libs/gst/dataprotocol/Makefile.am:
26701         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
26702         * libs/gst/dataprotocol/dataprotocol.h:
26703         * pkgconfig/Makefile.am:
26704         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
26705         * pkgconfig/gstreamer-dataprotocol.pc.in:
26706         Ported dataprotol to 0.9. 
26707         Added pkgconfig files.
26708
26709 2005-07-05  Andy Wingo  <wingo@pobox.com>
26710
26711         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
26712         Default to returning TRUE for the case when tranform_caps returns
26713         a fixed caps, like for identity or volume.
26714
26715         * check/gst/gstbus.c (pound_bus_with_messages): 
26716         * check/gst/gstmessage.c (START_TEST): 
26717         * check/pipelines/simple_launch_lines.c (got_handoff): Application
26718         message API change.
26719
26720         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
26721         logic weaks here: always run transform_caps, trying passthrough
26722         operation only if the original caps intersects with the transform.
26723
26724         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
26725         source and sink caps.
26726
26727         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
26728         Intersect the peer caps with the pad template before going into
26729         transform_caps.
26730         (gst_base_transform_transform_caps): More debugging.
26731
26732         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
26733         src argument.
26734
26735 2005-07-04  Edward Hervey  <edward@fluendo.com>
26736
26737         * gst/gstutils.c:
26738         * gst/gstutils.h:
26739         (gst_pad_add_*_probe): now returns the signal id for better wrapping
26740         in bindings.
26741
26742 2005-07-04  Andy Wingo  <wingo@pobox.com>
26743
26744         * check/gst/gstpad.c: Only set explicit caps on pads.
26745
26746 2005-07-01  Andy Wingo  <wingo@pobox.com>
26747
26748         * tests/network-clock.scm: Commentary update.
26749
26750         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
26751         Didn't really make sense, not implementable with basetransform,
26752         etc.
26753         (gst_identity_transform): Unref inbuf via make_writable. Feeble
26754         attempt at implementing the sync property, needs an unlock method.
26755
26756         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
26757         New func, by default returns the same caps (the identity
26758         transformation).
26759         (gst_base_transform_getcaps): Uses transform_caps to return
26760         something sensible.
26761         (gst_base_transform_setcaps): Complicated logic to get caps on
26762         both pads, even if they are different, and to call set_caps once
26763         for every time both pads get their caps set.
26764         (gst_base_transform_handle_buffer): Give the ref to the transform
26765         function. Allows in-place modification of the buffer.
26766
26767         * gst/base/gstbasetransform.h (transform_caps): New class method.
26768         Given caps on one side, what can I do on the other.
26769         (set_caps): Take two caps, one for each side of the element.
26770
26771         * gst/gstpad.h:
26772         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
26773         caps in place. This is safe because we can check the mutability of
26774         the caps, and a good idea because fixate functions are just called
26775         as a matter of last resort. (Not actually implemented.)
26776         (gst_pad_set_caps): If the caps we're setting is actually the same
26777         as the existing pad caps, just update the pointer without calling
26778         setcaps. Assert that caps is either NULL or fixed, as per the
26779         docs.
26780
26781         * gst/gstghostpad.c: Update for fixate changes.
26782
26783 2005-07-02  Andy Wingo  <wingo@pobox.com>
26784
26785         * gst/gstcaps.c:
26786         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
26787         two refcounts makes it immutable, which is enough. Doc more.
26788
26789 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
26790
26791         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
26792           Put the mini_object into GValue as a mini_object,
26793           not a gpointer, since that's how we declared
26794           the signal.
26795
26796 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26797
26798         * examples/pwg/Makefile.am:
26799           Fix buildbot again.
26800
26801 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26802
26803         * docs/pwg/building-testapp.xml:
26804           Add extra check.
26805         * examples/pwg/Makefile.am:
26806           Fix buildbot.
26807
26808 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26809
26810         * configure.ac:
26811         * examples/Makefile.am:
26812         * examples/pwg/Makefile.am:
26813         * examples/pwg/extract.pl:
26814           Enable building the PWG examples.
26815         * docs/pwg/advanced-interfaces.xml:
26816           Add URI interface stub.
26817         * docs/pwg/advanced-types.xml:
26818         * docs/pwg/other-autoplugger.xml:
26819         * docs/pwg/appendix-porting.xml:
26820         * docs/pwg/pwg.xml:
26821           Add porting guide (mostly stubs), remove autoplugging (see ADM).
26822         * docs/pwg/building-boiler.xml:
26823         * docs/pwg/building-chainfn.xml:
26824         * docs/pwg/building-pads.xml:
26825         * docs/pwg/building-props.xml:
26826         * docs/pwg/building-state.xml:
26827         * docs/pwg/building-testapp.xml:
26828           Update the building-*.xml parts for 0.9 changes. All examples
26829           code blocks compile in examples/pwg/*.
26830
26831 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26832
26833         * docs/manual/advanced-autoplugging.xml:
26834         * docs/manual/appendix-checklist.xml:
26835         * docs/manual/appendix-integration.xml:
26836         * docs/manual/highlevel-components.xml:
26837           Fix playbin/decodebin examples, update docs a bit, mention bus
26838           instead of signals in various places, mention kmplayer and
26839           kaffeine since they have a working GStreamer backend in the KDE
26840           section.
26841
26842 2005-06-30  Wim Taymans  <wim@fluendo.com>
26843
26844         * CHANGES-0.9:
26845         * docs/design/draft-ghostpads.txt:
26846         * docs/design/draft-push-pull.txt:
26847         * docs/design/draft-query.txt:
26848         * docs/design/part-TODO.txt:
26849         * docs/design/part-query.txt:
26850         Added CHANGES-0.9 doc, updated status of other docs.
26851         
26852         * gst/gstquery.h:
26853         Remove "hmm" macro
26854
26855 2005-06-30  Wim Taymans  <wim@fluendo.com>
26856
26857         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
26858         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
26859         (gst_base_sink_change_state):
26860         * gst/base/gstbasesink.h:
26861         Some tweaks, only EOS and a buffer complete a preroll.
26862
26863 2005-06-30  Andy Wingo  <wingo@pobox.com>
26864
26865         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
26866         activate_push down to the internal pad as well.
26867
26868 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
26869
26870         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26871
26872         * gst/gsttaginterface.c:
26873           Some documentation fixes (#307394 and #307397).
26874
26875 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
26876
26877         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26878
26879         * gst/gstvalue.c: (gst_value_intersect_list):
26880           Fix memleak (#309125).
26881
26882 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26883
26884         * docs/manual/advanced-dataaccess.xml:
26885           Fix fakesrc example to compile; doesn't work, bug somewhere...?
26886         * docs/manual/basics-pads.xml:
26887           Add reference for filtered caps to above chapter.
26888
26889 2005-06-30  Wim Taymans  <wim@fluendo.com>
26890
26891         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
26892         (gst_bin_change_state):
26893         Probes are gone.
26894         Lame attempt at making the state change function a bit
26895         more readable.
26896
26897 2005-06-30  Wim Taymans  <wim@fluendo.com>
26898
26899         * docs/design/part-clocks.txt:
26900         * docs/design/part-element-sink.txt:
26901         * docs/design/part-events.txt:
26902         * docs/design/part-preroll.txt:
26903         * docs/design/part-states.txt:
26904         Some more tweeks and additions to the docs.
26905
26906 2005-06-30  Wim Taymans  <wim@fluendo.com>
26907
26908         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
26909         (default_have_data), (gst_pad_class_init), (gst_pad_init),
26910         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
26911         (gst_pad_check_pull_range), (gst_pad_get_range),
26912         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
26913         * gst/gstpad.h:
26914         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
26915         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
26916         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
26917         (gst_pad_remove_buffer_probe):
26918         Removed atomic operations, use existing LOCK.
26919         Move exception handling out of main code path.
26920
26921 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26922
26923         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
26924         (silly_return_true_function), (gst_pad_class_init),
26925         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
26926         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
26927         (gst_pad_send_event):
26928           Fix accumulator, add default value by using _emitv() instead
26929           of _emit() for signal emission.
26930
26931 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26932
26933         * docs/manual/advanced-dataaccess.xml:
26934         * examples/manual/Makefile.am:
26935           Add probe example.
26936         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
26937           Make work (??).
26938
26939 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
26940
26941         * gst/elements/gstfilesink.c: (gst_filesink_render):
26942           Simplify code so that we don't have to handle short
26943           writes and return GST_FLOW_ERROR if an error occured.
26944
26945 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26946
26947         * docs/gst/gstreamer-docs.sgml:
26948           Remove probes more.
26949
26950 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26951
26952         * docs/gst/gstreamer-sections.txt:
26953         * docs/gst/tmpl/gstpad.sgml:
26954         * docs/gst/tmpl/gstprobe.sgml:
26955         * gst/Makefile.am:
26956         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
26957         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
26958         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
26959         (gst_pad_push_event), (gst_pad_send_event):
26960         * gst/gstpad.h:
26961         * gst/gstutils.c: (gst_pad_add_data_probe),
26962         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
26963         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
26964         (gst_pad_remove_buffer_probe):
26965         * gst/gstutils.h:
26966           Remove old probes, add new g-signal-based probes and some utility
26967           functions.
26968
26969 2005-06-29  Edward Hervey  <edward@fluendo.com>
26970
26971         * gst/gstelementfactory.c:
26972         * gst/gstutils.h:
26973         * gst/gstutils.c:
26974         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
26975         the definition to the header file.
26976
26977 2005-06-29  Andy Wingo  <wingo@pobox.com>
26978
26979         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
26980         plugins from the source directory.
26981
26982 2005-06-29  Wim Taymans  <wim@fluendo.com>
26983
26984         * docs/gst/tmpl/gstbuffer.sgml:
26985         * docs/gst/tmpl/gstclock.sgml:
26986         Some fixings for blantently wrong text.
26987
26988 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
26989
26990         * check/Makefile.am:
26991         * gst/gst.c: (add_path_func), (init_pre):
26992         * gst/gstregistry.c: (gst_registry_add_path):
26993           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
26994           only scan the GST_PLUGIN_PATH locations, and not add
26995           system locations
26996
26997 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
26998
26999         * docs/gst/gstreamer-sections.txt:
27000         * docs/gst/tmpl/gstbasesrc.sgml:
27001         * gst/gstelement.c:
27002         * gst/gstelement.h:
27003         * gst/gstevent.c:
27004         * gst/gstutils.c:
27005           doc fixes
27006
27007 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27008
27009         * docs/manual/advanced-autoplugging.xml:
27010           Fix autoplugging example.
27011
27012 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27013
27014         * docs/manual/advanced-autoplugging.xml:
27015         * docs/manual/mime-world.fig:
27016           Try to get autoplugging working, fix type detection. Fix text
27017           in hello-world image.
27018
27019 2005-06-29  Wim Taymans  <wim@fluendo.com>
27020
27021         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27022         (gst_base_sink_change_state):
27023         Small debug line.
27024
27025         * gst/gstclock.h:
27026         map SIGNAL and BROADCAST to the right function.
27027
27028         * gst/gstobject.h:
27029         Remove redundant braces.
27030
27031         * gst/gstpad.c: (gst_pad_set_caps):
27032         Don't call setcaps function when reseting caps to NULL.
27033
27034         * gst/gstsystemclock.c: (gst_system_clock_dispose),
27035         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
27036         (gst_system_clock_id_unschedule):
27037         Use BROADCAST as this is what we do.
27038
27039 2005-06-29  Wim Taymans  <wim@fluendo.com>
27040
27041         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
27042         We are actually prerolling before commiting the state
27043         change. 
27044
27045 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27046
27047         * docs/manual/advanced-clocks.xml:
27048         * docs/manual/advanced-interfaces.xml:
27049         * docs/manual/advanced-metadata.xml:
27050         * docs/manual/advanced-position.xml:
27051         * docs/manual/advanced-schedulers.xml:
27052         * docs/manual/advanced-threads.xml:
27053         * docs/manual/appendix-porting.xml:
27054         * docs/manual/basics-bins.xml:
27055         * docs/manual/basics-bus.xml:
27056         * docs/manual/basics-elements.xml:
27057         * docs/manual/basics-helloworld.xml:
27058         * docs/manual/basics-pads.xml:
27059         * docs/manual/highlevel-components.xml:
27060         * docs/manual/manual.xml:
27061         * docs/manual/thread.fig:
27062           Update (until threads/scheduling) Application Development Manual;
27063           remove GstThread, add GstBus, add simple porting checklist, add
27064           documentation for tag writing, clocks, make all examples until this
27065           part compile and run.
27066         * examples/manual/Makefile.am:
27067           Update from changes to Application Development Manual; add bus
27068           example, remove thread example.
27069
27070 2005-06-28  Wim Taymans  <wim@fluendo.com>
27071
27072         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
27073         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
27074         (gst_bus_source_dispatch):
27075         Add debugging messages.
27076         Make internal methods static.
27077         Handle the case where the bus is flushed in the handler.
27078         
27079         * gst/gstelement.c: (gst_element_get_bus):
27080         Fix refcount in _get_bus();
27081
27082         * gst/gstpipeline.c: (gst_pipeline_change_state),
27083         (gst_pipeline_get_clock_func):
27084         Clock refcounting fixes.
27085         Handle the case where preroll timed out more gracefully.
27086         
27087         * gst/gstsystemclock.c: (gst_system_clock_dispose):
27088         Clean up the internal thread in dispose. This is needed
27089         for subclasses that actually get disposed.
27090         
27091         * gst/schedulers/threadscheduler.c:
27092         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
27093         (gst_thread_scheduler_dispose):
27094         Free thread pool in dispose.
27095
27096 2005-06-28  Andy Wingo  <wingo@pobox.com>
27097
27098         * tests/network-clock-utils.scm (debug, print-event): New utils.
27099
27100         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
27101         (*packet-loss*): Unified loss probability.
27102         (network-time): Report out-of-band events.
27103
27104         * tests/plot-data: Add support for out-of-band events. Hack it
27105         into this script instead of passing it down the pipe; should fix
27106         this later.
27107
27108 2005-06-28  Wim Taymans  <wim@fluendo.com>
27109
27110         * docs/gst/gstreamer.types:
27111         * docs/gst/tmpl/gstbasesrc.sgml:
27112         * docs/gst/tmpl/gstpad.sgml:
27113         Docs fixes.
27114
27115 2005-06-28  Wim Taymans  <wim@fluendo.com>
27116
27117         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27118         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
27119         (gst_proxy_pad_do_fixatecaps):
27120         Correctly proxy the check_pull_range function.
27121
27122 2005-06-28  Andy Wingo  <wingo@pobox.com>
27123
27124         * tests/network-clock.scm: Removed need for slib.
27125         
27126 2005-06-28  Wim Taymans  <wim@fluendo.com>
27127
27128         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
27129         (gst_basesink_preroll_queue_flush):
27130         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
27131         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
27132         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27133         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27134         (gst_proxy_pad_set_property):
27135         * gst/gstpad.c:
27136         * gst/gstpad.h:
27137         * gst/gstqueue.c: (gst_queue_init):
27138         The deprecated pad loop function is removed now.
27139
27140 2005-06-28  Andy Wingo  <wingo@pobox.com>
27141
27142         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
27143         New parameters, simulate network packet loss.
27144
27145         * tests/network-clock-utils.scm: Initialize the RNG.
27146
27147 2005-06-28  Wim Taymans  <wim@fluendo.com>
27148
27149         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
27150         (gst_basesink_event), (gst_basesink_deactivate):
27151         Flushing the preroll queue always needs to unlock the waiters.
27152
27153 2005-06-28  Edward Hervey  <edward@fluendo.com>
27154
27155         * gst/gstpipeline.c: (gst_pipeline_send_event): 
27156         Wheen a seek was successful on a pipeline, set the stream_time to the
27157         seek offset in order to have a synchronized stream_time.
27158
27159 2005-06-28  Wim Taymans  <wim@fluendo.com>
27160
27161         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27162         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
27163         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
27164         (gst_proxy_pad_do_fixatecaps):
27165         Call wrapper function instead of just calling the function
27166         pointers. This takes care of any locking and whatmore.
27167
27168 2005-06-28  Wim Taymans  <wim@fluendo.com>
27169
27170         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
27171         (gst_pad_pull_range):
27172         * gst/gstpad.h:
27173         CONNECTED -> LINKED.
27174
27175 2005-06-28  Andy Wingo  <wingo@pobox.com>
27176
27177         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
27178         source-munging commit!!!
27179
27180         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
27181         (gst_object_sink): Take gpointer arguments, not GstObject --
27182         avoids casts. Like GLib.
27183
27184         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
27185         activate.
27186
27187 2005-06-27  Andy Wingo  <wingo@pobox.com>
27188
27189         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
27190         remaining buffer.
27191
27192         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
27193         returns a sorted copy of the trace list.
27194         (gst_alloc_trace_print_live): New API, only prints traces with
27195         live objects. Sort the list.
27196         (gst_alloc_trace_print_all): Sort the list.
27197         (gst_alloc_trace_print): Align columns.
27198
27199         * gst/elements/gstttypefindelement.c:
27200         * gst/elements/gsttee.c:
27201         * gst/base/gstbasesrc.c:
27202         * gst/base/gstbasesink.c:
27203         * gst/base/gstbasetransform.c:
27204         * gst/gstqueue.c: Adapt for pad activation changes.
27205
27206         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
27207         sched.
27208         (gst_pipeline_dispose): Drop ref on sched.
27209
27210         * gst/gstpad.c (gst_pad_init): Set the default activate func.
27211         (gst_pad_activate_default): Push mode by default.
27212         (pre_activate_switch, post_activate_switch): New stubs, things to
27213         do before and after switching activation modes on pads.
27214         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
27215         the pad's activate function to choose which mode to activate.
27216         Shortcut on deactivation and call the right function directly.
27217         (gst_pad_activate_pull): New API, (de)activates a pad in pull
27218         mode.
27219         (gst_pad_activate_push): New API, same for push mode.
27220         (gst_pad_set_activate_function) 
27221         (gst_pad_set_activatepull_function) 
27222         (gst_pad_set_activatepush_function): Setters for new API.
27223
27224         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
27225         Trace all miniobjects.
27226         (gst_mini_object_make_writable): Unref the arg if we copy, like
27227         gst_caps_make_writable.
27228
27229         * gst/gstmessage.c (_gst_message_initialize): No trace init.
27230
27231         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
27232         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
27233         Adapt for new pad API.
27234
27235         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
27236
27237         * gst/gstelement.h:
27238         * gst/gstelement.c (gst_element_iterate_src_pads) 
27239         (gst_element_iterate_sink_pads): New API functions.
27240         
27241         * gst/gstelement.c (iterator_fold_with_resync): New utility,
27242         should fold into gstiterator.c in some form.
27243         (gst_element_pads_activate): Simplified via use of fold and
27244         delegation of decisions to gstpad->activate.
27245
27246         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
27247         help in debugging.
27248
27249         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
27250         class once in init, like gstmessage. Didn't run into this issue
27251         but it seems correct. Don't initialize a trace, gstminiobject does
27252         that.
27253
27254         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
27255         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
27256         to the bus.
27257         (assert_live_count): New util function, uses alloc traces to check
27258         cleanup.
27259
27260         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
27261         To be modified when unlink drops the internal pad.
27262
27263 2005-06-27  Wim Taymans  <wim@fluendo.com>
27264
27265         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
27266         (gst_bin_change_state):
27267         Cleanup the get_state() function a little, make sure it
27268         iterates the same set of elements.
27269         Added stub iterate_state_order().
27270
27271 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
27272
27273         * docs/gst/gstreamer-docs.sgml:
27274         * docs/gst/gstreamer-sections.txt:
27275         * docs/gst/gstreamer.types:
27276         * docs/gst/tmpl/gstbasesink.sgml:
27277         * docs/gst/tmpl/gstbasesrc.sgml:
27278         * docs/gst/tmpl/gstbasetransform.sgml:
27279         * docs/gst/tmpl/gstelement.sgml:
27280         * docs/gst/tmpl/gstiterator.sgml:
27281         * gst/base/gstbasesrc.c:
27282         * gst/base/gstbasesrc.h:
27283         * gst/base/gstbasetransform.h:
27284         * gst/gstelement.c:
27285         * gst/gstiterator.h:
27286           adding basetransform and iterator docs
27287
27288 2005-06-27  Andy Wingo  <wingo@pobox.com>
27289
27290         * docs/design/part-activation.txt: Notes on how activation should
27291         work -- not quite implemented yet.
27292
27293 2005-06-25  Wim Taymans  <wim@fluendo.com>
27294
27295         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
27296         At least get the chain function correct, needs more
27297         fixing.
27298
27299 2005-06-25  Wim Taymans  <wim@fluendo.com>
27300
27301         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
27302         (gst_basesink_handle_object), (gst_basesink_event),
27303         (gst_basesink_do_sync), (gst_basesink_handle_event),
27304         (gst_basesink_change_state):
27305         * gst/gsttask.h:
27306         Right, two problems here: ghostpads don't take locks and
27307         glib _rec_mutex_lock_full() with depth==0 still locks.
27308         Catch illegal locking and g_warn them.
27309
27310 2005-06-25  Wim Taymans  <wim@fluendo.com>
27311
27312         * check/states/sinks.c: (START_TEST), (gst_object_suite):
27313         Have to check for completion now...
27314
27315 2005-06-25  Wim Taymans  <wim@fluendo.com>
27316
27317         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
27318         (gst_basesink_handle_object), (gst_basesink_event),
27319         (gst_basesink_do_sync), (gst_basesink_handle_event),
27320         (gst_basesink_change_state):
27321         * gst/gstpad.h:
27322         Unlock STREAM_LOCK whatever the recursion was.
27323
27324 2005-06-25  Wim Taymans  <wim@fluendo.com>
27325
27326         * gst/base/gstbasesink.c: (gst_basesink_set_property),
27327         (gst_basesink_preroll_queue_empty),
27328         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
27329         (gst_basesink_event), (gst_basesink_do_sync),
27330         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
27331         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
27332         (gst_basesink_change_state):
27333         Reworked the base sink, handle event and buffer serialisation
27334         correctly and removed possible deadlock.
27335         Handle EOS correctly.
27336
27337 2005-06-25  Wim Taymans  <wim@fluendo.com>
27338
27339         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
27340         (gst_pipeline_change_state):
27341         * tools/gst-launch.c: (check_intr), (event_loop), (main):
27342         Allow elements to post EOS in the state change function.
27343         Fix up -launch, make it exit the poll loop when the
27344         pipeline actually changed state.
27345         Fix up warning parsing in -launch.
27346
27347 2005-06-25  Wim Taymans  <wim@fluendo.com>
27348
27349         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
27350         (gst_tee_sink_activate):
27351         Core takes STREAM_LOCK for us now.
27352
27353 2005-06-25  Wim Taymans  <wim@fluendo.com>
27354
27355         * gst/gstelement.c: (gst_element_get_state_func),
27356         (gst_element_set_state):
27357         * gst/gstelement.h:
27358         * gst/gstmessage.c: (gst_message_parse_error),
27359         (gst_message_parse_warning):
27360         Keep track of current target state while performing a state
27361         change so that subclasses can do something interesting.
27362         Fix parsing of warning/error messages when GError is NULL.
27363
27364 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
27365
27366         * docs/gst/Makefile.am:
27367         * docs/gst/gstreamer-docs.sgml:
27368         * docs/gst/gstreamer-sections.txt:
27369         * docs/gst/gstreamer.types:
27370         * docs/gst/tmpl/gstbasesink.sgml:
27371         * docs/gst/tmpl/gstbasesrc.sgml:
27372         * docs/gst/tmpl/gstbin.sgml:
27373         * docs/gst/tmpl/gstcompat.sgml:
27374         * docs/gst/tmpl/gstfakesink.sgml:
27375         * docs/gst/tmpl/gstfakesrc.sgml:
27376         * docs/gst/tmpl/gstfilesink.sgml:
27377         * docs/gst/tmpl/gstfilesrc.sgml:
27378         * docs/gst/tmpl/gstindex.sgml:
27379         * docs/manual/appendix-quotes.xml:
27380         * gst/base/gstbasesrc.h:
27381         * gst/elements/gstfakesrc.h:
27382         * gst/gstmessage.h:
27383           start pulling in base classes and elements in our docs
27384
27385 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
27386
27387         * docs/gst/Makefile.am:
27388         * docs/libs/Makefile.am:
27389           fixed make distcheck with gtk-doc 1.3
27390
27391 2005-06-23  Wim Taymans  <wim@fluendo.com>
27392
27393         * gst/gstelement.c: (gst_element_get_state_func),
27394         (gst_element_set_state), (gst_element_change_state):
27395         When the state did not change, also report NO_PREROLL
27396         when it matters.
27397
27398 2005-06-23  Wim Taymans  <wim@fluendo.com>
27399
27400         * gst/gstpad.c: (gst_pad_event_default):
27401         * gst/gstqueue.c: (gst_queue_loop):
27402         No unsafe task pausing please.
27403
27404 2005-06-23  Wim Taymans  <wim@fluendo.com>
27405
27406         * gst/schedulers/threadscheduler.c:
27407         (gst_thread_scheduler_task_start),
27408         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
27409         Ref the task before pushing it on the threadpool. This
27410         makes sure that we have a ref when the threadfunction is
27411         actually called.
27412
27413 2005-06-23  Andy Wingo  <wingo@pobox.com>
27414
27415         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
27416         offset is greater than the file's size.
27417
27418         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
27419         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
27420         * gst/gstobject.c (gst_object_class_init): Make the class lock
27421         recursive. Wim won't let me drop deep_notify. Decodebin works
27422         again, whoopdy doo.
27423
27424         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
27425         internal pad, and hacks accordingly. Doesn't do it on the target
27426         pad because we change its caps. Probably catches all cases of
27427         interest tho.
27428         (gst_ghost_pad_set_property): Connect to notify::caps as
27429         appropritate.
27430
27431         * tests/network-clock.scm (plot-simulation): Pipe data to the
27432         elite python skript.
27433
27434         * tests/network-clock-utils.scm (define-parameter): New macro,
27435         defines a parameter that can be set via the command line.
27436         (set-parameter!, parse-parameter-arguments): Command line args
27437         parser.
27438
27439         * tests/plot-data: Simple matplotlib-based plotter, takes input on
27440         stdin.
27441
27442 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
27443
27444         * gst/elements/gsttypefindelement.c:
27445         (gst_type_find_element_handle_event):
27446           Don't restart typefinding on a discont.
27447         * gst/gstelement.c: (gst_element_set_state):
27448           Debug spelling fix.
27449         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
27450           Allow changing mode of an active pad.
27451           Debug output fixes.
27452         * gst/registries/gstlibxmlregistry.c: (load_feature):
27453           Don't cast a static pad template to a normal pad template.
27454
27455 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
27456
27457         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
27458         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
27459           remove gst_strtoll completely, since it didn't actually do
27460           anything more than what g_ascii_strtoull already does.
27461           check for range errors when deserializing
27462           do a cast for the unsigned cases; but further fixing needs
27463           a decision on what the interpretation of "(int)" and
27464           deserialization should be for values that fall outside the
27465           type's boundaries (ie, refuse, or interpret as casting)
27466
27467 2005-06-23  Wim Taymans  <wim@fluendo.com>
27468
27469         * check/Makefile.am:
27470         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
27471         * docs/design/part-live-source.txt:
27472         * docs/design/part-states.txt:
27473         * gst/base/gstbasesrc.c: (gst_basesrc_init),
27474         (gst_basesrc_set_live), (gst_basesrc_is_live),
27475         (gst_basesrc_get_range), (gst_basesrc_activate),
27476         (gst_basesrc_change_state):
27477         * gst/base/gstbasesrc.h:
27478         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27479         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
27480         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
27481         * gst/gstelement.c: (gst_element_get_state_func),
27482         (gst_element_set_state):
27483         * gst/gstelement.h:
27484         * gst/gsttypes.h:
27485         * tools/gst-launch.c: (event_loop), (main):
27486         Added support for live sources and other elements that
27487         cannot do preroll.
27488         Updated design docs, added live-source design doc.
27489         Implemented live source functionality in basesrc
27490         Fix error condition in _bin_get_state()
27491         Implement live source handling in -launch.
27492         Added check for live sources.
27493         Fixed case in GstBin where elements were changed state
27494         multiple times.
27495
27496
27497 2005-06-23  Andy Wingo  <wingo@pobox.com>
27498
27499         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
27500         borken refcounting.
27501
27502         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
27503         gst_caps_replace takes care of this for us.
27504
27505         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
27506         gst_pad_set_caps on the target, not just its setcaps() function.
27507
27508         * tests/network-clock.scm: 
27509         * tests/network-clock-utils.scm: A network clock simulator.
27510         Something of an algorithmic testbed before doing something in C.
27511
27512 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
27513
27514         * check/Makefile.am:
27515         * check/gst/capslist.h:
27516           copy over from 0.8, and add two with bitmasks specified with
27517           (int) 0xFF...
27518         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
27519           add test to parse everything from capslist.h
27520         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
27521         (main):
27522           add test for structure deserialization
27523         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
27524           add tests for deserialization of strings to int types
27525         * gst/gststructure.c: (gst_structure_nth_field_name):
27526         * gst/gststructure.h:
27527           add a way to get the name of a field referenced by index
27528         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
27529           instead of checking if the resulting long long lies between
27530           min and max, we check if the long long would fit into
27531           a number of bytes for the final type.
27532           This fixes cases where a string represents 2^32 - 1, which
27533           when cast to int would be the (valid) -1, but is bigger than
27534           G_MAXINT
27535
27536 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
27537
27538         * gst/parse/grammar.y:
27539           add a log line for type deserialization
27540
27541 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
27542
27543         * check/gst/gstvalue.c: (START_TEST):
27544         * gst/gstvalue.c: (gst_value_deserialize):
27545           return long long, not int, so gint64 deserialization actually
27546           works.  Is there any flag that makes the compiler check this ?
27547           Fixes #308559
27548
27549 2005-06-22  Wim Taymans  <wim@fluendo.com>
27550
27551         * gst/gstbuffer.h:
27552         Added convenience macros for setting buffers in GValue.
27553
27554 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
27555
27556         * check/gst/.cvsignore:
27557         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
27558           add a test deserializing int64, and comment part out because
27559           it fails, yay !
27560
27561 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
27562
27563         * check/Makefile.am:
27564         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
27565         * testsuite/Makefile.am:
27566         * testsuite/caps/Makefile.am:
27567         * testsuite/caps/value_serialize.c:
27568         * testsuite/test_gst_init.c:
27569           move a value_serialize test over
27570
27571 2005-06-20  Wim Taymans  <wim@fluendo.com>
27572
27573         * gst/gstpad.c:
27574         Small doc updates.
27575         
27576         * gst/gstvalue.c: (gst_value_compare_buffer),
27577         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
27578         (gst_value_compare_flags), (gst_value_serialize_flags),
27579         (gst_value_deserialize_flags), (_gst_value_initialize):
27580         Fix serialisation of buffers, they are not boxed types anymore
27581
27582 2005-06-20  Wim Taymans  <wim@fluendo.com>
27583
27584         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
27585         Testcase to show error in buffer-on-caps serialisation.
27586
27587 2005-06-20  Andy Wingo  <wingo@pobox.com>
27588
27589         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
27590         will be adding to later.
27591
27592         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
27593         if its socks fill with rocks.
27594         (gst_system_clock_obtain): Set the name on object construction.
27595         Avoid double-checked locking.
27596
27597 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
27598
27599         * gst/gsturi.c: (gst_element_make_from_uri):
27600           Fix potential endless loop.
27601
27602 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
27603
27604         * check/Makefile.am:
27605           add gsttag
27606         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
27607         (main):
27608           move over from testsuite dir and clean up
27609         * configure.ac:
27610         * gst/gsttag.c:
27611         * testsuite/Makefile.am:
27612         * testsuite/tags/.cvsignore:
27613         * testsuite/tags/Makefile.am:
27614         * testsuite/tags/merge.c:
27615           remove testsuite/tags
27616
27617 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
27618
27619         * docs/gst/gstreamer-sections.txt:
27620         * docs/gst/tmpl/gstenumtypes.sgml:
27621         * win32/gstenumtypes.c:
27622           clean up documentation build a little
27623
27624 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
27625
27626         * check/gstcheck.h:
27627           add macros for checking refcounts on objects and caps
27628         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
27629           add some more unit tests
27630         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27631         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
27632           fix leaked refcounts (I hope :)) so unittest works
27633         * gst/gstpad.h:
27634           whitespace removal
27635
27636 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
27637
27638         * configure.ac: back to HEAD
27639
27640 === release 0.9.1 ===
27641
27642 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
27643
27644         * NEWS:
27645         * RELEASE:
27646           updated
27647
27648 2005-06-17  Andy Wingo  <wingo@pobox.com>
27649
27650         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
27651         assert; it's always possible that the pad gets deactivated in
27652         between the checks in gstpad.c and the implementation. Rely on
27653         finish_preroll() to return a FLUSHING or similar instead of on the
27654         assert.
27655         
27656         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
27657         clock and post an EOS message if we come out of finish_preroll in
27658         the playing state.
27659
27660 2005-06-16  David Schleef  <ds@schleef.org>
27661
27662         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
27663         (gst_capsfilter_set_property): Allow NULL as possible value
27664         for filter_caps property, indicating GST_CAPS_ANY.
27665
27666 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
27667
27668         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
27669           fix debug output
27670         * gst/schedulers/Makefile.am:
27671           use libgst prefix
27672         * gstreamer.spec.in:
27673           fix spec for it
27674
27675 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
27676
27677         * gstreamer.spec.in:
27678           clean up
27679
27680 2005-06-08  Andy Wingo  <wingo@pobox.com>
27681
27682         * gst/gstutils.c: RPAD fixes all around.
27683         (gst_element_link_pads): Refcounting fixes.
27684
27685         * tools/gst-inspect.c:
27686         * tools/gst-xmlinspect.c:
27687         * parse/grammar.y:
27688         * gst/base/gsttypefindhelper.c:
27689         * gst/base/gstbasesink.c:
27690         * gst/gstqueue.c: RPAD fixes.
27691
27692         * gst/gstghostpad.h:
27693         * gst/gstghostpad.c: New ghost pad implementation as full proxy
27694         pads. The tricky thing is they provide both source and sink
27695         interfaces, since they proxy the internal pad for the external
27696         pad, and vice versa. Implement with lower-level ProxyPad objects,
27697         with the interior proxy pad as a child of the exterior ghost pad.
27698         Should write a doc on this.
27699         
27700         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
27701         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
27702         gst_object API.
27703         
27704         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
27705         pads are real pads. No ghost pads in this file. Not documenting
27706         the myriad s/RPAD/PAD/ and REALIZE fixes.
27707         (gst_pad_class_init): Add properties for "direction" and
27708         "template". Both are construct-only, so they can't change during
27709         the life of the pad. Fixes properly deriving from GstPad.
27710         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
27711         derived objects, just set properties when creating the objects via
27712         g_object_new.
27713         (gst_pad_get_parent): Implement as a function, return NULL if the
27714         parent is not an element.
27715         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
27716         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
27717         
27718         * gst/gstobject.c (gst_object_class_init): Make name a construct
27719         property. Don't set it in the object init.
27720
27721         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
27722         with UNKNOWN direction.
27723         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
27724         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
27725         (gst_element_remove_pad): Remove ghost-pad special cases.
27726         (gst_element_pads_activate): Remove rpad cruft.
27727
27728         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
27729         catch the pad's-parent-not-an-element case.
27730
27731         * gst/gst.h: Include gstghostpad.h.
27732
27733         * gst/gst.c (init_post): No more real, ghost pads.
27734
27735         * gst/Makefile.am: Add gstghostpad.[ch].
27736
27737         * check/Makefile.am:
27738         * check/gst/gstbin.c:
27739         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
27740         into a bin creates ghost pads, and that the refcounts are right.
27741         Partly moved from gstbin.c.
27742
27743 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27744
27745         * check/gst-libs/.cvsignore:
27746         * check/gst/.cvsignore:
27747         * check/pipelines/.cvsignore:
27748           ignore more
27749         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
27750         (START_TEST), (cleanup_suite), (main):
27751           add some tests related to cleanup after running pipelines
27752
27753 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27754
27755         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
27756           add a testsuite for GstBuffer
27757
27758 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
27759
27760         * gst/gstminiobject.h:
27761           add defines for accessing the refcount
27762
27763 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
27764
27765         * Makefile.am: added support for html unit test coverage reports
27766
27767 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
27768
27769         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
27770           Free existing caps if the capsfilter changes. Add a FIXME about
27771           setting those caps on the pads.
27772
27773         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
27774           Before adding a ghost pad to a parent bin, check that there isn't
27775           already one for the element on the bin. Prevents infinite recursion
27776           when using decodebin in parse pipelines. Andy says he'll rewrite the
27777           way this works anyway, so ignore the hack.
27778
27779 2005-06-02  Andy Wingo  <wingo@pobox.com>
27780
27781         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
27782         file size, pass it on to the type find helper.
27783
27784         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
27785         segment_start and segment_end properly according to the seek
27786         method. Segment_end is still a bit flaky because offset can be
27787         negative for CUR and END cases, but it takes -1 as an "unset"
27788         value.
27789
27790 2005-06-02  Wim Taymans  <wim@fluendo.com>
27791
27792         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
27793         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
27794         (gst_basesink_activate):
27795         * gst/base/gstbasesink.h:
27796         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
27797         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
27798         (gst_pad_query), (gst_pad_start_task):
27799         * gst/gstpad.h:
27800         * gst/gstqueue.c: (gst_queue_bufferalloc),
27801         (gst_queue_handle_sink_event), (gst_queue_chain):
27802         Bufferalloc: return GstFlowReturn to more accuratly report
27803         why allocation failed.
27804
27805 2005-06-02  Wim Taymans  <wim@fluendo.com>
27806
27807         * gst/gstpipeline.c: (gst_pipeline_send_event):
27808         Take snapshot of state without blocking.
27809
27810 2005-06-02  Wim Taymans  <wim@fluendo.com>
27811
27812         * docs/design/part-TODO.txt:
27813         * docs/design/part-caps.txt:
27814         * docs/design/part-clocks.txt:
27815         * docs/design/part-negotiation.txt:
27816         * docs/design/part-preroll.txt:
27817         Small doc updates 
27818
27819 2005-05-30  Wim Taymans  <wim@fluendo.com>
27820
27821         * gst/elements/gstidentity.c: (gst_identity_event),
27822         (gst_identity_transform), (gst_identity_get_property):
27823         Protect last_message property as it is accessed from
27824         multiple threads.
27825
27826 2005-05-30  Wim Taymans  <wim@fluendo.com>
27827
27828         * gst/gstelement.c: (gst_element_init),
27829         (gst_element_pads_activate), (gst_element_change_state):
27830         Slicker pad activation code.
27831
27832 2005-05-30  Wim Taymans  <wim@fluendo.com>
27833
27834         * gst/Makefile.am:
27835         * gst/gstelement.h:
27836         * gst/gstelementfactory.h:
27837         * gst/gsttypes.h:
27838         Move elementfactory methods to separate .h file.
27839
27840 2005-05-30  Wim Taymans  <wim@fluendo.com>
27841
27842         * docs/design/part-overview.txt:
27843         * gst/gstsystemclock.h:
27844         Small typo fixes, doc updates.
27845
27846 2005-05-30  Wim Taymans  <wim@fluendo.com>
27847
27848         * gst/gst.c: (gst_init_get_popt_table), (init_post),
27849         (init_popt_callback):
27850         Remove cpu-opt flag.
27851
27852 2005-05-30  Wim Taymans  <wim@fluendo.com>
27853
27854         * gst/gstbuffer.c: (gst_subbuffer_finalize),
27855         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
27856         * gst/gstbuffer.h:
27857         Avoid typechecking in places where not needed.
27858         Added accessor for malloc_data.
27859
27860 2005-05-30  Wim Taymans  <wim@fluendo.com>
27861
27862         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
27863         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
27864         (gst_pad_configure_sink), (gst_pad_configure_src),
27865         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
27866         (gst_pad_start_task):
27867         Propagate errors from _set_caps() in configure_src/sink
27868         functions instead of returning TRUE.
27869         FLUSH events can travel up and downstream
27870
27871
27872 2005-05-30  Wim Taymans  <wim@fluendo.com>
27873
27874         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
27875         (gst_basesink_activate):
27876         Handle EOS in preroll.
27877
27878 2005-05-30  Wim Taymans  <wim@fluendo.com>
27879
27880         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27881         (gst_queue_loop), (gst_queue_handle_src_event):
27882         Remove old pieces of code
27883         Flushing the queue in an upstream event is a very bad idea.
27884
27885 2005-05-26  Andy Wingo  <wingo@pobox.com>
27886
27887         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
27888         gst_value_set_mini_object so as to add a ref on the object (which
27889         will be removed when the value is unset).
27890
27891         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
27892         arg type in ::handoff.
27893
27894         * gst/gstelement.c (gst_element_change_state): Also deactivate
27895         pads in READY->NULL, just in case the element didn't make it to
27896         PAUSED. Wingo tested, Wim approved.
27897
27898 2005-05-26  Wim Taymans  <wim@fluendo.com>
27899
27900         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
27901         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
27902         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
27903         A flushing pad cannot be used to alloc_buffer from.
27904
27905 2005-05-26  Wim Taymans  <wim@fluendo.com>
27906
27907         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
27908         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
27909         (gst_bus_source_dispatch), (gst_bus_source_finalize),
27910         (gst_bus_create_watch), (gst_bus_add_watch_full):
27911         * gst/gstbus.h:
27912         Implement a real GSource and use g_main_context_wakeup() to
27913         signal new messages instead of the socketpair.
27914
27915 2005-05-25  Wim Taymans  <wim@fluendo.com>
27916
27917         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
27918         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
27919         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
27920         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
27921         (gst_pad_send_event), (gst_pad_start_task):
27922         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
27923         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27924         (gst_queue_sink_activate), (gst_queue_src_activate),
27925         (gst_queue_change_state):
27926         * gst/gstqueue.h:
27927         Fix state changes for non sinks. We now change sinks, then elements
27928         with unconnected srcpads, then the rest.
27929         More efficient queue unlocking in flush and state changes.
27930         Set the pad activate mode even if it does not have an activate
27931         function.
27932
27933 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27934
27935         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
27936           Don't go in pull mode for non-seekable sources.
27937         * gst/elements/gsttypefindelement.h:
27938         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
27939         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
27940         (free_entry), (stop_typefinding),
27941         (gst_type_find_element_handle_event), (find_peek),
27942         (gst_type_find_element_chain), (do_pull_typefind),
27943         (gst_type_find_element_change_state):
27944           Allow typefinding (w/o seeking) in push-mode, simplified version
27945           of what was in 0.8.
27946         * gst/gstutils.c: (gst_buffer_join):
27947         * gst/gstutils.h:
27948           gst_buffer_join() from 0.8.
27949
27950 2005-05-25  Wim Taymans  <wim@fluendo.com>
27951
27952         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
27953         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
27954         (gst_pad_send_event), (gst_pad_start_task):
27955         Disable attempt at mode switching until it is figured out.
27956
27957 2005-05-25  Wim Taymans  <wim@fluendo.com>
27958
27959         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
27960         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
27961         (gst_basesink_finish_preroll), (gst_basesink_chain),
27962         (gst_basesink_loop), (gst_basesink_activate),
27963         (gst_basesink_change_state):
27964         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
27965         (gst_basesrc_get_range), (gst_basesrc_loop),
27966         (gst_basesrc_activate):
27967         * gst/elements/gsttee.c: (gst_tee_sink_activate):
27968         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
27969         (gst_real_pad_init), (gst_real_pad_set_property),
27970         (gst_real_pad_get_property), (gst_pad_set_active),
27971         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
27972         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
27973         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
27974         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
27975         (gst_pad_event_default_dispatch), (gst_pad_event_default),
27976         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
27977         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
27978         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
27979         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
27980         (gst_pad_stop_task):
27981         * gst/gstpad.h:
27982         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27983         (gst_queue_loop), (gst_queue_src_activate):
27984         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
27985         (gst_task_get_state):
27986         * gst/gsttask.h:
27987         * gst/schedulers/threadscheduler.c:
27988         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
27989         Implement gst_pad_pause/start/stop_task(), take STREAM lock
27990         in task function.
27991         Remove ACTIVE pad flag, use FLUSHING everywhere
27992         Added _pad_chain(), _pad_get_range() to call chain/getrange 
27993         functions.
27994         Add locks around IS_FLUSHING when reading.
27995         Take STREAM lock in chain(), get_range() functions so plugins
27996         don't need to take it anymore.
27997         
27998
27999
28000 2005-05-25  Wim Taymans  <wim@fluendo.com>
28001
28002         * tools/gst-launch.c: (event_loop):
28003         Unref message after using its contents instead of
28004         before.
28005
28006 2005-05-24  Wim Taymans  <wim@fluendo.com>
28007
28008         * docs/design/draft-ghostpads.txt:
28009         * docs/design/draft-push-pull.txt:
28010         * docs/design/draft-query.txt:
28011         * docs/design/part-overview.txt:
28012         Docs updates, added general overview doc.
28013
28014 2005-05-21  David Schleef  <ds@schleef.org>
28015
28016         * docs/gst/tmpl/old/GstBin.sgml:
28017         * docs/gst/tmpl/old/GstBuffer.sgml:
28018         * docs/gst/tmpl/old/GstCaps.sgml:
28019         * docs/gst/tmpl/old/GstClock.sgml:
28020         * docs/gst/tmpl/old/GstCompat.sgml:
28021         * docs/gst/tmpl/old/GstData.sgml:
28022         * docs/gst/tmpl/old/GstElement.sgml:
28023         * docs/gst/tmpl/old/GstEvent.sgml:
28024         * docs/gst/tmpl/old/GstIndex.sgml:
28025         * docs/gst/tmpl/old/GstStructure.sgml:
28026         * docs/gst/tmpl/old/GstTag.sgml:
28027         * docs/gst/tmpl/old/cothreads.sgml:
28028         * docs/gst/tmpl/old/cothreads_compat.sgml:
28029         * docs/gst/tmpl/old/gettext.sgml:
28030         * docs/gst/tmpl/old/gobject2gtk.sgml:
28031         * docs/gst/tmpl/old/grammar.tab.sgml:
28032         * docs/gst/tmpl/old/gst-i18n-app.sgml:
28033         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
28034         * docs/gst/tmpl/old/gst_private.sgml:
28035         * docs/gst/tmpl/old/gstaggregator.sgml:
28036         * docs/gst/tmpl/old/gstarch.sgml:
28037         * docs/gst/tmpl/old/gstatomic_impl.sgml:
28038         * docs/gst/tmpl/old/gstbufferstore.sgml:
28039         * docs/gst/tmpl/old/gstdata_private.sgml:
28040         * docs/gst/tmpl/old/gstdisksink.sgml:
28041         * docs/gst/tmpl/old/gstdisksrc.sgml:
28042         * docs/gst/tmpl/old/gstelementfactory.sgml:
28043         * docs/gst/tmpl/old/gstextratypes.sgml:
28044         * docs/gst/tmpl/old/gstfakesink.sgml:
28045         * docs/gst/tmpl/old/gstfakesrc.sgml:
28046         * docs/gst/tmpl/old/gstfdsink.sgml:
28047         * docs/gst/tmpl/old/gstfdsrc.sgml:
28048         * docs/gst/tmpl/old/gstfilesink.sgml:
28049         * docs/gst/tmpl/old/gstfilesrc.sgml:
28050         * docs/gst/tmpl/old/gsthttpsrc.sgml:
28051         * docs/gst/tmpl/old/gstidentity.sgml:
28052         * docs/gst/tmpl/old/gstindexfactory.sgml:
28053         * docs/gst/tmpl/old/gstmarshal.sgml:
28054         * docs/gst/tmpl/old/gstmd5sink.sgml:
28055         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
28056         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
28057         * docs/gst/tmpl/old/gstpadtemplate.sgml:
28058         * docs/gst/tmpl/old/gstpipefilter.sgml:
28059         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
28060         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
28061         * docs/gst/tmpl/old/gstshaper.sgml:
28062         * docs/gst/tmpl/old/gstspider.sgml:
28063         * docs/gst/tmpl/old/gstspideridentity.sgml:
28064         * docs/gst/tmpl/old/gststatistics.sgml:
28065         * docs/gst/tmpl/old/gsttee.sgml:
28066         * docs/gst/tmpl/old/gsttimecache.sgml:
28067         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
28068         * docs/gst/tmpl/old/gstxmlregistry.sgml:
28069         * docs/gst/tmpl/old/gthread-cothreads.sgml:
28070         * docs/gst/tmpl/old/types.sgml:
28071           I didn't intend to add these or check them in.
28072
28073 2005-05-19  David Schleef  <ds@schleef.org>
28074
28075         * configure.ac: Use -no-common everywhere.  In a sane world, it
28076           would be the default in libtool, because without it, you can't
28077           build DLLs on Windows.
28078         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
28079         * docs/gst/gstreamer-sections.txt:
28080         * docs/gst/tmpl/gstcpu.sgml:
28081         * docs/gst/tmpl/gstdata.sgml:
28082         * docs/gst/tmpl/gstthread.sgml:
28083
28084 2005-05-19  David Schleef  <ds@schleef.org>
28085
28086         * gst/gstminiobject.c: (gst_value_set_mini_object),
28087         (gst_value_take_mini_object), (gst_value_get_mini_object):
28088         * gst/gstminiobject.h: Add GValue set/get functions.
28089
28090 2005-05-19  Wim Taymans  <wim@fluendo.com>
28091
28092         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
28093         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
28094         (gst_subbuffer_init), (gst_buffer_is_span_fast):
28095         * gst/gstbuffer.h:
28096         * gst/gstbus.c: (gst_bus_post):
28097         * gst/gstelement.c: (gst_element_get_random_pad):
28098         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
28099         Make subbufer unref the parent in finalize.
28100         some more debugging info.
28101
28102
28103 2005-05-19  Wim Taymans  <wim@fluendo.com>
28104
28105         * gst/base/gstbasesink.c: (gst_basesink_class_init),
28106         (gst_basesink_init), (gst_basesink_finalize),
28107         (gst_basesink_activate), (gst_basesink_change_state):
28108         Don't free preroll queue too early.
28109
28110 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28111
28112         * gst/Makefile.am:
28113         * gst/ROADMAP:
28114           Hi, I'm outdated. Please shoot me.
28115
28116 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28117
28118         * gst/gstpipeline.c: (gst_pipeline_send_event):
28119           Do not access variables after they have been deleted.
28120
28121 2005-05-19  Wim Taymans  <wim@fluendo.com>
28122
28123         * tools/gst-inspect.c: (print_plugin_features):
28124         A plugin feature does unfortunatly not use the
28125         object name yet...
28126
28127 2005-05-18  Wim Taymans  <wim@fluendo.com>
28128
28129         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
28130         Port _span() functions to new subbuffers.
28131
28132 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28133
28134         * gst/gstbin.c: (gst_bin_add_func):
28135           Fix clock settery in bins when adding kids after the clock has
28136           been selected.
28137
28138 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28139
28140         * gst/elements/gstidentity.c: (gst_identity_class_init):
28141           Workaround until signals support GstMiniObject.
28142
28143 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
28144
28145         * gst/gstbuffer.c:
28146         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
28147
28148 2005-05-18  Wim Taymans  <wim@fluendo.com>
28149
28150         * gst/base/Makefile.am:
28151         * gst/base/gstadapter.c: (gst_adapter_base_init),
28152         (gst_adapter_class_init), (gst_adapter_init),
28153         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
28154         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
28155         (gst_adapter_flush), (gst_adapter_available),
28156         (gst_adapter_available_fast):
28157         * gst/base/gstadapter.h:
28158         Ported and added adapter to the base classes.
28159
28160 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
28161
28162         * gst/gst.c:
28163         * gst/gstmessage.c:
28164           Make sure the class is reffed/unreffed once before threads can be
28165           used.  Fixes #304551.
28166
28167 2005-05-17  Wim Taymans  <wim@fluendo.com>
28168
28169         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
28170         (gst_basesink_chain_unlocked), (gst_basesink_activate):
28171         * gst/gstminiobject.c: (gst_mini_object_get_type),
28172         (gst_mini_object_free):
28173         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
28174         (gst_pad_push), (gst_pad_push_event):
28175         * gst/gstqueue.c: (gst_queue_change_state):
28176         Don't queue buffers in basesink when we are flushing.
28177         Unref buffer when flushing in basesink.
28178         Flush queue when going to READY
28179         Unref buffer when _push() returns an error.
28180         Don't free MiniObject instance when refcount is incremented
28181         in _finalize() so that we can recover objects.
28182
28183 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
28184
28185         * docs/manual/advanced-schedulers.xml:
28186         * docs/manual/appendix-checklist.xml:
28187         * docs/pwg/advanced-clock.xml:
28188         * docs/pwg/advanced-interfaces.xml:
28189         * docs/pwg/advanced-request.xml:
28190         * docs/pwg/advanced-types.xml:
28191         * docs/pwg/intro-preface.xml:
28192         * examples/plugins/example.c: (gst_example_get_type),
28193         (gst_example_class_init), (gst_example_chain),
28194         (gst_example_set_property), (gst_example_get_property),
28195         (gst_example_change_state), (plugin_init):
28196         * examples/plugins/example.h:
28197           small doc fixes
28198
28199 2005-05-17  Wim Taymans  <wim@fluendo.com>
28200
28201         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
28202         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
28203         * gst/gstqueue.c: (gst_queue_change_state):
28204         Clear queue when going to READY.
28205         Remove IN_SETCAPS flag too.
28206
28207 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
28208
28209         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
28210           Remove implicit cast from gboolean to GstElementStateReturn;
28211           make sure we still return failure in paused => ready case if
28212           the parent class fails to change state and our own stop 
28213           vfunc succeeds.
28214
28215 2005-05-17  Wim Taymans  <wim@fluendo.com>
28216
28217         * tools/gst-launch.c: (event_loop):
28218         Message was unreffed too soon.
28219
28220 2005-05-16  Andy Wingo  <wingo@pobox.com>
28221
28222         * gst/gstbin.c (sink_iterator_filter): Err... um...
28223
28224         * check/gst/gstbin.c (test_ghost_pads): New test for the
28225         ghosting-if-elements-not-in-same-bin behavior.
28226
28227 2005-05-16  David Schleef  <ds@schleef.org>
28228
28229         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
28230         accessing refcount directly.
28231
28232 2005-05-15  David Schleef  <ds@schleef.org>
28233
28234         * check/Makefile.am: remove GstData checks
28235         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
28236         * gst/Makefile.am: add miniobject, remove data
28237         * gst/gst.h: add miniobject, remove data
28238         * gst/gstdata.c: remove
28239         * gst/gstdata.h: remove
28240         * gst/gstdata_private.h: remove
28241         * gst/gsttypes.h: remove GstEvent and GstMessage
28242         * gst/gstelement.c: (gst_element_post_message): fix for API changes
28243         * gst/gstmarshal.list: change BOXED -> OBJECT
28244
28245         Implement GstMiniObject.
28246         * gst/gstminiobject.c:
28247         * gst/gstminiobject.h:
28248
28249         Modify to be subclasses of GstMiniObject.
28250         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
28251         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
28252         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
28253         (gst_subbuffer_get_type), (gst_subbuffer_init),
28254         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
28255         (gst_buffer_span):
28256         * gst/gstbuffer.h:
28257         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
28258         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
28259         (_gst_event_copy), (gst_event_new):
28260         * gst/gstevent.h:
28261         * gst/gstmessage.c: (_gst_message_initialize),
28262         (gst_message_get_type), (gst_message_class_init),
28263         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
28264         (gst_message_new), (gst_message_new_error),
28265         (gst_message_new_warning), (gst_message_new_tag),
28266         (gst_message_new_state_changed), (gst_message_new_application):
28267         * gst/gstmessage.h:
28268         * gst/gstprobe.c: (gst_probe_perform),
28269         (gst_probe_dispatcher_dispatch):
28270         * gst/gstprobe.h:
28271         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
28272         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
28273         (_gst_query_copy), (gst_query_new):
28274
28275         Update elements for GstData -> GstMiniObject changes
28276         * gst/gstquery.h:
28277         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
28278         (gst_queue_chain), (gst_queue_loop):
28279         * gst/elements/gstbufferstore.c:
28280         (gst_buffer_store_add_buffer_func),
28281         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
28282         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
28283         (gst_fakesink_render):
28284         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
28285         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
28286         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
28287         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
28288         (gst_filesrc_create_read):
28289         * gst/elements/gstidentity.c: (gst_identity_class_init):
28290         * gst/elements/gsttypefindelement.c:
28291         (gst_type_find_element_src_event), (free_entry_buffers),
28292         (gst_type_find_element_handle_event):
28293         * libs/gst/dataprotocol/dataprotocol.c:
28294         (gst_dp_header_from_buffer):
28295         * libs/gst/dataprotocol/dataprotocol.h:
28296         * libs/gst/dataprotocol/dp-private.h:
28297
28298 2005-05-15  David Schleef  <ds@schleef.org>
28299
28300         * gst/elements/gstelements.c: Don't include headers that were
28301         just removed.
28302
28303 2005-05-15  David Schleef  <ds@schleef.org>
28304
28305         * gst/elements/Makefile.am: Remove some elements that don't
28306         need to be in the core (or even exist at all).
28307         * gst/elements/gstaggregator.c:
28308         * gst/elements/gstaggregator.h:
28309         * gst/elements/gstmd5sink.c:
28310         * gst/elements/gstmd5sink.h:
28311         * gst/elements/gstmultifilesrc.c:
28312         * gst/elements/gstmultifilesrc.h:
28313         * gst/elements/gstpipefilter.c:
28314         * gst/elements/gstpipefilter.h:
28315         * gst/elements/gstshaper.c:
28316         * gst/elements/gstshaper.h:
28317         * gst/elements/gststatistics.c:
28318         * gst/elements/gststatistics.h:
28319         * po/POTFILES.in: Remove above files.
28320
28321 2005-05-14  Andy Wingo  <wingo@pobox.com>
28322
28323         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
28324         so as to get the refs right.
28325         (sink_iterator_filter): New function, wraps bin_element_is_sink,
28326         unreffing objects that don't pass the filter.
28327
28328         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
28329         gst_element_set_bus.
28330         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
28331         normal cases, this will destroy the bus.
28332
28333         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
28334         object.
28335
28336         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
28337         has no sinks.
28338
28339 2005-05-13  Andy Wingo  <wingo@pobox.com>
28340
28341         * gst/gstutils.c (gst_element_link_pads): Instead of calling
28342         gst_pad_link, call pad_link_maybe_ghosting,
28343         (pad_link_maybe_ghosting): Links pads, making sure that the
28344         elements being linked are in the same bin.
28345         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
28346         Helpers for pad_link_maybe_ghosting.
28347
28348 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
28349
28350         * configure.ac:
28351           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
28352
28353 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
28354
28355         * docs/design/part-element-source.txt:
28356           Mention GstPushSrc
28357
28358 2005-05-12  Wim Taymans  <wim@fluendo.com>
28359
28360         * gst/base/gstbasesink.c: (gst_basesink_init),
28361         (gst_basesink_activate):
28362         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
28363         (gst_basesrc_is_seekable):
28364         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
28365         (bin_element_is_sink), (gst_bin_change_state):
28366         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
28367         * gst/gstelement.h:
28368         Identify sinks by their flag to avoid overly complicated
28369         checks (fow now).
28370         Do state changes even for elements not reachable from the
28371         sinks.
28372         BaseSink is a sink now :)
28373         Some more debugging info in the basesrc.
28374
28375
28376 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28377
28378         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
28379           Implement _query on a bin, similar to _send_event.
28380
28381 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
28382
28383         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
28384           Discont event offset format should be GST_FORMAT_BYTES,
28385           not GST_FORMAT_TIME.
28386
28387 2005-05-12  Wim Taymans  <wim@fluendo.com>
28388
28389         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
28390         Same fix as Ronald's but without the signal. 
28391
28392 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28393
28394         * gst/gstutils.c: (gst_element_query_position):
28395           No, an element is not a pad.
28396
28397 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28398
28399         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
28400         (gst_bin_get_state):
28401           If a child is removed from a bin while we remove the child from
28402           the bin and while we're retrieving its state, signal this to the
28403           get_state function so we abort the wait (instead of waiting for
28404           a timeout) and can immediately re-iterate over all other elements.
28405
28406 2005-05-12  Wim Taymans  <wim@fluendo.com>
28407
28408         * gst/base/Makefile.am:
28409         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
28410         (gst_basesrc_start):
28411         * gst/base/gstbasesrc.h:
28412         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
28413         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
28414         (gst_pushsrc_init), (gst_pushsrc_create):
28415         * gst/base/gstpushsrc.h:
28416         Added is_seekable to BaseSrc
28417         Added simple PushSrc.
28418
28419 2005-05-11  Wim Taymans  <wim@fluendo.com>
28420
28421         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
28422         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28423         (gst_element_link_pads), (gst_element_query_position),
28424         (gst_element_query_convert), (intersect_caps_func),
28425         (gst_pad_query_position), (gst_pad_query_convert):
28426         Fix refcounting in utils function.
28427         No point in trying to activate a pad when it's added, it could
28428         be added from the state change function and then we deadlock, the
28429         element has to decide what to do.
28430
28431 2005-05-10  Andy Wingo  <wingo@pobox.com>
28432
28433         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
28434         *all* the arguments.
28435
28436         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
28437         stream lock if it's a FLUSH_DONE; normal flushes don't get the
28438         lock (according to the docs -- if this is wrong change the docs).
28439
28440         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
28441         flush messages in the NULL state.
28442
28443         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
28444         message immediately and return.
28445         (gst_bus_set_flushing): New function. If a bus is flushing, it
28446         flushes out any queued messages and immediately unrefs new
28447         messages. This is so when an element goes to NULL, all of the
28448         unhandled messages coming from it can be freed, and their
28449         references to the element dropped. In other words: message source
28450         ref considered harmful :P
28451
28452         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
28453         we're finished with it.
28454
28455         * gst/gstmessage.c (gst_message_new_state_changed): 
28456
28457 2005-05-10  Wim Taymans  <wim@fluendo.com>
28458
28459         * gst/gstvalue.c: (gst_value_compare_flags),
28460         (gst_value_serialize_flags), (gst_value_deserialize_flags),
28461         (_gst_value_initialize):
28462         Added flags serialize/deserialize/compare code.
28463
28464 2005-05-09  Andy Wingo  <wingo@pobox.com>
28465
28466         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
28467         Intersect the peer's caps with our caps.
28468
28469 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28470
28471         * gst/base/gsttypefindhelper.c: (helper_find_peek):
28472         * gst/elements/gsttypefindelement.c: (find_peek):
28473           Handle negative offsets better. Fixes decodebin.
28474
28475 2005-05-09  Wim Taymans  <wim@fluendo.com>
28476
28477         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
28478         (gst_base_transform_event):
28479         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
28480         Implement accept_caps.
28481         Fix silly lock/unlock mismatch in base class.
28482
28483 2005-05-09  Wim Taymans  <wim@fluendo.com>
28484
28485         * docs/design/draft-push-pull.txt:
28486         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
28487         * gst/elements/gstfilesink.c: (gst_filesink_init),
28488         (gst_filesink_query):
28489         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
28490         (gst_type_find_handle_src_query), (find_element_get_length):
28491         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
28492         * gst/gstelement.h:
28493         * gst/gstmessage.c:
28494         * gst/gstmessage.h:
28495         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
28496         (gst_real_pad_get_caps_unlocked),
28497         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
28498         (gst_pad_event_default_dispatch), (gst_pad_event_default),
28499         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
28500         (gst_real_pad_dispose), (gst_real_pad_finalize),
28501         (gst_pad_load_and_link), (gst_pad_save_thyself),
28502         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
28503         (gst_pad_check_pull_range), (gst_pad_pull_range),
28504         (gst_pad_template_get_type), (gst_pad_template_class_init),
28505         (gst_pad_template_init), (gst_pad_template_dispose),
28506         (name_is_valid), (gst_static_pad_template_get),
28507         (gst_pad_template_new), (gst_static_pad_template_get_caps),
28508         (gst_pad_template_get_caps), (gst_pad_set_element_private),
28509         (gst_pad_get_element_private), (gst_pad_start_task),
28510         (gst_pad_pause_task), (gst_pad_stop_task),
28511         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
28512         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
28513         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
28514         (gst_ghost_pad_new):
28515         * gst/gstpad.h:
28516         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
28517         (gst_query_new_position), (gst_query_set_position),
28518         (gst_query_parse_position), (gst_query_new_convert),
28519         (gst_query_set_convert), (gst_query_parse_convert):
28520         * gst/gstquery.h:
28521         * gst/gstqueryutils.c:
28522         * gst/gstqueryutils.h:
28523         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
28524         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
28525         (gst_queue_handle_src_query):
28526         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28527         (gst_element_query_position), (gst_element_query_convert),
28528         (intersect_caps_func), (gst_pad_query_position),
28529         (gst_pad_query_convert):
28530         * gst/gstutils.h:
28531         * tools/gst-inspect.c: (print_pad_info):
28532         * tools/gst-xmlinspect.c: (print_element_info):
28533         Remove old query functions. Ported old code.
28534         Added position/convert helper functions to gstutils.
28535         Reordered gstpad.c code, grouping relevant things.
28536         Remove gst_message_new(), always need to speficy a specific
28537         message.
28538
28539
28540 2005-05-09  Andy Wingo  <wingo@pobox.com>
28541
28542         * gst/gstiterator.h: Add some includes.
28543
28544         * gst/gstqueryutils.h: Include more headers.
28545
28546         * gst/gstpad.h:
28547         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
28548         some uses of gst_pad_query.
28549
28550         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
28551         NULL out parameters.
28552         (gst_query_new_position): New proc, allocates a new position
28553         query.
28554
28555         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
28556         gstqueryutils.c to the build.
28557
28558         * gst/gststructure.c (gst_structure_set_valist): Implement with
28559         the generic G_VALUE_COLLECT.
28560         
28561 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
28562
28563         * gst/Makefile.am: (gst_headers):
28564         Added gstqueryutils.h to the list of headers to install, that was
28565         a 'nachty' move wingo :)
28566
28567 2005-05-06  Andy Wingo  <wingo@pobox.com>
28568
28569         * gst/gstquery.h
28570         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
28571         GstData, init a memchunk.
28572         (standard_definitions): Add a few query types, deprecate a few.
28573         (gst_query_get_type): New proc.
28574         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
28575         implementation.
28576         (gst_query_new_application, gst_query_get_structure): New public
28577         procs.
28578
28579         * docs/design/draft-query.txt: Removed LINKS from the query types,
28580         because all the rest can be dispatched to other pads -- seemed
28581         ugly to have a query that couldn't be dispatched. internal_links
28582         is fine as a pad method.
28583
28584         * gst/gstpad.h: Add query2 as a pad method, add the new functions
28585         in gstpad.c, but maintain binary compatibility for the moment.
28586         Will fix before 0.9 is out.
28587
28588         * gst/gstqueryutils.c: 
28589         * gst/gstqueryutils.h: New files, implement 3 methods for each
28590         query type: parse_query, parse_response, and set. Probably need an
28591         allocator as well.
28592
28593         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
28594
28595         * gst/elements/gstfilesink.c (gst_filesink_query2):
28596         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
28597         query_types, and formats methods.
28598
28599         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
28600         (gst_pad_set_query2_function): New functions.
28601         (gst_real_pad_init): Set query2_default as the default query2
28602         function. Basically just dispatches to internally linked pads.
28603
28604         Needs review!
28605         
28606         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
28607         without using the atomic operations. Only one thread can possibly
28608         be accessing the data at this point. Changed so as to avoid
28609         gst_atomic operations.
28610
28611 2005-05-06  Wim Taymans  <wim@fluendo.com>
28612
28613         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
28614         Also set caps if we use the fallback buffer alloc.
28615
28616 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
28617
28618         * docs/gst/Makefile.am:
28619         * docs/gst/gstreamer-docs.sgml:
28620         * docs/gst/gstreamer-sections.txt:
28621         * docs/gst/tmpl/gstatomic.sgml:
28622         * docs/gst/tmpl/gstmemchunk.sgml:
28623         * testsuite/elements/struct_i386.h:
28624         * win32/GStreamer.vcproj:
28625         * win32/Makefile:
28626           Purge GstAtomic stuff from docs and win32 makefiles as well
28627
28628 2005-05-06  Wim Taymans  <wim@fluendo.com>
28629
28630         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
28631         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
28632         * gst/gstpad.c: (gst_pad_peer_get_caps):
28633         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
28634         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
28635         (gst_queue_src_activate), (gst_queue_change_state):
28636         * gst/gstqueue.h:
28637         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28638         (intersect_caps_func):
28639         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
28640         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
28641         Some fixes for the peer_get_caps() change.
28642
28643 2005-05-06  Wim Taymans  <wim@fluendo.com>
28644
28645         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
28646         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
28647         (gst_basesink_activate):
28648         Actually do something with error codes returned from the push
28649         functions.
28650
28651 2005-05-06  Wim Taymans  <wim@fluendo.com>
28652
28653         * docs/design/part-element-sink.txt:
28654         * docs/design/part-element-source.txt:
28655         * gst/base/gstbasesink.c: (gst_basesink_class_init),
28656         (gst_basesink_event), (gst_basesink_activate):
28657         * gst/base/gstbasesink.h:
28658         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
28659         (gst_basesrc_activate):
28660         * gst/base/gstbasesrc.h:
28661         * gst/gstelement.c: (gst_element_pads_activate):
28662         Some more documentation.
28663         Fixed scheduling decision in _pads_activate().
28664
28665 2005-05-05  Andy Wingo  <wingo@pobox.com>
28666
28667         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
28668         the test suite.
28669
28670 2005-05-05  Wim Taymans  <wim@fluendo.com>
28671
28672         * gst/base/Makefile.am:
28673         * gst/base/gstbasesink.h:
28674         * gst/base/gstbasesrc.c: (gst_basesrc_init),
28675         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
28676         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
28677         (gst_collectpads_class_init), (gst_collectpads_init),
28678         (gst_collectpads_finalize), (gst_collectpads_new),
28679         (gst_collectpads_set_function), (gst_collectpads_add_pad),
28680         (find_pad), (gst_collectpads_remove_pad),
28681         (gst_collectpads_is_active), (gst_collectpads_collect),
28682         (gst_collectpads_collect_range), (gst_collectpads_start),
28683         (gst_collectpads_stop), (gst_collectpads_peek),
28684         (gst_collectpads_pop), (gst_collectpads_available),
28685         (gst_collectpads_read), (gst_collectpads_flush),
28686         (gst_collectpads_chain):
28687         * gst/base/gstcollectpads.h:
28688         * gst/elements/Makefile.am:
28689         * gst/elements/gstelements.c:
28690         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
28691         (gst_fakesink_get_times), (gst_fakesink_event),
28692         (gst_fakesink_preroll), (gst_fakesink_render):
28693         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28694         (gst_filesink_init), (gst_filesink_set_location),
28695         (gst_filesink_open_file), (gst_filesink_close_file),
28696         (gst_filesink_pad_query), (gst_filesink_event),
28697         (gst_filesink_render), (gst_filesink_change_state):
28698         * gst/elements/gstfilesink.h:
28699         Added object to help in making collect pad based elements.
28700         Ported filesink.
28701         Make event function in sink baseclass return gboolean.
28702
28703 2005-05-05  Wim Taymans  <wim@fluendo.com>
28704
28705         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
28706         (gst_bin_get_by_name):
28707         * gst/gstbuffer.h:
28708         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
28709         (gst_clock_finalize):
28710         * gst/gstdata.c: (gst_data_replace):
28711         * gst/gstdata.h:
28712         * gst/gstelement.c: (gst_element_request_pad),
28713         (gst_element_pads_activate):
28714         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
28715         (gst_object_unref):
28716         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28717         (gst_pad_set_checkgetrange_function),
28718         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
28719         (gst_pad_check_pull_range), (gst_pad_pull_range),
28720         (gst_static_pad_template_get_caps), (gst_pad_start_task),
28721         (gst_pad_pause_task), (gst_pad_stop_task):
28722         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28723         (gst_element_request_pad), (gst_pad_proxy_getcaps):
28724         Fix name lookup in GstBin.
28725         Added _data_replace() function and _buffer_replace()
28726         Use finalize method to clean up clock.
28727         Fix refcounting on request pads.
28728         Fix pad schedule mode error.
28729         Some more object refcounting debug info,
28730
28731
28732 2005-05-04  Andy Wingo <wingo@pobox.com>
28733
28734         * check/Makefile.am:
28735         * docs/gst/tmpl/gstatomic.sgml:
28736         * docs/gst/tmpl/gstplugin.sgml:
28737         * gst/base/gstbasesink.c: (gst_basesink_activate):
28738         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
28739         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
28740         (gst_basesrc_query), (gst_basesrc_set_property),
28741         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
28742         (gst_basesrc_activate):
28743         * gst/base/gstbasesrc.h:
28744         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
28745         (gst_base_transform_src_activate):
28746         * gst/elements/gstelements.c:
28747         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28748         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
28749         * gst/elements/gsttee.c: (gst_tee_sink_activate):
28750         * gst/elements/gsttypefindelement.c: (find_element_get_length),
28751         (gst_type_find_element_checkgetrange),
28752         (gst_type_find_element_activate):
28753         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
28754         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
28755         (gst_caps_load_thyself):
28756         * gst/gstelement.c: (gst_element_pads_activate),
28757         (gst_element_save_thyself), (gst_element_restore_thyself):
28758         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
28759         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
28760         * gst/gstpad.h:
28761         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
28762         (gst_xml_parse_file), (gst_xml_parse_memory),
28763         (gst_xml_get_element), (gst_xml_make_element):
28764         * gst/indexers/gstfileindex.c: (gst_file_index_load),
28765         (_file_index_id_save_xml), (gst_file_index_commit):
28766         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
28767         (read_enum), (load_pad_template), (load_feature), (load_plugin),
28768         (load_paths):
28769         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
28770         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
28771         * tools/gst-complete.c: (main):
28772         * tools/gst-compprep.c: (main):
28773         * tools/gst-inspect.c: (print_element_properties_info):
28774         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
28775         * tools/gst-xmlinspect.c: (print_element_properties):
28776         GCC 4 fixen.
28777         
28778 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
28779
28780         * gst/gstplugin.c: (gst_plugin_check_module),
28781         (gst_plugin_check_file), (gst_plugin_load_file):
28782             apply patch from #172526 to make register work on MacOSX
28783
28784 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
28785
28786         * docs/gst/tmpl/gstconfig.sgml:
28787         * gst/gstconfig.h.in:
28788           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
28789         * testsuite/debug/printf_extension.c: (main):
28790           Do not use GST_PTR_FORMAT on pointers to types with
28791           sizeof < sizeof(gpointer).  Fixes test on 64-bit
28792         * testsuite/elements/property.h:
28793           use correct printf format
28794
28795 2005-05-02  Wim Taymans  <wim@fluendo.com>
28796
28797         * docs/design/draft-push-pull.txt:
28798         * docs/design/draft-query.txt:
28799         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
28800         (gst_basesrc_start):
28801         Added draft for new query API.
28802         Added draft for better selecting scheduling methods.
28803         Make basesrc ignore length if the subclass does not support
28804         it.
28805
28806 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
28807
28808         * gst/Makefile.am:
28809           possible fixes for automake-1.5 - _LIBADD is reserved
28810
28811 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
28812
28813         * docs/faq/Makefile.am:
28814         * docs/manual/Makefile.am:
28815         * docs/manuals.mak:
28816         * docs/pwg/Makefile.am:
28817         * gst/Makefile.am:
28818           possible fixes for automake-1.5
28819
28820 2005-04-28  Wim Taymans  <wim@fluendo.com>
28821
28822         * gst/base/gstbasesink.c: (gst_basesink_base_init),
28823         (gst_basesink_pad_getcaps), (gst_basesink_init),
28824         (gst_basesink_do_sync):
28825         * gst/gstclock.c: (gst_clock_entry_new):
28826         * gst/gstevent.c: (gst_event_discont_get_value):
28827         * gst/gstpipeline.c: (pipeline_bus_handler),
28828         (gst_pipeline_change_state):
28829         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
28830         Better debugging of clocking info.
28831         Allow NULL values when getting discont values.
28832
28833 2005-04-27  Wim Taymans  <wim@fluendo.com>
28834
28835         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
28836         * check/gst/gstpad.c: (gst_pad_suite):
28837         Increase timeout for checks.
28838
28839 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
28840
28841         * check/Makefile.am:
28842           fix the broken rule for cleanup.  Apparently this rule is
28843           only needed on FC2, so maybe this warrants further autotool
28844           inspection.
28845
28846 2005-04-26  Wim Taymans  <wim@fluendo.com>
28847
28848         * gst/gsttrashstack.h:
28849         Ooohh. a nasty one! After having a failed pop() from the stack,
28850         it's possible that the stack is empty. In that case, don't
28851         follow the NULL pointer.
28852
28853 2005-04-25  Wim Taymans  <wim@fluendo.com>
28854
28855         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28856         (gst_pad_set_checkgetrange_function),
28857         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
28858         (gst_pad_check_pull_range), (gst_pad_pull_range),
28859         (gst_static_pad_template_get_caps), (gst_pad_start_task),
28860         (gst_pad_pause_task), (gst_pad_stop_task):
28861         * gst/gstplugin.c: (gst_plugin_load):
28862         * gst/gstplugin.h:
28863         Remove gst_library_load as it does more harm than good with
28864         the new g_module flags.
28865         Revert bogus caps template check in pad linking, pad caps
28866         are important when linking not the template, which is more
28867         general than the current caps.
28868
28869 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28870
28871         * gst/autoplug/.cvsignore:
28872         * gst/autoplug/Makefile.am:
28873         * gst/autoplug/gstsearchfuncs.c:
28874         * gst/autoplug/gstsearchfuncs.h:
28875         * gst/autoplug/gstspider.c:
28876         * gst/autoplug/gstspider.h:
28877         * gst/autoplug/gstspideridentity.c:
28878         * gst/autoplug/gstspideridentity.h:
28879         * gst/autoplug/spidertest.c:
28880           Die, spider, die.
28881
28882 2005-04-25  Wim Taymans  <wim@fluendo.com>
28883
28884         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
28885         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
28886         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
28887         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
28888         * gst/gstpad.h:
28889         Added stubs for unimplemented functions. 
28890
28891 2005-04-24  David Schleef  <ds@schleef.org>
28892
28893         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
28894         please fix.
28895
28896 2005-04-24  David Schleef  <ds@schleef.org>
28897
28898         Convert everything from GstAtomicInt to g_atomic_int_*, and
28899         remove gstatomic.
28900         * gst/Makefile.am:
28901         * gst/gstatomic.c:
28902         * gst/gstatomic.h:
28903         * gst/gstatomic_impl.h:
28904         * gst/gstbuffer.c:
28905         * gst/gstcaps.c:
28906         * gst/gstcaps.h:
28907         * gst/gstclock.c:
28908         * gst/gstclock.h:
28909         * gst/gstdata.c:
28910         * gst/gstdata.h:
28911         * gst/gstdata_private.h:
28912         * gst/gstevent.c:
28913         * gst/gstinfo.c:
28914         * gst/gstinfo.h:
28915         * gst/gstmessage.c:
28916         * gst/gstobject.c:
28917         * gst/gstobject.h:
28918         * gst/gststructure.c:
28919         * gst/gststructure.h:
28920         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
28921         * gst/gstutils.h:
28922
28923 2005-04-24  David Schleef  <ds@schleef.org>
28924
28925         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
28926         make the regressions tests work.  Remove some code that is no
28927         longer true.
28928         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
28929         Disable warning for pads without templates.
28930
28931 2005-04-24  David Schleef  <ds@schleef.org>
28932
28933         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
28934         functions that handle filtered links.
28935         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
28936         removed functions.
28937         * gst/gstutils.c: Fix/remove utility functions that handle
28938         filtered caps.
28939         * gst/gstutils.h:
28940         * gst/gstvalue.c: Add serialization/deserialization of caps
28941         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
28942         requires fixing so that the filter caps notation creates
28943         a capsfilter element and sets the filter_caps property.  I
28944         think everyone probably wants to keep the shorthand notation.
28945         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
28946         * docs/gst/tmpl/gstpad.sgml:
28947
28948         * gst/elements/gstelements.c: Register capsfilter element.
28949         * gst/Makefile.am: fix spacing
28950         * docs/random/ds/0.9-suggested-changes: random
28951
28952 2005-04-23  David Schleef  <ds@schleef.org>
28953
28954         * gst/elements/Makefile.am:
28955         * gst/elements/gstcapsfilter.c: New element that acts like an
28956         identity, but filters caps.  Will eventually replace filtered
28957         caps in pad linking.
28958         * gst/gstutils.c: (gst_element_create_all_pads): New function
28959         to create all the ALWAYS pads that are registered with an
28960         element class.  This functionality should eventually be
28961         merged in with GstElement initialization.
28962         * gst/gstutils.h:
28963         * testsuite/trigger/README: part of trigger test code that should
28964         have been checked in a long time ago.
28965
28966 2005-04-23  David Schleef  <ds@schleef.org>
28967
28968         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
28969         needed with new versions of libtool (nobody will confirm this),
28970         and hard to carry around.
28971         * gst/autoplug/Makefile.am:
28972         * gst/base/Makefile.am:
28973         * gst/elements/Makefile.am:
28974         * gst/indexers/Makefile.am:
28975         * gst/schedulers/Makefile.am:
28976         * libs/gst/bytestream/Makefile.am:
28977         * libs/gst/control/Makefile.am:
28978         * libs/gst/dataprotocol/Makefile.am:
28979         * libs/gst/getbits/Makefile.am:
28980
28981 2005-04-21  Wim Taymans  <wim@fluendo.com>
28982
28983         * docs/design/draft-push-pull.txt:
28984         * docs/design/part-MT-refcounting.txt:
28985         * docs/design/part-TODO.txt:
28986         * docs/design/part-caps.txt:
28987         * docs/design/part-events.txt:
28988         * docs/design/part-gstbus.txt:
28989         * docs/design/part-gstpipeline.txt:
28990         * docs/design/part-messages.txt:
28991         * docs/design/part-push-pull.txt:
28992         * docs/design/part-query.txt:
28993         Some more docs.
28994
28995 2005-04-21  Wim Taymans  <wim@fluendo.com>
28996
28997         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
28998         (gst_message_new), (gst_message_new_error),
28999         (gst_message_new_warning), (gst_message_new_tag),
29000         (gst_message_new_state_changed), (gst_message_new_application),
29001         (gst_message_get_structure):
29002         * gst/gstmessage.h:
29003         * gst/gststructure.c: (gst_structure_set_parent_refcount),
29004         (gst_structure_copy_conditional):
29005         Use parent refcount in GstMessage to ensure GstStructure
29006         consistency.
29007         Cleaned up headers a bit.
29008         
29009
29010 2005-04-20  Wim Taymans  <wim@fluendo.com>
29011
29012         * gst/base/gstbasesink.c: (gst_basesink_base_init),
29013         (gst_basesink_pad_getcaps), (gst_basesink_init),
29014         (gst_basesink_chain_unlocked):
29015         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
29016         (gst_type_find_helper):
29017         * gst/elements/gsttypefindelement.c:
29018         (gst_type_find_element_have_type), (gst_type_find_element_init),
29019         (stop_typefinding), (gst_type_find_element_handle_event),
29020         (find_suggest), (gst_type_find_element_chain),
29021         (gst_type_find_element_checkgetrange),
29022         (gst_type_find_element_getrange), (do_typefind),
29023         (gst_type_find_element_activate):
29024         * gst/gstbuffer.c: (_gst_buffer_sub_free),
29025         (gst_buffer_default_free), (gst_buffer_default_copy),
29026         (gst_buffer_set_caps):
29027         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
29028         (gst_caps_replace):
29029         * gst/gstmessage.c: (gst_message_new),
29030         (gst_message_new_state_changed):
29031         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29032         (gst_pad_set_checkgetrange_function),
29033         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
29034         (gst_pad_set_caps), (gst_pad_check_pull_range),
29035         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
29036         * gst/gstpad.h:
29037         * gst/gsttypefind.c: (gst_type_find_register):
29038         Make gst_caps_replace() work like other _replace() functions.
29039         Use _caps_replace() where possible.
29040         Make sure _message_new() initialises its field.
29041         Add gst_static_pad_template_get_caps()
29042
29043
29044 2005-04-18  Andy Wingo  <wingo@pobox.com>
29045
29046         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
29047         on the peer, not the pad. I think that was a typo. Pass an extra
29048         arg to see if random access is possible. Activate the pads as
29049         PULL_RANGE if possible.
29050
29051         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
29052
29053         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
29054         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
29055         to PROP_....
29056
29057 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29058
29059         * docs/faq/using.xml:
29060           Add note on gstreamer-properties (#154996).
29061
29062 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29063
29064         * docs/random/bbb/optional-properties:
29065           Some analysis on optional properties.
29066
29067 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29068
29069         * docs/gst/tmpl/gstelementfactory.sgml:
29070         * gst/gstelement.h:
29071         * gst/gstelementfactory.c: (gst_element_factory_init),
29072         (gst_element_factory_cleanup), (gst_element_register),
29073         (__gst_element_factory_add_static_pad_template),
29074         (gst_element_factory_get_static_pad_templates),
29075         (gst_element_factory_can_src_caps),
29076         (gst_element_factory_can_sink_caps):
29077         * gst/registries/Makefile.am:
29078         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
29079         (gst_xml_registry_class_init), (gst_xml_registry_init),
29080         (gst_xml_registry_new), (gst_xml_registry_set_property),
29081         (gst_xml_registry_get_property), (get_time), (make_dir),
29082         (gst_xml_registry_get_perms_func),
29083         (plugin_times_older_than_recurse), (plugin_times_older_than),
29084         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
29085         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
29086         (add_to_char_array), (read_string), (read_uint), (read_enum),
29087         (load_pad_template), (load_feature), (load_plugin), (load_paths),
29088         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
29089         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
29090         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
29091         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
29092         (gst_xml_registry_rebuild):
29093         * gst/registries/gstlibxmlregistry.h:
29094         * tools/gst-compprep.c: (main):
29095         * tools/gst-inspect.c: (print_pad_templates_info):
29096         * tools/gst-xmlinspect.c: (print_element_info):
29097           Use libxml2 for registry parsing, use staticpadtemplates in
29098           elementfactories. Makes gst_init() +/- 10x faster.
29099
29100 2005-04-12  Wim Taymans  <wim@fluendo.com>
29101
29102         * gst/base/Makefile.am:
29103         * gst/base/gstbasesink.c: (gst_basesink_base_init),
29104         (gst_basesink_pad_getcaps), (gst_basesink_init),
29105         (gst_basesink_event), (gst_basesink_change_state):
29106         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
29107         (gst_basesrc_init), (gst_basesrc_query),
29108         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
29109         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
29110         (gst_basesrc_check_get_range), (gst_basesrc_loop),
29111         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
29112         (gst_basesrc_stop), (gst_basesrc_activate),
29113         (gst_basesrc_change_state):
29114         * gst/base/gsttypefindhelper.c: (helper_find_peek),
29115         (helper_find_suggest), (gst_type_find_helper):
29116         * gst/base/gsttypefindhelper.h:
29117         * gst/elements/Makefile.am:
29118         * gst/elements/gstelements.c:
29119         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
29120         (gst_fakesink_get_times), (gst_fakesink_event),
29121         (gst_fakesink_preroll), (gst_fakesink_render):
29122         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29123         (gst_fakesrc_init), (gst_fakesrc_event_handler),
29124         (gst_fakesrc_get_property), (gst_fakesrc_create),
29125         (gst_fakesrc_start), (gst_fakesrc_stop):
29126         * gst/elements/gstfakesrc.h:
29127         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
29128         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
29129         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
29130         (gst_filesrc_create_read), (gst_filesrc_create),
29131         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
29132         (gst_filesrc_start):
29133         * gst/elements/gsttypefindelement.c:
29134         (gst_type_find_element_have_type), (gst_type_find_element_init),
29135         (start_typefinding), (stop_typefinding), (push_buffer_store),
29136         (gst_type_find_element_handle_event),
29137         (gst_type_find_element_chain),
29138         (gst_type_find_element_checkgetrange),
29139         (gst_type_find_element_getrange), (do_typefind),
29140         (gst_type_find_element_activate),
29141         (gst_type_find_element_change_state):
29142         * gst/elements/gsttypefindelement.h:
29143         * gst/gstpipeline.c: (pipeline_bus_handler):
29144         Added typefind helper.
29145         Small preroll fix in the base sink.
29146         Disable typefind code in basesrc.
29147         Crude port of typefindelement.
29148         Fakesrc cleanups.
29149
29150
29151 2005-04-11  Wim Taymans  <wim@fluendo.com>
29152
29153         * check/gst/gstbus.c: (gstbus_suite):
29154         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
29155         * check/gstcheck.h:
29156           Fix up the timeout so that the test does not fail.
29157
29158 2005-04-06  Wim Taymans  <wim@fluendo.com>
29159
29160         * gst/base/README:
29161         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
29162         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
29163         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
29164         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
29165         (gst_basesrc_check_get_range), (gst_basesrc_loop),
29166         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
29167         (gst_basesrc_stop), (gst_basesrc_activate),
29168         (gst_basesrc_change_state), (basesrc_find_peek),
29169         (basesrc_find_suggest), (gst_basesrc_type_find):
29170         * gst/base/gstbasesrc.h:
29171         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
29172         (gst_filesrc_class_init), (gst_filesrc_init),
29173         (gst_filesrc_finalize), (gst_filesrc_set_location),
29174         (gst_filesrc_set_property), (gst_filesrc_get_property),
29175         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
29176         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
29177         (gst_filesrc_create_read), (gst_filesrc_create),
29178         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
29179         * gst/elements/gstfilesrc.h:
29180         * gst/gstelement.c: (gst_element_get_state_func),
29181         (gst_element_lost_state), (gst_element_pads_activate):
29182         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29183         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
29184         (gst_pad_pull_range):
29185         * gst/gstpad.h:
29186         More work on the generic source base class, implement seeking,
29187         query.
29188         Make filesrc extend the base source class.
29189         Added gst_pad_set_checkgetrange_function to GstPad.
29190
29191 2005-04-06  Andy Wingo  <wingo@pobox.com>
29192
29193         * pkgconfig/gstreamer-base.pc.in:
29194         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
29195
29196         * pkgconfig/Makefile.am:
29197         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
29198
29199 2005-04-04  Wim Taymans  <wim@fluendo.com>
29200
29201         * gst/base/Makefile.am:
29202         * gst/base/README:
29203         * gst/base/gstbasesink.c: (gst_basesink_base_init),
29204         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
29205         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
29206         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
29207         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
29208         (gst_basesrc_base_init), (gst_basesrc_class_init),
29209         (gst_basesrc_init), (gst_basesrc_get_formats),
29210         (gst_basesrc_get_query_types), (gst_basesrc_query),
29211         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
29212         (gst_basesrc_set_property), (gst_basesrc_get_property),
29213         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
29214         (gst_basesrc_loop), (gst_basesrc_activate),
29215         (gst_basesrc_change_state):
29216         * gst/base/gstbasesrc.h:
29217         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
29218         (gst_fakesrc_class_init), (gst_fakesrc_init),
29219         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
29220         (gst_fakesrc_get_property), (gst_fakesrc_create):
29221         * gst/elements/gstfakesrc.h:
29222         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
29223         (gst_filesrc_open_file), (gst_filesrc_loop),
29224         (gst_filesrc_activate), (filesrc_find_peek),
29225         (gst_filesrc_type_find):
29226         Made base source class, make fakesrc extend it.
29227         Add comments to basesink class.
29228         Some filesrc cleanup.
29229
29230 2005-03-31  David Schleef  <ds@schleef.org>
29231
29232         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
29233         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
29234         expected to link against libgstreamer.
29235         * gst/base/Makefile.am: link against libgstreamer
29236         * gst/elements/Makefile.am: same
29237
29238 2005-03-31  Andy Wingo  <wingo@pobox.com>
29239
29240         * tests/instantiate/Makefile.am:
29241         * tests/instantiate/caps.c: Add test to test speed of caps copy
29242         and free.
29243
29244         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
29245         GMemChunk to be fair.
29246
29247         * gst/gsttrashstack.h: Remove warning about using the fallback
29248         trash stack implementation, it's still faster than malloc.
29249
29250 2005-03-30  Andy Wingo  <wingo@pobox.com>
29251
29252         * tests/complexity.c: Add a copyright.
29253
29254 2005-03-31  Wim Taymans  <wim@fluendo.com>
29255
29256         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
29257         (gst_base_transform_class_init), (gst_base_transform_init),
29258         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
29259         (gst_base_transform_get_property),
29260         (gst_base_transform_sink_activate),
29261         (gst_base_transform_src_activate),
29262         (gst_base_transform_change_state):
29263         * gst/base/gstbasetransform.h:
29264         * gst/elements/gstidentity.c: (gst_identity_class_init),
29265         (gst_identity_event), (gst_identity_check_perfect),
29266         (gst_identity_transform), (gst_identity_start),
29267         (gst_identity_stop):
29268         Added start/stop methods to transform base class so subclasses 
29269         don't need to deal with state changes even.
29270
29271 2005-03-31  Wim Taymans  <wim@fluendo.com>
29272
29273         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
29274         (gst_event_new_discontinuous), (gst_event_discont_get_value):
29275         * gst/gstevent.h:
29276         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29277         (gst_pad_pull_range):
29278         Added rate to the discont event to prepare for variable speed
29279         and reverse playback.
29280
29281 2005-03-29  David Schleef  <ds@schleef.org>
29282
29283         * configure.ac:
29284         * testsuite/trigger/Makefile.am:
29285         * testsuite/trigger/trigger.c: A little example program to show
29286         how trigger-based elements can work.
29287
29288 2005-03-29  Wim Taymans  <wim@fluendo.com>
29289
29290         * gst/base/Makefile.am:
29291         * gst/base/README:
29292         * gst/base/gstbasesink.c: (gst_basesink_get_type),
29293         (gst_basesink_base_init), (gst_basesink_class_init),
29294         (gst_basesink_pad_getcaps), (gst_basesink_init),
29295         (gst_basesink_activate), (gst_basesink_change_state):
29296         * gst/base/gstbasesink.h:
29297         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
29298         (gst_base_transform_base_init), (gst_base_transform_finalize),
29299         (gst_base_transform_class_init), (gst_base_transform_init),
29300         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
29301         (gst_base_transform_event), (gst_base_transform_getrange),
29302         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
29303         (gst_base_transform_set_property),
29304         (gst_base_transform_get_property),
29305         (gst_base_transform_sink_activate),
29306         (gst_base_transform_src_activate),
29307         (gst_base_transform_change_state):
29308         * gst/base/gstbasetransform.h:
29309         * gst/elements/gstidentity.c: (gst_identity_finalize),
29310         (gst_identity_class_init), (gst_identity_init),
29311         (gst_identity_event), (gst_identity_check_perfect),
29312         (gst_identity_transform), (gst_identity_set_property),
29313         (gst_identity_get_property), (gst_identity_change_state):
29314         * gst/elements/gstidentity.h:
29315         * gst/gstelement.c: (gst_element_get_state_func),
29316         (gst_element_lost_state), (gst_element_pads_activate):
29317         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
29318         (gst_pad_check_pull_range), (gst_pad_pull_range):
29319         * gst/gstpad.h:
29320         Simplify pad activation.
29321         Added function to check if pull_range can be performed.
29322         Error out when pulling inactive or flushing pads.
29323         Removed const from refcounted types as it does not make sense.
29324         Simplify pad templates in basesink
29325         Added base class for simple 1-to-1 transforms.
29326         Make identity subclass the base transform.
29327
29328 2005-03-29  Andy Wingo  <wingo@pobox.com>
29329
29330         * docs/libs/gstreamer-libs-overrides.txt: 
29331         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
29332         really don't understand what's going on, but like whatever. I want
29333         green buildbot!
29334
29335         * docs/gst/Makefile.am:
29336         * docs/libs/Makefile.am: Dist the overrides files.
29337
29338         * check/Makefile.am (clean-local): Remove .libs directories.
29339
29340         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
29341         elements to EXTRA_DIST, so po/ files are happy.
29342
29343         * po/POTFILES.in: Er, remove it here.
29344
29345         * po/POTFILES: Remove gstspider.c.
29346
29347         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
29348
29349         * docs/libs/gstreamer-libs-docs.sgml: 
29350         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
29351         bytestream.
29352
29353         * tests/complexity.c (main): Set the length of the preroll queue
29354         on the sinks to prevent a lockup.
29355
29356         * libs/gst/dataprotocol/Makefile.am: 
29357         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
29358         the same as the one in check/gst-libs/gdp.c.
29359
29360         * po/, docs/gst/: Commit automatic changes to docs and po files.
29361
29362         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
29363         the versioned libgstbase.
29364
29365         * check/Makefile.am: Depend on an unversioned gst-register, seems
29366         to make autoconf happier.
29367
29368         * gst/base/Makefile.am: Make libgstbase a versioned lib.
29369
29370 2005-03-28  Wim Taymans  <wim@fluendo.com>
29371
29372         * configure.ac:
29373         * docs/design/part-gstelement.txt:
29374         * docs/design/part-negotiation.txt:
29375         * docs/design/part-preroll.txt:
29376         * docs/design/part-scheduling.txt:
29377         * docs/design/part-states.txt:
29378         * gst/Makefile.am:
29379         * gst/base/Makefile.am:
29380         * gst/base/README:
29381         * gst/base/gstbasesink.c: (gst_basesink_get_template),
29382         (gst_basesink_base_init), (gst_basesink_class_init),
29383         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
29384         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
29385         (gst_basesink_set_pad_functions),
29386         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
29387         (gst_basesink_set_property), (gst_basesink_get_property),
29388         (gst_base_sink_get_template), (gst_base_sink_get_caps),
29389         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
29390         (gst_basesink_preroll_queue_push),
29391         (gst_basesink_preroll_queue_empty),
29392         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
29393         (gst_basesink_event), (gst_basesink_get_times),
29394         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
29395         (gst_basesink_chain_unlocked), (gst_basesink_chain),
29396         (gst_basesink_loop), (gst_basesink_activate),
29397         (gst_basesink_change_state):
29398         * gst/base/gstbasesink.h:
29399         * gst/elements/Makefile.am:
29400         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
29401         (gst_fakesink_class_init), (gst_fakesink_init),
29402         (gst_fakesink_set_property), (gst_fakesink_get_property),
29403         (gst_fakesink_get_times), (gst_fakesink_event),
29404         (gst_fakesink_preroll), (gst_fakesink_render),
29405         (gst_fakesink_change_state):
29406         * gst/elements/gstfakesink.h:
29407         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
29408         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
29409         * gst/gstelement.c: (gst_element_add_pad),
29410         (gst_element_get_state_func), (gst_element_abort_state),
29411         (gst_element_commit_state), (gst_element_lost_state),
29412         (gst_element_set_state), (gst_element_pads_activate):
29413         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
29414         * gst/gstpipeline.c: (gst_pipeline_send_event),
29415         (gst_pipeline_change_state):
29416         Added state change code.
29417         Added/updated docs.
29418         Added sink base class, make fakesink extend the base class.
29419         Small cleanups in GstPipeline.
29420
29421 2005-03-26  David Schleef  <ds@schleef.org>
29422
29423         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
29424         is broken and should be implemented in a different library.
29425         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
29426         * gst/gst.h: remove gstcpu.h
29427         * gst/gstcpu.c: remove
29428         * gst/gstcpu.h: remove
29429         * gst/Makefile.am.future: Remove this file.  It's ancient.
29430
29431 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29432
29433         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
29434         (gst_bin_send_event):
29435           Add default event/set_manager handlers. The set_manager handler
29436           takes care that the manager is distributed over kids that were
29437           already in the bin before the manager was set. The event handler
29438           is a utility virtual function that sends the event over all sinks,
29439           so that gst_element_send_event (bin, event); has the expected
29440           behaviour.
29441         * gst/gstpad.c: (gst_pad_event_default):
29442           Re-install default event handling for discontinuities, so that
29443           seeking works without requiring hacks in applications or extra
29444           code in sinks.
29445         * gst/gstpipeline.c: (gst_pipeline_class_init),
29446         (gst_pipeline_send_event):
29447           Half hack, half utility: set a pipeline to PAUSED for seek events,
29448           since that is the only way we can guarantee a/v sync. Means that
29449           you can do gst_element_seek (pipeline, method, pos); on a pipeline
29450           and it "just works".
29451
29452 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29453
29454         * gst/gstpipeline.c: (gst_pipeline_use_clock):
29455           Lock/unlock mismatch.
29456
29457 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
29458
29459         * docs/faq/gst-uninstalled:
29460           add gst-plugins-base
29461         * docs/gst/Makefile.am:
29462           don't error out until docs are fixed
29463         * docs/gst/gstreamer.types:
29464           remove thread
29465
29466 2005-03-22  Wim Taymans  <wim@fluendo.com>
29467
29468         * check/Makefile.am:
29469         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
29470         * gst/gststructure.c: (gst_structure_set_valist),
29471         (gst_structure_copy_conditional):
29472         Activated more tests.
29473         Added message test.
29474         Added G_TYPE_POINTER to GstStructure.
29475         
29476
29477 2005-03-22  Wim Taymans  <wim@fluendo.com>
29478
29479         * docs/design/part-TODO.txt:
29480         * docs/design/part-events.txt:
29481         * docs/design/part-gstbin.txt:
29482         * docs/design/part-gstbus.txt:
29483         * docs/design/part-gstpipeline.txt:
29484         * docs/design/part-messages.txt:
29485         * gst/gstbus.c:
29486         * gst/gstmessage.c:
29487         Docs updates
29488
29489 2005-03-21  Wim Taymans  <wim@fluendo.com>
29490
29491         * gst/gstbus.c: (gst_bus_post):
29492         Fix copy-and-paste error.
29493
29494 2005-03-21  Wim Taymans  <wim@fluendo.com>
29495
29496         * check/Makefile.am:
29497         * gst/Makefile.am:
29498         * gst/elements/Makefile.am:
29499         * gst/elements/gstelements.c:
29500         * gst/elements/gstfakesink.c: (gst_fakesink_init),
29501         (gst_fakesink_event), (gst_fakesink_chain):
29502         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29503         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
29504         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
29505         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
29506         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
29507         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
29508         (gst_fakesrc_loop), (gst_fakesrc_activate),
29509         (gst_fakesrc_change_state):
29510         * gst/elements/gstfakesrc.h:
29511         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
29512         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
29513         (gst_filesrc_open_file), (gst_filesrc_loop),
29514         (gst_filesrc_activate), (gst_filesrc_change_state),
29515         (filesrc_find_peek), (filesrc_find_suggest),
29516         (gst_filesrc_type_find):
29517         * gst/elements/gstidentity.c: (gst_identity_finalize),
29518         (gst_identity_class_init), (gst_identity_init),
29519         (gst_identity_proxy_getcaps), (identity_queue_push),
29520         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
29521         (gst_identity_getrange), (gst_identity_chain),
29522         (gst_identity_sink_loop), (gst_identity_src_loop),
29523         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
29524         (gst_identity_set_property), (gst_identity_get_property),
29525         (gst_identity_change_state):
29526         * gst/elements/gstidentity.h:
29527         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
29528         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
29529         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
29530         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
29531         (gst_tee_sink_activate):
29532         * gst/elements/gsttee.h:
29533         * gst/gst.c: (gst_register_core_elements), (init_post):
29534         * gst/gst.h:
29535         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
29536         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
29537         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
29538         (gst_bin_change_state):
29539         * gst/gstbin.h:
29540         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
29541         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
29542         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
29543         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
29544         (gst_bus_set_sync_handler), (gst_bus_create_watch),
29545         (bus_watch_callback), (bus_watch_destroy),
29546         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
29547         (poll_timeout), (gst_bus_poll):
29548         * gst/gstbus.h:
29549         * gst/gstcaps.h:
29550         * gst/gstdata.h:
29551         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
29552         (gst_element_post_message), (gst_element_message_full),
29553         (gst_element_get_state_func), (gst_element_get_state),
29554         (gst_element_abort_state), (gst_element_commit_state),
29555         (gst_element_lost_state), (gst_element_set_state),
29556         (gst_element_pads_activate), (gst_element_change_state),
29557         (gst_element_dispose), (gst_element_set_manager_func),
29558         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
29559         (gst_element_set_manager), (gst_element_get_manager),
29560         (gst_element_set_bus), (gst_element_get_bus),
29561         (gst_element_set_scheduler), (gst_element_get_scheduler):
29562         * gst/gstelement.h:
29563         * gst/gstevent.c: (gst_event_new_segment_seek),
29564         (gst_event_new_flush):
29565         * gst/gstevent.h:
29566         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
29567         (_gst_message_free), (gst_message_get_type), (gst_message_new),
29568         (gst_message_new_eos), (gst_message_new_error),
29569         (gst_message_new_warning), (gst_message_new_tag),
29570         (gst_message_new_state_changed), (gst_message_new_application),
29571         (gst_message_get_structure), (gst_message_parse_tag),
29572         (gst_message_parse_state_changed), (gst_message_parse_error),
29573         (gst_message_parse_warning):
29574         * gst/gstmessage.h:
29575         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
29576         (gst_real_pad_set_property), (gst_pad_set_active),
29577         (gst_pad_is_active), (gst_pad_set_blocked_async),
29578         (gst_pad_set_blocked), (gst_pad_is_blocked),
29579         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
29580         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
29581         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
29582         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
29583         (gst_pad_link_filtered), (gst_pad_relink_filtered),
29584         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
29585         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
29586         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
29587         (gst_pad_set_caps), (gst_pad_configure_sink),
29588         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
29589         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
29590         (gst_real_pad_dispose), (gst_real_pad_finalize),
29591         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
29592         (gst_pad_event_default_dispatch), (gst_pad_event_default),
29593         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
29594         * gst/gstpad.h:
29595         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
29596         (pipeline_bus_handler), (gst_pipeline_change_state),
29597         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
29598         * gst/gstpipeline.h:
29599         * gst/gstprobe.h:
29600         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
29601         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
29602         (gst_queue_link_src), (gst_queue_bufferalloc),
29603         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
29604         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
29605         (gst_queue_loop), (gst_queue_handle_src_event),
29606         (gst_queue_handle_src_query), (gst_queue_src_activate),
29607         (gst_queue_change_state):
29608         * gst/gstqueue.h:
29609         * gst/gstscheduler.c: (gst_scheduler_init),
29610         (gst_scheduler_dispose), (gst_scheduler_create_task),
29611         (gst_scheduler_factory_create):
29612         * gst/gstscheduler.h:
29613         * gst/gststructure.c: (gst_structure_get_type),
29614         (gst_structure_copy_conditional):
29615         * gst/gststructure.h:
29616         * gst/gsttaginterface.h:
29617         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
29618         (gst_task_init), (gst_task_dispose), (gst_task_create),
29619         (gst_task_get_state), (gst_task_start), (gst_task_stop),
29620         (gst_task_pause):
29621         * gst/gsttask.h:
29622         * gst/gstthread.c:
29623         * gst/gstthread.h:
29624         * gst/gsttypes.h:
29625         * gst/schedulers/Makefile.am:
29626         * gst/schedulers/cothreads_compat.h:
29627         * gst/schedulers/entryscheduler.c:
29628         * gst/schedulers/faircothreads.c:
29629         * gst/schedulers/faircothreads.h:
29630         * gst/schedulers/fairscheduler.c:
29631         * gst/schedulers/gstbasicscheduler.c:
29632         * gst/schedulers/gstoptimalscheduler.c:
29633         * gst/schedulers/gthread-cothreads.h:
29634         * gst/schedulers/threadscheduler.c:
29635         (gst_thread_scheduler_task_get_type),
29636         (gst_thread_scheduler_task_class_init),
29637         (gst_thread_scheduler_task_init),
29638         (gst_thread_scheduler_task_start),
29639         (gst_thread_scheduler_task_stop),
29640         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
29641         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
29642         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
29643         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
29644         (plugin_init):
29645         * libs/gst/Makefile.am:
29646         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
29647         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
29648         (gst_file_pad_parent_set):
29649         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
29650         (gst_dp_event_from_packet):
29651         * tests/complexity.c: (main):
29652         * tests/mass_elements.c: (main):
29653         * testsuite/states/locked.c: (message_received), (main):
29654         * testsuite/states/parent.c: (main):
29655         * tools/gst-inspect.c: (print_element_flag_info),
29656         (print_implementation_info), (print_pad_info):
29657         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
29658         (main):
29659         * tools/gst-md5sum.c: (event_loop), (main):
29660         * tools/gst-typefind.c: (main):
29661         * tools/gst-xmlinspect.c: (print_element_info):
29662         Next big merge.
29663         Added GstBus for mainloop integration.
29664         Added GstMessage for sending notifications on the bus.
29665         Added GstTask as an abstraction for pipeline entry points.
29666         Removed GstThread.
29667         Removed Schedulers.
29668         Simplified GstQueue for multithreaded core.
29669         Made _link threadsafe, removed old capsnego.
29670         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
29671         Added pad blocking functions.
29672         Reworked scheduling functions in GstPad to prepare for
29673         scheduling updates soon.
29674         Moved events out of data stream.
29675         Simplified GstEvent types.
29676         Added return values to push/pull.
29677         Removed clocking from GstElement.
29678         Added prototypes for state change function for next merge.
29679         Removed iterate from bins and state change management.
29680         Fixed some elements, disabled others for now.
29681         Fixed -inspect and -launch.
29682         Added check for GstBus.
29683
29684 2005-03-10  Wim Taymans  <wim@fluendo.com>
29685
29686         * docs/design/part-MT-refcounting.txt:
29687         * docs/design/part-clocks.txt:
29688         * docs/design/part-gstelement.txt:
29689         * docs/design/part-gstobject.txt:
29690         * docs/design/part-standards.txt:
29691         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
29692         (gst_bin_remove_func), (gst_bin_remove):
29693         * gst/gstbin.h:
29694         * gst/gstbuffer.c:
29695         * gst/gstcaps.h:
29696         * testsuite/clock/clock1.c: (main):
29697         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
29698         (main):
29699         * testsuite/dlopen/loadgst.c: (do_test):
29700         * testsuite/refcounting/bin.c: (add_remove_test1),
29701         (add_remove_test2), (main):
29702         * testsuite/refcounting/element.c: (main):
29703         * testsuite/refcounting/element_pad.c: (main):
29704         * testsuite/refcounting/pad.c: (main):
29705         * tools/gst-launch.c: (sigint_handler_sighandler):
29706         * tools/gst-typefind.c: (main):
29707         Doc updates.
29708         Added doc about clock.
29709         removed gst_bin_iterate_recurse_up(), marked methods
29710         for removal.
29711         Fix more testsuites.
29712
29713 2005-03-09  Wim Taymans  <wim@fluendo.com>
29714
29715         * gst/gstpad.c: (gst_pad_get_direction),
29716         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
29717         (gst_pad_collect_valist):
29718         * testsuite/bins/interface.c: (main):
29719         * testsuite/caps/audioscale.c: (test_caps):
29720         * testsuite/caps/caps.c: (test1), (test2), (test3):
29721         * testsuite/caps/deserialize.c: (main):
29722         * testsuite/caps/enumcaps.c: (main):
29723         * testsuite/caps/filtercaps.c: (main):
29724         * testsuite/caps/intersect2.c: (main):
29725         * testsuite/caps/random.c: (main):
29726         * testsuite/caps/renegotiate.c: (my_fixate), (main):
29727         * testsuite/caps/sets.c: (check_caps):
29728         * testsuite/caps/simplify.c: (check_caps), (main):
29729         * testsuite/caps/subtract.c: (check_caps):
29730         Fix _pad_get_direction wrt ghostpads.
29731         Fix caps testsuite.
29732
29733 2005-03-09  Wim Taymans  <wim@fluendo.com>
29734
29735         * check/Makefile.am:
29736         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
29737         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
29738         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
29739         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
29740         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
29741         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
29742         (gst_bin_remove), (gst_bin_iterate_recurse_up),
29743         (bin_element_is_sink), (gst_bin_iterate_sinks),
29744         (gst_bin_iterate_all_by_interface):
29745         * gst/gstbin.h:
29746         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
29747         (gst_element_change_state), (gst_element_dispose),
29748         (gst_element_finalize), (gst_element_set_loop_function):
29749         * gst/gstelement.h:
29750         * gst/gstiterator.c: (find_custom_fold_func):
29751         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
29752         (gst_pad_collectv), (gst_pad_collect_valist),
29753         (gst_pad_template_new):
29754         * gst/gstpipeline.c: (gst_pipeline_class_init),
29755         (gst_pipeline_dispose), (gst_pipeline_set_property),
29756         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
29757         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
29758         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
29759         * gst/gstutils.h:
29760         * gst/schedulers/entryscheduler.c:
29761         * gst/schedulers/gstbasicscheduler.c:
29762         (gst_basic_scheduler_cothreaded_chain),
29763         (gst_basic_scheduler_chain_add_element):
29764         * testsuite/bins/interface.c: (main):
29765         Added GstBin test.
29766         Added GstSystemClock test.
29767         Implemented clock distribution code in GstBin.
29768         Implemented iterate sinks method for future use.
29769         Rearranged gstelement.h
29770         Fix GstIterator comparison bug.
29771         Moved some code to GstPipeline, mostly clocking related.
29772
29773 2005-03-09  Wim Taymans  <wim@fluendo.com>
29774
29775         * configure.ac:
29776         * gst/gst_private.h:
29777         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
29778         (gst_bin_remove_func), (gst_bin_remove),
29779         (gst_bin_get_by_name_recurse_up):
29780         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
29781         (gst_clock_id_compare_func), (gst_clock_id_wait),
29782         (gst_clock_id_wait_async), (gst_clock_init),
29783         (gst_clock_adjust_unlocked), (gst_clock_get_time):
29784         * gst/gstelement.h:
29785         * gst/gstinfo.c: (_gst_debug_init):
29786         * gst/gstobject.h:
29787         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
29788         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
29789         * gst/gstpad.h:
29790         Bump version number, we're now 0.9.0
29791         Add future debugging category.
29792         Fix NULL _unref() in _get_by_name_recurse_up
29793         Rearrange gstpad.h.
29794         Update some docs.
29795
29796 2005-03-08  Wim Taymans  <wim@fluendo.com>
29797
29798         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
29799         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
29800         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
29801         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
29802         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
29803         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
29804         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
29805         * gst/elements/gstidentity.c: (gst_identity_class_init):
29806         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
29807         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
29808         * gst/elements/gstshaper.c: (gst_shaper_class_init):
29809         * gst/elements/gststatistics.c: (gst_statistics_class_init):
29810         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
29811         (gst_tee_link):
29812         * gst/gstelement.c: (gst_element_class_init),
29813         (gst_element_base_class_init), (gst_element_init),
29814         (gst_element_get_random_pad), (gst_element_wait_state_change),
29815         (gst_element_change_state), (gst_element_dispose),
29816         (gst_element_finalize), (gst_element_set_loop_function):
29817         * gst/gstelement.h:
29818         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
29819         * gst/gstthread.c: (gst_thread_class_init),
29820         (gst_thread_release_children_locks), (gst_thread_change_state):
29821         * gst/schedulers/gstbasicscheduler.c:
29822         (gst_basic_scheduler_loopfunc_wrapper),
29823         (gst_basic_scheduler_chain_wrapper),
29824         (gst_basic_scheduler_src_wrapper),
29825         (gst_basic_scheduler_remove_element):
29826         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
29827         Remove threadsafe properties. Fix elements because GObject
29828         complains when installing a property before declaring a
29829         set/get_property handler.
29830         Rearrange gstelement.h file, use STATE macros for state locks.
29831         Free mutexes in the finalize method instead of dispose.
29832
29833 2005-03-08  Wim Taymans  <wim@fluendo.com>
29834
29835         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
29836         * gst/gstthread.c: (gst_thread_release_children_locks):
29837         Added parentage check.
29838         Fix build og GstThread again.
29839
29840 2005-03-08  Wim Taymans  <wim@fluendo.com>
29841
29842         * docs/design/part-MT-refcounting.txt:
29843         * docs/design/part-conventions.txt:
29844         * docs/design/part-gstobject.txt:
29845         * docs/design/part-relations.txt:
29846         * docs/design/part-standards.txt:
29847         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
29848         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
29849         (gst_bin_get_by_name), (gst_bin_get_by_interface),
29850         (gst_bin_iterate_all_by_interface):
29851         * gst/gstbuffer.h:
29852         * gst/gstclock.h:
29853         * gst/gstelement.c: (gst_element_class_init),
29854         (gst_element_change_state), (gst_element_set_loop_function):
29855         * gst/gstelement.h:
29856         * gst/gstiterator.c:
29857         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
29858         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
29859         (gst_object_dispatch_properties_changed), (gst_object_set_name),
29860         (gst_object_set_parent), (gst_object_unparent),
29861         (gst_object_check_uniqueness):
29862         * gst/gstobject.h:
29863         Docs updates, clean up some headers.
29864
29865 2005-03-07  Wim Taymans  <wim@fluendo.com>
29866
29867         * check/.cvsignore:
29868         * check/Makefile.am:
29869         * check/gst-libs/.cvsignore:
29870         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
29871         * check/gst/.cvsignore:
29872         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
29873         (START_TEST), (gstbus_suite), (main):
29874         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
29875         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
29876         (gst_data_suite), (main):
29877         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
29878         (add_fold_func), (gstiterator_suite), (main):
29879         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
29880         (thread_name_object), (thread_name_object_default),
29881         (gst_object_name_compare), (gst_object_suite), (main):
29882         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
29883         (gst_pad_suite), (main):
29884         * check/gstcheck.c: (gst_check_log_message_func),
29885         (gst_check_log_critical_func), (gst_check_init):
29886         * check/gstcheck.h:
29887         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
29888         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
29889         Added checks.
29890
29891 2005-03-07  Wim Taymans  <wim@fluendo.com>
29892
29893         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
29894         (gst_list_iterator_next), (gst_list_iterator_resync),
29895         (gst_list_iterator_free), (gst_iterator_new_list),
29896         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
29897         (gst_iterator_free), (gst_iterator_push), (filter_next),
29898         (filter_resync), (filter_uninit), (filter_free),
29899         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
29900         (gst_iterator_foreach), (find_custom_fold_func),
29901         (gst_iterator_find_custom):
29902         * gst/gstiterator.h:
29903         Added missing files.
29904
29905 2005-03-07  Wim Taymans  <wim@fluendo.com>
29906
29907         * Makefile.am:
29908         * configure.ac:
29909         * docs/design/part-MT-refcounting.txt:
29910         * docs/design/part-conventions.txt:
29911         * docs/design/part-gstobject.txt:
29912         * docs/design/part-relations.txt:
29913         * examples/mixer/mixer.c: (main):
29914         * examples/thread/thread.c: (eos), (main):
29915         * gst/Makefile.am:
29916         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
29917         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
29918         (gst_spider_plug_from_srcpad):
29919         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
29920         (gst_spider_identity_change_state),
29921         (gst_spider_identity_sink_loop_type_finding):
29922         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
29923         * gst/elements/gstidentity.c: (gst_identity_init):
29924         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
29925         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
29926         * gst/elements/gsttypefindelement.c: (free_entry):
29927         * gst/gst.c:
29928         * gst/gst.h:
29929         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
29930         (gst_bin_set_clock_func), (gst_bin_auto_clock),
29931         (gst_bin_set_index), (gst_bin_set_element_sched),
29932         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
29933         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
29934         (gst_bin_iterate_elements), (iterate_child_recurse),
29935         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
29936         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
29937         (compare_interface), (gst_bin_get_by_interface),
29938         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
29939         * gst/gstbin.h:
29940         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
29941         (gst_buffer_default_free), (gst_buffer_default_copy),
29942         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
29943         (gst_buffer_create_sub):
29944         * gst/gstbuffer.h:
29945         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
29946         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
29947         (gst_caps_unref), (gst_static_caps_get),
29948         (gst_caps_remove_and_get_structure), (gst_caps_append),
29949         (gst_caps_append_structure), (gst_caps_remove_structure),
29950         (gst_caps_copy_nth), (gst_caps_set_simple),
29951         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
29952         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
29953         (gst_caps_structure_intersect_field), (gst_caps_intersect),
29954         (gst_caps_structure_subtract_field), (gst_caps_subtract),
29955         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
29956         (gst_caps_structure_figure_out_union),
29957         (gst_caps_switch_structures), (gst_caps_do_simplify),
29958         (gst_caps_replace), (gst_caps_from_string),
29959         (gst_caps_copy_conditional):
29960         * gst/gstcaps.h:
29961         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
29962         (_gst_clock_id_free), (gst_clock_id_unref),
29963         (gst_clock_id_compare_func), (gst_clock_id_wait),
29964         (gst_clock_id_wait_async), (gst_clock_class_init),
29965         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
29966         (gst_clock_get_time), (gst_clock_set_time_adjust),
29967         (gst_clock_set_property), (gst_clock_get_property):
29968         * gst/gstclock.h:
29969         * gst/gstcompat.h:
29970         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
29971         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
29972         * gst/gstdata.h:
29973         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
29974         (gst_element_requires_clock), (gst_element_provides_clock),
29975         (gst_element_set_clock), (gst_element_clock_wait),
29976         (gst_element_wait), (gst_element_set_time_delay),
29977         (gst_element_is_indexable), (gst_element_add_pad),
29978         (gst_element_add_ghost_pad), (gst_element_remove_pad),
29979         (pad_compare_name), (gst_element_get_static_pad),
29980         (gst_element_request_pad), (gst_element_get_request_pad),
29981         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
29982         (gst_element_class_get_pad_template_list),
29983         (gst_element_class_get_pad_template), (gst_element_error_func),
29984         (gst_element_get_random_pad), (gst_element_get_event_masks),
29985         (gst_element_send_event), (gst_element_seek),
29986         (gst_element_get_query_types), (gst_element_query),
29987         (gst_element_get_formats), (gst_element_convert),
29988         (gst_element_is_locked_state), (gst_element_set_locked_state),
29989         (gst_element_sync_state_with_parent), (gst_element_change_state),
29990         (gst_element_finalize), (gst_element_yield),
29991         (gst_element_interrupt), (gst_element_set_scheduler),
29992         (gst_element_get_scheduler), (gst_element_set_loop_function):
29993         * gst/gstelement.h:
29994         * gst/gstevent.h:
29995         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
29996         (gst_format_get_by_nick), (gst_format_get_details),
29997         (gst_format_iterate_definitions):
29998         * gst/gstformat.h:
29999         * gst/gstindex.c: (gst_index_gtype_resolver):
30000         * gst/gstinfo.c:
30001         * gst/gstinfo.h:
30002         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
30003         (gst_mem_chunk_free):
30004         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
30005         (gst_object_ref), (gst_object_unref), (gst_object_sink),
30006         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
30007         (gst_object_dispatch_properties_changed),
30008         (gst_object_set_name_default), (gst_object_set_name),
30009         (gst_object_get_name), (gst_object_set_name_prefix),
30010         (gst_object_get_name_prefix), (gst_object_set_parent),
30011         (gst_object_get_parent), (gst_object_unparent),
30012         (gst_object_check_uniqueness), (gst_object_save_thyself),
30013         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
30014         (gst_object_set_property), (gst_object_get_property),
30015         (gst_object_get_path_string):
30016         * gst/gstobject.h:
30017         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
30018         (gst_real_pad_init), (gst_real_pad_get_property),
30019         (gst_pad_custom_new), (gst_pad_get_direction),
30020         (gst_pad_set_active), (gst_pad_is_active),
30021         (gst_pad_set_event_function), (gst_pad_is_linked),
30022         (gst_pad_link_free), (gst_pad_link_intersect),
30023         (gst_pad_link_fixate), (gst_pad_set_caps),
30024         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
30025         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
30026         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
30027         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
30028         (gst_pad_get_caps), (gst_pad_peer_get_caps),
30029         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
30030         (gst_pad_realize), (gst_pad_get_allowed_caps),
30031         (gst_real_pad_dispose), (gst_real_pad_finalize),
30032         (gst_pad_collectv), (gst_pad_collect_valist),
30033         (gst_pad_template_dispose), (gst_pad_template_new),
30034         (gst_pad_get_internal_links):
30035         * gst/gstpad.h:
30036         * gst/gstpipeline.c: (gst_pipeline_dispose),
30037         (gst_pipeline_change_state):
30038         * gst/gstpipeline.h:
30039         * gst/gstplugin.c:
30040         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
30041         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
30042         * gst/gstpluginfeature.h:
30043         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
30044         * gst/gstquery.c: (_gst_query_type_initialize),
30045         (gst_query_type_register), (gst_query_type_get_by_nick),
30046         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
30047         * gst/gstquery.h:
30048         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
30049         * gst/gstscheduler.c: (gst_scheduler_add_element),
30050         (gst_scheduler_factory_create):
30051         * gst/gststructure.c: (gst_structure_set_parent_refcount),
30052         (gst_structure_free), (gst_structure_set_name),
30053         (gst_structure_id_set_value), (gst_structure_set_value),
30054         (gst_structure_set_valist), (gst_structure_remove_field),
30055         (gst_structure_remove_fields),
30056         (gst_structure_remove_fields_valist),
30057         (gst_structure_remove_all_fields), (gst_structure_foreach),
30058         (gst_structure_map_in_place),
30059         (gst_caps_structure_fixate_field_nearest_int),
30060         (gst_caps_structure_fixate_field_nearest_double):
30061         * gst/gststructure.h:
30062         * gst/gstsystemclock.c: (gst_system_clock_class_init),
30063         (gst_system_clock_init), (gst_system_clock_dispose),
30064         (gst_system_clock_async_thread),
30065         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
30066         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
30067         * gst/gstsystemclock.h:
30068         * gst/gsttag.c: (gst_tag_list_add_value_internal),
30069         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
30070         * gst/gsttaginterface.c:
30071         * gst/gstthread.c: (gst_thread_dispose),
30072         (gst_thread_release_children_locks), (gst_thread_change_state),
30073         (gst_thread_main_loop):
30074         * gst/gsttrashstack.h:
30075         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
30076         * gst/gsttypes.h:
30077         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30078         (gst_element_request_pad), (gst_element_get_pad_from_template),
30079         (gst_element_request_compatible_pad),
30080         (gst_element_get_compatible_pad_filtered),
30081         (gst_element_get_compatible_pad), (gst_element_state_get_name),
30082         (gst_element_link_pads_filtered), (gst_element_link_filtered),
30083         (gst_element_link_many), (gst_element_link),
30084         (gst_element_link_pads), (gst_element_unlink_pads),
30085         (gst_element_unlink_many), (gst_element_unlink),
30086         (gst_pad_can_link_filtered), (gst_pad_can_link),
30087         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
30088         (gst_object_default_error), (gst_bin_add_many),
30089         (gst_bin_remove_many), (gst_element_populate_std_props),
30090         (gst_element_class_install_std_props), (gst_buffer_merge),
30091         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
30092         (link_fold_func), (gst_pad_proxy_setcaps):
30093         * gst/gstutils.h:
30094         * gst/gstvalue.c: (gst_value_deserialize_string):
30095         * gst/parse/grammar.y:
30096         * gst/schedulers/gstbasicscheduler.c:
30097         (gst_basic_scheduler_cothreaded_chain),
30098         (gst_basic_scheduler_chain_recursive_add),
30099         (gst_basic_scheduler_pad_link):
30100         * gst/schedulers/gstoptimalscheduler.c:
30101         (get_group_schedule_function),
30102         (gst_opt_scheduler_state_transition),
30103         (gst_opt_scheduler_add_element), (element_get_reachables_func):
30104         * libs/gst/bytestream/bytestream.c:
30105         * libs/gst/dataprotocol/dataprotocol.c:
30106         (gst_dp_header_from_buffer):
30107         * po/nb.po:
30108         * po/ru.po:
30109         * tests/threadstate/threadstate2.c: (eos):
30110         * tools/gst-compprep.c: (main):
30111         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
30112         (print_pad_info), (print_children_info):
30113         * tools/gst-launch.c: (idle_func), (main):
30114         * tools/gst-md5sum.c: (idle_func), (main):
30115         * tools/gst-xmlinspect.c: (print_element_info):
30116         First THREADED backport attempt, focusing on adding locks and
30117         making sure the API is threadsafe. Needs more work. More docs
30118         follow this week.
30119
30120 2005-02-24  Andy Wingo  <wingo@pobox.com>
30121
30122         * tests/bench-complexity.scm:
30123         * tests/complexity.gnuplot: New files, good for running complexity
30124         benchmarks.
30125
30126         * tests/Makefile.am:
30127         * tests/complexity.c: New test, sets up N elements, at each level
30128         teeing into M streams per element. Eeeenteresting.
30129
30130         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
30131         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
30132         running bench-mass_elements.scm.
30133
30134         * tests/bench-mass_elements.scm: New script, runs mass_elements
30135         for various numbers of identities, outputting the results to a
30136         file. Requires guile 1.6. Just for testing.
30137
30138 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
30139
30140         * gst/schedulers/fairscheduler.c:
30141           compile with debug disabled
30142
30143 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
30144
30145         * configure.ac:
30146           hunting season on 0.9 is now OPEN